How to become a programmer? How to learn programming? Of course, there are several ways to achieve this. Here they are:
This is one of the most standard paths for a programmer career. Many companies, especially larger, foreign companies from the USA, Germany or Scandinavia still require candidates for higher education. An unquestionable advantage of IT studies is the comprehensive development and the opportunity to acquire knowledge in various fields. The studies also teach a scientific approach to the particular field, in this case computer science. A graduate of IT studies will certainly have wide, scientific knowledge about IT and other related areas. The advantage of studies is also the possibility of establishing contacts, eg with companies that cooperate with the university. Also, contacts with students may be a source of cooperation in the future. Studies are definitely a good choice for people who are planning a scientific career path as well.
The disadvantage of IT studies may be a long process of acquiring knowledge. Studies last for several years and many people think that this time can be used in a better way. For opponents of IT studies, as the path to becoming a programmer, the biggest disadvantage is the lack of correlation with the IT market. IT develops at an unusually fast pace, universities do not always keep up with it. Sometimes the knowledge provided to students is not updated and adapted to the dynamics of development of this field, and students are given outdated technologies. Of course, it all depends on the university and lecturers. The question is, do studies prepare well for the profession of a programmer? Here opinions are divided. What becomes curtail is working on improving programming skills in paralel to gaining theoretical knowledge during studies. It is worth absorbing theoretical knowledge during studies and developing yourself practically, eg through self-development or professional work.
There are several programming schools on the Polish market that offer intensive courses in various programming languages, so-called IT bootcamps. Duration fo that courses in definitely shorter, more intense and more practical than in studies. These courses are simply focused on learning how to create code. Programming schools boast that the vast majority of their graduates find work with IT. The bootcamp training program is better adapted to the real needs of the labor market. While the student acquires knowledge there from narrow specialisation, which can be both a plus and a minus, depending on your expectations. Certainly programming schools are a salvation for the ever-growing needs of the market, which IT studies are not able to meet due to the small amount and long duration of students’ education.
The disadvantage of bootcamps may be poor theoretical preparation. It may turn out that practical knowledge alone without a theoretical base is insufficient. Some people are questioning the quality of knowledge acquired within such a short time. This is probably a matter of individual involvement though. Programming schools are a good solution for people who want to change their profession. The question is whether such a short learning time is enough to change. Certainly after finishing the bootcamp, you should think about the internship in the technology company.
For self-study, auxiliary materials will be necessary: books, specialised blogs, online tutorials, forums (eg stackoverflow.com). It is worth creating your projects in technology that you want to learn, for example an application that you will use later. It is very helpful to participate in the work on the Open Source code. By supporting Open Source projects, you can gain experience, learn new things and learn from more experienced people. It is a good idea to participate in IT conferences also.
The disadvantage of self-study is that this way of gaining knowledge is not for everyone. You have to be a self-taught type and do not need a guide in the learning process. Of course self-discipline, commitment and determination are necessary to achieve the intended goal.