So I will add one more post to the stack of this topic by sharing my own experiences about the startup world. I used to work for a tech startup for about a year. I was hired as the first employee doing back-end (and not only!) development. The company had already began its business 5 months before I joined.
The main product of the company informs you about the most important people that engage with your brand on Twitter. Apart from offering other detailed reports such as gender-location breakdown, engagement, potential reach of your content marketing, the value exists in creating a top-influencers list. You should engage with your key people, try to nurture them and turn them into customers or influence their negative thinking. Not rocket science but clever idea. Below I share 7 lessons that I learned during my time there and I’ll never regret.
1. Choose your co-founders carefully
When I say carefully I mean really carefully. You need to trust your co-founder as much as you trust yourself. Founders should complement one another such that the overall skillset to be diverse. Having a specialty in one area each has been proven very valuable in our team. It may seem silly, but it’s important that the founders get along with each other and one supports the rest during hard times. Speaking of startups, hard times are often present and a strong team sharing the same vision goes a long way. If the above doesn’t exist, agreeing on new features becomes a real pain and having a common roadmap a hard task.
2. Make something people want
This might have been mentioned a million times in numerous blogs, but it’s been mentioned for a reason. Its easier to make something people want than to make people want something. You cannot force the market use your product and cannot educate your users to adapt to you – you are not Apple. Test the market using call centers, knocking doors and asking for friends’ opinions. You want to make sure you add value to someone’s life and that they are willing to pay you for that. A common “Yeah I could use it” or “It’s great but I also wish it had feature X” is not enough. You need to start making profit in the first 6 months to a year. Otherwise, you should know that something is wrong and needs to change. Don’t waste your time or time will waste you.
3. Don’t be afraid to pitch your idea
Some people are afraid to reveal what they are building because “they will steal my idea”. This is invalid for two reasons.
- You will be one step ahead
- Competitors should exist to make sure the market exists
You don’t really want to create the market yourself. Pitching your idea to as many people as you can will get you into the right track. Also, a common mistake is to draw and take decisions on a whiteboard without asking your potential users. Try and get valuable feedback on your idea by listening to everyone before (or while) building it.
4. You have the freedom to minimize your “technical debt”
Startups don’t have many rules. The rules are usually set by yourself and the culture shapes itself within the team. This has many risks and many responsibilities and it is what makes startups an exciting place to work in. You want to stop working, go running in the park come back and finish the work from home? You can do it. You want to work on Saturday instead of a Monday? You can do it.
The same pattern (fairly) applies in the development process. You want to try different things, new fancy technologies and “risky” frameworks? As long as you trust them and bring results you can deploy them. You can dedicate your time to experiment even if using it may not carry out the job in the end. I found that to be very valuable for both the company and myself. I constantly educated myself by learning new things and avoid spending my free time on stuff that I wanted to explore. The company on the other hand, minimized its “technical debt“. Technical debt means you have a knowledge gap because of the existence of new tools that do the job better. This results in being less productive than possible in the future.
I remember spending a couple of days hacking around with different NoSQL solutions to determine which suited us the best even when our work was carried out by HBase at that time anyway. (we finally ended up with Cassandra but that’s another story). I appreciated it. Of course, similar behavior can be found in larger companies too, however they need to get out of their “comfort” zone and try that.
5. You get to do everything
Sysadmin, client-side scripting, product development, prototyping ideas and finally yes, back-end development. There is no DevOps guy to look after your ZooKeeper nodes or scale your infrastructure. There is no guy to blame you for designing a non-UX-friendly component on your website or write automated tests for you. That’s great and it’s one of the things I enjoyed the most while working in a startup. Startups can be a great school and an unlimited pool of experience for those who want to get involved with various tasks. Highly recommended.
6. Be agile on development
This is a certain requirement for companies that exist in the tech world. Development must be a fast-paced process even if requirements change over time – and they will. Using a 2-week or monthly sprints is a productive methodology which must be measured every single time. Off-the-shelf stack components and software abstractions and tools can speed up development iterations very rapidly. We could have written custom-made JavaScript to build a force graph but we decided to use D3.js instead, an open-source JavaScript library designed for powerful visualizations. (This may be an obvious choice to make but you get my point). Last but not least, being able to predict and set accurate goals is essential. This can be done by measuring the team’s performance frequently and by choosing reasonable features. Inaccurate predictions or development towards the wrong direction can be very expensive.
7. Don’t be afraid to fire
People that are unproductive, lazy or untrustworthy should not belong to the team anymore. Try to fix this issue as soon as it becomes evident. If it can’t be fixed then do not be afraid to fire. The wrong people can cause delays in the business and product development which eventually leads to financial loss. Financial loss can then generate more troubles if not handled in a fail-fast way. This is more obvious during the early stages of the company where the contribution of everyone is more crucial for the health of the business.
I hope you enjoyed my journey. I am grateful I joined a startup in its early stage and I highly recommend it for those who consider trying it. It will change the way you think and act. To those who have already taken that path, keep walking…
Follow @mvogiatzis