Startup Engineer Mentality
Startups are these mysterious economy-building, team-infused social structures that are designed to grow and become, you know, like Google, Facebook and handful of others. Obviously not all the startups end up being on top of the mountain as so many things can go wrong along the way.
2.5 years ago I decided to join a very exciting early stage startup. A decision that cost me a delay of my masters graduation for about three years and, nevertheless, gave endless opportunities of learning and exploration. By that time I had read enough material about the startups, their culture, chemistry and the lifestyle. Because of that so many myths had formed in my imagination that had to be verified. So I took the very long journey from Armenia to Ireland to fulfill all those needs.
Many cities are following the footsteps of the Silicon Valley by heavily supporting startup creation. Everybody wants that taste of the Silicon Valley reality — great economy, concentration of innovative and creative people, growth, etc. With this, the demand of engineers to work in startups is going to go higher and higher. It’s going to pose extra challenges to founders to find people with the right “mentality”.
Hiring an engineer at a startup is like making a proposal — you don’t want to get your heart broken. So it’s a two way responsibility not to screw up. And as always the breakup can be very painful for both sides. Many things go into equation here, the founders’ attitude towards the engineer’s growth and engineer’s attitude towards how to proceed with accomplishing goals.
Startup is all about growth: the product, the revenue, the number of customers and most importantly, the people. It’s a social structure — a group of people who work together and grow together. That’s the first thing to always keep in mind as a startup engineer. This mentality is helpful especially when later frustrations build up over big or small issues. This can serve as a guiding principle and a motivation to any engineer who is considering to join an early stage startup.
There is established politics and unnecessary competition in so many big companies. The kind of weird unwritten corporate rules instilled by the corporate hierarchy. Because of that, making simple decisions takes days even weeks. And this happens in organizations with thousands of employees. So it turns out that big companies can afford BS of that magnitude. Startups, however, cannot!
Engineers at startups should always consider business success as their guiding principle and motivation. Yep, the problem domain the startup is going to tackle is the main motivation for the engineer to join, but it is the business success that should guide for the rest of the journey. There always going to be an abundance of cool problems to solve anyway. Why this principle? There are so many disputes/doubts that come into play when working at startups under tremendous amount of pressure. The unifying characteristics of those problems is that they can be translated into a monetary impact on the business.
Let’s look at this trivial example: do you use practices like refactoring, TDD, clean code in your systems? It’s very common that people fail to recognize the importance of following those principles by thinking from the context of the current tasks rather than the business in general. If you think from the task’s perspective you will deliver the feature as soon as possible without spending much time making the code clean and unit tested. However the impact of that activity on business will be eminent when later somebody will have to change that code for another feature or bug. Many bad things can happen because of untested and dirty code — and that can be translated to monetary value, such as the time engineer has to spend on understanding how to not break the system with the change she is about to make. That is only the trivial example of how this kind of mentality can affect overall productivity.
Here is a secret: that’s the mentality that founders have, so why not to be on the same page with them to increase the efficiency?
Enthusiastic innovation and idea exploration can lead to new business directions. This mindset is essential during peace times, sometimes even war times. There is a possibility to extend the market or the monthly active users by adding new features driven by engineers (not sales, not marketers, but engineers). Note that I am not talking about anarchy, it’s more about enthusiastic collaboration and trust. In companies where the hierarchy is already implemented, the impact of engineers driven by their enthusiasm is considerably less, as decisions are made slower and across the hierarchy. This problem is obsolete in startups as probably the latest hired engineer will be sitting somewhere near the CEO or other founders. Therefore there is always a close connection to the business and feeling of what can be done to improve things. So why not to go ahead and build small prototypes of new features or changes in the system and show them to the folks or do a small presentation to get them to share their thoughts? I like to use some part of my own time for that. If business succeeds, then everybody succeeds.
It’s exciting to work and create new products and solutions in startups. With right mentality and attitude that excitement can be translated to bigger impact on markets and subsequently, on people’s lives.