“Rubius is the place where you want to work. You can feel how everything is advancing, with every fiber of your body”
From Moscow to Tomsk. The story of one moving out
Greetings to all of you! 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 out form Moscow to Tomsk. Exactly, to Siberia. Well, this is the place where there are 40-degree touches of frost in winter, mosquitoes of the size of an elephant in summer, and spring bears at every second inhabitant's place. Siberia. Many will say, in some ways its a non-traditional way for an ordinary Russian programmer and they will be right. Usually the migration flows to the direction of the capital cities, and not vice versa. The story of how I approached this life is quite long, but I hope it will be interesting for many of you.
One way ticket. The path from engineering to programming
In reality, I am not "a real programmer". I originally come from Kursk region, graduated from the University with a degree in "Automobiles and Automotive Industry and have never worked even a day by profession. Like many others, I want to conquer Moscow, and started working as a designed-developer of lightning equipment. Later I worked as an engineer in the production of optical instruments for space.
Once there was an article on Habr that programmers would soon turn into “just engineers”. It's a bit confusing to read such a thing, considering that quite recently, in a historical perspective (see science fiction of the 60s), an engineer was practically a demigod. Some people consider high salaries in IT to be caused by the fact that a programmer must know a lot and constantly learn. I was in both guises - "just an engineer" and "just a programmer" and I can say for sure that a good engineer in the modern world should also learn and know new things throughout his career. It is simply that now we are in the digital age and the title of "magicians" who change the world has been passed on to programmers.
The huge difference in the salaries of engineers and programmers in Russia is primarily due to the fact that the IT sphere is more globalized, many companies participate in international projects, and good developers can easily be employed abroad. Furthermore, there is now a shortage of personnel, and in these conditions, salaries in IT increase, so the idea to retrain from an engineer to a programmer looks quite interesting. On Habr, there are articles on this topic, too. But you should understand that this is a one-way ticket: first, a return to the "real" engineering work is unlikely, and secondly, the programmer must have a natural aptitude and genuine interest towards the profession.
I did have these qualities, but for the time being I managed to keep this part of my personality under control, feeding it occasionally by writing small scripts in Lisp and VBA to automate work in AutoCAD. Over time, however, I still began to notice that programmers are much better paid than engineers, and the mantra of Software Engineer is not an Engineer, spied on Western forums, began to fail. So the decision to try my strength in a new profession matured.
My first program was designed to automate the calculation of "crystal curtains" and it was written in Qt. Not the easiest way for beginners, to put it bluntly. I made the choice of language thanks to my brother (a programmer by education and profession). "The smart guys choose C++ and Qt," he said, and I sincerely thought I was smart. In addition, I could count on my brother to help me learn "huge" programming, and, I must say, his role in my development of software is difficult to overestimate.
Before development began, a plan was written that was extremely optimistic and suggested that it would take a couple of months to complete. The development actually took more than half a year. The output is a rather good application with small graphics, the ability to save and open the project, download current prices from the server and support for different variants of calculations. It is worth saying that the UI, architecture and code of the project were awful, but... the program worked and brought real benefit to a particular company.
I had already transferred to another job by the time this project was completed, so I was paid separately for the app. It was the first money paid directly for writing working code. I had the feeling of being a real programmer! The only thing that kept me from immediately switching to the dark side of the force was the one thing - the larger world didn't think so for some reason.
The search for a new job took a while. Not everyone is ready to hire a very old Junior. Nevertheless, he who is searching will always find it. So I came across
a small company that develops applications for AutoCAD in the construction industry. Design was supposed to be in C++ (MFC) using COM. A very strange decision, frankly, but that's how they've historically worked out. I knew AutoCAD and the basis of programming for it, so I was confident that I could deliver results. And I was hired. What is characteristic, I began to deliver results almost immediately, although I had to learn all sorts of things at the same time.
Not once have I regretted my choice. Furthermore, after a while, the I realized that I was much happier as a programmer than as an engineer.
One Hundred Years of Solitude. Remote work experience
I had mastered a lot after a couple of years as a programmer, matured as a specialist, and began to understand books by Meyers, Sutter, and even a little bit by Alexandrescu. However, it was then that the weaknesses that could be ignored for the time being became clearly visible. I was the only programmer in the company who wrote in C++. On the one hand, of course, you can experiment all you want and use any library and technology (Qt, boost, template magic, the latest version of the standard - you can do anything), but on the other hand - there is almost no one to consult, no one to learn from and, as a consequence, it is impossible to adequately assess your skills and abilities. The company itself was stuck in its development at the same level as it was in the late '90s or early '00s. There were no Agile, Scrum, or other advanced development methodologies. Even Git, which I used on my own initiative.
My intuition suggested that I had reached my ceiling at this point, and I was accustomed to trusting my intuition. The desire to grow and advance grew stronger every day. To assuage this tingling, I purchased additional books and started slow preparations for technical interviews. Yet fate took a different turn, and things didn't go according to plan.
A typical working day was underway: I sat there, not touching anybody, fixing my legacy code. In a word, nothing promised anything, but then suddenly I received an
offer to work as a part-time programmer writing C# programs for AutoCAD for a company in Tomsk. I had only touched C# with a 6-meter stick up to that point, but by that time I was pretty steady on my feet and ready to step onto the slippery slope of .NET-developer. In the end, C# is almost the same as C++, only with a garbage collector and other pleasures, I convinced myself. Incidentally, this turned out to be almost true and my skills in C++, as well as the information about WPF and MVVM pattern I picked up on the Internet, was quite enough to successfully complete the test task.
I worked evenings and weekends at my second job for a couple of months and (suddenly) discovered that combining my remote and the main job, assuming you spend three hours a day commuting, is somewhat... exhausting. After thinking for a while, I decided to try to become a full-time remote developer. "Remote work is stylish, trendy, and youthful," they told me from every source, but I was young at heart and was about to leave my day job anyway, so the decision came easily enough. This is how my career as a remote worker began.
Habr is full of articles extolling remote work - how you can easily manage your schedule, not waste time on travel and arrange yourself the most comfortable conditions for productive creative work. In much smaller quantities, there are other articles cautiously telling us that remote work is not so cool and revealing the unpleasant aspects, such as the constant feeling of loneliness, difficult communication within the team, problems with career growth and professional burnout. I was familiar with this viewpoint and the other, so I approached the work format responsibly and cautiously.
I started by setting up a work schedule for the weekdays. Waking up at 6:30, walking around the park, working from 8:00 to 12:00 and from 2:00 to 6:00 pm. During the break - a walk to a business lunch and shopping, and in the evening - sports and self-training. To many people, who know about remote work only by hearsay, such a rather rigid schedule seems crazy. Yet, as practice has shown, it's probably the only sensible way to stay sane and not burn out. As a second step, I partitioned off the only room with a shelving unit to separate the work space and the relaxation area. To be honest, the latter did not help much, and after a year the apartment was perceived mainly as a place of work.
So somehow it turned out that with the transition to a remote job with a free schedule without the mandatory hours of presence in the office, I began to work more. A lot more. It was simply because I spent most of the day actually working, not wasting time in meetings, having coffee, and talking with colleagues about the weather, weekend plans, and the peculiarities of vacationing in fabulous Bali. This left a extra time, so it was possible to take additional work from other places. Here I should clarify that by the time I moved to remote work, I was single and had no restraints or limiting factors. I easily stepped into that trap.
Several years later, it turned out that there was nothing in my life but work. The most savvy have already realized that I am a profound introvert and I do not easily make new acquaintances, and here I got into a vicious circle: "work-work-work" and I do not have time for all sorts of "foolishness". Furthermore, I had no special incentive to get out of this perpetual cycle - the dopamine my brain receives from successfully solving complex tasks was enough to enjoy life. The gloomy thoughts of 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.
After four years of working remotely, I can say that the most important thing is to maintain a work-life balance. Hard circumstances in life can shift interests and time to work up to the complete disappearance of a normal life, but this is what you can not succumb in any case, then escape it will be quite difficult because of the burden of accumulated obligations. For me, it took about a year to get back to real life.
Where Dreams Lead. Moveing to Tomsk
The first time I came to Tomsk to get acquainted with the team and the corporate culture, the company was quite small, and what struck me most was the work atmosphere. This was a breath of fresh air. It was the first time in my life that I was in a team that was looking forward to the future. All the previous jobs were "just jobs," and colleagues were constantly complaining about life, wages, and authority. That's not what was happening here. People worked and created the future with their own hands without whining or complaining. This is 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, true.
As a remote worker, I constantly struggled with impostor syndrome. I thought I was under-qualified and too slow to just stay at one place. But showing weakness was not an option, so I chose the well-known tactic of Fake It Till You Make It. Eventually, this very syndrome contributed to my growth. I boldly took new projects and successfully completed them, was the first in the company to pass the Microsoft exams for the MCSD, and, in between, received a certificate Qt C++ Specialist.
Once the question of having a life after a remote job came up, I went to Tomsk for a couple of months to live a normal life and work full-time. At this point, the terrible truth was revealed - the company employs quite ordinary people, with their own strengths and weaknesses, and I looked on the general background quite good, and in some places even better than many. Even the fact that I am older than most of my colleagues somehow does not depress me much and, in fact, few people care. This was a powerful blow to the impostor syndrome (I have not yet been able to get rid of it completely, though). Over the four years that I've been with the company, it has grown, matured and become more serious, but the cheerful startup atmosphere still remains in place.
More importantly, I fell in love with the city itself. Tomsk is very small by metropolitan standards, a very quiet city. From my point of view, this is a huge advantage. The hectic life of big cities is great to watch from the outside (it's always fun to watch others work), but getting involved in all the action is something else entirely.
Many wooden buildings of the century before last have been preserved in Tomsk, which creates a kind of unique and cozy atmosphere. Some of them are not well preserved, but restoration work is in progress, and this is very pleasing.
Once Tomsk was a provincial capital, but the Trans-Siberian Railway went much farther south, and this determined the path of the city's development. The large business and migrant flows were not much of an interest, but the strong university environment ( two of the universities are in the top 5 universities in Russia according to QS and THE ratings) has created the preconditions for growth in the new millennium. As astonishing as it may seem in the capitals, Tomsk is very strong in IT. Apart from where I work, there are several other companies here successfully working on world-class products in the global marketplace.
In terms of climate, it is quite harsh. It has real winter, which lasts for seven months. Plenty of snow and frost, just like when I was a kid. In the European part of Russia there has not been such a winter for a long time. Of course, frosts of -40 °C are a bit bothersome, but they are not as frequent as many people might think. The summers here are usually not very hot. The mosquitoes and midges, which many people are afraid of, were not so terrifying. In my opinion, somewhere in Khabarovsk, this plague is much more vigorous. By the way, no one keeps domestic bears here. Probably the biggest disappointment.
Since that trip my fate was almost sealed: I no longer wanted to look for a job in Moscow and waste a significant part of my life on the road. My choice was Tomsk, so on my next visit I bought an apartment and became almost a real Tomsk resident. Not even the word "multiphora" scares me much anymore.
To conclude, life is too short to waste it on an uninteresting job in an uncomfortable place. As a matter of fact, IT is one of the few fields where you can choose the place and working conditions. You do not have to limit your choice to capital cities; programmers everywhere are well paid, including in Russia.
Best of luck to you all and wish you choosing the right path!
Do you want to work at Rubius?
If you are a great specialist in development, design or marketing, tell us about yourself. Perhaps it's you we're looking for!