Developer Frontend – The most important 7 parts of this process, advices from our Java Script Instructor – Razvan Cirlugea, on medium.com.
There are so many articles about how to get your first job as a software developer, but once you’re there, what do you do next? Everyone dreams about a successful career, but how can you progress?
Recently I heard about a person that worked as a Junior Software Developer for 7 years. Then, he gave up this career. In the meantime, I managed to get a job as an Intermediate Software Developer, despite having a full-time job for only 7 months. So I thought about what I have done to be in this position and decided to share with you the most important 7 parts of this process.
The information I will share with you is relatable for any Software Development position, but I will give concrete examples about Frontend Development, because… I am a Frontend Developer. Makes sense, right?
1. Before Your First Job
Now you might be asking: “Oh-oh, what are you doing here? I thought it was an article about how to get a great second job, I can’t turn time around.” You can’t, but you can reflect on the skills you had when you got your first job. Maybe you were already halfway to being an intermediate developer!
One thing people tend to underestimate is their previous background and how it can improve their value. Sure, employers look first at job experience in the current working field. But they DO look for your other experiences. Just because you are working as a full-time frontend developer for 7 months, this doesn’t mean that you only have 7 months of experience.
So, when you start your first job in a domain, you certainly have some other qualities you should know how to value. Let me give you an example: I recently spoke with an HR person that was recruiting a Frontend Developer for a warehouse related project. She showed me a candidate profile and told me that she also noticed that the candidate had previously worked in a warehouse and thought he would understand the business better. So if you make a professional reconversion, don’t just throw away all your past experience. Think about how to get the best out of it for your future job!
As a personal example, when I got my first job as a Frontend Developer, I had already worked as an SQL Instructor for a year and participated in a 6-month internship in a Business Intelligence Department. Were they frontend specific? No, but the fact that I already had some work experience and I had the ability to teach others surely had an importance on the final offer. Also, I had a Computer Science Degree, with a diploma project consisting of a Full Stack Web App, so obviously, I turned this into my advantage.
The projects you build during college increase your value for the job, but they aren’t the only ones. Maybe you have taken online courses or coding boot camps, those are experiences that add to your knowledge, and knowledge adds to your salary. For me, Complete Web Developer in 2020: Zero to Mastery was even more important for getting my first frontend job than my college degree, and I am pretty sure I had more knowledge than most junior frontend developers, even before starting a job.
The takeaway from this section is the following: think about what experiences you had before your first job in your current domain. Do not underestimate them, they add to your value!
2. Choose Your Job Wisely
No matter if it’s the first or the fifth one, you will work for this job tens of hours a week. That’s a lot of time, so definitely you want to use it smartly. A colleague told me a wise question he was asked once by a manager:
“Do you have 5 years of experience, or the same year of experience, repeated 5 times?”
Think about it. For example: in your first year, you work on building an e-commerce platform. Then you change your job, and for the next two years, you build a similar e-commerce platform, with the same technology. Is this a good career choice? Sure, you feel very comfortable doing the same thing, because you have experience with it. But the situations that move us out of the comfort zone make us progress, and to learn more, you have to work on different scenarios.
Choose jobs that challenge you. Apply to jobs for which you have solid knowledge, but you still find something new to learn. For example, I chose my second job not only because the main technologies were React and Redux, which I had good knowledge about, but also because the company used automated testing, Typescript, CSS-in-JSS and some other topics I barely touched but had great interest to learn.
Also, do not go JUST for the money. Choose jobs where you have people who you can learn from, where you have a good development environment. Search for companies that care about their code, have code reviews, refactoring and other things that will make you a better developer.
3. Master Few Topics
When I finished my 3rd college year I had to apply to jobs, as I was forced to practice my computer science skills for at least 3 months. It was a nightmare. I realized that I didn’t know too much about anything. I knew some C, some Java, some Python… but there were so many students out there way better than me! How could any employee want me? When I got my first offer I accepted it immediately, despite the salary being less than attractive.
Fundamentals of a language are not that hard to learn and sometimes they are enough to get the first job. But then? How do you stand out from the other developers? The answer is to learn really well about a programming language, its best practices, and its ecosystem. Do not resume only at your day-to-day usages, go more in-depth. Do you know all the syntaxes and functionalities your programming language offers? Is your coding style appropriate?
What is the benefit of mastering a programming language? Not only that you’ll rock your interviews, but you’ll also be more productive at work because you’ll have a better understanding of the code written by others.
4. Build Stacks Of Knowledge
But hey, the more you know, the more valuable you are, right? It is true, but it depends on how your knowledge can help the business you’re working on. I have already mentioned above that you should master one programming language. But then? How do you continue to add more value?
To be even more explicit: learn technologies that link to each other. Do not learn 5 different frameworks that do exactly the same thing. Use your time efficiently and figure out what’s the next step in your career. Luckily for you, if you are interested in web development, there is an amazing GitHub repo: developer-roadmap, which presents you the whole Web Developer Roadmap, in a nice graphic way.
Also, another reason why I have chosen to follow Complete Web Developer in 2020: Zero to Mastery at the beginning of my Web Developer career was that it had a continuation: The Complete Junior to Senior Web Developer Roadmap. Short terms objectives are great, but having a long-term vision is even more important. You should continually ask yourself questions like “What am I planning to learn this year?” or “Where do I want to be with my career in 2 years?”. Once you figure out the answers, find the best learning resources and start working in that direction.
5. Build Personal Projects
I remember when one of my top college classmates told me he got some interview rejections because he had no personal projects. He had always done all the homework and was skillful in a lot of programming languages. Were personal projects that important?
But let’s analyze a bit. Two developers with the same years of experience go to an interview and they both answer all the questions. How do you decide between them? Sure, attitude is extremely important, and we’ll talk about it at point 7, but there is another important part(you probably guessed again): personal projects.
Why are personal projects so important? First, they show that you have passion and desire for improvement. Everybody wants a developer that is continually learning and evolving. Also, how can you show an employer that you can write quality code and you know the technologies you list in your resume? Sure, they can ask you at the interview to write a mini-project, or ask you a lot of theoretical questions. But having a decent GitHub account where people can see the projects you build and the code you write can make things more clear.
But what personal projects can you build? How to be relevant? A good start would be to choose online courses that teach you concepts while also building real projects. For example, in Complete React Developer in 2020 (w/ Redux, Hooks, GraphQL) you learn how to build a complex e-commerce platform from scratch. But wait, is it ok to put the projects built by others in your personal portfolio? As long as you were able to completely write them by yourself, you fully understand your code and you are able to explain it, it is totally fine. Never put in your resume/portfolio things that you do not really know!
When you feel comfortable enough, start building projects that could be used by real people, like a simple presentation site for a business, or a portfolio template to help the community. If you can get paid for your personal projects, then great, if not try to help others. The main goal is to build things that challenge you and improve your value. You might not be paid immediately, but if these projects increase your knowledge, be sure that the next employer will increase your salary!
6. Learn Algorithms and Data Structures
Oh boy, my college nightmare… I failed my algorithms exam 4 times. Without the help of my classmates, I wouldn’t have even made the exam! If I hated something during college, those were the algorithms.
But hey, you said you are a Frontend Developer, do you need algorithms and data structures in those jobs? To be 100% honest, during my junior developer interviews I didn’t encounter them. At my first job, I didn’t use them. But at the intermediate/senior interviews, chances are very high to encounter them. Especially when we talk about companies with smart developers, good development environments and high salaries. Also, algorithms and data structures apply to all software developer positions, so if you want to be a top developer, you have to learn them! Why are they important? When we talk about algorithms and data structureswe automatically talk about complexity, about the efficiency of the code we write. Big companies want their code to be fast, to be performant. Also, they are great for testing your problem-solving skills, which are essential in your day to day activity.
After you have all the knowledge, you need more practice. There are so many coding interview videos on youtube, challenge yourself: can you solve them? And one good way to test yourself is by solving challenges on algorithm platforms. Leetcode is a great example, you can code in whatever programming languages you like, they provide test cases and compare your time and space complexity to others.
I might have failed my college exam 4 times, but I’ve passed my most important algorithm exam by now: the interview. You can do it too!
7. Behavior and Mentality
This one is my favorite one. So underrated by many developers, but so important for many team leads or managers.
I know managers that sometimes end their interview after only 5 minutes. Do you know why they do that? Because an interviewee didn’t know how to answer a technical question? No. But because the interviewee is arrogant or disrespectful.
Recently, I was chatting with a friend about an interview and he told me he was being asked the “classical stupid behavioral questions”. Do not underestimate the importance of those questions. For my new position, I have received one hour and a half of behavioral questions, not from HR people, but from my future colleagues. And you know why this happens? Developers with good behavior and mentality are really hard to find! Master the Coding Interview: Data Structures + Algorithms has a dedicated section for non-technical questions and how to tackle them. I suggest preparing behavioral questions before the interview, introspecting yourself a bit to realize your biggest achievements and weaknesses, it will certainly boost your confidence.
I once saw a post on Facebook by a developer: “I hate working in a team, the others just slow me down. Leave me alone and I can do my job better”. Another friend recently told me about a work colleague that refuses to help him when he’s got a problem. Do not be that type of person! Do you think Facebook, Youtube or Amazon could be built by only one person? Software development is about teamwork, collaboration, and information sharing. Do not forget that there was a time when you had no idea how to code. If others had not shared their knowledge, how would you have learned?
Also, there is another terrible mentality that I keep seeing at developers: “I do not have any task allocated, so I’ll just waste my time until I receive one”. This is crazy! Don’t you have anything new to learn? Any skill to improve? I had an interview at a company that allowed the employers one full working day per month just for individual study, to keep up with the latest technologies. Do not resume only to your working tasks, keep improving and use your time efficiently. Have you finished your tasks earlier? Cool, then do some online courses, improve your skills, solve some algorithms, there are so many ways to improve as a developer.
One last thing: do not underestimate yourself! Do you have the word “junior” in your headline on LinkedIn? Why? Let your employer decide your seniority level, it is not only about years of experience! Learn how to value yourself and to highlight your skills.
Congratulations, you made it till the end! Growing in your career is not easy and is not always linear. Sometimes you make progress quickly, sometimes you struggle more, it is normal. To be sure you are heading in the right direction ask yourself weekly: “What have I learned this week?”. Even if it’s a small thing, be proud, you are making progress. Just make sure the pieces of information you learn can be linked together at a point. This picture is quite eloquent, making a small progress every day will have a substantial impact within time:
Get out of the comfort zone, stay informed and keep a positive attitude.
If you are interested in web development(but also other software development areas), you can check all the online courses I’ve mentioned above at the ZTM Academy. There are so many resources from where you can get your information those days, but you don’t have infinite time. Those courses have massively helped my career move forward, so I can recommend them to you with no hesitation. Andrei Neagoie is an amazing instructor and I can’t be thankful enough for what he’s done for me.
If you have any additional questions or messages, feel free to send me an email at email@example.com. I might not answer immediately, but I’ll definitely do my best to give a useful reply. Also, tell me: what would you like my next article to be about? I would love to hear that!
I really hope this article will inspire your career. Hope you enjoyed it! And if you did, sharing or clapping it will definitely boost the chances to inspire even more careers!
Pentru mai multe detalii despre Politica de Confidențialitate vă rugăm să accesați această pagină
Cookie-urile necesare ar trebui activat mereu pentru a vă putea salva preferintețele legate de cookie-uri pentru website-ul nostru.
Dacă dezactivați acest cookie, nu vom pute salva preferințele dumneavoastră legate de cookie-uri pentru website-ul nostru. Asta înseamnă că de fiecare dată când vizitați website-ul va trebui să activați sau să dezactivați cookie-urile din nou.
Acest website folosește Google Analytics pentru a colecta informații anonime precum numărul de vizitatori al website-ului și cele mai vizitate pagini.
Menținând acest cookie activ ne ajutați să îmbunătățim website-ul și implicit experiența dumneavoastră în utilizarea acestuia.
Vă rugăm să bifați întâi Cookie-uri Necesare (din tab-ul aterior) pentru a vă putea salva preferințele!
Politica de folosire Cookie-uri
Mai multe informații despre politica folosirii cookie-urilor puteți afla aici