From Moscow to Tomsk. The story of one move
Hello! On Habré, you can find many articles about moving to different cities and countries in search of a better life. So I decided to share my story of relocation from Moscow to Tomsk. Yes, to Siberia. Well, this is where 40-degree frosts in winter, mosquitoes the size of an elephant in summer and tame bears in every second inhabitant. Siberia. Somewhat unconventional way for a simple Russian programmer, many will say, and they will be right. Usually the migration flow goes towards the capitals, and not vice versa. The story of how I got to such a life is quite long, but I hope it will be interesting to many.
One way ticket. The path from engineer to programmer
I'm not really a “real programmer.” I come from the Kursk region, I graduated from the university with a degree in Automobiles and Automotive Economy and did not work a day by profession. Like many others, I went to conquer Moscow, where I started working as a designer and developer of lighting equipment. Later he worked as an engineer in the production of optical instruments for space.
Once there was an article on Habr that soon programmers will turn into "simple engineers" . It’s somewhat wild to me to read, given that very recently in an historical perspective (see science fiction of the 60s) the engineer was almost a demigod. Some justify high salaries in IT by the fact that a programmer needs to know a lot and constantly learn. I was in both forms - both a “simple engineer” and a “simple programmer,” and I can definitely say that a good (good) engineer in the modern world must also learn and learn new things throughout my career. It’s just that the digital era has come and the title of “magicians” changing the world has passed to programmers.
In Russia, the gigantic difference in the salaries of engineers and programmers is due primarily to the fact that the IT sphere is more globalized, many companies participate in international projects, and good developers may well find work abroad. Moreover, now there is a personnel shortage, and in these conditions, salaries in IT cannot help but grow, so the idea of retraining from an engineer to a programmer looks quite interesting. There are also articles on Habré on this subject. You just need to understand that this is a one-way ticket: firstly, there will most likely be no return to "real" engineering work, and secondly, you need to have a natural inclination and genuine interest in the profession of a programmer.
I had such qualities, but for the time being I managed to keep this part of my personality under control, sometimes feeding her by writing small scripts in Lisp and VBA to automate work in AutoCAD. However, over time, I still began to notice that programmers are fed much better than engineers, and the Software Engineer is not an Engineer mantra, peeped at Western forums, began to fail. So the decision matured to try their hand at a new profession.
My first program was designed to automate the calculation of "crystal curtains" and it was written in Qt. Not the easiest way for beginners, frankly. The choice of language was made thanks to his brother (a programmer by education and profession). “Smart guys choose C ++ and Qt,” he said, and I sincerely considered myself sensible. Plus, I could count on my brother’s help in mastering the “big” programming, and I must say that it is difficult to overestimate his role in my formation on the path of software development.
“Crystal curtain” is a thread design on which crystal is strung with a certain frequency (the product was intended for wealthy boys and girls). The curtain can have different lengths and widths and is equipped with various types of crystal. All these parameters affect the final cost of the product and complicate the calculation, increase the likelihood of error. At the same time, the task is well algorithmized, which made it an ideal candidate for the first program.
Before the start of development, a plan was written that was extremely optimistic and suggested that a couple of months would be required for everything. In fact, the development lasted more than six months. The output was a good application with small graphics, the ability to save and open a project, download current prices from the server and support for various calculation options. Needless to say, the UI, the architecture and the project code were terrible, but ... the program worked and brought real benefits to a single company.
My first program
By the time this project was completed, I had already changed my job, so I was paid for the application separately. This was the first money directly for writing working code. I felt like a real programmer! Only the fact that the big world didn’t think so for some reason kept me from immediately switching to the dark side of power.
The search for a new job was somewhat delayed. Not everyone is ready to take on the over-age Junior. Nevertheless, he who seeks will always find. So I met a
small company engaged in the development of applications for AutoCAD in the construction industry. Development was expected in C ++ (MFC) using COM. Quite a strange decision, frankly, but this is how they historically happened. I knew AutoCAD and the basics of programming for it, so I confidently told you that I can produce a result. And they took me. What is characteristic, I began to produce the result almost immediately, although I had to simultaneously master everything.
I have never regretted my choice. Moreover, after some time, the realization came that I was much happier in the role of a programmer than an engineer.
One hundred years of solitude. Remote Work Experience
After a couple of years of working as a programmer, I mastered a lot, grew up as a specialist and began to understand the books of Meyers, Sutter, and even a little Alexandrescu. But at the same time flaws became clearly visible, for which it was possible for the time being to close our eyes. I was the only programmer in the company writing in C ++. On the one hand, this is certainly good - you can experiment as you please and use any libraries and technologies (Qt, boost, template magic, the most recent version of the standard - you can do everything), but on the other hand, there’s practically no one to consult, no one to learn from and as a result, it is impossible to adequately assess their skills. The company itself is stuck in its development at the level of the late 90s-early 00s. There was no Agile, Scrum, or other advanced development methodologies. I even used Git on my own initiative.
Intuition suggested that at this point I reached my ceiling, and I used to trust my intuition. The desire to grow and move on every day increased. To alleviate this itch, additional books were purchased and unhurried preparations for a technical interview began. But fate turned out differently, and everything went wrong.
It was a regular working day: I sat, did not touch anyone, repaired the legacy code. In a word, nothing foreshadowed, but then suddenly a proposal came in to work a little bit by
writing C # programs for AutoCAD for one Tomsk company. Before, I only touched C # with a 6-meter stick, but by that time I was already quite firmly on my feet and was ready to set foot on the slippery path of a .NET developer. In the end, C # is almost the same as C ++, only with garbage collector and other pleasures, I convinced myself. By the way, this turned out to be almost true of my skills in C ++, as well as the information about WPF and the MVVM pattern that I got on the Internet that was enough to successfully complete the test task.
A couple of months I worked on my second job in the evenings and on weekends and (suddenly) found that combining remote and main work, provided that you spend three hours a day on the road, is somewhat ... tiring. Without thinking twice, I decided to try to become a completely remote developer. “Remote work is stylish, fashionable, youthful,” they said from all the irons, but I was young at heart and still was going to leave my main job, so the decision was given to me quite easily. So began my career as a remoter.
Habré is full of articles praising the remote - how you can easily manage your schedule, not waste time on the road and arrange for yourself the most comfortable conditions for fruitful creative work. Other articles are presented in much smaller numbers, cautiously telling that remote work is not so cool and reveals unpleasant aspects, such as a constant feeling of loneliness, difficult communication within the team, career problems and professional burnout. I was familiar with both one and the other point of view, therefore I approached the change of work format with all responsibility and caution.
To start, I set a work schedule for everyday life. Wake up at 6:30, walk in the park, work from 8:00 to 12:00 and from 14:00 to 18:00. During the break - going to a business lunch and shopping, and in the evening playing sports and self-study. To many people who know about remote work only by hearsay, such a rather tough schedule seems wild. But, as practice has shown, this is probably the only reasonable way to stay in your right mind and not to burn out. As a second step, I blocked the only room with a rack to separate the workspace and the recreation area. The latter helped poorly, to be honest, and after a year the apartment was perceived mainly as a place of work.
The harsh truth of life
And somehow it happened that with the transition to a remote location with a free schedule without the obligatory hours of presence in the office, I began to work more. Much more. Just because most of the day I really worked, and did not spend time on meetings, coffee and conversations with colleagues about the weather, plans for the weekend and the features of rest in the fabulous Bali. At the same time, there was a reserve, so it was possible to take additional work from other places. Here it must be clarified that by the time I switched to remote work, I was lonely, and did not have any restraining and limiting factors. I easily stepped into this trap.
A few years later it turned out that in my life there was nothing but work. The most quick-witted already understood that I am a deep introvert and it is not easy for me to make new acquaintances, and here I fell into a vicious circle: “work-work-work” and I do not have time for all kinds of “stupid things”. Moreover, I did not have a special incentive to get out of this eternal cycle - the dopamine received by the brain from successfully solving complex problems turned out to be enough to enjoy life. But gloomy thoughts about the future began to come more and more often, so I had to force myself to make the only right decision - to return to real life.
Based on my four years of experience in remote work, I can say that the most important thing is to maintain a balance between work and life (work-life balance). Difficult life circumstances can shift interests and time toward work until the normal life disappears completely, but this cannot be succumbed to in any case, it will then be quite difficult to break out due to the burden of accumulated obligations. It took me about a year to return to real life.
Where dreams come from Moving to Tomsk
When I first came to Tomsk to get acquainted with the team and corporate culture, the company was rather small and the atmosphere of work most of all impressed me. It was a breath of fresh air. For the first time in my life, I was in a team looking to the future. All previous work was “just work”, and colleagues constantly complained about life, salary, and power. It was not so here. People worked and made the future with their own hands without whining and complaints. A place where you want to work, in which you feel an inevitable movement forward, and you feel it with every cell of your body. The atmosphere of a startup, which so many love, yes.
Being a remote worker, I constantly struggled with impostor syndrome . It seemed to me that I was not qualified enough and ran too slowly to just stay in place. But it was impossible to show weakness, so I chose the famous tactic Fake It Till You Make It. Ultimately, this same syndrome contributed to my growth. I boldly took up new projects and successfully completed them, I was the first in the company to pass Microsoft exams for MCSD , and, in the meanwhile , I received the Qt C ++ Specialist certificate.
When the question arose about the existence of life after distant work, I went to Tomsk for a couple of months to live an ordinary life and work full-time. And here the terrible truth revealed - quite ordinary people work in the company, with their advantages and disadvantages, and I look quite good against the general background, and in some places it’s better than many. And even the fact that I am older than most colleagues somehow does not depress me very much and, in fact, few people care. So a decisive blow was inflicted on the impostor syndrome (I have not succeeded in completely eliminating it, however, so far). The company for the four years that I’ve been with her has grown, grown older and more serious, but the atmosphere of a cheerful startup is still in place.
At work noon
Moreover, I fell in love with the city itself. Tomsk is very small by metric standards, a very calm city. In my opinion, this is a huge plus. It is good to watch the hectic life of big cities from the side (watching how others work is always nice), but to participate in this whole movement is a completely different matter.
Many wooden structures of the century before last have been preserved in Tomsk, which create some kind of special cozy atmosphere. Not all of them have been preserved well, but restoration work is underway, which is good news.
Tomsk was once the provincial capital, but the Trans-Siberian Railway ran much farther south, and this determined the path of development of the city. He was not very interested in big business and migrant flows, but a strong university environment (2 universities are in the top 5 universities in Russia according to QS and THE ratings) created the prerequisites for growth already in the new millennium. Tomsk, no matter how surprising it may be in the capitals, is very strong in IT. In addition to my place of work, there are several more companies successfully working in the global market on world-class products.
As for the climate, it is quite severe. There is real winter here that lasts seven months. A lot of snow and frost, just like in childhood. In the European part of Russia, such a winter has long been gone. Frosts at -40 ° C are a little annoying, of course, but they do not happen as often as it seems to many. Summer here is usually not very hot. Mosquitoes and midges, which scare many, were not so scary. Somewhere in Khabarovsk this misfortune is much more cheerful, in my opinion. By the way, nobody keeps domestic bears here. The biggest disappointment, perhaps.
A real Siberian is not the one who is not afraid of frost, but the one who dresses warmly
After that trip, my fate was almost a foregone conclusion: I no longer really wanted to look for work in Moscow and spend a significant part of my life on the road. I chose Tomsk, so the next time I bought an apartment and became almost a real Tomsk citizen. Even the word “ multifora ” does not scare me much.
In conclusion, I want to say that life is too short to spend it on an uninteresting job in an uncomfortable place. Actually, IT is one of the few areas where you can choose a place and working conditions. There is no need to limit your choice to capitals; programmers are well-fed everywhere, including in Russia.
All good and choosing the right path!