Solving technical issues with your engineer. By Poornima Vijayashanker (Founder & CEO, BizeeBee)
You worked hard to attract that so-called rock star engineer, thinking that they would be the golden goose who could bring your vision to reality, but now things have gotten rocky.
Iteration cycles are taking too long, buggy code is being shipped, or you find that your engineer is working on things that are not a priority. Why don’t they understand your ass is on-the-line?!
Because you’ve probably made one of three mistakes:
Mistake #1 - Have you changed your vision or product roadmap more than once in the past 3 months?
Engineers need time to think, build, test and refine. If you constantly change your mind, then it forces them to have to re-work what they’ve already done.
Here’s a simple example - if you went to a cake maker and said you wanted a chocolate cake, then changed your mind to vanilla as they were mixing the batter for your chocolate cake, then you decide to go back to chocolate, when will the cake maker actually have time to make the batter, bake the cake, and then frost it?!
Same rules apply. While software can be changed more easily and with less mess than a cake, there is still a process and your constant changes are interfering with the the final product. This will ultimately demotivate an engineer, because they’re not solving problems. It also make it hard for them to gain a sense of accomplishment, because the product is always in a half-baked state.
If an engineer is working on projects that are not a priority, it's because you haven’t given them a clear roadmap, and they want to fulfill their need for efficacy by building something rather than nothing.
If you’re unsure about the product roadmap or vision for the company, work it out before you start building. You’ll have a happier engineering team.
Mistake #2 - Were you desperate to find a developer?
If you are not guilty of changing requirements or putting a very aggressive schedule in place, but still have a product that is very buggy or not being shipped on time, then it's very likely that the engineer you hired just doesn’t have the technical chops. You need to have an honest conversation with them.
You’ll also need to get better about screening candidates to avoid this situation, and make sure you gauge their skill level. This might be hard to do if you’re a business founder.
The two easiest solutions are to have someone work on a mini-project for a short amount of time to judge the quality of their work, or find someone who can run your candidates through a rigorous technical interview.
Mistake #3 - Are you calling the shots for technical issues that are actually outside the scope of your expertise?
People burn out and leave because founders breathe down their neck and micromanage. You heard Rails is the rage therefore your engineer needs to learn Rails… First of all, this is not a decision that you should be making. Obviously you don’t want it built on something esoteric that makes it hard to recruit additional engineers or hard to maintain.
Your conversations should revolve around what is the skill set of your initial development team, how manageable will the code base be using that technology (programming language) and when will be the right time to switch or entertain other technologies, and how to prepare for it.
If you know you hired well, then give your engineer the benefit of the doubt.Now don’t go beating yourself up because your engineer has gone AWOL. It's after all a startup - recruiting and retaining talent is hard.
If you think the relationship is salvageable, admit to your mistakes and have them work with you on fixing the problem. If you care about the success of your startup and want to build an effective and efficient engineering team, then take sometime to think through how you can be a better boss for the next candidate.
Technical founders can commit these mistakes too. It's just about learning how to manage people, which is a hard and takes time. Eventually, you’ll want to hire someone who can take this process of your hands like a VP of Engineering or a CTO, but until you have the funds to do so don’t let your non-technical background stop you from moving forward!
This post was originally posted at Femgineer.
About the guest blogger: Poornima Vijayashanker is Founder & CEO of BizeeBee. Prior to that, she was at Mint where she began as employee #3 in 2006, and stayed through the startup's acquisition by Intuit for $170M in 2010. Prior to Mint, she was in the Master's degree program for computer science at Stanford University but dropped out to join Mint. Poornima holds a double degree in Electrical and Computer Engineering and Computer Science from Duke University. Poornima blogs on Femgineer.com and is a competitive yoga. Follow her on Twitter at @poornima.