My journey as a self taught developer
Tags: beginners, programming, career, webdev
Published: 2022-05-15 10:22:50

In this article, I will share my journey as a self taught developer and what it takes to have a career in tech without a degree and how I overcome common developer problems like imposter syndrome & tutorial hell.

## My Story
When I was in school I used to be a very shy introvert kid and was neither good nor bad at studies. Basically was just an average performing kid at school for a very long time.

I was into sports especially cricket because it is a sport that probably every other kid had played during his or her childhood in India. 
 
I loved playing cricket so much that all my family members knew that if I was not around and they needed to find me, they would only find me in one of the cricket playgrounds near my house. Basically the cricket grounds used to be my second home.

Even though I was so crazy for cricket, I never had a proper interest in pursuing a career in cricket. Other than cricket, technology was something that used to fascinate me. 

I was always curious to know how websites are built, at that time I thought it took something closer to knowing rocket science to build websites. Since I was an introvert I used to hesitate a lot asking about websites and technology to my computer science teachers. 

However, when I gathered  enough courage to let them know about my curiosity for websites they did not care to explain it to me properly which created self doubts about my liking for technology and made me feel not good enough about myself. 

It was one of the first instances when imposter syndrome struck me. At that time I had no idea what imposter syndrome is and how it is natural for us humans to struggle with it.

That was the day when I gave up on my liking for website development. After that day my only goal was to study properly in school and get good grades to have a better future because that is what most of the schools and teachers make you believe in some parts of our country.

Of course, we have progressed with time but there is still room for improvement, marks still continue to play an important aspect in deciding the future of children in our country. Like any student, marks made me underperform in exams and subject to constant comparison with other top graders in school.

While I got average grades in most of my schooling life, I decided to change that a little from my 10th standard in order to get into a top tier college. I was successful in getting my grades up by the time I passed out of school and in fact was to get into one of the best colleges in India.

However, I had to drop out of college due to some family issues. It was a very difficult decision for me because at that time I was under the impression that to succeed in a race of life,a person needs to have a degree. While having a degree has its own importance, it is not the degree but the skill that achieves you success.

I learnt that it is a skill which attracts the employers and helps you move towards your goal and succeed in life. I learnt various different skills ranging from basic computers to business communication skills.

Even though I had acquired the necessary skills to get a job, I could not get a job. Because in most parts of the world, especially in India; in order to get a job one needs to have experience and in order to have experience one needs to have a job - it is a paradox that a lot of people get stuck in.

So, to break out of this paradox I decided to do an internship(paid), which paid me well and at the same time gave me an opportunity to get experienced and learn a new skill set. 

I applied to various different companies for an internship and eventually got selected to do an operations internship at a well established organization. I was fortunate enough to be part of a very passionate and helpful bunch of people. While I learned a lot of different useful things during my internship, one thing that I learned changed my life entirely. 

I learned - “In life you need to find something that you love to do and do it for the rest of your life”. This line had a major impact on me and I started exploring things that I have keen interest in and things that I enjoy doing in which I could have a fruitful career. 

As I had mentioned earlier, when I was a kid I had a great interest in website development but had to give up on it due to not having enough knowledge about it. During my internship I had a computer system available to me. I decided to explore more about website development during my free time.

That is when I came across Codeacademy’s free web development courses which I got started with immediately and as I explored more I got to know more about  free resources to learn to code.However, even after finishing some courses I was not confident enough to put my newly learned skills to practice.

Then, I decided to do more courses, watched more youtube videos etc to get better at web development. Even that was not useful and never actually realized that this whole period is referred to as Tutorial Hell. 

Tutorial hell is  referred to as the time in every new developer’s journey where the developer constantly keeps jumping from tutorial to tutorial, coding along with the tutorial without any trouble but not being able to use any of the knowledge in their personal or professional projects.

Like imposter syndrome, tutorial hell is also very common among a self taught developer’s journey.So, in order to come out of tutorial hell I stopped watching any more tutorial and decided to use all the knowledge that I had learned from previous tutorial to build a project on my own.

Since I only knew basic HTML and CSS, I started out cloning minimalist looking websites like BBC news, Facebook homepage etc. This is my version of the Facebook [clone](https://rawgit.com/Judis07/facebook_clone/master/index.html) that I build using basic HTML and CSS. Once I got more comfortable with my skills I created more such websites which eventually helped me get another internship, but this time it was a Wordpress developer  intern role at an early stage startup.

It was a four months internship with an opportunity  to turn from intern to full time role. When I started my internship I got to know that the company didn’t have a tech team and I was the first person in their tech team along with an experienced Product Manager, it was both a good experience and a bad one. I looked on the positive side and got to work.

During the internship I had to get myself familiar with Wordpress and had to brush up on HTML and CSS even more. I was fortunate enough to get an opportunity like this where I could learn and improve my skills instantly and put it to work. Thanks to which I was able to add Javascript under my tool belt.So, when you learn by doing you learn better.

Once my internship got over, the company offered me a full time role to work as a Front end Developer. I was on cloud nine and  could not believe that I had finally got a full time job and could now make a living out of the thing that I love to do the most i.e, website development. Along with me the company hired a new backend developer who had only six months of experience and a CTO who was more into the backend. 

So, basically it was a suicide squad and on top of that the product manger who had the most experience on the the company’s product from a technical viewpoint decided to quit the company. We were an inexperienced team with almost zero knowledge of the company’s product from a technical viewpoint.

When you have less experience and no experience at all, the only thing you could do to move forward in life is to be ambitious. We all were ambitious in some way or the other and that helped all of us in believing in each other and getting the job done.

One of the major tasks that we worked on was to create a hybrid mobile and web app for the company. We decided to build a web app and a mobile app using React.JS. For mobile, along with React.JS, we choose to go with Cordova to act as a wrapper to the mobile app.

So as the front end developer I had to learn React.JS from scratch. Before learning React.JS, I had to get myself familiar with at least intermediate level Javascript because the better you are with Javascript, the more successful you will be with React.JS. Instead of using a free course I decided to buy [this](https://www.udemy.com/course/modern-javascript-from-novice-to-ninja/) Udemy course to help me learn Javascript. Along with this course I supplemented other youtube tutorials on Javascript from Traversy Media and Net Ninja to solidify my learning.

Learning the intermediate level of Javascript was one of the most valuable decisions I made to accelerate my ability to work on React projects and become a skilled React Developer. Once I had a good understanding of Javascript, I learnt the basics of React.JS using [this](https://scrimba.com/learn/learnreact) popular interactive course from Scrimba by solving various coding challenges and building mini projects.

The main goal was to take my React skills to the next level by building more applications and that is exactly what I did. I started implementing all the React.JS knowledge into practice on the company’s project. As a result, we successfully delivered the project on time meeting all the design and business expectations. 

Me and my team continued to work on numerous different projects and as the number of projects increased, the company decided to increase the size of the tech team as well. A couple of new interns were added to the front end and a few to the backend team.

As I was the most experienced front end guy, I was given an added responsibility to take care of the front end interns. Due to this pressure, the imposter syndrome kicked in, leaving me feeling inadequate like I don’t belong there and not good enough as a developer.

The reason being, I was afraid to fail and that too in front of some junior developers. Because my goal was always to learn to code websites and pursue a career doing it, I never thought I would have to mentor and help other developers on my journey. I was never ready for such responsibility.

Fear of failure means that, subconsciously, you undermine your own efforts to avoid the possibility of larger failure. It made me do nothing and resisted me from moving forward. Eventually when I explored fear of failure I came to understand that it is part and parcel of life. If you look around, all the successful people have experienced some kind of failure in life.

Most of us will fall & stumble in life, we might make bad decisions. But very often most valuable insights come only after failure. Accepting and learning from those insights is key to succeeding in life. By accepting my knowledge gaps in website development I was able to figure out why I was feeling inadequate and not confident enough to lead a team of developers.

After realization, I quickly managed to fill out my knowledge gaps by solidifying my skills which helped me overcome my imposter syndrome and lead a team of junior developers in a better way.

Over the years, a lot of people left the organization, I remained constant and due to my consistency & hard work I was promoted to a senior front end role. After spending three years at a startup, I left the company and now I am working as a Senior Full Stack Web Engineer at Adsparc.


Thank you for reading. Hopefully sharing my experience will help you keep moving forward and not getting discouraged when things are not going your way :).