Well not literally, but in a manner of speaking.
Code is commodity in today’s world. There is nothing that your team can write, that a whizkid half a block away can’t write better or similar. There is no algorithm that can’t be reproduced, with the right talent and focus.
Great masters of the software world have always known this. That is why open-source is where the best work of today’s software engineering exists. That is why even the likes of Google, Facebook and others constantly open source parts of there code. Because there’s nothing to be gained by keeping code closed source apart from keeping them away from hackers.
The real value of a tech company doesn’t really lie in the code it has locked away in its private GitHub repo. The real value lies in the engineers who created that code. It’s their ability to apply the domain knowledge they have gained in the process of writing that code which is of real long term value to you as an organisation.
This post is about the people behind the code, and how build and keep a great set of code-folks
The Non technical manager’s guide to managing tech folks
In my 10 years of work as engineering manager / CPO / CTO / whatever title you give the person interfacing engineering with business — I have often seen the abject failure of non technical people to manage / understand tech folks.
It’s a never ending drama of mismatched expectations and unfulfilled promises which translate into collosal failures and erosion of talent. Here’s a 101 for all those folks who aspire to see there organisations have a great tech footprint witbout themselves having a tech background —
- Take time to understand basic engineering terms and processes. It’s not that hard and if you are going to put your money on it, then spend some time as well. This will also help you understand and manage costs, timelines and complexities.
- Respect engineers for how they do things as much as for what they produce. The attitude of “I don’t care, just make it work” is only plausible if you are a lalaji running a grocery shop.
- Learn to listen. Good geeks are always willing to sit you down and explain things. Maybe they want to show off or maybe they genuinely want to share. Either ways it’s important for many reasons to pay attention.
- A good salary is key to good talent. The adage, pay peanuts, get monkeys, can’t be emphasized enough. Don’t try to under pay your engineering team and then expect them to do magic. Good tech comes at a cost. Deal with it. If you have a low paid engineering team then you are most likely doing crappy meaningless stuff that no one will care about in the future. Ofcourse I am not talking about co-founders — I am talking about your hires.
- Engineering is not like digging a well. You cannot hope to achieve great results simply by making folks work longer hours. Enginnering is a creative process. Notice the emphasis on those two words. If you have a short deadline or are running out of money, don’t blame it on engineering alone— plan better, expect failure or don’t do it.
- Do your homework first. Don’t hire before you are clear what you want from your business to do and your MVP to be. If you build a team for one reason and then suddenly make them do something completely different, prepare for some re-staffing. Programmers (the good ones) have their own likes and dislikes. That’s what makes them uber geeks — they will leave if they are made to do something that they didn’t sign-up for.
- Know whether you are technology-first or business-first. If you are technology-first then you need to hire great programmers and keep them happy. If you are business-first then don’t hire. Outsource to a good tech company. Trust me you are much better off that way.
- Don’t scream at programmers. Ideally, don’t scream at anyone. No one likes being screamed at. Least of all tech folks. If you are screaming at them, chances are you did something of the above 7 wrong.
Startups are hard. As a consultant who works with many tech startups I see this everyday. But, I believe that if non tech CEOs of tech startups did a little more in understanding tech, that would go a long way in making things easy for everyone and creating great value all around.