
Hello! My name is Igor, I am now 45 years old and I am a senior programmer in a medium-sized IT company. I want to tell you my story about how I became a programmer 5 years ago. I was born in Tambov in 1972, I studied in a regular school, and then with the flow of life I was taken to a medical college, which I did not finish for family reasons. By the time the USSR collapsed, I had to urgently look for sources of income, and I started working in a taxi station. I worked as a taxi driver in the 90s, 2000s and the beginning of the 10s, by that time I got married, got three children and was already taking a personal car, and not a taxi car. Taxing every year was increasingly difficult due to dumping and competition. I tried all the taxis and aggregators, I had to work 11 hours a day, and received 45,000 net per month, of which I spent on gasoline and car services, paid for an accident. To this we add the unreliable customers who canceled the call and refused to pay for it.
And by 2012, I realized that I could no longer maintain a family taxi driver, and began to look for new ways to make money. I chose the profession of a programmer, because there is an abundance of vacancies and a huge shortage of programmers on the market, and this was the best decision in my life. I started in 2012 with the platform and 1C language as the easiest entry point to the market. He started with Radchenko’s book “Practical Developer’s Handbook” and “1C: Expert on Technological Issues”. I sat at home for 2 months and taught, then settled in the 1C franchisee for 55 thousand a month and began to grow rapidly. He worked on weekdays, improved his skills on weekends and practiced at home. Having worked six months in the franchisee, I was raised a salary of up to 85 thousand a month, and I realized that it was not enough. I wanted to buy a Volkswagen Touareg and something for my wife of a similar model, but there was no desire to get into loans. Here on the forum mista, they suggested to me that you can become a PI and leave the franchisee, provide advice. So I did. I had to work on Saturdays, but there was a good return from 1C of development: in 2013 my monthly income averaged 140 thousand.
')
But by that moment I realized that I didn’t want to do 1C all my life, and started learning C ++ and Java on Sundays. In C ++, I have read Björn Straustrup, C ++ Programming Language, and also have been intensively learning English and reading Accelerated C ++: Practical Programming by Example. Java read “Thinking in Java”, as well as “Java Concurrency in Practice”. I also finally updated my computer, bought two large monitors, installed Debian 7 (Wheezy) and began to practice developing in these languages. Technology development of multi-threaded applications in C + + and memory barriers were mastered in a week. By that time, I was very used to the Vim editor with plugins, but I realized that it is not well suited to Java. For Java decided to use NetBeans. In a month and a half, all popular design patterns, the Spring Framework, ORM (Hibernate), were mastered. It was very interesting and exciting. I also learned Agile agile methodologies from video lessons.

I posted my resume on one of the city sites indicating all the experience and independently mastered knowledge, and after 4 days I was offered the C ++ developer position for 210 thousand rubles. per month on a project related to image and video analysis. I worked on it for 2 years. During these 2 years, my e-mail was filled up daily with offers of HR managers to move to other companies, including remote work. Then they offered to go into one interesting project to write on Scala and Java, and I agreed. I still work here. My monthly income rose to 315 thousand, and this is not the limit. I am very pleased that I left the taxi drivers to programmers. This is the most suitable job for me, I come to work with a good mood and do what develops the world and brings the future closer. The office has table tennis and air hockey. Held corporate parties and hakatony.
Scala and functional programming is my new hobby. Unlike the classical imperative paradigm, where the state of variables external to the function can be changed at any time, in Scala the side effects are minimized. Functional programming is more aesthetic and correct, it is not customary to write procedural cycles. Instead, abstractions such as data flow, filter, reduce, map, recursion are used. Also, the program in a functional language is ideal for paralleling. Races and deadlocks are excluded here, because no data segment is modified twice by one stream or different streams. It is a pity that in Russia there is such a shortage of Scala developers. In many ways, this is to blame for the developers themselves, who in their free time do not want to train colleagues and newcomers in their free time. I understand how important functional programming is for the development of the economy, so for a year I have been teaching Scala on courses from our company at one of the technical universities, and from 2018 I will also teach Haskell.
Haskell is a purely academic purely functional language and, unfortunately, is now less popular than Scala, but it’s the future.
Every student should now be able to use basic monads: IO, Maybe, [] (list), Either. This will allow him to find work in the future and save the economy from distortions and shortages of personnel.
To summarize I do not regret that I became a programmer at a middle-aged age. The profession of a taxi driver because of automation has poor prospects. In addition, technical progress in recent years has slowed down due to the fact that a wave of shortages of programmers is growing in the world with an abundance of constantly open vacancies. Therefore, every good programmer today should help others master a new modern profession of the future. First of all, help representatives of the most ordinary professions. If you go to a taxi, go to a parent meeting at school or go to the clinic, take books with you, donate books on Java, Scala or C ++ to a taxi driver, doctor, school teacher, tell us about the importance of your profession and the lack of personnel in IT companies in your city . Plumber repaired the faucet - pay him and present him with another Shildt book "Java 8. Beginner's Guide (6th edition)". Communicate with people, show people the websites of IT companies and convince them that there are always open vacancies. This way you can make the world a better place. And to 40-year-old men and women, I will say this: do not be afraid to change anything in your life and actively master a new profession. Become a programmer is never too late, remember!