After working as a bartender for about 5 years, I threw my things into a backpack and got on the train back from the capital, home to the province, to my parents. I decided that 25 years is just the age when it’s time to take up my mind, and not a bottle of whiskey. Since my two higher education degrees could not bring me a normal income, and I was simply not interested in my specialty, I decided to try to become a developer. I thought, why not? Fashionable, well paid, no need to work with your hands and stand on your feet - perfect! It didn’t even stop me that before that I didn’t even know the name of a programming language. And so, having spent the last of my money on a ticket home and a subscription here, I made a study schedule and on November 10, 2015, my studies began. Fortunately for me, programming turned out to be not only fashionable, but also interesting. The first 10 levels were completed in a month and turned out to be damn exciting. The second 10 levels were also completed in a month, but my God, how many times did I hit my head against the wall (literally) trying to solve the problem, but still continued to torture Google and that thing that checks problems (I don’t remember what it’s called). I took a little break for the New Year holidays and continued with renewed vigor. From levels 20 to 30 I solved it for another month and here it was already difficult (I still didn’t solve the problem from level 27 - it’s just terrible). I was just about to continue my marathon for another month, but then a course for Java developers turned up, in the coolest company in the city. Having solved the test task, I was accepted. My joy knew no bounds; I was already dreaming about how after the courses they would hire me (this was standard practice for this company). The courses turned out to be really cool: 10 lectures of approximately 2 hours each over 2 months and 10 homework assignments based on the lecture material (JDBS, JPA, Hibernate, SQL, Servlet, rest, maven, git). For each topic, it was necessary to write a simple working crud application. But the coolest thing about these courses is that these tasks were checked by developers from this company and they did a very (VERY) picky code review. And they did not accept the task until they were satisfied with the level of writing the program. I solved all the tasks and they even (irony) gave me a certificate of completion of the course. The next day I called and asked to come to work with them. They sent me a test task and I failed it resoundingly. There wasn't even an interview. It was pain. Eating sadness with jam, I leafed through the news of this company, dreaming of revenge, but suddenly I came across an announcement that they were organizing an event where they would gather everyone who was interested and close to IT in order to imitate the process of a real team developing a product, where the customers would be company employees. In two weeks, my team and I wrote a “pretty good” task scheduler in Swing. I was terribly proud then that it was 4000 lines of code. In two weeks I learned so much about Swing that I could have taught it myself for two months, it was cool. Chewing gingerbread cookies in joy, I again flipped through the website of this company and dreamed of working there, but there were no vacancies, but there was a hackathon. On the topic of microservices (smart home). It was necessary to use Spring to connect to sensor emissions from a smart home and adequately process information from them. The winner is the one whose processing algorithm responds best to the situations simulated by the employees. I won it! And a month later I was invited there for an interview! Straightaway! without a test task. Aaaand drum roll - I failed it again! Because I couldn’t write a string reversal algorithm! (reverse line KARL!!!). It was an epic fail and facepalm at the same time. I became even more offended by them. But I decided that it would be ridiculous to stop now and continued. I found the site acmp.ru (this is not an advertisement, but it’s cool) for problems for Olympiad programming. And he settled there for two months. There is an archive of problems (700 pieces) sorted by difficulty. I started with the simplest ones. When it started taking about 5-6 hours to solve one problem, I gave up. I solved 301 problems and took part in a couple of Olympiads on this site. Learned to write a string reversal algorithm. I also learned by heart the algorithms for quick sort and insertion sort, learned what a graph is, what they are like and how to search for something in them, what dynamic programming is and how to use it, but damn it I still can’t understand how the whip algorithm works -Morris-Pratt. Puffing loudly and looking angrily at that same company, I sent out my resume to all the other companies in the city. 3-4 companies responded to the front-end position. Having solved test tasks in javascript (while I was solving it, I was running in circles shouting - Closures, what are closures??!!) . I passed the interview and was hired for the proud position of junior JavaScript developer. This happened exactly a year after the start of my studies. After working there for two months I realized:
- InternetExplorer was invented by Satan so that developers would suffer during their lifetime.
- Google Chrome is much more complicated than it seems. It’s literally ten times more difficult than it seems.
- I hate frontend development.
GO TO FULL VERSION