From point A to point Chief

Not all positions presented on the Crossover showcase are clearly understood by potential partners. And if the vacancies of C ++ Software Engineer or Java Software Engineer do not raise questions, then with Chief Software Architect it's not that simple. In general, there are no clear definition of who the software architects are, and their functions and descriptions vary from company to company. Spherical Software Architect (SA) in a vacuum defines an architectural template / paradigm, is responsible for breaking down into technical subsystems / layers / components / modules, selects execution tools, and develops technical scenarios. From place to place, functions can add or disappear, but overall, Software Architect's job is just that.

Although general principles exist, projects are usually so different from each other that from time to time Software Architect has to re-examine the specifications, technologies and solutions used, determine the subtasks and look for ways to execute them.

If it suddenly seemed to you that perhaps a pinch of management is not enough for this menu, then Chief Software Architect (or, in short, just CA) is for you. It already includes such ingredients as creating scalable solutions, monitoring the development process, monitoring the work of the team and personal responsibility for the result as a whole. Many would like to know where such people come from. In the case of Crossover: from subway cars and fur stores. At least, judging by the work biographies of two existing Optiva . hief Software Architect Ruslan Peshchuk and Yevgeny Konurbaev.

From an accidental meeting in the subway to BSS systems

Ruslan peshrus Peshchuk:
“In IT, they didn’t even take me from the street - right from the subway, in 2005. As a student, I then needed to learn Java. And so, once a student reading in the subway Kei Horstmann , noticed the technical director of Gemini Systems Vadim Antonov - and just called for an interview. However, I was not ready for work. But instead of “we will call you back” Vadim advised me on literature so that I could fully prepare. It was from his presentation that I learned about design patterns, j2ee, and more - then back in theory, of course. I could not pass the interview on the second attempt. Although Vadim, of course, made a significant contribution to my professional development and even recommended in Jensen technologies , where I began my professional career as a Junior Java Developer.

After that, there was work in Actimind (there I first got acquainted with the accounting of working hours, which caused a lot of stress), then in Documentum (I worked there for 2 years, made good friends and decided to find an interesting job, because it was boring there). So it turned out in The Now Factory (interesting technical tasks, freedom of decision-making and, of course, responsibility). He left there in search of more income, when he became preoccupied with a mortgage, and ended up in Sberbank Technologies .

But Sberbank did not grow together: I realized that this is absolutely not my company. Settled in NetCracker , who then just opened an office in St. Petersburg. There are a lot of great people there and I happily spent 4 years in the company. It was at NetCracker that my level of responsibility began to grow noticeably: just a year later, I became a group leader, started conducting interviews, and after that I was engaged in teaching me selected people. In addition to office work, there were business trips to Colombia and Australia, during which I was involved in the preparation of documents for analysis and design.

It was cool, but at times very stressful, so I decided to leave and take a break. I spent several months in the status of unemployed, simultaneously studying vacancies that offer remote work. In general, when you plow for ten years, it becomes uncomfortable without work, even if the mortgage was already paid by that time. As a result, I stayed on my “indefinite vacation” for only a couple of months and found a remote job through Crossover . There were no fears that I could not switch to the remote mode. Prior to that, I worked for a total of 7 years in distributed teams. In the end, everything worked out for me. I started in July 2017.

I took the position of Java Chief Software Architect and Product CA (responsible for product quality) in one of ESW Capital's companies - Optiva . Before the purchase, it was called Redknee, if you say something.

Now the team and I are finalizing the BSS system for telecom operators. It is old (developed in the late 90s / early 2000s), and in the yard already 2018 - by itself, updating the project is necessary. What do I do while working? Basically - I conduct code reviews of other developers and ensure the transition of the system modules to Gradle / Jenkins from a proprietary build system. "

From “tyzhprogramist” to clustering billing solutions

Evgeny evgeny_1987 Konurbaev:
“In IT, I almost got to Narnia, having gotten through my fur coats and coats, when in 2007 I got a job as a system administrator in the World of Leather and Fur . It was such a typical zero-zero administration in a company not related to IT - in principle, what was needed for the then third-year student. There was server support, tuning user stations , and repairing irons with replacing bulbs .

What I remember most of all was the work in the women's team. There, for some reason, for a long time and stubbornly believed that the admin should sit next to the servers and drool in them the roots. It took a lot of time to convince the management of the need for a separate server room. But it took even more time and effort to convey that the admin did not need to walk with legs to each user, that everything should be done remotely. I don’t know what it was connected with, but everyone really wanted the admin (that is, me or my changer) to be physically at the problem machine and to understand it on the spot. In general, a little more than a year was enough for me, and already in my fourth year my career began for real: first, a software engineer in another organization (Orange System), where I grew up as a deputy head of the implementation department, then a leading engineer in " Gazinformservice ”, where I grew up first to the head of the group, and then managed the development of a new product of the company. In this capacity, I have already earned the necessary managerial experience. И даже ударившись в архитектуру ПО и перейдя в компанию TaskData на позицию архитектора (solution architect), я всё равно продолжил выполнять функцию тимлида и местами руководителя проектов.

Even then, I heard about similar Crossover offers, but decided that my level of English for working in an international team would not be enough. Still, I kept in mind the possibility of working remotely as a Software Architect.

In TaskData, I ran small teams. Having gained experience, which seemed to me sufficient, I passed an online test for compliance with the requirements for Software Architect, with a payment of $ 30 per hour - and was successful. However, literally on the last Saturday before the start of the proposed cooperation, Crossover hosted its offline event in Moscow - a tournament, which I decided to drop by. The tasks at the tournament were algorithmic, to correct the code, tests of the architectural plan, as well as knowledge of the English language. According to the results, I went to the finals, and my resume - to the crossover marketplace. And according to the results of the very first interview, I was already offered the Chief Software Architect contract at a rate of $ 50 per hour. So one accidental Saturday event almost doubled my future earnings.

In the first three days in a new position, I only talked with other specialists, members of my team and those whom I could find in general chat. I read a lot, delved into the workflow. Only after the initial adaptation was they given me the first task, which was a kind of additional test. As far as I know, similar tasks give every new CA. I don’t know what happened to those who didn’t fulfill it, since it is rather complicated, but I managed.

What is the fundamental difference between SA and CA? With an ordinary SA they require less, it has less responsibility and other metrics, not 4, but 2 tasks per week, for example.

Now I am part of a feature-development team that is sawing specific features. What does this mean: requirements come from the customer, our analytics managers decompose it into specific specifications, and then we are engaged in the development of these very features. Of the last and serious - development for the telecom industry.

We are talking about BSS clusterization (clustering billing solutions). The task is as follows: WOM Chile, the telecom operator, wants to expand its subscriber base to 10 million people, when as an existing system it supported only 5 million subscribers. That is, we had to create a system for parallelizing traffic to servers, which would provide a twofold increase in performance. For everything about everything, we had only 2 months, but we managed, and we implemented the task in such a way that the system turned out to be scalable. Now WOM Chile can expand its subscriber base beyond the previously agreed 10 million and that's cool.

However, they do not pay for efforts or beautiful eyes. I have a lot of responsibility and I must demonstrate high efficiency, quickly make important decisions and find ways out of seemingly hopeless situations. Think for yourself: we had only two months to develop for WOM Chile, and we managed even better than the client expected. As I believe Chief Software Architect is primarily speed and a clear, high-quality implementation. "

Side effects

If you expect that in the technical position you will only be engaged in system design and code review - forget: in the role of CA you have to delve into business processes, constantly communicate with other people and make friends with colleagues.

“For me, the most important pluses are that the work is remote and versatile. Although technical in its essence, it is diverse: I have to check the code and discuss it, so I communicate a lot with colleagues. There is no such interaction system as in the office, but the communication is friendly, people help and support each other. There is a project manager who defines the metrics, and if something in his opinion went wrong, we discuss it. The manager, by the way, is from Brazil, and he has excellent English, ”says Ruslan. And here you can read his blog, which describes including the subtleties of work in the current position.

Can I try it too?

To go his way from a student who received the first invitation to an interview in the subway, to a specialist on a contract for $ 2000 per week, Ruslan took 12 years. Eugene’s career growth from a tyzhprogramist in a fur store with a salary of 20 thousand rubles (~ $ 555 per month at that rate) to managing development in an international company with an income of almost 15 times higher, took ten years. Perhaps there is someone among those reading these lines who will succeed even faster? Or perhaps someone already, on the contrary, has sat up in his world of leather and fur - in any case, everyone will be on an equal footing at the next Chief Software Architect qualifying tournament , which will be held next Saturday, April 7, in Moscow .

Do you want to one day be able to also read a story about yourself somewhere? To do this, just try. It is important not where the person started, and not even how long he walked until this day - but what exactly he can, here and now, and where he is striving!