For years, programming was a sector of the world economy reserved for the so-called geeks. This false and very damaging stereotype alienated many students from what would have been an excellent career opportunity. Today there are public administrations, organizations and professional groups linked to research that are trying to change such a negative trend. And they have done so successfully.
As we’ve already published in BBVAOpen4U, the ‘Learn to code movement’ emerged in the US gathers people from many sectors who demand more programming lessons to children, teaching them from a very early age to understand how software works and explore its insides, the dreaded code. Many other countries are years away from such initiatives, but it is true that anyone can take advantage of the online tools that are being launched thanks to this effort.
Currently there are online services that, with discipline, can help to learn to program in several languages. They are available to everyone and all it takes is some (or rather a lot) of perseverance. Codeacademy, Treehouse, Codeavengers, Udacity, Programmr, Code School… are some of the websites devoted to teach programming in a simple way.
But before going to the internet and starting writing code, a very practical exercise is to gather information about the type of language you want to learn. It’s a debate almost as old as the origin of programming. PHP, Ruby, Python, BASIC, Objective-C, C, C + +… or Java. There is an index (TIOBE) that each month sets a very interesting ranking about the popularity of programming languages within the industry. It is possible that, if you’ve really decided to learn to program, you may choose one with an active professional market. Here’s a little graphic with data from the study.
IEEE Spectrum magazine developed in mid-2014 a ranking of the most popular languages, measuring up to 12 different factors, including professional development, Google searches or references in Twitter, Reddit or Hacker News. The result of the study is that Java is the language most commonly used, followed by Python, C # and PHP. Javascript, Ruby, Perl and HTML came afterwards. For example, this is a report from Google Trends of searches related to the name of some programming languages:
Professional development, professional development, professional development…
Obviously, there are many factors that influence the choice of language we choose when we start programming, but professional development is crucial. You may want to learn as a hobby, but you can’t disregard the possibility of obtaining some profits in the future thanks to your knowledge.
Many times, first choices are the most important. It is a good option to check if your chosen language is in demand, and what are the salary ranges within companies or for freelance projects. In this respect, as in many other professions, there are important differences between Spain and countries with greater demand as the US, UK or Ireland.
Among the technology-related jobs, software developer is possibly the profile with the best present and future in the US. In fact, the average salary of a software developer in an American company is more than $ 90,000 a year, and it is a specialty with a particularly low unemployment rate of 2.8%, expected to create almost 140,000 jobs by 2022. Web development is also a profession expected to grow, with an average salary of $ 62,000 and an unemployment rate of 4.2%. Logically, wage comparisons between the US and Spain don’t make much sense because they are two completely different universes. If you try to compare, you will err.
For instance, in Spain the average salary of an IT Director or a Development Director may be around 55,000 euros, while a project manager would get 38,000 euros and a PHP, Linux or Perl programmer could be paid around 24,000 euros gross per year. In any case, these figures are highly variable depending on the companies or projects, and not comparable to the American or British market. It would be more appropriate to establish a comparison with Ireland, although in the case tech professionals the conditions are much better than in Spain.
However, learning to program might be the fastest way to access any of the 900,000 job vacancies related to technology and communication that will be available in Europe in 2015. Furthermore, according to forecasts of the European Commission made over a year ago, the old continent creates 100,000 jobs every year linked to the digital sector.
Learning to think like a programmer
In addition, you also need to ask yourself some important questions: What kind of programs de I want to develop? In which operating system will they work? And, not least important, what is my predisposition to a type of code or another. It is possible that you will receive a few pieces of advice, and eventually realize that you took the wrong choice. It’s like reading: the best books are those we can finish. It doesn’t help much to start something that we won’t finish. You have to achieve your goals.
“There is no special language with which to start programming; however, a good option is to start with languages object-oriented such as Java”, says Jesús Jiménez Álvarez, president of the Spanish Association of Computer Programmers. “It’s the paradigm of current programming, and the most widely used in the world of work. It allows to gain good software development habits and to continue learning later”, he explains.
Andrés Nicolás, president of the Association ThinkBit, dedicated to promote the study and learning of programming among children, recommends Python, “a general language with applications in many areas and with a simple syntax”. Besides, “it’s one of the most used languages, with a high rate of growth, a huge user base and a large amount of learning resources, in both Spanish and English”, he says.
A matter of vocation or career goals
Your vocation or your ultimate goal is also important. If you want to dedicate yourself to web design, then the ideal is to learn HTML, CSS, JavaScript and maybe PHP “to create dynamic pages with data access”, explains Jiménez. However, if your goal is to develop mobile applications, your choice should be totally different: “you must learn Objective-C for iOS, and Java for Android”. Anyway, as this professional points out, the key is to learn “to think like a programmer”, and in this case the free tools that we have talked about before can be helpful.
“I would start pondering what is the application or the tool I would like to create. It may be an app, a robot or a simple game, and find out what languages are used in that field”, recommends Nicolás.
On many occasions the work of others is also a good starting point for learning. Studying the code made by professionals with more experience can be very helpful. Within the programming sector, there are libraries written by the developers’ community that can help us to learn, compare, answer questions… Therefore, the more libraries about a concrete language and the more popular they are, the better for us.
“Today there are thousands of free online resources, hundreds of universities post their courses and thousands of people around the world create quality content”, they say in ThinkBit. If you want to learn, improve and create your own code, “I would recommend to study the basics of the language and look into the code and projects of other people”, says Nicolás.
Footnote
– C: it teaches to program efficiently.
– Java: one of the most useful languages to learn taking into account the current labor market.
– Python and PHP: easy and fun to learn.
– Javascript: for those who want to jump into web programming.