I've been writing code now for more than 40 years and been a professional engineer for more than 30 years, most of that time in startup companies. I’ve been an individual contributor, manager, Vice President, CTO, every technical position you can hold within a startup company, I've done it. I've managed hundreds of engineers, across hundreds of releases and I have worked with my teams against many, many deadlines.
At this late stage in my career, I am managing a team of engineers again, at a startup company, working with younger engineers on many releases. One thing I hear over and over again, and when I think about it I've been hearing it for some time, for decades, from these engineers is this idea of a made up date. To many engineers it seems that releases often get defined before engineers get involved, and that deliverables, milestones, deadlines are dictated in a top down fashion. Therefore, they seem made up, not based in reality by anyone within the engineering organization.
If you zoom out on startup companies, you've got this idea of an entrepreneur, the somewhat mythological figure that starts businesses. What that person is trying to do, a highly simplified version of what a startup company is, is they’ve identified a need in a market. They believe that need can be met with a product that has value to certain people, therefore those people will pay for that value, or you can find a way to monetize the value. So they have a way to make money but of course they need that product.
Most of the time, especially in modern software startup companies, you need money to realize that vision, you need money to execute on your plan starting usually with developing the product. So the entrepreneur has to go out and convince other people of their vision for the business in order to get the money they need. Those people you convince will become your investors.
One of the key things that needs to be added to your vision of the product and the value is going to be timing. Investors will start asking you, when is this going to happen? When are you going to deliver this product? When are you going to start realizing this value you are describing? As an entrepreneur, one of the first things that you will have to do is to come up with a date. This is an essential part not only of bringing your product to market but of explaining to investors when they will start to see returns from the company. You have to look out into the future and think about what your capabilities are, what you're trying to do and you have to come up with a date.
As I was saying earlier, you have to make up a date.
As an entrepreneur you have to pick a date practically out of thin air and say, yes, this is the date on which all this is going to happen. Then you have to set about making that a reality within your company. You begin a planning process from the top down and usually this goes through the product management organization and turns into milestones and deliverables that ultimately land in front of your engineers. That's when engineering says, whoa, whoa, these dates are totally made up.
In a later post, I will talk about what can be done about this but for now let me point out how important it is what has just happened. As the saying goes this is not a bug it’s a feature. The entrepreneur, the person who believes that they can solve a problem in the market, this person has decided when this needs to happen. This one thing, maybe more than anything else, is the fundamental thing about being an entrepreneur. You have to be willing to say when this will happen.
Think about that. You may have just started your company, you may not have written a single line of code yet and yet you have to decide on the future of the company. Not just any future: a definitive point in time when something is going to happen which has never happened before. If you are not capable of doing that, then you're not an entrepreneur. You are not somebody who should be starting a company. If you want to go to work for a start up company and therefore be entrepreneurial yourself you have to accept that this is a vital part of your decision.