When you are working on a new business, you are going to have a large volume of day-to-day tasks. Some would be tasks you have done before and in many cases really good at. However, a big part of your duties may be activities you’ve never done before.
These tasks could be directly related to your core function, e.g. if you are an html engineer and have never built a subscription payment system before, it could be a new type of challenge. It could also be outside your core domains — even if you are an engineer, you may have to dabble in product domains.
When you are faced with a situation like this, you will need to move fast. However, you also want to learn optimal ways of doing your tasks and keep getting better and better at them. There’s a very fine balance between these two things. While you want to be moving fast, you also want to work in a way that you are constantly finding time to improve.
Working on your own business is one of the best learning experiences in the world. When you work for a big corporation, most of your time is spent dealing with processes and repetitive tasks. Use this incredible opportunity you have right now to learn as much as you can.
One trick that helps with growth is setting really high expectations for yourself. If you are able to do that, even when you have to move quickly, you are always subconsciously thinking about what you could have done better. This helps you improve your performance, the way you look for obstacles, and the way you look for opportunities.
I have a very high-level guideline, which helps you internalize this and make it a part of your personality. If at any point of time you look back at yourself two years ago and think “wow, I was really stupid then!”, you are following this path. Otherwise, there is room for more learning and improvement.
When I started my first job at Webaroo back in 2005, I was just out of school. I knew basic algorithms and data structures, but that was nowhere enough to help me succeed at my job where we were building web scale products.
The main product of my startup was an offline search engine. To be able to build that we were required to crawl billions of pages, build a distributed file system (like HDFS), build a map-reduce system (like hadoop) to process them and then build a search engine on top of that. By the way, this was in 2005 when most of the open source tools like Hadoop and HDFS were not available, and computing capacity was scarce. Universities were just starting to add parallel computing to their courses. My college education couldn’t have helped me here. There weren’t enough tools available in the public domain. You couldn’t go to Google groups or Stackoverflow to ask questions.
At that point I made it a priority to work really hard and carve out some time to learn new technologies every day. I averaged 16 hours of work every day for 3-4 years. At the end of it all, we had achieved all the objectives we had set for yourselves and I was a Principal Software Engineer responsible for all their backend products. The work I did during this phase has helped me throughout my career, and it has given me confidence to take on really tough problems.
Working on building a business is one of the most incredible experiences you can have. Focus as much as you can on learning on the job. We will talk more in the last section about how this can help you in the long run.