JavaRush /Java Blog /Random EN /Retraining on steroids
Alex Yedamenko
Level 23

Retraining on steroids

Published in the Random EN group
Two years and three months have passed since I signed up for CodeGym and wrote HelloWorld. It has long been necessary to pay tribute to a wonderful resource and write this article, but the rapid pace of life somehow did not allow. But now, "thanks" to the well-known virus, there is time. Retraining on steroids - 1 I was 33. I was a social worker in Latvia and had nothing to do with IT. The last experience with code was 15 years ago. However, the low salary and lack of career prospects forced me to look for an alternative. Here, just, many of my friends tried themselves in the IT field. And no one had an academic IT education. Some got settled, some not so much. But successful examples inspired me very much, and I finally decided. In Riga, a well-known consulting company once every six months organized a series of free bootcamps (intensive training courses) with the subsequent opportunity (for those who successfully completed) to get an internship and a contract. I spent some time thinking about which course to take. In the end, I chose Java, because it was this bootcamp that gave the most opportunities after the end. I was able to scout and talk to bootcamp participants, including those who already got jobs with the company. The intelligence was as follows: the course is extremely intensive, it makes no sense to come there with zero knowledge, it’s better to learn everything yourself even before the bootcamp. So I quit my job (in November 2017) four months before the bootcamp, sat at home on welfare and a few savings, and began to study intensively. What was the training program like? Well, first, of course, CodeGym - it was the practical wing of my training. The theoretical wing was Head First Java (Russian translation, Java 5). And I must say, CodeGym and Head First Java complemented each other perfectly. The book gave an excellent overview of the basic features of the language. Moreover, the material was presented with the help of easily digestible visualization and associations (a glass with a remote control is really wonderful). I know that seasoned techies dislike this book precisely for this form of presentation, but if you come from the humanitarian sphere, this is what you need. Thus, my training schedule looked like this: in the morning 3 hours of theory on Head First Java, in the afternoon - 3 hours of practical tasks with CodeGym. 6 hours every day, including Saturday-Sunday and all holidays. Very intensively, even perhaps too intensively, I have earned myself certain health problems with this regimen. If you have the time and financial reserve, this intensive would not be recommended. But I didn’t have it, and I couldn’t fail the bootcamp. So I did 4 months before the start of the bootcamp, reached level 23 in CodeGym with an honest solution to all problems (and some of them made me sweat a lot) and finished the book with all the tasks completed. There were still a couple of weeks before the bootcamp, it was possible to go further through the levels, but I decided to master all sorts of related skills, like git. At the beginning of March 2018, the bootcamp began. The intensity of the courses was also high, but it turned out that of all the topics I did not deal with only two: writing unit tests and JavaFX. The bet on hard self-training paid off. It turned out that I'm kind of like not the worst in the group. In addition, I decided to take the initiative and throw a pitch for the final project. A small but wonderful team gathered, thanks to which an application for the work of nurses was created (the background of a social worker made itself felt). In general, the bootcamp ended well, and I got an internship and even had the opportunity to choose a specialization. Here I committed a heinous betrayal and chose Salesforce instead of hardcore Java. Salesforce started out as a cloud-based CRM (Customer Relationship Management) system that gave quite a lot of customization options. But many years later, this is already a powerful full-fledged platform on which you can do almost anything, I have seen many projects that had nothing to do with CRM. In fact, Salesforce is now a cloud database, to which you can fasten almost anything in many ways. For the backend, Salesforce uses Apex - a kind of "Java for retirees". Java syntax is case insensitive, no managed multithreading, relatively few built-in classes, almost all the code revolves around writing to and retrieving from the Salesforce database. But there are also difficulties. The Apex code is run on the server side, where in theory any Saleforce user can claim the full power of the cloud, and there are many governor limits to prevent monopolization of resources. These limits apply to all Salesforce customizations, including Apex. This leads to the fact that sometimes Apex code looks strange from the point of view of a Java developer. In addition to Apex, SF has three of its own front-end frameworks: Visualforce, Aura Components, and the brand new Lightning Web Components. My first assignments after receiving the contract in early July were related to the second of them. It was my first exposure to JavaScript: a language I had a hard time but gradually came to love. However, I have worked extensively with both JavaScript and Apex, as The first thing I learned about Salesforce was - every marine is a riflemanat Salesforce, we are all Full Stack. In addition, as I mentioned, Salesforce is a whole world: not just some separate language. In addition to the code, there are many declarative tools - Process Builder, Flow Builder, Workflow Rules, Validation Rules and others. I like it very much, because means that one problem has many solutions, and usually the optimal one is associated with the ability to avoid code. There have been cases where some developers have written a wall of code without thinking to complete a task that was solved by checking two checkboxes in configurations. In general, the first two months I intensively mastered the platform, and then I received a contract. I immediately had to work only in English, but there were no problems with this, and I did not regret at all that I studied in Russian. It was easier for me to master rather complex concepts in my native language. The first three months of the contract, I freaked out, but then got involved. Passed a couple of Salesforce certifications - App Builder and Platform Developer 1. Then everything went into a rut: I exactly worked for a year and a half in my first company (thank you very much for that), then I received an invitation from London via LinkedIn, where I am now writing this article in a tightly locked room, surrounded by food, disinfectants and the most valuable paper in our time - toilet paper. My new company runs Vlocity, which is installed on Salesforce as a managed package: essentially a platform within a platform. Vlocity provides many additional tools for customization and creating user interfaces. At the moment, I only have 20-30 percent of my work related to the code, the rest is with these same tools. But in general I am very pleased. I recommended CodeGym to all my friends, who were interested in the possibility of retraining. This is an absolutely indispensable tool (in the Russian-speaking segment, for sure). Some tasks provoke steam from the ears, spent 2-3 days on them. This is a very good narub exp. By the way, in the work meeting with similar tasks was a rather rare event. Retraining on steroids - 2In general, retraining as a developer from a social worker required intense effort, but it still wasn’t something like climbing Everest. My advice: study hard, but don't overexert yourself (you may get health problems). 1-2 hours a day is not enough, 6 is a lot, 3-4 is probably just right. If you have the opportunity to leave your job, leave. Combining work with study was not an option for me after the first attempts. My family was not happy about the dismissal, but in my case the risk paid off. If there are savings, their use in such a situation can be regarded as an investment in oneself. Research all the major consulting companies available. In non-crisis times, they have many projects, they need a lot of developers, they are ready to give a chance to newcomers, often organize training themselves. And most importantly: it is not your education that matters to them, and your skill. If you are capable, no one will kick you out of consulting. Well, that's all, actually: I wish you good luck in your first steps in the IT world. Gnawing at all JavaRash tasks in a row, don't be silly, jumping to the next topics. Practice here will put you thinking in the right direction. If this happens, then believe me: you will not be lost not only in Java, but also in any other language or technology.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION