Aug 14, 2021

IT courses don't help to become a programmer and and earn $100500/sec

It courses cover image

There have been many articles recently about how IT courses have not met expectations. After reading another article about how courses did not lead to a desired salary, I wanted to share my perspective on this issue.

And most importantly, I wanted to create my own mini-guide (you could say "anti-courses") on how to enter IT and start earning 120+ within 1-2 years.

My background: 14 years in commercial IT development, full-stack, last 6 years as a Team lead.

What is the actual problem?

There are many courses out there that promise to teach programming in 3-6 months and start earning 100+. Some even promise to help you find a job after completing the course (which I doubt, especially if you have no prior programming experience).

As a result, false expectations are formed: "I will take these courses and start earning immediately."

In reality, courses are unlikely to immediately help you secure a well-paying position because you lack real experience in solving various tasks. In many cases, companies prefer not to hire someone who used to be a lawyer, dentist, or statistician. The problem is not that the person lacks a relevant education or has poor language skills (even for a junior position). The problem lies in the absence of IT experience, the experience of solving real and diverse problems. In my opinion, this is what primarily distinguishes juniors/mid-level/senior developers, not the number of years, the ability to sort "bubbles," or theoretical knowledge (which is also important, of course). It is the variety of real tasks/problems a person has faced in the past that shapes the value of a developer. Some gain valuable experience within a couple of years, while others cannot boast any interesting achievements even after 8 years because they have been working on simple and repetitive tasks all that time.

What to do?

Solve problems and gain experience. If no one is willing to hire you, simply work on your own "pet projects," honing basic skills and building your portfolio. Create clones of existing projects, ask the community to review your code and provide suggestions for improvement. Keep learning constantly.

What is a junior developer to a company? It is someone who lacks development experience and strong problem-solving skills, often resulting in mediocre code. As a result, more experienced developers need to spend time teaching newcomers, answering their questions, reviewing their code, and pointing out specific mistakes. Therefore, small companies usually find it disadvantageous to hire beginner developers (for example, we currently cannot afford to hire juniors, but we are always open to mid-level and senior developers).

Are courses necessary?

It depends on the person. In general, you can learn everything without courses.

It's more about self-organization and self-discipline.

Some people need to "pay" to motivate themselves to do something (to have the feeling of "I paid for it, so I must do it to not waste the money").

Others are capable of learning on their own.

In any case, self-education and continuous self-improvement are key aspects in IT. There is almost nothing that you learn once and do the same way forever. There are always new versions, innovations, new frameworks/libraries/technologies, and so on. Therefore, you constantly need to read a lot, watch and learn to stay "up to date."

The most important thing is not just to have an abstract desire to switch to IT but to have a real goal to do it. I know two acquaintances who have been unable to make the switch for three years because they constantly find excuses. Each of them has a "strong desire" to do it (only in conversations when it comes to IT). One of them works as a manual tester in a large IT company, where there are seniors ready to teach and internal courses, and the other one, I have created a simple and easy plan for him to start, what to do, and where to go next.

Where to start?

In my opinion, the easiest way to start is with front-end development, specifically with web design.

HTML and CSS can be learned very quickly (in less than a month, dedicating a reasonable amount of time in the evenings), and then you can start tackling simple tasks and look for freelance web design projects.

Next, gradually introduce JavaScript. Don't jump straight into frameworks/libraries; first, master pure JS. When you have a good understanding of pure JS and web design (after about 2-3 months), you can start using React since it's currently in demand (meaning there are plenty of job opportunities) and is unlikely to disappear anytime soon.

To gain experience, it's important to constantly work on small projects. You can create clones of popular applications, as in that case, you don't have to worry about design and can focus on the result.

From the very beginning, it's essential to use GitHub. Gradually (in small portions) and consistently (daily), upload your progress there with meaningful comments.


originally posted on vc.ru

CV