The attitude to the profession of developer has changed dramatically in the last decade. Because everyone is glued to a computer these days, it is no longer a mysterious occupation. Developers graduated from a stereotype of reclusive nerds in every IT joke to mass consciousness heroes and makers of trending gadgets, apps and games like Pokémon GO that everyone knows and admires.
Today we discuss where the profession is at the moment, what makes good developers great and what will happen in the future with Itransition’s Chief Technology Officer Yury Zelensky. In the IT industry for the last 18 years, Yury climbed the professional ladder from a junior to a top exec. As CTO of a relatively big (1400+ engineers) custom software development company operating on a global market yet influenced by peculiarities of a small local Belarusian economy, today Yury shares Itransition’s own perspective on the topic.
This decade can be called the decade of software development. Because of the omnipresent use of programming skills that will be needed in more and more economic sectors, the world economy is in urgent need of developers, which has opened up new opportunities for Belarus. On top of high demand, we are benefiting from market globalization, as well as a cheaper end product delivery from developers to customers, more efficient communication channels and collaboration tools like GitHub.
In the 1990-2000s productivity increased due to the introduction of IT technologies such as computers and networks. Software product diversity was not a growth factor at the time. If you look deeper into history, the first programs were closely tied to the underlying hardware of the computer. But by the end of the 2000s the performance growth factor (equipping work places with computers with standard software) has been exhausted, and today growth of productivity can take place with the appearance of new software tools as well as new areas where software is needed.
The list of these areas is constantly growing. With more free time on our hands, we consume more entertainment. This translates into demand for relevant experts in the lucrative movie and gaming industries, as well as the rest of entertainment, increasingly readily available for all on affordable mobile devices. Areas that have traditionally lagged in electronic adoption such as healthcare are catching on, creating more demand. And of course fintech needs highly qualified programmers, especially when you think of vital aspects like transactions, credit platforms, personal financial manager programs, corporate banking, analytics, scoring models, data gathering, etc.
In Belarus we have hit the ceiling with the number of programmers, so further growth is possible if we start hiring people of different ages and re-training them. The situation is influenced by a variety of local factors: the profession is attractive, the domestic market is small, and the universities provide a solid educational background for success. As a result, we have a very high percentage of people suitable for the industry. Besides, a smart scouting system helps us look for talent across the country, down to the smallest villages, and we are able to find even more developers that way. Additionally, the number of highly skilled programmers grows naturally, as good programmers mature into great ones.
Ten years ago, developers coded in almost complete isolation from their client. Execs, project managers and sales representatives communicated with the customer. From a team of five people you had one spokesperson representing for the developer and other members. Now everything is different. The usual practice is constant ongoing communication with the client. You simply cannot survive in the profession without a working knowledge of English, and many developers understand it. English is necessary not just to communicate, but to develop as a professional, and we offer free high quality language courses to our developers, where they can seamlessly perfect their language skills without leaving the building.
Another big change is the attitude of young people to the profession. Nowadays parents want their kids to code, as opposed to ten years ago, when there wasn’t so much buzz around programming. I’d advise anyone with children to try Scratch and see if their kids have a knack for it, and if they do, support them all the way. At Itransition we have an educational program for children aged seven and up, and our young team already participates in and even wins programming competitions. But we do realize that most of the time, kids are enjoying themselves in the company of friends. Sometimes, however, we catch brilliant kids early on and try to help them develop as much as possible.
First of all, developers are problem solvers at the core. They are the new scientists in a world where science is losing its prestige with frightening speed. So in the big picture, the language you choose isn’t as important as the ability to pose the right question, know what you are trying to discover, what problem you are solving, how to dissect that problem into digestible pieces and apply the right solution to each piece.
Second, if you choose a narrow path, one platform to work with for a lifetime, in my opinion, you are unlikely to find sustainable success as a developer. The field is dynamic, and the future always brings new platforms and updates to existing ones. Programmers have to be flexible enough to keep learning and developing. We should also remember that markets are different and each of them may have its own peculiarities. Since we are working on a global professional services market, those trends should be our main focus. So watch the world market, and you will do just fine.
Of course, each language has its own field of use and demand for it that may decrease or increase depending on many factors. Markets and even programming fashions shape those trends. Keeping an open mind will help make a developer indispensable, no matter which way the winds blow.
It’s also important to remember that whatever Apple presents to the world, turns out to be a trend. Objective-C is a peculiar kind of language, but because Cupertino supported it, it became very popular. It will probably be replaced by Swift, an excellent young language that’s very promising.
When it comes to PHP, it has a very low entry threshold: it’s easy to learn coding in it, but at the same time it is expressive and powerful while providing all the tools enabling its use for writing large and complex systems. But there’s a catch: the low entry threshold has led to a vulgarization of the language. PHP doesn’t contain mechanisms that would prevent developers from writing bad programs: it’s very easy to code a mediocre program in PHP, and to code a good one requires skills of a higher level.
We have an advantage in Belarus, because our exact sciences education is so strong. I hear some of my colleagues proposing an educational refocusing on practice, calling to cut down on calculus on the curriculum. I understand that within such an educational paradigm the student is geared to complete specific tasks, which may seem positive on the surface, but I think it leads to a significant lack in fundamental knowledge. It’s a dangerous trend, and also completely unnecessary, if you ask me. Experiments carried out in some countries had a negative effect, where the market suffered from a deficit of highly skilled engineers, oversaturated with average specialists. Mediocre developers certainly have their place on the market, but they do not define or push the industry forward.
I don’t think it will happen, not for the next decade, at least. All predictions suggest that the demand will only increase. And I can’t fail to see the irony in this situation, because developers are aiming at minimizing the necessity for more developers – all the time.
Right now, if we had twice the amount of qualified programmers in Belarus, we would be able to offer them stable employment. But like I said earlier, it’s hard to come by talent. Besides, many people get their degree and freeze in their development. There is certainly a ceiling you can hit in perfecting your professional skills, but most people don’t reach it. Not everyone possesses the wisdom of realizing that fulfilling tasks is not just working for someone else, but is also working for you first and foremost. A professional is always learning, while pushing others to learn, making it a win-win situation for everyone.
As a CTO I try to make sure that we expand our team by attracting developers who are never satisfied with the level of their professionalism, thirsty for new knowledge and skills. We try to always provide favorable conditions for continuous professional growth of Itransition’s experts – even when the momentary commercial gain for the company is not obvious.