Startups are unique organizations that usually require much more from their Engineers than traditional enterprises. Some of the greatest weapons startups have in order to compete against other companies are both Innovation and Agility to adapt fast to different situations. On the other side, Startup Companies usually operate under a great level of uncertainty. These extreme conditions, usually require a great effort from both the company, and from the Engineers. So if you are working or want to work on a Startup company make sure to be in love with the product and vision of the company.
Having said that, I'll go through some of the key aspects that Engineers need to have in order to secure great success in Startup Companies.
Engineers and the Lean Startup Movement
The Lean Startup Movement is one of the most popular ways nowadays to drive a startup company. It's built on a very simple concept:
Progress and Improvements need to be measurable, and every release of the product is one (or more experiments). This requires that features are built with measurability, and with a clear goal in mind. In this regards, Engineers need to:
- Understand the company vision
- Perfectly align efforts with company's goals
- Have direct contact with customers/end users (part of Measure)
- Have a sense of ownership: assume the responsibility of your work (good or bad)
When looking at the Build-Measure-Learn, we can see there are three transitions: Ideas, Code and Data.
Ideas: Engineers and Creativity
Having one crazy guy on the company setting up the course of the product by himself is not a very good option. The company has to work to make sure everybody stays creative in different aspects of the product: marketing, sales, support, engineering, roadmap, etc. In order to achieve that, there needs to be a reproducible and manageable process for being creative: mail groups, social platforms (yammer, podio, Jive), gropu chats, daily / weekly / monthly meetings. So given these conditions, engineers need to:
- Propose crazy ideas and think out of the box.
- Exercise those ideas, speak your mind, discuss, collaborate and challenge!
- Commit to the welfare of the product and be open minded. Know when to compromise.
- Act! Work on side projects, open source projects, pilots, prototypes, blogging, doing presentations, webinars, etc
Code: Engineers and Execution
Own the Product and the Code
- Continuously improve the code and the processes
- Always aim for maximum productivity
- Always aim for maximum quality
- Show what the company is made of
Data: Engineers and the Community
Engineers will have a hard time working for Startup companies they don't feel that will succeed. That's why it's so important that Engineers feel proud of the company they are building. Engineers should be prepared to some unusual tasks in this regards:
Support your product:
- Help and train customers
- Write documentation
- Listen to what they think about your product
Spread the word consciously, but emphatically:
- Email groups
- Personal blogs
- Social sites