From Law to Big Data Development

    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 for himself.

    If you have friends who also want to start programming, but don’t know where to start, or are worried that everything will go wrong, share this post with them. If you try hard, then everything will turn out, and the story of Roman is an example.



    Own business and work in the specialty


    I studied at the law faculty and at the same time, in my third year, at a business school. There was a lot of theory and practice on creating and developing a business. At that time I was still fond of literature on personal effectiveness and psychology - books by Stephen Covey, Eric Burn, and read the stories of famous billionaires: Richard Branson, Warren Buffett, Bill Gates. Inspired by the books and what was told in the courses, I thought that any task could be done for me.

    I got the idea to start my own business, took an 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 busy with everything. He sold tours, taught his subordinates, thought over a marketing policy, prepared tax reports, and resolved legal issues.

    At some point, I began to feel disappointed. At the very beginning, I thought that I would quickly establish processes and I would only come for money. It turned out that this does not work: you often need to devote evenings, or even weekends, to your business. Also, 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 disasters would happen in which country - and how successful the sales would be. As a result, having gained good experience, having formed a client base, having grown several employees, I sold the agency and returned to the university.

    Jurisprudence did not really interest me. I completed the tasks successfully, but it didn’t “light me up”. Besides, seeing salaries of lawyers on websites with vacancies, 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 sales of loan products at a large bank, and promised a good salary. I knew that I like to talk, and if I really like something, I can talk about it with pleasure. So I agreed. The loans there were very profitable for customers, and I successfully sold them. I liked this work. 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, loans went up, and I had to not just present the product, but manipulate people to buy it. I don’t like that. 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 faculty, offered to work in my specialty. I had no idea where to go, and I decided to try it - I’ll like it suddenly. For four years I was a lawyer. During this time, he worked in various fields - in a management company, in advertising, rental real estate, construction.

    Perhaps I came across unsuccessful companies, or maybe the point is in my perception - but I realized that this work does not suit me either. Basically, I had to deal with contractual work, almost always in a short time, and interesting court cases were rarely found. Given that the market for lawyers is oversaturated and salaries are small, I thought it was time to change the scope of activities.

    How I turned on the IT path


    Perhaps I would become a programmer much earlier. In the eighth grade, I chose a technical profile and went to the math class: I thought I had a penchant for this. I studied well, but the load was heavy, and I was very tired. Once we discussed this with our parents and came to the conclusion that engineers are not as much in demand as lawyers and economists. So I moved to the humanitarian class, and then entered the budget of the law faculty. But I always liked math and computer science.

    I have some fellow programmers. A friend of mine, having no specialized education, learned to program and became a successful developer - he creates complex distributed systems. I was very inspired by his story. I understood that this was real, and not on a sky-high basis. When I worked as a lawyer, my colleagues said that I was good at creating systems (for example, to distribute work among employees). I thought it was not so far from development, and such work was easy for me. I had the thought: “Why not learn to program too?” Then I was still working as a lawyer, but I felt that it was time to change something.

    Work in IT seemed to me more comfortable. Flexible schedule, no dress code - everyone wears jeans and T-shirts, a lot of goodies - in the literal and figurative sense, attractive salaries, and the demand for specialists is constantly growing.

    I began to dig, which type of development is closer to me - backend or frontend. On friendly gatherings there was a lot of talk about programming, and I already understood a little what was what. I realized that I want to write a backend. I read which languages ​​are popular and decided to learn Java.

    Programming from scratch


    I began to search for courses on the Internet and came across JavaRush - they teach development from scratch. I began to take this course and worked in parallel.

    At the very beginning of the path, it was difficult for me to think in abstractions, to create new logic. It took a lot of time. Sometimes for several days I thought about the tasks that were given in the courses.

    I started with elementary programs - one of the first that I wrote could communicate with the user. She displayed the text on the screen, I chose what to answer, and the program structured its work depending on my answer.

    I remember how I created the first multithreaded application. It was cool to understand that one logic is implemented in one thread, the other in another, they interact, and everything works.

    Six months after the start of the courses, I realized that I wanted to focus on development, and I quit my job. I was worried: I was 28 years old, I quit my legal career and did not know what lay ahead. I wanted to learn Java as soon as possible. But when there is this internal pressure - you need to hurry, time is running out - it becomes more difficult to learn, because stress takes up a lot of energy.

    A programming friend advised reading the book Java: The Complete Reference. It is written in an accessible language and provides a good base. I also studied on it.

    Several of my fellow developers worked at EPAM, and I learned from them that the company runs programming courses. There were good reviews about the company and the courses, and I wanted to get on them. While I was waiting for a new set, I decided to take courses on Oracle and Java at Sbertekh. It was necessary to pass a decent selection: of 130 people who wanted to take the course, 30 took people. My basic knowledge and a little experience turned out to be enough to get into their number.

    After some time, a set for a Java development course began at the EPAM training center. I decided to go and him. There the dropout was also big, it was necessary to go through two interviews - by telephone and in person. During the interview, they evaluated basic Java knowledge, the ability to create simple logic on the go and checked the level of English. As a result, they took me to a training center.

    I began to take two courses at the same time - at Sbertekh and at EPAM. Mostly people with technical education studied with me. There were those who had already worked in testing or development. I was not confident in 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. In the courses, we studied the basics of object-oriented programming, classes and methods in Java, got acquainted with libraries and frameworks, and in the end we created a client-server application in Spring and AngularJS.

    Forward to the new


    In the summer of 2016 - six months after the start of the 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 point: when the courses at EPAM were coming to an end, our group was asked who wants to work with Big Data. Everyone raised their hands except me. I knew little about this area, I heard that working with big data is not easy. Plus, I had almost no development experience. I just wanted to program in Java, there were no big ambitions.

    But after the interview at the end of the course, they called me to the Big Data direction. I thought for a long time, weighed the pros and cons. I thought this: on the one hand, when you are called to the company of your dreams without experience, it is unreasonable to refuse or to put forward your requirements. On the other hand, I was scared by the complexity of this direction. 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 - this gave a sense of security. And I made up my mind.

    The two-month course turned out to be rich: 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 the opensourse-project for streaming data Flink - created new functionality or fixed bugs. It was an interesting experience: you interact with people from other parts of the planet and participate in the development of such a difficult system.

    At the beginning of my work, I had an impostor syndrome. From school, I used to be the best: I studied perfectly, was a headman at the university. And then I felt worse, because I knew little. But I always take pressure - I just come and do it every day. At first, I recorded conversations with colleagues when we talked on Skype, so as not to ask again. Over time, the need for recordings disappeared. I began to grasp faster, better cope with tasks.

    To deal with something new had to constantly. Here Google or colleagues' advice helped me. Sometimes I had to read the documentation - good, it can be easily found. I learned some things from the video.

    Depending on the project, the 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, law school, in previous works, there were a lot of him. Here people are silent for a long time, more immersed in themselves. But if you ask for help, they will help you.

    Now I am a middle-level developer, and my plans are to grow to a project manager. I think it will be close to me. I already did a little managerial tasks on projects, and it turned out pretty well.

    If you want to become a programmer


    I have several recommendations for those who also want to change their area of ​​work and go to 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 there is one. If you do what you like, all efforts will pay off.
    • Do not try to master everything alone. Ask questions, discuss a new field for you with those who understand it or, like you, just learning. This will help to develop faster.
    • Visualize your ideas. It used to be very difficult for me to imagine how the program works and keep everything in my head. This helps visualization - all or part of the logic. I use the draw.io tool. There you can write texts, create flowcharts, connect them together - very convenient.
    • Quite obvious advice, but at the very start it can be useful: program using the development environment. When I installed IntelliJ IDEA after several weeks of training, I was pleasantly surprised by how convenient and pleasant it is to work.
    • Learn not only what you need, but also what attracts you. If you want to switch or understand a topic more deeply - do not pull yourself. Do not be afraid to take a step to the side. So you with great pleasure to learn the base, and if there are gaps - then fill them. I remembered the words from one video on YouTube: if you are flipping through a Java tutorial, flipping not where you need it, but where it is interesting.

    Also popular now: