There are many ways - how to find your own?
The hero of this article, Roman Mayer, received a liberal arts education and came to IT from completely different areas. He developed his own business, worked as a sales manager, was a lawyer, and by the age of 28 he realized that he had not yet found a dream job and it was time to learn something new. He told why he decided to go to IT, how he studied programming and what difficulties he encountered in a new field.
If you have friends who also want to start programming, but do not know where to start, or are worried that everything will go wrong, share this post with them. If you try hard, everything will work out, and the story of Roman is an example.
')

Own business and specialty work
I studied in law school and in parallel - in the third year - in business school. There was a lot of theory and practice in the creation and development of business. At that time, I was also interested in the literature on personal effectiveness and psychology - books by Stephen Covey, Eric Bern, and read stories of famous billionaires: Richard Branson, Warren Buffett, Bill Gates. Inspired by the books and what was told in the courses, I thought that I could take any task.
I got excited about the idea to start my own business, I took academic leave at the university and opened a travel agency. I was a director, but - since the company was very small, from one to three employees at different times - I was engaged in everything. He sold tours himself, taught his subordinates to this, thought through marketing policy, prepared tax reports, resolved legal issues.
At some point, I began to feel disappointed. At the very beginning I thought that I would quickly fix the processes and would only come for the money. It turned out that it does not work that way: it is often necessary to devote evenings and even weekends to your business. The financial results were not as impressive as I had hoped. The agency consistently made a profit, but I never knew what would happen in a month - what kind of disasters would happen in which country - and how successful the sales would be. As a result, having received a good experience, having formed a client base, having grown several employees, I sold the agency and returned to the university.
Jurisprudence is not very fascinating to me. I performed the tasks successfully, but this did not “light up” me. In addition, seeing on the websites with the salaries of lawyers, I thought that the prospects were not very good. Therefore, I did not want to work in my specialty and after defending my diploma I began to look for a job that would suit me.
I was immediately offered to become a specialist in the sale of credit products in a large bank, and they promised a good salary. I knew that I love to talk, and if I really like something, I can talk about it with pleasure. Therefore, I agreed. Loans there were very profitable for customers, and I successfully sold them. I liked this job. Once I even took the third place in terms of sales among all employees of the Russian branches of the bank.
After some time, the conditions changed, the loans went up, and I needed not just to present the product, but to manipulate people in order to buy it. And I do not like it. So I realized that this work is also not for me.
I did not know what to do next, the state was depressed. And suddenly a classmate, with whom we studied at the law school, offered to work in the specialty. I had no idea where to go, and I decided to try it - suddenly I would like it. For four years I was a lawyer. During this time, he worked in different areas - in the management company, in advertising, real estate rental, construction.
I may have come across unsuccessful companies, or maybe it’s my perception, but I realized that this work doesn’t work for me either. Mostly we had to do contract work, almost always in a short time, and interesting court cases were rarely encountered. Considering that the lawyers market is oversaturated and the salaries are small, I thought it was time to change the scope of activities.
As I turned to IT
Perhaps I would have become a programmer much earlier. In the eighth grade, I chose a technical profile and went to a math class: I thought I was addicted to this. I studied well, but the load was great and I was very tired. Once we discussed this with our parents and came to the conclusion that engineers are not as popular as lawyers and economists. So I moved to the humanitarian class, and then I entered the law school budget. But I always liked mathematics and computer science.
I have some programming friends. One of my friends, without having a specialized education, learned how to program and became a successful developer - he creates complex distributed systems. I was very inspired by his story. I understood that this is real, and not in transcendental terms. When I worked as a lawyer, my colleagues said that I am good at creating systems (for example, for the distribution of work among employees). I thought it was not so far from development, and such work was given to me easily. I had a thought: “Why not learn to program too?” Then I was still working as a lawyer, but I felt it was time to change something.
Work in IT seemed to me more comfortable. Flexible schedule, no dress code - everyone walks in jeans and T-shirts, a lot of buns - in the literal and figurative sense, attractive salaries, and the demand for specialists is growing all the time.
I began to dig, what kind of development is closer to me - backend or frontend. At the friendly gatherings there was a lot of talk about programming, and I already understood a bit what was happening. I understand that I want to write a backend. I read which languages ​​are popular and decided to learn Java.
Programming from scratch
I began to look for courses on the Internet and came across JavaRush - there they are learning how to develop from scratch. He began to take this course and worked in parallel.
At the very beginning of the way it was difficult for me to think abstractions, to create a new logic. It took a lot of time. Sometimes I thought about the tasks that I had on the courses for several days.
I started with elementary programs - one of the first that I wrote, I could communicate with the user. She displayed the text, I chose what to answer, and the program built its work depending on my answer.
I remember how I created the first multi-threaded application. It was cool to understand that one logic is implemented in one thread, another - in another, they interact, and everything works.
Half a year after the start of the courses, I realized that I wanted to work on the development purposefully, and quit my job. I was worried: I was 28 years old, I gave up my career as a lawyer and did not know what was to come. I wanted to quickly learn Java. But when there is this internal pressure - you need to hurry, time is running out, - it becomes more difficult to learn, because stress takes a lot of energy.
A programmer friend suggested reading the book “Java: The Complete Reference”. It is written in accessible language and gives a good base. I studied it too.
Several of my development friends worked at EPAM, and from them I learned that the company was conducting training courses in programming. There were good reviews about the company and the courses, and I wanted to get into them. While I was waiting for a new set, I decided to take courses in Oracle and Java at Sbertech. It was necessary to pass a decent selection: out of 130 people who wanted to take the course took 30 people. My basic knowledge and little experience turned out to be enough to get into their number.
Some time later, a recruitment course for Java development began at the EPAM training center. I decided to go for it. There, the dropout was also great, you had to pass two interviews - by phone and full-time. The interviews assessed basic knowledge of Java, the ability to create simple logic on the go and checked the level of English. As a result, they took me to the training center.
I began to simultaneously take two courses - at Sbertech and at EPAM. Together with me, mostly people with technical education studied. There were those who have already worked in testing or development. I was not sure of myself: not only did I come from a completely different area - I was older than most of the guys. But I really wanted to finish the courses and get a job. Therefore, all my time was spent on lectures and homework. During the courses, we studied the basics of object-oriented programming, classes and methods in Java, familiarized ourselves with libraries and frameworks, and at the end created a client-server application on Spring and AngularJS.
Forward to the new
In the summer of 2016 - six months after the start of courses - I was offered a job in both IT companies. I chose EPAM: I wanted to go there from the very beginning, my friends worked there, and they liked it.
There was an interesting moment: when the courses at EPAM came to an end, our group was asked who wanted to work with Big Data. They raised their hands all but me. I knew little about this direction, I heard that working with big data is not easy. Plus, I almost had no development experience. I just wanted to program in Java, there was no big ambition.
But after the interview at the end of the course I was called exactly on the Big Data direction. I thought for a long time, weighed the pros and cons. I thought so: on the one hand, when you are called to the company of your dream without work experience, it is unreasonable to refuse or present your demands. On the other hand, I was frightened by the complexity of this trend. But I knew that this area was promising. In addition, before starting work on the Big Data-project, it was necessary to take another internal course at EPAM, which gave a sense of security. And I decided.
The two-month course turned out to be intense: we got acquainted with different technologies - Hadoop, Spark, Kafka, HBase, Elasticsearch, Ignite, Cassandra, Flink. We learned to write data processing programs, learned about virtual machines, Docker containers and other things that Big Data developers need.
Then for three months we participated in Flour data streaming-project, Flink - created a new functionality or corrected errors. It was an interesting experience: you interact with people from other parts of the world and participate in the development of such a complex system.
At the beginning of my work I had an impostor syndrome. From school I used to be the best: I studied perfectly well, I was a headman at the university. And here I felt worse, because there was little I could do. But I always take the pressure - just come and do it, day after day. At first I recorded conversations with colleagues when we communicated via Skype, so as not to ask again. Over time, the need for records disappeared. I began to quickly grasp, better cope with the tasks.
Understand something new had to constantly. Here I was helped by Google or the advice of colleagues. Sometimes you had to read the documentation - good, you can easily find it. Some things learned from the video.
Depending on the project, Big Data-developer can write in Java, Python, Scala and a number of other languages. It so happened that on my projects I mastered Scala and now I program mainly in this language.
When I came to IT, I lacked communication. In the gymnasium, at the law school, in previous works it was very much. Here people are silent for a long time, more immersed in themselves. But if you ask for help, they will help you.
Now I’m a middle-level developer, and in my plans to grow to a project manager. I think it will be close to me. I was already engaged in some managerial tasks on projects, and it worked out pretty well.
If you want to become a programmer
I have a few recommendations for those who also want to change the scope of work and go into the development:
- Basic advice: go not for money, but for what is interesting. Listen to yourself - what do you want to do? This applies to the choice of the company, and the choice of direction, and even the choice of the project - if it is. If you do what you like, all efforts will pay off.
- Do not try to master everything alone. Ask questions, discuss a new area for you with those who understand it or, like you, are just learning. This will help to develop faster.
- Visualize your ideas. It was very difficult for me to imagine how the program works, and to keep everything in my head. It helps visualization - the whole logic or part of it. I use the draw.io tool. There you can write texts, create flowcharts, connect them together - very convenient.
- Rather obvious advice, but at the very start it can be useful: program using the development environment. When, after a few weeks of training, I put IntelliJ IDEA, I was pleasantly surprised at how comfortable and pleasant it was to work.
- Learn not only what you need, but also what you want. If you want to switch or more deeply understand some topic - do not pull yourself down. Do not be afraid to take a step aside. So you will learn the base with great pleasure, and if there are gaps, then fill them in. I remembered words from a single video on YouTube: if you are flipping through a Java tutorial, scrolling is not where you want, but where it’s interesting.