3 things you shouldn’t wing in a tech startup

Chances are, you know of the stories of Steve Jobs and Bill Gates. Kids who dropped out of college and founded massive companies. These guys offer inspiration and hope to entrepreneurs. They teach us that not only is this possible, but possible through example.

This has given me a steady stream of hopeful students and graduates contacting me with their projects and companies. A fair number of them didn’t know anything about tech, couldn’t code, but they had a vision, knowledge of their field, and determination. Sadly, that’s just not enough. A lot of them fail hard. In fact, they fail so hard, they didn’t even make any revenue, let alone profit. So, what went wrong? Were they stupid? Poorly educated? Clueless? Lazy? No. A lot of them had come from world-class universities, knew their field, and worked hard. The sad fact is that the market has matured. It’s no longer a secret that you can make a lot of money through tech. Considering this, it’s not surprising that the average age of a startup founder is 42, with 45 being the average for high growth startups. Do you have an ambition for a project? Here are 3 areas where Bill and Steve would have to step up their game if they were starting companies today.

Management

Like the idea of sitting in a garage with a group of friends building something cool? I’ve worked in a startup that powered the finance behind companies like Vauxhall. That part is fun. However, software engineering management theory and practice has evolved since the 70s. We had weekly meetings, standup meetings every day, and sprint plans. Every software engineering task was broken down into tickets, tagged, and logged across the process. We adhered to scrum management practices [link]. This wasn’t a corporate environment either, there were only three devs in the company and we were coding in a basement with a fridge full of beers. If you don’t want to adhere to this, good luck. You’ll be competing against teams that will be doing this. When something breaks, you will take longer to fix and roll back the issue. Coordination will be compromised which will slow down development as some devs will be choked due to waiting for other areas to complete first. Some tasks will be duplicated or made redundant due to others’ progress being revealed. If you don’t have proper management experience, get someone who does. Developers who don’t want to develop anymore make great scrum masters because they understand the general concepts of development, and they have management experience. On the flip side, I’ve seen a fresh graduate try and manage operations in a startup. He didn’t know anything about tech but also had no management experience. The coordination was so bad that I, a guy who loves coding to such an extent that I do it every day, will travel and generally help people out for free, got angry. I’ve paid for my own flights to help out at coding events for free and walked away happy because I got to code and help people with coding. This guy was so clueless/useless, I actually felt angry writing code for the project. Now I’ve worked with difficult people, but I’ve never felt this way before. Needless to say, I walked away from the project. Was he a bad guy? No, he tried hard, but his lack of experience resulted in hiring devs we didn’t need, chasing tasks that were not needed. He also pushed for projects that would actually weaken the progress of the whole project. He also didn’t know what a kanban board [link] was, let alone use one. Because there are multiple parts to tech now the coordination was terrible. I didn’t know where the app dev was or what he was doing, I was getting last minute harassing calls from this “manager” saying that he’d spoken to the app dev and needed X to be done now, sometimes within a couple of hours.

Tech

Gone are the days where you can put a stack on one server and call yourself the next hot thing. Tech has just become more complex. Frontend frameworks, APIs, machine learning, and so on, make it harder to stick out. It doesn’t just stop at customer-facing tech. There’s a branch of software engineers who specialize in streamlining the dev process called DevOps. These guys develop continuous integration pipelines that instantly run tests on code that’s uploaded to the git repos. These will then alert your team if there’s any break. Virtual containers powered by docker is becoming more of a thing. These speed up your deployments and enable multiple mini containers with their own apps and operating systems to be run on one server. A good DevOps team will reduce your server costs and increase the speed at which good quality code is produced, as they will continue to automate repetitive tasks for your devs. If you don’t have this, you’re going to struggle to compete against teams that do.

There are also multiple browsers, desktop operating systems, and phone operating systems. Frameworks keep increasing and so do the number of languages. This has an effect on talent pools, the right choices for the problem you’re solving, and the support you’ll get and can give. A prime example is Javascript. Javascript can be chucked onto the visitor’s computer when they visit the site and be executed by the visiting computer through the web browser. However, different browsers and versions support different amounts of Javascript. I know of a project that got developed using Google Chrome. When they got to the end they realized that it didn’t work on internet explorer. Now we could just chuck this all on the developer but different businesses have different uses. Agreeing on what you’re going to support and for how long is something that should be decided in the business plan. If your working with car dealerships who generally have slow computers and old Internet Explorer versions, then you’re going to have to have a basic UI that’s low on resources. If your software is for high-frequency trading in the stock market, you can make the point that they have to install Chrome version X. Your Javascript can then do a fair amount of data processing taking the strain off your servers. The more complex tech becomes, the more nuanced the decisions around it based on the business plan. Not surprisingly, it’s more choice and complications have risen since the 70s when Bill Gates and Steve Jobs started their companies.

Business Plans

As the market gets more saturated and tech gets more complex, so does the business around it. The explosion of APIs [link to API meaning] means that there’s a lot of companies who focus on one particular thing in that field. They then offer API access to other tech companies as it’s a lot cheaper and quicker to just pay for the API. There’s big money in tech companies supporting other tech companies. The new advancements have also enabled the building of microservices [link]. This is where you get specific servers to do specific things. They can then talk to each other. Understanding this will help you create business plans where the stages take into account the hosting and development of new servers and roles that they can carry out. Not understanding how tech can be structured and scaled will limit your ability to be lean in your business. Nowadays there are tech business consultancy firms that hire ex-developers who also have a background in business.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s