Hello, Habr!
In my leisure time, reading something interesting about becoming a programmer, I realized that in general, we are all walking through the same minefield with rakes on our career path. It starts with a hatred of the education system, which is supposed to make us seniors, and ends with the realization that the heavy burden of learning falls only on our shoulders, but often this realization comes late.

I must admit that all these difficulties, in most cases, weed out quite a few people who are not ready to break themselves and constantly learn, while those wishing to enter IT solely for the heaps of gold that smart articles promise, based on examples of outstanding personalities of our time, risk crashing against the reefs of reality.
I think each of us has thought at least once that we are not smart or good enough for this profession, that this is not our thing at all. Or on the contrary, that we are incredibly exceptional, that our knowledge is at such a high level that hardly anyone can compete with us, let alone teach us somethingāsound familiar? If so, breathe a sigh of reliefāyou're on the right path. All of this is typical for a beginner programmer, but don't relax; the hardest part is yet to come.
I want to show you the key points in the journey of becoming a programmer through my story and my mistakes, and most importantly, no matter how poorly you evaluate yourselfāit doesn't mean you should give up. The meaning of this story may seem trivial, and the conclusions may appear to be self-evident, but often many need a little push to understand the obvious facts.
The first misconception is to consider oneself the smartest.
Perhaps it's best to start with my school days. Like most teenagers, I didnāt see studying as interesting; it was far more exciting to play video games. I was captivated by the stories, inspired by the beauty of virtual worlds, and loved feeling at the center of events. Over time, thoughts began to surface about how wonderful it would be to create games and that I definitely should become a developer. I started learning a little programming. After my first method that added two numbers, I walked around with my head held high, thinking I understood programming; I was a programmer, and our computer science teachers didnāt know anything about life, teaching us what a computer is and various conjunctions and disjunctions. That was my first and most foolish mistake, but thereās more to say about it.
I didnāt study very well, so after the 9th grade, I can say I was expelled from school. With my certificate, I couldnāt get into any programs and had to go wherever I was accepted, which turned out to be some low-level vocational school. I still thought I was a cool programmer and that all this education was unnecessary for me. After six months, I started to realize that something was off and I didnāt want to be surrounded by the not-so-developed society that my irresponsibility to myself had brought me into. I decided to return to school, and I was definitely expelled from the 10th grade. At this stage of my life, I understood that I could only rely on myself; neither friends nor family would invest knowledge in you if you didnāt want to learn.
The next stage of life was a technical school or college, whatever you prefer to call it. Briefly, skipping the process of crawling on my knees and searching for a place to go, I put in quite a bit of effort to get accepted with my diploma into a decent institution, and I did. I understood even then that to achieve something, you need to study, and I dedicated myself to education and a bit of programming. But I quickly became frustrated again and returned to my initial mistake, insisting that the education system offers nothing, that I was smarter than the people teaching. Nevertheless, I retained some common sense and did not abandon my studies; I continued to put in the effort for my development because it is hard to give up on something you have worked so hard for. I am sure that if someone had just paid for me to attend without my own effort, I wouldn't have held such a belief.
The second misconception is an excessive underestimation of oneās knowledge.
During my studies, there were interesting championships in competitive programming, in which I decided to participate, which later became very useful for me. Now my pride and maximalism have shifted to an extremely low self-esteem, I kept insisting that I knew nothing, understood nothing, that it was difficult and not for me, but the thrill of competition forced me to grit my teeth and try to change something. Good motivation allowed me to keep the desire to study programming alive, and the reward in the form of a prize taught me that all of this was not in vain. This was the first step on the right path.
It's important to understand that for anyone learning a new type of activity, it initially feels like conquering mountains; the progress is so rapid that the sheer volume of new information overwhelms the mind, leading to a sense of enlightenment. Reflecting on how much improvement has occurred during this time can evoke admiration for oneself. However, this motivational state can shift to depression, accompanied by the feeling that nothing is working out, and skills do not seem to progress because, when comparing developmental results, it appears to slow down significantly. This is the so-called trough that awaits anyone looking to become a professional in any field. Remember, if youāve reached this point, you are already on the right path; this feeling will frequently arise in the future, so it's crucial not to let it break you and make you give up.
By the time of graduation, I had already realized that our education isn't as useless as it seems; it provides the opportunity to choose a direction for your development, but you are the one responsible for it. I had a clear goal; I enjoyed working on projects, I had a small knowledge base, and the motivation to move forward.
Here, it is necessary to note that a very dangerous pit lurks beneath. Having overcome all previous challenges, it feels like I've finally reached what I've been striving for so long. I know what I want, understand where I need to develop, have a goal, and I'm ready to step into adult life and get my first job. Yes, it may not be the job of my dreams, but I will be involved in something that inspires me.
The essence is that the first job, and any job, throws you into a world that is far from what you dreamed of. It turns out that the peak you overcame is just the first step towards something that seemed so close.
Why does this happen?
When you get your first job, you suddenly realize that your knowledge is catastrophically insufficient. Partly this is true, and it may create a feeling that programming is not for you. However, we have previously encountered this feeling and learned to overcome it. Once you settle in, you realize that there is a problem here that is even worse.
Professional burnout
This stage in my career turned out to be the most painful.
The first job turned out to be nothing like I had imagined. The projects I developed in my free time, which inspired me and brought me immense joy, had nothing to do with work. Everything I had prepared myself for and dreamed about just crashed against the reefs of reality. This was very disheartening; I was often frustrated and thought that something was wrong with me. The boring tasks and routine work were overwhelming. I wanted to grow, proposed new ideas, new tools, but mostly it was not needed by the business; everything that already existed was making money, so it was deemed good. Not to mention what you can read in smart articles and books: programming is a well-paying hobby that gives you pleasure, and you get paid for it. Maybe in some specific instances that's true, but it's a tough journey to find yourself and what you genuinely enjoy, including the right job.
I should note that this stage filters out even more people who have struggled to overcome previous obstacles and simply haven't achieved what they dreamed of. It's essential to understand that being a programmer is not your favorite hobby, at least at the beginning of your career. Itās just a job that rarely brings joy but does provide income. How you set your mind to overcome this challenge is very important. Itās very easy to give up here, and then your attitude toward work will turn into a mere necessity to earn digits on a card; professional development will halt, which is unacceptable in a programmer's career. You need to push through and set yourself correctly; understand that work is a tool whose behavior depends solely on you. Appreciate all the experience you can gain because when the time comes, you will have enough experience to move on to a better place, and eventually, you will start to see that horizon you dreamed of as a student. But remember, everything depends on you.
In today's reality, programming skills alone are not enough; you must be able to interact with people, understand how the business you are in operates, and how exactly you contribute to its profitability. It is far easier to train a 'team player' in programming than to develop communication skills. Therefore, pay attention to any experience you can gain, but remember that all this knowledge should complement each other.
To wrap up the story, let me give a reinforcing example. My first job couldn't boast any advanced technologies or a development path I desired. But once, trendy Agile development methodologies reached us, which management wanted to implement under the pretense that it would speed up development and thus increase the company's profits. This allowed us to view the entire process from the inception stage to the full functioning of the newly formed team. Later, these skills proved to be extremely useful in future workplaces, emphasizing the importance of gaining valuable experience from any situation.
So, whatās the conclusion?
- If you believe you know everything, I advise you to think it over carefully.
- If you feel you know nothing, you are on the right path.
- You need to understand that no one will put knowledge into your head unless you want it yourself. This is not an education issue; stop wasting time searching for its imperfections, because work will also not impart knowledge to you if you do not want it.
- Do not delude yourself into thinking that work will be as enjoyable as your hobby right after you receive your diploma. Programming is just like any other job; it can be routine, tedious, and unpromising, but it can also be interesting and exciting ā it is work.
- Anyone can become a programmer; the most important thing is not to give up and to overcome the difficulties that await anyone who decides to enter the IT field.
Source: habr.com
