Advice for ITE programmers

2023-11-24

I just finished paneling the end-of-semester startup pitches from the ITE students. There are a lot of mistakes that I think the technical people make when building their product.

If you are an ITE programmer, you are probably making some sort of website, but don't get caught up in the world of front-end web development. Please. This is for your own good. If, after your group comes up with a problem, you feel that you need to build a website, consider first how you would build it with just Flask and Postgres.

Believe it or not, I prefer to minimize the technology needed to solve a problem. Most of the world of front-end web development is low-leverage stuff, especially for ITE groups. Constraining yourself to just Flask and Postgres will make your life much easier:

There may come a time when you'll need to pick up a front-end web framework. For most of you, that will be some time after you have evidence that you're solving a significant problem well enough that people want to pay you. For some of you, maybe your value proposition somehow revolves around making a UI that can't be built with just HTML. In the second case, I would advise caution about the whole idea. Is the problem you solve so insignificant that a slightly older-feeling UI would turn your users off of your product entirely? Pick something stronger.

Don't overcomplicate your life. That's what kills most of you.

PS

  1. The exception to this is mobile app startups. But even mobile apps can be made simple. Just pick a platform and develop natively*. Deal with multiple platforms after you've gained some traction with users.

  2. There are, of course, startups whose problem can't be solved with just a web app. I distinctly recall one group that worked on vehicle pathing algorithms. If you're working at that level, the advice still applies. Don't waste your time** on things that won't actually help you solve your problem. In our experiences with ITE startups, most of them think that development is hard because they were exposed to the absolute state of front-end web. Just ignore the JavaScript guys and you'll live a happier life.

  3. Hello, this is Joe from the distant future of 2024. I also recommend Django. Django's so good.

* I have not developed a mobile app myself. Take my opinion here with a grain of salt.

** There is one exception to this: if you feel a need to learn the technology for learning's sake or to strengthen your development skills. This is fine, but don't lie to yourself that you're solving your startup's chosen problem better.