Programming-how to start learning?

Programming-how to start learning?

There are many paths to becoming a programmer. Among the possible methods, the most popular is academic education. Engineering or master’s studies provide a very broad knowledge and a solid foundation for many professions in the IT industry, including a career as a programmer. However, if you have decided to learn programming, this is not necessarily the most effective way for you.

At the University, in addition to the valuable support of the instructors and a rich content background, the student is forced to learn many subjects that are not necessary for the programmersuch as advanced mathematics. In addition, the program covers many topics that are completely unnecessary for the first years of your career, such as advanced topics related to security or system architecture. The main task of studies is to prepare a solid foundation and open up many possible paths of development.

An alternative way to achieve programming skills is completion of an intensive vocational course. Such courses last approx. 2-3 months and have the task to prepare us for the start of internship / work as a novice programmer.

The third option, especially optimal for people who can not spend a long, uninterrupted time for study, or prefer individual work at their own pace, is independent learning. In this article I will try to describe several possible paths of development, so that the interested reader can make a preliminary assessment of what to learn and know for what passwords to search the internet. Currently, there are a lot of free materials, such as code academy, which introduce those interested in the world of programming Step by step, forgiving the lack of skills.

Below I listed 4 competitions for which you can prepare yourself and for which there is a real demand in the labor market. Each of them stands out from the others and fits different people, with different preferences and in different life situations.

In addition to the characteristics, I assigned 3 parameters to each of the paths:

  1. Time to market – estimate how long it will take to acquire skills that can be used in work as a junior (in the case of SQL, it can be used in many professions as a complement to the skills). To start an adventure in a junior position, you will need approx. 20 hours of effective learning per week.
  2. Difficulty – subjective assessment of how many substantively complex issues need to be understood in the profession.
  3. Development prospects – the length of the career path, the situation and the forecast of the future position on the labor market.


1. Front-end Developer

The front – end layer of the application is, in simplified terms, the “face” of the system-the part that the user sees. The front-end programmer can handle a very wide range of tasks – from tasks closer to the graphics, to complex programming of the entire front-end-both its logic and appearance.

The technologies that every front-end programmer needs to know are HTML, CSS and Javascript-but these are just the basics.nowadays, knowledge of one of the JavaScript front-end frameworks such as Angular or react is increasingly required. Knowledge of this type of technology can dramatically increase earnings from above average to very high. This path is definitely recommended for people with artistic passion or just like to create something real, because the effects of the work of the front-end (as well as the mobile programmer) are probably the most tangible.

Time to market: ~3 months
Development prospects: 4/5
Difficulty: (webmaster 2/5, modern JavaScript frameworks 4/5)


2. Back-end Developer – Java/.net

The back-end of a web application is the server-side part that supports all application logic and database communication. In simplification-the “brain” of the system. Back-end programmer is engaged in translating business requirements into code, predicting various variants of system behavior and integration with other systems. In the later stages of the career, the scope of activities expands to the design of the architecture of the solutions themselves, and over time the entire system.

Java and .NET are the largest families of technologies used to create back-end web applications. Due to the high demand, there are relatively many junior positions available for novice programmers. The negative side of this path is probably the need to have the largest (in comparison with other paths) range of knowledge needed to be an effective member of the team.

Time to market: ~4 months
Development prospects: 5/5
Difficulty: 5/5


3. Mobile Developer – Android/iOS

A mobile app developer creates apps that run on Android phones / tablets. Due to the fact that such applications can be much smaller than large browser applications, this type of work is beneficial for individuals. Often applications are created by only one developer. Mobile developers can also easily sell their applications in Mobile stores-making my option relatively easy to become independent of the employer / corporation, if such is their whim and allow them to do so skills.

Time to market: ~3 months
Development prospects: 4/5
Difficulty: 3/5


4. SQL Developer

SQL is the language used in relational databases. Of the above profiles, it is the shortest and easiest to learn, but it also has its weaknesses. This work in my subjective opinion is less interesting than application programming. Relational databases are a technology that has been on the market for a long time, and their ecosystem has not grown dynamically for a long time. This technology is very useful as a supplement to knowledge from another specialty-finance, statistics, or data analysis.

Time to market: ~1 month
Development prospects: 2/5
Difficulty: 1/5


Summary

I hope this description has brought to light the similarities and differences between the alternative paths of learning. Contrary to popular belief, a programmer is not a profession reserved for a closed caste of outstanding mathematicians and requiring years of renunciation. The current shortage of programmers in the labor market and the prospects for increasing the demand for representatives of this profession make people are hired whom the employer is just planning to train to work. If you are in a situation where you are considering retraining-it is worth taking advantage of this moment.

Go to our cases Get a free quote