📜 ⬆️ ⬇️

Carry round, square roll: the story of Javista

image alt text


It is believed that in childhood our future specialty is being formed. Fans of collecting puzzles should get into scientists, programmers or cryptographers, and those who have the ability to draw, direct path to the designers or artists. But for some reason we are doing everything possible so that “something goes wrong.”


Now I work as a programmer in Yandex.Money and integrate with transport solutions. You might think that I am a fifth generation javist, with an elongated sweater and beard to the waist. But still more interesting, because my career began with journalism.


Do you like to program - go to journalists


I liked creating applications since childhood, so my favorite hobby was learning BASIC and TurboPascal on i486 popular in those days. I also participated in school programming contests and paid special attention to homework in computer science. In general, the future programmer is clearly what can go wrong in general?


Remember what you did in the first university and, most importantly, why? I here was not confident in my own strength, because the requirements of serious universities then seemed incredible. However, all these horror stories about the complexity of income and high expectations, and so you probably heard. In general, I took the path of least resistance and entered the faculty of journalism.


image alt text


But even here I was drawn to engineering activity: I began to engage in printing techniques and the design of periodicals. From the second year I got to the visual communications and information technology laboratory at the faculty, where I started adminiton the local IT-park.


At that time, the idea of ​​distance learning was gaining popularity, and our university decided to make an electronic study guide for the training of radio journalists, with video and audio materials. I was just responsible for the implementation of the "engine" based on HTML and JS. This was the first serious experience in the development of a real web application, which we further improved and supplemented for a long time to come.


Point of no return


After university, my view of a world full of interesting problems for me personally, a little cracked from hitting the reality. But I was lucky: my friends offered to move to Petersburg and start producing a colorful daily sports newspaper like Marcá and Gazzetta dello Sport, and this is a unique project for Russia. Such a proposal was a great success for yesterday's graduate, and I immediately agreed.


But the programmer at heart, apparently, demanded a way out. Therefore, the evenings were held for programming and freelancing site development. After some time, it was necessary to decide what to devote more time to - the development of websites or the design of a newspaper, since the scope of development tasks grew exponentially. By the way, the crisis in the print media industry came, which superimposed on the personal loss of interest in design and pushed for a change in the profile of activity that I had so long and carefully postponed.


The main thing was to "get involved in a fight" - publish a resume and start going to interviews. After this, a long marathon of daily interviews began, each of which added self-confidence and replenished the treasury of tricky questions from the interviewees. In general, it was unexpected to see such an interest in a resume without an impressive programming experience. Apparently, the advice of my friend, an experienced developer, who by that time had already reached CIO, helped.


You sit in the evening, do not touch anyone, code in PHP ...


After a month of constant self-training and walking around for interviews, I was invited to a major Internet agency for a project to develop an online advertising management system and collect statistics on advertising campaigns. The interview dealt with front-end development, but it so happened that I was mainly engaged in the backend - a loaded system that requires quite an adult approach. Bingo!


image alt text


But the real high point came after a year of work: I was given the task of rewriting a highly loaded system for displaying banners and collecting user statistics. The old version was bad because it didn’t really scale because of not very successful architectural solutions and was extremely unstable. By the time I was programming in Java only optional, so the task became a real challenge and test of faith in my strength. And, as is often the case with such "dinosaurs", there was no one left in the company who would be well versed in the work of the current system. Well, at the same time I have improved the skills of business analytics and the compilation of TK.


Banner Crisis


After six months, my knowledge of Java, multithreaded programming, and distributed systems has greatly expanded, and the new banner system has gone through all the circles of hell and was put into production. This happened in 2014 - just at the time when the general downturn began in the country's economy and the banner advertising market with pay-per-view / transfer began to decline rapidly. Like many, our company decided to save on everything and curtailed further prospective development.


But don't come back to PHP again after such a big and interesting Java project! And once we go on increasing complexity, then it's time to plunge into the "bloody enterprise", with all these large-scale systems and the development of "according to science." Just at that moment, luck once again smiled at me, and my skills were interested in a large government customer with a project on Oracle DB, J2EE and all such other things. If you do not go into details, the project consisted of a huge monolithic application and several microservices for working with it - I was involved in the development of one of them.


Of course, this was a completely different level, both in the scale of the systems and in the competencies of the colleagues.


The first important conclusion


Do you know what is missing in the enterprise? Recoil - reactions to your product from the end user. It turns out that you write all these thousands of lines of code, release the release and ... everything. The release is formally approved and goes into production without any appreciation from the user. In corporate systems, the buyer and the user are usually different individuals. In this case, the decision is made by the buyer, who is of little interest to the user and his convenience - in such cases it is more important to complete the work on time and meet the budget. It was a rather strange and unexpected conclusion that “changed everything”.


image alt text


So there are no humanities scholars and engineers - we just do what we like best at a particular moment in life.

It seemed that you could safely engage in enterprise development, but there was a desire to re-expand the professional horizons. In addition, the “Hollywood principle” worked - my LinkedIn profile interested Yandex.Money recruiters, and a message from the discharge came later: “Once to explain, come for an interview!”


Here we omit the iterations with several interviews and different depth questions - the point is that I got into the Yandex.Money backend team. And it came at the very moment when the team was engaged in migrating applications to a new platform, which would speed up development and lower the threshold for new developers to enter the project.


Sensations from the releases here, of course, are quite different - you can get a lot of user emotions in the comments to the application: it will hit the shore with a wave for a mistake, then delight and cheers. There is a feeling of return from their efforts.


More revelations


If you go back five years, then I would give myself some advice at that time:


  1. Do not be afraid and begin to change as soon as possible.


  2. Teamwork quickly pumps skills, so freelancing should be left as soon as you begin to think about new directions.


  3. Product development is an incredible drive, and the closer to the user, the sharper the sensation. Adrenaline like from sports.


  4. It is impossible to give “bad” answers at a technical interview, but it is easy to show the inability to argue and think. But you still need to prepare for the interview: it will be a shame to fail if you forget some trivial thing.


  5. Journalism is, of course, fun and unusual, but we still know how this will end. Maybe then without preludes?

While preparing the article, a discussion arose among colleagues about the importance for the career of the specialty indicated in the diploma. What do you think?


')

Source: https://habr.com/ru/post/322968/


All Articles