So, you decided to become a front-end: a practical guide for the growth of a novice developer
- Transfer
- Recovery mode
The front-end development over the past few years has seen a huge leap in development. JavaScript continues to widen the gap from other languages as the most popular on Github , and the vacancy of the front-end developer is gaining popularity every year. And it is not surprising that with the growing popularity of the language, we are seeing a significant increase in the number of promising programs for studying front-end technologies, textbooks, crash courses and more. Such a cycle is natural for any rapidly developing industry, and this happens as follows:
- There is a huge demand for front-end developers. Companies are trying to find competent people and they pay a lot of money.
- Other companies see this demand, and create educational resources to help people start their careers. They offer solutions that will teach you web development in a short time, which will ultimately lead to success.
- This approach is attractive to many people. Express courses and educational online resources are sold like hotcakes. This industry has quickly become a multi-billion dollar industry.
The end result is a huge “pool” of poorly trained personnel. Most students of such courses leave with a small portfolio of the site and several demos on javascript. They lack in-depth knowledge in the industry that would enable them to solve the real problems that professional developers face every day.
The purpose of this article is not to minimize the benefits of these training courses. I myself am a self-taught developer and studied before the advent of these courses, and I am sure that my life would be much easier if these resources were available to me when I started. They are a great way to embark on the path of your career and begin the learning process. However, they are only the beginning of a career.
Ok, now what?
For those of you who have recently completed one of these programs and are now part of the ever-growing “pool” of novice developers, you may ask yourself - what now? With so many options for learning basic skills, I would like to take a look at some of the next steps to move from a junior developer to an able-bodied middle level.
Below are a few things that helped me bridge the gap between the first days of my training and becoming a competent and productive developer:
read books
To get a deep understanding of front-end languages (JavaScript, CSS, and HTML), reading tutorials is not enough - you must read books. At the very beginning of my training, I remember reading Javascript Templates without the slightest idea - why are they needed. But, in the learning process, the terms in the book began to make sense. I used the described techniques as a reference, which guaranteed that I wrote the code correctly. After a while, I was able to fully understand the book, and even could formulate my opinion on some positions of the author of the book.
To consolidate the skills, I would advise you to read Eloquent Javascript , SMACSS and HTML and CSS: Creating and Designing Web Applications; but do not stop there.
Visit the mitaps
Mitapas are a great reminder that you are not alone. Share your experiences with colleagues visiting mitaps to learn more about web development. At first you may not feel comfortable, but the secret is that the developers are always ready to share their experience, and almost everyone was in your position once. Therefore, look for mitaps according to your profile, visit, listen and do not hesitate to ask questions. Ultimately, after some time, things that you did not understand will begin to make sense.
Open source
This can be a daunting task for all levels of developers, but if you are developing for the web, I can almost guarantee that you are using open source software. Open source software is software that you can freely use, share and make changes to anyone. So where to start? Think about the tool you are using - say ... jQuery or Bootstrap , and start by looking for tasks on Github . Is there something you think could be improved? Create a task, or better yet submit your changes. The worst thing that can happen is that your changes can be rejected. But much more important is that you get real reviews.
Work for novice developers, internship, hybrid role
This may seem obvious, but the important thing to remember is to keep all options open. Finding a job as a junior developer, or getting practice that will be worth it, is hard. Remember that getting a job is important, but if you work as a junior developer or intern, make sure there is a clear career path. There are many good companies that seek to train and grow their junior staff, but many others would be happy to keep them as workhorses who do the work that others do not want to do - cheaper labor is more important to them than the growth of the next generation of developers .
Another option is when you are looking for work for a hybrid role. So, one of my first jobs as a developer was a web producer. Which meant that sometimes I had to add something to Wordpress, and sometimes I wrote simple new functionality for an existing site. It was not too interesting, but it was the easiest way to start working as a full-fledged developer.
Start your project
I want to emphasize that solving real problems of your own project is absolutely the best way to become an excellent developer. Instead of fighting the unknown, you can work towards solving specific problems.
The first lines of code that I wrote were the result of participating in the Startup Weekend contest with a friend who had the idea of creating an employee suggestion box app. This process was terrible, but both of us had a clear idea of what our application should do. Therefore, I was hardcode and in a hurry, until he earned as we wanted. It was a dirty process and, to be honest, the source code was terrible, but I learned a lot in a short amount of time. Working with real clients was also difficult, we had to manage their expectations, and on the other hand, a third-party project without clients, where uptime did not matter. After starting this business in 8 months, I was ready to quit my first full-time job.
Never stop learning
I hope that these points will help speed up your learning, but they are by no means holistic or inclusive. Incredibly, there are ongoing changes in the development of front-end technologies, so you should never stop learning. No matter how many books you read, visited, or created projects, the learning process should continue, if you want, to remain a competent developer with relevant knowledge.
There are a huge number of opportunities to develop and a huge number of people fighting for the same work that you are looking for. But if you adhere to all the points listed here, you will certainly prove yourself as a highly qualified developer and will succeed in your career.
Finally
I wrote this article, because I empathize with young developers. I started my career working in the film industry with zero developer experience. At his whim, he moved to Taiwan where he worked as a copywriter. I had already started to move away from web development before I participated in the competition with a friend, as a lead developer. After, I managed to get several contracts for our project before getting my first role as a pseudo-developer. For the last few years I have been working at Shopify, where I constantly try to improve my knowledge in my field. Now I hold the position of a leading front-end developer. I am talking about this because I want to note - my path was not as smooth as it might seem now. There were several years when I felt that I had no idea what I was doing. Only with sufficient perseverance did I understand things,