I am starting a series of blog posts sharing my hard learned lessons working as a software engineering leader on high visibility, make or break startup projects.
First things first. My creds for the topic:
I have successfully launched 3 v1 products over last 3-4 years as an engg leader, the last one of them being – the Microsoft Band Apps for Windows Phone, iOS, Android. You can check more details on my linkedin profile. For each of these products I was one of the first engineers as well as leader on the team. I hand-picked developers and grew each team as the product evolved. By the time I was on my 3rd v1 product I had developed a template for organizing, managing v1 products and teams. As I look back at some of the patterns and practices I think sharing them and learning from others experiences on the topic will be a fun and valuable experience.
So what is life like for engg leaders these days and why do they need a survival guide?
The supply and demand for good engg leaders is heavily skewed with demand for experienced engg leaders far outstripping the supply. So it is true good engg leaders do have lots of great products, companies to choose from. However life is anything but smooth for engg leaders these days. Here are some of the reasons:
1. Product cycles have dramatically shortened and are getting even shorter.
With the help of rich cloud, mobile platforms, plethora of OSS lego blocks, tons of troubleshooting on internet software products that used to take years can now be launched within months at high scale.
Few missteps here and there, few team issues here and there and you are already behind schedule. This has reduced the margin for error substantially for the engg leaders.
2. Customers demand a great user experience
Thanks to the great Steve Jobs customers now expect a sleek user experience even if you are building an app that calls you a cab! You have designed the perfect product with all the right features, a scalable, fast backend but have a poor nav model? Too bad. Your competitor can easily eat your lunch by differentiating on simpler, more intuitive UX.
This means engg leaders need to constantly aspire for and balance best in breed user experience with functionality, features and performance. It also means engg leaders need to learn how to leverage the value designers bring to the product.
3. You need to be deliberate about bringing good leadership
See the above comment on supply and demand? Well it applies to all your developers too. They have tons of options and will stay with you only if they love working with you, the team environment you create and on your product. A lot of it comes down to your leadership skills.
Often time engg leaders overindex on being the technical experts in their domain and undervalue or worse are sometimes unaware of leadership basics.
There are more challenges but by and large this is the trifecta of themes that makes it challenging to launch great products on time for engg leaders.
What’s the engg leader to do? What resources are out there?
One of the closest and the most relevant thing is agile development patterns and the material on the topic: the scrums, the kanbans, the lean startup methodology etc.
While these are super useful they often address only one or two dimensions of the challenges as I described above in isolation and are also mostly written from the team, company perspective rather than from the perspective of the engg leader.
I think that is a crucial difference. Secondly, these do not boil down to simple, practical, battle tested tips, dos and donts for engg managers that they can apply to a wide variety of teams, products regardless of what spectrum they fall in their adoption of agile methodologies.
There is tons of great material on leadership but by and large besides Steve Jobs’s biography I don’t see engg leaders discuss\reference a whole lot of it and I hope to contribute towards changing that 🙂
What can you expect from this series?
For each post I will pick up a topic\problem engg leaders typically encounter and some proactive ways, practical ways they can tackle the issue. I will provide simple dos and donts with anecdotes from my personal experience handling similar situations. Occasionally I will point to material I have found useful on the topic especially for leadership.
To make this more concrete here are the few next posts that I am considering. If you have a topic you want to see me cover hit me up.
1. Establishing a rhythm of business for the team
2. Leadership basics for engg leaders
3. Negotiations basics for engg leaders
4. How to decide on technical bets?
5. Effectively working with designers and product managers