Avijit Karmaker
5 min readMar 23, 2021

--

Starting from Zero: A journey through the frustrations

“He who does not know how to look back at where he came from will never get to his destination”.- Jose Rizal

Becoming a Software developer or Web developer has been in trend for some time. There are so many lucrative advertisements that show the glitters and monetary benefit of becoming a Programmer. Some tutorial or E-learning platform advertisements suggest that a person can miraculously become a programmer just by learning HTML, CSS, and Javascript. Some mentors or influencers claim that they can turn a person without basic programming knowledge into full-time programmers within 6 months. Unfortunately, the reality is a little bit harsher than that. Some extraordinary people can become solid programmers within few months. Those people are gifted and their minds work differently. However, For a normal person like me, the scenario is different.

So if you are gifted then you can become a programmer within a very short period of time. Congratulations!! a bright future and something special is waiting for you. But if you are not a naturally gifted person, I have some reality checks for you. The road ahead might not be as smooth as the lucrative advertisements or online tutors claim. I had to find it out the hard way. It doesn't mean that there is no hope for people like us. I would say we are lucky in some aspect. We have to know and realize that to become successful hard work and feasible expectations are the key. If we can accept reality, We can learn and progress like no one else. We can construct our potential future through perseverance and relentless will.

This is not a patronizing article. My priority is to share the things that will demonstrate a real scenario for the people who are just starting their programming journey. According to me, the journey of becoming a programmer consists of the following stages:

  • Decision
  • Excitement
  • Realization
  • Selection
  • Progress
  • Confidence
  • Destination

I think most of the aspiring programmers that are planning to become a programmer will face these stages throughout their extensive journey. Let us discuss these stages in detail.

Decision:

This is the stage when a person decides that he or she wants to become a programmer. There can be countless reasons for a person to take this decision. Some people make this decision based on the potential of monetary gains, some people want to change their profession, some people want to challenge themselves, etc. Whatever the reason is, A person who will take this decision should take this decision based on proper research. Deciding on becoming a programmer should not be random. There should be a proper reason behind this decision supported by the individual research data. A person should try to build something small with a programming language before even considering taking the decision. Trying some free courses might be a good idea in this case.

Excitement:

“All things are difficult before they are easy”.- Thomas Fuller

After taking the decision, most aspiring developers become excited thinking about what comes next. It is the most delusional stage of the journey. After pursuing a small course that is easy, a person can gain false confidence. This is the time when people think that programming is easy. To avoid getting false confidence, A person can try to build something that a real programmer does. It will keep the person grounded and will push him to the next level soon.

Realization:

This is the toughest stage for an aspiring developer. At some point, the person will realize that whatever he or she has learned so far is the tip of the iceberg. There is a long and painful road is ahead. A person will get confuse and frustrated just by exploring the huge world of programming resources. At this point, the advice is to focus on the basics. It is also a good idea to determine what is exciting to that person out of all the programming languages. Narrowing down choices will save a lot of hassle.

Selection:

After realization, an aspiring developer makes the selection. By accepting reality, an aspiring developer realizes that he or she cannot learn everything. There needs to be a loss of opportunity whatever the selection is. The sooner a person can narrow down his or her choices, the sooner he or she can progress. If a person chooses smartly, he or she will have a better focus on the subject. Facing reality and frustrations will make the person humble and will give him or her real expectations.

Progress and Confidence:

At this point, The aspiring developer will see some real progress. He or she will witness the progress according to reality. Confidence will grow slowly and mental strength will also increase. The inferiority complex will fade slightly and the person will feel more comfortable in programming.

Destination:

“One’s destination is never a place but rather a new way of looking at things”.- Henry Miller

After all those stages, An aspiring developer will find himself or herself in this position. It doesn't mean that the person has achieved everything. It means that person has sufficient knowledge to start the actual journey of productivity. This is time to pat yourself on the back and then take preparation for the long journey ahead.

This article intended to share some information that no one will share. Everyone talks about the tangible aspect but aspiring developers need to know the intangible aspect of the journey. Becoming a programmer is hard. Whoever says it is easy is lying. But it is the journey to make. If you decide to go on this journey, make sure you pack perseverance, humility, and desire to learn in your mind-pack.

--

--