Advice for non-tech founders
Over the years, I have noticed the assumptions of founders and management that are questionable from a developer’s point-of-view. It’s likely not all of it rings a bell but here are a few things I’d recommend to anyone building an app, hiring a developer or joining a technology company:
- It’s likely you underestimate the cost of development, maintenance, and the complexity of features you want to have.
- There’s no such thing as a guarantee for the functionality if the developer charged on an hourly/daily basis. Bug fixes are a part of the process. You’ll have to account for that beforehand.
- You don’t need an NDA if you’re a startup. Not if you’re building a CRUD application like 90% of the market. It’s likely most developers will stop the conversation once you ask to sign an NDA.
- There are good developers who don’t charge a lot. Chances are though, they lack the experience to understand the value they provide. As such, by hiring them you signal that you either don’t understand the value of great developers nor understand the consequences of mediocre developers.
- Don’t discount ideas. Excellence comes from every corner.
- Chances are it’s easy to impress you. Do not be fooled by soft skills. The success of your technological company determined by the technological force underneath it. Look for hard skills, they come first.
- It’s easy to listen to the wrong people and the noise they generate. Have a hard filter in-place for those who speak a lot without anything to show.
- There are plenty of developers who lack a computer science degree but are amazing at building products. Look for them. They’ll have more loyalty and will put in work required.
- Developers are developers. Not every one of them has an ability nor experience to ship real products that bring a difference to the bottom line. It’s not what they were trained for. Do account for that while hiring.
- There’s no perfect programming language or framework. Choose those technologies that can impact the speed of development and ease the maintenance down the line. In short, strive for a solid ratio between speed and developers’ abundance. Chances are, it won’t be a strictly typed language. Not at first, at least.
- It doesn’t matter if a developer knows technology or not. If she’s shipped product written in any language, it means she can ship product in any language. It’s a matter of weeks. Yes, it’s that simple.
- Great developers do thrice the work in the same time period.
- Technical problems are trivial. Getting product in users’ hands is much trickier.
- Be good at asking questions. Miscommunication is your arch-enemy.
- Write down everything.
- You need to have a bug tracking system to consolidate everything that is going with the product. It’s a requirement.
- You might not need a technical solution. Understand why you need it before building.
- Strive to do one thing at a time.
- Avoid calls, meetings, and conferences. Write things down. Send an email or DM. Or better yet, create a Github issue with the most verbose description. Yes, you need to learn to use Github.
- Reading and doing is of higher priority than listening and thinking.
Building software is hard. It’s even harder making sure it helps the bottom line of your business. It can be the most important asset of your business though with the highest ROI there is.
It requires attention. Give it.