I have worked for a third of my age as of this post. And most of my career has been at a single company…say 8+ years with smaller gigs elsewhere. I shall not argue with the school of people who consider that to be a insignificant period of time (career wise), but however, I have been blessed to work at a start-up when I joined the company, and had the privilege to see it go through its ups and downs.Here are the lessons I learnt and the wisdom I have collected over the years.
Presentation is KING
You could have an amazing idea, but if you cannot present it well, the sales/marketing team can do squat about it. This is the perfect recipe for disaster. Start ups are always cash strapped, and that is completely understandable. But, it is oh so important to be able to make a first impression to the client. It certainly goes a long way. Also, you as an individual would be more motivated to work on something that first of all looks good. Always ask yourself the question….”If I had all the money in the world, and I was in the market to buy a similar product, would I buy this?“
Invest in a toolkit
I cannot emphasize enough how important this is to start ups, and yet a very few actually realize this. So, you have an amazing idea, and you are did invest in a kick ass UI/UX designer. The UI/UX designer gave you a blue print of how to make a first impression. For the sake of argument, lets say, we are trying to develop a web application. If you think very carefully, every web application ever built has a similar set of controls, i.e., grid, file upload, reports, charts, etc. One could always argue about engineering being smart enough to build every single component from scratch, but the fact of the matter, engineering goes overboard, and is more expensive if you have to develop all the components from scratch. Also, when you are a start up , the most important thing is time to market…how quickly can you put something in front of the end user. So, that begs the question, are you willing to waste a few developers for a year (minimum) to come up with your component set, while you can invest $1000 per developer and have it all for good. The math does not add up when it comes to building it in house. Companies need to be smart about build vs. buy.
First, go deep into one vertical…not broad and shallow
One of the things I noticed is the urgency to expand your offerings. So a client signs a contract, and the management is excited about the prospects. They suddenly get so carried away that they start thinking about “WHAT ELSE” can we sell and make money on, instead of “DID WE DO A GOOD JOB DELIVERING WHAT WE PROMISED ?” This leads to the conflicting priorities to the people who actually do the work. While the excitement is contagious in the beginning, it starts getting nasty when reality bites….because…things never settle down. In a few cases, the diversion becomes a hit, but it is a one hit wonder. People fall into the notion that if it worked this time, we are doing something right, and try to repeat it over and over again, which leads to sudden explosion of the teams, working on too many different things, and suddenly everyone is lost.
Do not over hire
This follows from the previous paragraph of trying too hard to expand. Over-hiring is the biggest side effect, and it is a bad one. I have seen people sitting and browsing all day simply because they did not have anything else to do. I have seen managers keep hitting the “Send/Receive” button on Outlook all day. Keep in mind, all these resources are not cheap. I am not going to get into the discussion about hiring full-time vs. contractors, but its very important that see how many hats one can wear before it becomes too heavy.
Have a product team in place
Developers write code, not products. Its not their job to design the product, so do not make it their job. Once it goes to them, it never leaves them. A product team’s primary responsibility is to ensure we are building the right product, and to guide engineering in a methodical way. Engineers are like to feel important. Yes, they are the actual workers, but treat them well, they will bend backwards to make things happen. Treat them like shit, they will return the favor, and leave. Its imperative the company sets the right expectations on who develops the product, and who owns the product, and who owns the success of the product. Once developers are held responsible for owning and developing the product, it becomes their baby, and they will never let it go without a fight. If it stays with them, they will build engineering marvels with no practical use, because they don’t have the time to understand the market, analyze the competition, and prioritize……and develop at the same time.
Hire great talent
Most of my previous product development projects, I had developers assigned to me. I did not have a say in whom I want until later. Thankfully, I had a lot of smart developers assigned to me. So, when it came to hiring talent, I made it very important that I hire someone who is really smart. I was so stringent in my interviews, that my acceptance rate was less than 3%. But every single candidate I approved/hired was nothing short of amazing. It is hard to get good talent, and even harder to retain them.
Do not become top-heavy
There was a time when there were more Directors, VP, EVP, SVP’s than developers. All this in a company not making any profit. Hmm…..enough said.
Walk the Talk
There are people who can talk, and those who walk. Very few people have a healthy combination of both.With people who can do both, there is at least one inherent flaw….either they are bad managers, or something else.
Power & Responsibility
With great power, comes great responsibility. One of the biggest flaws in a new/small software company is the abundance of know-it-all’s. They come in, talk their way to higher management, and think they know it all about management and technology, with no formal training in either. Such people are a perfect recipe for disaster in the long run, and shall certainly take the company down with them. They achieve immediate success by hiring some smarter people, or letting them report to them. But once the smart hire(s) realize what is going on, and believes he/she can do a better job, that’s when the politics start. Some of them confront, ignore while others lick ass and get onto their good side.
The importance of hierarchy
While picking a hierarchy, you have to pick people with considerable experience and education to lead. On the contrary, just because someone is very qualified does not make his worthy to lead. Let his past define his present. If you don’t and you have more qualified people reporting to someone with less experience and education, its just a matter of time before the more qualified one realizes this and jumps ship. It should become a rule for people in Senior Management to have a Masters degree in the country they serve. If they don’t have a Master’s degree, at least they should have double the experience in managing people in the same country.
Invest in your employees
The strength of a start up is in its employees (all departments). If you cannot buy in the loyalty of your employees (with no strings attached), what makes you think you are destined for success. Investing in employees gives them a sense of feeling wanted…let’s be fair…everyone wants to feel wanted.
Finally, you cannot make everyone happy all the time. But ensure you have a career path for every employee in the company. This at least takes half the burden of addressing non-planned issues, and it sets expectations with all employees, giving them an ideal/goal to work towards. An employee without a career path defined for him/her is like a project without a plan.