Last week I went for an interview, and the main question for me was: “Why did you decide to change the profession and become a programmer?”. At the end of the interview, the person who conducted the interview - the head of the advanced development department of one IT company - said bluntly: "... I don’t understand you, you are applying for a position that is clearly lower than your salary level and position, but in general as interesting as your work today ... "
Prehistory
I always liked programming, still in the ninth grade, when my friends and I wandered to the regional station of young technicians, and we stayed in the computer class until graduation (it was 1993, we didn’t have home computers, and IBM386 were there).
True, I entered the Aviation Institute, because the planes at that moment seemed more interesting. Upon graduation from the institute (2001), having received a red diploma and an invitation to graduate school, he developed aircraft engine control systems for five years, defended his candidate’s, taught English. And then the question arose: what next? Aviation was quietly dying. It feels like there were no prospects, everything was deaf.
I decided that I needed to do something, change something! In general, posted a resume on the Internet. No matter how strange it was to my colleagues, after three days I had the first interview in my life, a good salary and a very interesting job was offered. The company I got involved in was testing and measuring, and this area attracted me for a long time: new equipment, interesting, often unique tasks, a lot of business trips, communication with equipment developers, domestic and foreign suppliers, unexpected difficulties and non-trivial solutions - in general , it was interesting! It is always interesting when you create something new.
')
In the career plan, everything is also good, and I worked as an engineer, and as a leading engineer, and as a head of the technical department, and as an executive director, a little bit to be a co-founder of a new business.
And now, it seems to me, it's time to change something again.
And again, like the previous time, everyone asks: Why? What for? It's all good!
I will try to explain my position
I have been working in the field of testing equipment development for just over ten years.
The main point is that when a person works on a question, he usually understands this question, then begins to understand related issues, because they influence its outcome and because it is just curious how it works. Equipment and software change over time, but the basic principles remain the same. You can go to another company, there will be another team and a little bit other equipment, but in fact - all the same.
You can try to build your business in this area - this gives a slightly different view of things, but in the current market situation, such a business will have very few prospects, and their number in this area is steadily decreasing.
You can continue to go to work and try to realize yourself in some kind of hobby and five times a week, getting up in the morning, to realize that today another day will be lost forever - a gloomy prospect!
In general, you need to change something! But what? - that is the question!
If you look at programming, then this direction is very interesting:
- On the one hand, it is completely new to me, i.e. it is possible to study and develop in it: the choice of software, tasks, problems is practically unlimited, from molecular biology, physics and chemistry to layout sites. It seems to me that there are opportunities and prospects.
- On the other hand, this is a direction in which I have some experience: Fortran at the institute, LabView - the last three years at work, C and Free Pascal (a bit for common development), PHP + WordPress + HTML + CSS - quite a working site. .
- Honestly, I just like coding, and I love when my work has the result: did it work!
Judging by what I see on Habré and on the Internet - the developer should be very experienced and young, preferably 23-27 years old, after 35 - it becomes harder to find a job. To be honest, it seems a bit strange! Of course, it is well known that with age, intellectual abilities degrade, but from the point of view of medicine, age is considered to be 70-80 years old and not at all 30-40. Another thing is that a person who is twenty years old can pay less. But I do not pretend to the position of a developer with 20 years of experience.
The beauty of software development technologies, in my opinion, is that they are developing rapidly. This means that much of what was relevant ten years ago is now hopelessly outdated. And this means that a lot depends on how quickly and effectively we can learn.
Yes, maybe I do not have such development experience as I would have if I started ten years ago, but is it so critical, or are there many tasks in which it is not relevant?
I like the words addressed by Kirk Shoup to young developers at a
meeting in Yandex :
Find things that motivate you, write a lot of code and read a lot of code. I am inspired to build things that will exist for many years after I make them, and which will not break even after the changes made by people who do not understand them.
When I started programming, I looked at experienced developers and thought that in 10 years I would catch up with their current level, but they would already go forward by 10 years. Ten years later, I realized that I actually caught up with them completely. Technologies are moving forward, so I did not have to learn the old ones, and I learned new ones at the same time as them.
I also have a life experience that says that I learn new things quickly and that if I do something and do not stand still, the result will be.
Consider the financial issue. Yes, when I change jobs, I will essentially lose in money, but at the same time I will get some things:
- First of all, the programmer is not so strongly tied to the place of work geographically, which means that if you wish, I can work for remote customers;
- Secondly, in my estimation, the level of income is likely in a couple of years equal to my current level;
- Thirdly, the software market is growing steadily, which means that the demand for specialists is also growing, but the production of equipment in the Russian Federation is continuously decreasing (these are certainly my personal subjective feelings that do not pretend to any objectivity), and thus the work of a programmer in twenty years most likely I will find, but the work of a design engineer is unlikely!
But there are so many programming languages, why Python, you say.
There is even an opinion that there is
no need to learn Python in the first language .
It turned out that about five years ago, a friend of mine who was fond of Linux, strongly recommended it to me, there were New Year holidays and there was time to try different distros, in general, I have been using Debian for the last five years. And then everything is simple: bash is our everything, but I wanted the opportunity to write something more complicated: I tried C, on the recommendation of the same friend I tried Lazarus, I tinker a bit with PostgreSql. Then there was a break for almost a year, and then, I tried Python.
I liked Python immediately and for many reasons: readability, detailed descriptions in Russian and in English, lots of examples of programs in the same Debian, a large number of modules, the ability to use C where speed is required, you can transfer for a long time. It was after this that I realized that this is quite an interesting direction that I can do and which will be enough for me for a long time. Acquainted with the literature, wrote a few not very complex programs.
Another reason for me to choose Python is that I consider it a more promising language in terms of participation in various technical, scientific and interesting projects than, for example, PHP.
Now, in his free time, he slowly began to study machine learning, and last week he went to the first interview.
It came out somewhat long, but I wanted to explain my motives and reflections in as much detail as possible.
At the moment the question is relevant for me, and it will be interesting for me to get the opinions and comments of Habr's readers.