Startup engineering is not like other types of software engineering. It requires short- and medium-term productivity in comparison to the “proper approach” to construct systems. Startup engineers who can iterate quickly and are comfortable with hacky programming are welcomed. It encourages pragmatism in technology selection over choosing the most hyped — or stable — technology.
Here are four common technical traps to avoid if your firm has yet to reach product-market fit.
1. Premature Scaling
Premature scaling is the most common mistake made in terms of startup engineering. It entails devoting time and resources to large-scale construction when the company is still too tiny to predict what will be required in the future.
Premature scaling issues are common in startups. The startup productivity benefits of monoliths have been overshadowed by the buzz surrounding micro-services. Rails has long been seen as unsuitable for startups because of its slower performance than competing frameworks.
When scaling before anything is a waste of engineering resources, and may be dangerous for early startups, which most of the time have little money and few engineers to deliver on massive feature requirements that require ongoing iteration.
Why Does Premature Scaling Happen So Often?
First and foremost, scaling is enjoyable. However, one may face a slew of intriguing challenges: massive amounts of data to query, a high cost of downtime, enormous usage spikes, and a massive user base. With the addition of scalable technologies to solve these demands, being an engineer became more exciting and appealing to people wishing to join a team. Because of this excitement, engineering teams are prone to growing too soon.
Second, designing performant systems appears logical. Some engineers are horrified by hacky systems, viewing them as a moral failure. This resistance to possibly inelegant solutions can be especially difficult for startup engineers who are used to working at giant tech firms where everything must be done at scale.
Third, engineering road maps and tools are designed with too optimistic visions of the future in mind. Startup executives are optimistic about their companies’ growth because, let’s face it, they wouldn’t have launched them otherwise. Even after a firm achieves product-market fit — the essential point at which engineering decisions must be revisited — the risk remains that you will overestimate the amount of scale required before you actually require it. Read our post on Scaling Up Your Startup for our top tips on scaling up.
2. Using New and Untested Technology
Rushing to employ — and rely on — the newest, shiniest technology risks overlooking alternative options that are more productive for the entire team in the medium run.
New technology brings its own set of problems. The failure states are poorly understood, making it difficult to predict how things may break. New languages and frameworks lack libraries and a large number of engineers who can write in them. Due to a lack of resources, the development effort is increased, and recruiting new engineers is difficult. It also entails devoting your startup’s limited engineering resources on learning something new rather than developing features that your users love.
Engineers, particularly non-founders, desire to incorporate technology that makes them appear market relevant. While this makes sense for their own interests and skill development, it should be concerning as part of a startup plan. In areas such as front-end engineering, chasing the current hype cycle may imply reinventing the stack every six to twelve months.
Joining a startup as an engineer is a tremendous risk. Adding overhyped but needless technology to the mix simply increases the risk. Just because a technology is popular doesn’t guarantee it’s ideal for a startup. When teams are small, young developers may not always get mentorship from seasoned engineers to counteract the external media they encounter.
3. Working with the Wrong Engineers
The great majority of software engineers are not employed by startups, and startup engineering is rarely taught. As a result, most engineers who join companies lack the necessary skill set and attitude to flourish in a startup setting. As a result, companies frequently rely on engineers who aren’t the best fit for their initiatives.
To identify the top engineering candidates for their projects, startups must go past degrees and flashy resumes. Engineers that are enthusiastic about the company’s objective are ideal for early-stage businesses. This ensures that they will stay, even if the company has hurdles along the way to product-market fit. These engineers believe in the concept of a minimum viable product (MVP) and are comfortable with ongoing iteration.
Rather than viewing certain technologies as silver bullets, outstanding startup engineers prefer productive tools that fulfil the organisation’s medium-term needs, and view technology as a means to an end. Instead than looking for an issue that a shiny, new technology can address, they consider the problem space (the user’s needs) and how software can be used to solve the problem. Read this article from BMS Performance on how to avoid hiring the wrong engineers for more information.
4. Problems With the Product and Management
When startup founders are too enthusiastic, the product road map frequently surpasses the capabilities of their small teams, resulting in excessive hiring, excessive fundraising, and burnout. For management, this cycle appears to indicate that the engineers are underperforming, but in fact it indicates that management has not established a clear and narrow vision.
Despite the unpredictability in the business model, startup owners’ “always be pitching” approach might offer technical teams an incorrect sense of certainty about how their systems should be designed. A preferable strategy for company founders is to support optimistic engineers while cultivating (internally) pessimistic business leaders, with both sides collaborating to establish product-market fit.
Startup engineering mentors, or experts, are also frequently sought by management teams to help guide their new company. Importing these “experts” can cause problems when they try to transplant what worked at their previous company to a new startup that they have only spent a few hours trying to comprehend.
Finally, management must acknowledge that engineers are an important part of any big product decision. Too often, engineering teams are viewed as service companies that can be bulldozed when major business decisions must be made. Ensuring a strong relationship between the product and engineering teams is one more reason why hiring the appropriate engineers is crucial.
Even if you avoid these four startup engineering errors, you will face several hurdles. However, avoiding these pitfalls will allow you to worry less about self-inflicted wounds. For more startup related blogs please view our Insights page.
Amit has 18 years of experience in the industry and an MBA. He supports entrepreneurs with every aspect of their business including concept and product development, investor presentations, and fundraising. Amit & 7startup assist startups in the pre due-diligence process and help connect them to our vast network of investors. Reach out to us today and see if we’re a fit!