Building products that solve problems with Nishant Pai
Published on May 2, 2020
Consultant / Enterpreniour
4 years of development experience
Computer science degree
Generally speaking, my Computer Science degree has been quite useful in job interviews. Especially the algorithm knowledge I acquired during university. If you are starting out as developer, algorithms and data structures are a prerequisite. Apart from that the skills that I have acquired during my job were more important for my personal development and have little to do with what I was taught in college. College was useful in getting to meet people with similar interests. For example, I got my second job due to a referral from a friend of mine.
There are a lot of good algorithm and data structure courses, videos and books that are good introduction to new developers who don't have a CS degree. One of these courses is the CS50 course by Harvard. If you have any other resources, welcome to share them in the comments.
I began coding when I was 15 - it is when I wrote my first "Hello World!" in C++. I then was trying to verify the gravitational force between the moon and earth. It was a lot of fun. Programming has always felt more of a tool to help me comprehend what is beyond my understanding. Coding is a lot like magic to me. Write several lines of instructions and the computer could keep executing this instruction forever.
The best method that I have found to learn any programming language is working on a project, either for a client or a side project that has an end goal.
In order to learn the best patterns for code optimisation I refer to Stack Overflow, dev.to and any platform where developers interact.
The first personal project I did was something similar to Reddit where people could share links to websites. It isn't currently live but there is a snapshot on webarchive.
The first job I got as a full-time developer was for the company of a friend of mine. We had previously talked about various projects so I decided to work full-time with them as a developer.
What were some of the challenges that you encountered when you started to code and building products?
The challenges I faced weren't technical because that is something I was comfortable with. However, there were several non-technical challenges that I encountered.
Management was one of them. I started out in the service business and the most important challenge when I started was understanding the process of the client submitting a request. As a developer, you have to communicate with the designer, client and your manager regarding the work and then based on everyone's feedback you have to deliver. The natural impulse is to just start coding as soon as you are assigned a task. However, it is important to understand what the client is actually trying to achieve.
Furthermore, communication was another challenge I faced. I was extremely bad at communication (still working on it), but I have found that it is 80% of the work.
As a developer, learn to share your skills with others, some peers have been very good at this. They have built their blog with an active community, which has brought them a lot of opportunities. Having a blog or youtube channel where you can share your knowledge is a great way to build your reputation. For example, I have gotten consulting work through blogs I have shared on LinkedIn.
Join communities where people are actively sharing and communicating what they are learning. Another source of consulting work has been the networks that I have built throughout my career.
As developers, we are obsessed with tech and I am also guilty of this. Your potential customers for your product are not, they focus on outcomes. Understanding outcomes has probably been the most difficult thing that I had to master. It took me 3-4 months to understand this approach. Every time you start thinking about a product you jump the gun on the solution and not focus on what outcome is it that you are trying to deliver. Focusing on outcomes and not on tech has been useful for me. It has also been a key driver when choosing the projects I would be working on.
At the moment, I focus on building apps which serve digital businesses. I do some consulting to earn some extra cash. My goal is to leverage my mind, not my time. I love development work, but I feel it isn't as efficient as I want it to be. For example, code that I write for someone else is less useful than me writing code which can solve a problem while I sleep. It also puts my mind at rest knowing my products are helping people achieve their goals.
Furthermore, I've been spending a significant amount of time understanding the mechanics of selling, market research and communication (things which I didn't pay attention as a developer). Especially, I've been focusing on writing tweets.
- The Black Swan, Antifragile - Nassim Taleb
- Jobs to be done - Tony Ulwick
- Zero to one - Peter Thiel
- Lean startup - Eric Reis
- Outliers - Malcolm Gladwell
- The Futur on Youtube
- Jonathan Stark on Youtube
- Naval Ravikant has a great playlist on how to get rich.
- Jordan Peterson
- Marc Andreessen
- Naval Ravikant
- Nassim Taleb
- Robert Sapolsky
- Paul Graham
- Jack Butcher
Thanks for the interview!
Make sure to follow Nishant on Twitter
Level up your web development skills
Get articles, guides and interviews right in your inbox. Join a community of fellow developers.
No spam. Unsubscribe at any time.