Programming is a path full of challenges and opportunities for growth. I started this journey in 2010 as a junior developer and have now reached the position of Tech Lead, continuing to develop in my profession. My accumulated experience allows me to speak with confidence about the steps and approaches I will describe in this article.
Throughout my development career, I have worked with various programming languages, such as Delphi, JavaScript, PHP, and Go. And with different domains: Cassino, CMS, Billing, Gambling, Marketplace.
In this article, I want to share my experience, which may be useful for beginners who want to enter IT but don’t know where to start. I hope that my advice will help you adapt more quickly to the world of programming and avoid some of the mistakes I encountered along the way.
Education
Having an education in IT does not guarantee that you will become a programmer. I say this with confidence, based on the experience of my group at university, where only 20% of graduates actually went on to work in the profession. Therefore, if you decide to study IT, it will certainly make your path easier, and you will have five years to go through the five stages of accepting the inevitable.
If you don’t have an IT education, that’s okay, because there are IT courses available for you. In 3-6 months, you are promised that you will become a programmer. However, having worked as a teacher at one of these IT schools, I can confidently say that the percentage of those who actually become programmers after such courses is even lower — only about 5% (according to my own calculations).
Why is this the case? The time for training is limited, there is no time to do homework, most students already have a main job, and most students simply do not have time to go through all five stages of acceptance. 50% remain in the denial stage, realizing that programming is not for them, 20% get stuck in the anger stage. Only 10% reach the bargaining stage, another 10% remain in the depression stage, and only 10% reach the acceptance stage.
Types of development
The choice of development direction often depends on your interests and goals, whether it is creating web applications, mobile applications, or games.
Let’s consider what we have.
Web development
- Frontend development is the creation of what the user sees and interacts with. It includes working with HTML, CSS, and JavaScript.
- Backend development is the creation of server logic, database management, and API interaction.
- Fullstack development is a combination of frontend and backend skills, i.e., the development of both the user interface and the server side.
- Mobile development – programming applications for phones
- Game developers – programming games
- Application developers – programming programs for operating systems
- Embedded developers – programming microcontrollers and embedded systems
Choosing a language
Depending on the area you are interested in, there are languages that are best suited for solving specific tasks and developing applications. Let’s take a look at which programming languages are best suited for different types of development to help you make an informed choice.
Web development
Frontend development:
- JavaScript — the main language for creating interactive interfaces.
- HTML and CSS — for marking up and styling web pages.
Backend development:
- PHP — popular for web applications and working with CMS.
- Python — often used with frameworks such as Django and Flask.
- Node.js — JavaScript on the server side.
- Java — for large and reliable applications.
- Ruby — used with Ruby on Rails.