From Moscow to Tomsk The story of one move

Hi all! 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 moving from Moscow to Tomsk. Yes, to Siberia. Well, this is where there are 40-degree frosts in winter, mosquitoes the size of an elephant in summer and every second inhabitant has tame bears. Siberia. A somewhat unconventional way for a simple Russian programmer, many will say, and they will be right. Usually the migration flow goes in the direction of the capitals, and not vice versa. The story of how I got to this life is quite long, but I hope it will be of interest to many.

From Moscow to Tomsk The story of one move

One way ticket. The path from engineer to programmer

Actually I'm not a "real programmer". I come from the Kursk region, I graduated from the university with a degree in "Automobiles and the automotive industry" and have not worked in my profession for a single day. Like many others, I left 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.

From Moscow to Tomsk The story of one move

There was once an article on Habré that soon programmers will turn into "simple engineers". It's a bit wild for me to read this, given that quite recently, in a historical perspective (see science fiction of the 60s), an engineer was practically a demigod. Some justify high salaries in IT by the fact that a programmer must know a lot and constantly learn. I was in both guises - both a "simple engineer" and a "simple programmer" and I can say for sure that a good (good) engineer in the modern world must also study and learn new things throughout his career. It's just that the digital age has come and the title of "magicians" who change the world has passed to programmers.

In Russia, the huge difference in the salaries of engineers and programmers is primarily due to the fact that the IT sector is more globalized, many companies participate in international projects, and good developers may well find work abroad. Moreover, now there is a shortage of personnel, and in these conditions, salaries in IT cannot but grow, so the idea of ​​retraining from an engineer to programmers looks quite interesting. There are also articles on this topic on Habré. 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 it by writing small scripts in Lisp and VBA to automate work in AutoCAD. However, over time, I nevertheless began to notice that programmers were fed much better than engineers, and the mantra Software Engineer is not an Engineer, spied on Western forums, began to fail. So the decision was ripe 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 my brother (a programmer by education and profession). “Smart guys choose C++ and Qt,” he said, and I sincerely considered myself smart. Plus, I could count on my brother's help in mastering "big" programming, and, I must say, his role in my development on the path of software development is difficult to overestimate.

More about crystal curtains

“Crystal Curtain” is a filament construction, 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 be completed with crystal of various types. 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 development began, a plan was written that was extremely optimistic and assumed that everything about everything would take a couple of months. In fact, the development lasted more than six months. The output turned out to be a good application with little 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, architecture and code of the project were terrible, but ... the program worked and brought real benefits to a single company.

From Moscow to Tomsk The story of one move
My first program

By the time this project was completed, I had already changed jobs, so I was paid separately for the application. It was the first money directly for writing working code. I felt like a real programmer! From the immediate transition to the dark side of the force, I was kept only by the fact that the big world for some reason did not think so.

The search for a new job was somewhat delayed. Not everyone is ready to take on an overgrown Junior. However, whoever seeks will always find. Here I met
a small company developing applications for AutoCAD in the construction industry. The development was supposed to be in C++ (MFC) using COM. Quite a strange decision, frankly speaking, but that's how they have historically developed. I knew AutoCAD and the basics of programming for it, so I confidently told that I could produce results. And they took me. Tellingly, I began to produce results almost immediately, although I had to master everything in parallel.

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 as a specialist and began to understand the books of Meyers, Sutter, and even a little Alexandrescu. But at the same time, shortcomings became clearly visible, to which one could turn a blind eye for the time being. I was the only C++ programmer in the company. On the one hand, this is certainly good - you can experiment as you like and use any libraries and technologies (Qt, boost, template magic, the latest version of the standard - everything is possible), but on the other hand, there is practically no one to consult with, no one to learn from and As a result, it is impossible to adequately assess their skills and abilities. The company itself was stuck in its development at the level of the late 90s and early 00s. There was no Agile, Scrum and other advanced development methodologies here. I even used Git on my own initiative.

Intuition suggested that at this point I had reached my ceiling, and I was used to trusting my intuition. The desire to grow and move on grew stronger every day. To soothe this itch, additional books were purchased and a leisurely preparation for technical interviews began. But fate turned out differently, and everything did not go according to plan.

It was a normal working day: I was sitting, not touching anyone, fixing the legacy code. In a word, nothing foreshadowed, but then suddenly there was an offer to earn some money
writing programs in C# for AutoCAD for one Tomsk company. Before that, I had only touched C# with a 6-meter stick, but by that time I was already firmly on my feet and was ready to step on the slippery slope of a .NET developer. In the end, C # is almost the same as C ++, only with a garbage collector and other pleasures, I convinced myself. By the way, this turned out to be almost true, and my skills in C ++, as well as information about WPF and the MVVM pattern that I gleaned from the Internet, were quite enough to successfully complete the test task.

For a couple of months I worked at a second job, evenings and weekends, and (suddenly) found that combining remote and full-time work, provided that you spend three hours a day on the road, is a little ... tiring. Without thinking twice, I decided to try to become a fully remote developer. “Remote work is stylish, fashionable, youthful,” they said from all the irons, but I was young at heart and still going to leave my main job, so the decision was easy for me. Thus began my career as a remote worker.

Habré is full of articles praising remote work - 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. There are far fewer other articles, discreetly saying that remote work is not so cool and revealing unpleasant sides, such as constant feelings of loneliness, difficult communication within the team, problems with career growth and professional burnout. I was familiar with both points of view, so I approached the change in the format of work with all responsibility and caution.

To begin with, I set a work schedule for weekdays. 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 - a trip to a business lunch and shopping, and in the evening sports and self-study. For many people who know about remote work only by hearsay, such a rather rigid schedule seems wild. But, as practice has shown, this is probably the only reasonable way to stay sane and not burn out. As a second step, I partitioned off the only room with shelving to separate the workspace from the seating area. The latter helped little, to be honest, and a year later the apartment was perceived mainly as a place of work.

From Moscow to Tomsk The story of one move
The harsh truth of life

And somehow it so happened that with the transition to remote work with a free schedule without the obligatory hours of presence in the office, I began to work more. Much more. Simply because most of the day I really worked, and did not spend time on meetings, coffee and talking with colleagues about the weather, plans for the weekend and the features of a holiday in fabulous Bali. At the same time, there was a reserve, so it was possible to take additional work from other places. Here it is necessary to clarify that by the time of the transition to remote work, I was alone, and had no restraining and limiting factors. I easily stepped into this trap.

A few years later, it turned out that in my life there is nothing but work. The most quick-witted have already realized that I am a deep introvert and new acquaintances are not easy for me, but here I got into a vicious circle: “work-work-work” and I don’t have time for all sorts of “nonsense”. Moreover, I had no 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 remote work experience, 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 towards work, up to the complete disappearance of normal life, but this is precisely what should not be succumbed to in any case, it will be quite difficult to break out later because of the burden of accumulated obligations. It took me about a year to get back to real life.

Where dreams lead. Moving to Tomsk

When I first came to Tomsk to get acquainted with the team and corporate culture, the company was quite small and I was most impressed by the atmosphere of work. It was a breath of fresh air. For the first time in my life, I got into a team looking to the future. All previous jobs were “just jobs”, and colleagues constantly complained about life, salary, power. Here it was not so. People worked and created the future with their own hands without whining or complaining. A place where you want to work, where you feel the inevitable movement forward, and you feel it with every cell of your body. The startup atmosphere that so many people love so much, yes.

As a remote worker, I constantly struggled with impostor syndrome. I felt like I wasn't qualified enough and was running too slow to just stay put. But it was impossible to show weakness, so I chose the well-known Fake It Till You Make It tactic. Ultimately, this same syndrome contributed to my growth. I boldly took on new projects and successfully completed them, I was the first in the company to pass Microsoft exams for MCSD, and also, in the meantime, received the Qt C++ Specialist certification.

When the question arose about the existence of life after remote work, I went to Tomsk for a couple of months to live a normal life and work full-time. And here the terrible truth was revealed - quite ordinary people work in the company, with their own advantages and disadvantages, and against the general background I look quite good, and in some places even better than many. And even the fact that I am older than most of my colleagues somehow does not depress me much and, in fact, few people care. Thus, a decisive blow was dealt to the impostor syndrome (I have not been able to completely get rid of it, however, so far). The company has grown in the four years that I have been with it, become more mature and more serious, but the atmosphere of a cheerful start-up is still there.

From Moscow to Tomsk The story of one move
On a working afternoon

Moreover, I fell in love with the city itself. Tomsk is very small by metropolitan standards, a very calm city. From my point of view, this is a huge plus. It’s good to watch the hectic life of big cities from the side (watching how others work is always nice), but participating in all this propulsion is a completely different matter.

In Tomsk, many wooden buildings of the century before last have been preserved, which create some kind of special cozy atmosphere. Not all of them are well preserved, but restoration work is underway, which is good news.

From Moscow to Tomsk The story of one move

Tomsk was once the provincial capital, but the Trans-Siberian Railway passed much to the south, and this determined the path of the city's development. 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) created the prerequisites for growth already in the new millennium. Tomsk, no matter how surprising it may seem in the capitals, is very strong in IT. In addition to where I work, there are several other companies operating successfully in the global market on world-class products.

From Moscow to Tomsk The story of one move

As for the climate, it is quite severe. There is a real winter here, which lasts seven months. A lot of snow and frost, just like in childhood. In the European part of Russia, there has not been such a winter for a long time. Frosts at -40 ° C are a little annoying, of course, but they are not as common as many people think. Summer here is usually not very hot. Mosquitoes and midges, which scare many, turned out to be not so scary. Somewhere in Khabarovsk, this attack is much more vigorous, in my opinion. By the way, no one keeps domestic bears here. Probably the biggest disappointment.

From Moscow to Tomsk The story of one move
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 practically a foregone conclusion: I didn’t really want to look for a job in Moscow and spend a significant part of my life on the road. I chose Tomsk, so on my next visit I bought an apartment and became almost a real Tomsk. Even the wordmultifora"It doesn't scare me anymore.

From Moscow to Tomsk The story of one move

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 the place and working conditions. There is no need to limit your choice to the capitals, programmers are well fed everywhere, including in Russia.

All the best and choose the right path!

Source: habr.com

Add a comment