Dear senior front-end developers,
You've been in the industry for a while, and you've gained a lot of experience and knowledge along the way. What advice would you give to junior developers who are just starting out? How can they improve their skills and become better developers? What are some common mistakes you see junior developers make, and how can they avoid them?
Share your thoughts and insights to help the next generation of front-end developers succeed.
Follow the DEVteam for more awesome discussions and online camaraderie!
Top comments (45)
I’m not senior, I’m mid level but my biggest advice would be to learn at your own pace in your own time and don’t be discouraged by how long it can take to learn.
I fell into the trap as a junior of working on a team of more experienced developers than I, who knew more than me and I wanted to be as good as them and learn multiple languages and frameworks and I eventually burnt myself out as I took on too much at once.
Find the one thing you love and want to learn first and really focus on being your best in that, once you have a good understanding and you’re ready to learn another language then move onto that. I always have a list of things I want to learn and it’s all very exciting to start with but giving your focus to learning one language/framework at a time gives you the ability to really be the best you can be on that one thing. Quality over quantity.
I also learnt in Vue.js before I learnt real vanilla JavaScript so in my spare time I do vanilla html, css and JavaScript courses for fun mostly, even though I go over things I already know, you’ll be surprised how much you forget or new things you’ll pick up.
W3Schools, FreeCodeCamp and Wes Bos does some great courses.
Don’t be afraid to google things or ask for help when you need. As we’ve all started from the beginning.
Lastly If you can, find yourself a mentor. Mine is my current Team Lead and the support I’ve received has only given me the confidence and helped me grow to where I am now.
Learning to code is hard work but it’s also exciting and fun. Finding your passion and pride in your work is the best feeling and it makes all the hard times worth it.
I'm work through the free code camp resources now after just completing a bootcamp it's nice to be able to revisit these things in more detail - no pressure just enjoying the coding experience. Thanks for the advice : )
As a new coder I would also say that code pen is a great playground for front end and working out smaller projects/elements.
That’s amazing Sally 😄 I found that after doing an intensive course too, it was really nice to do a FreeCodeCamp course just at my own pace.
You’re right! I forgot about that 😅
Good luck with your coding journey, keep doing what you’re doing and you’ll get there in no time!
1) Consult MDN before Google and StackOverflow. It is the authoritative source of information on web technologies.
2) Find and follow authorities in the domain such as:
3) Start home projects and investigations - keep learning.
I'd add some people to that list:
They have either awesome blogs or videos that you can learn a lot from!
I'd also recommend to follow and learn from Kelsey Hightower, for example this video. It's not particular about front end, but you can learn many valuable lessons from him :)
If you are going to include React evangelists (not that I disagree) we need to be even handed.
You might also want to check out Traversy Media and Scrimba.
Not that people shouldn’t use AI, but it’s going to get even harder to get some devs to consult the sources of wisdom and knowledge over time.
Thanks! I add to that list : Todd Motto
Development is ultimately about people, the ones maintaining your code with you, the ones testing and the ones using it. Be mindful of them.
Unless you are working alone, make good use of your team and let the team make good use of you.
Saying this based on my 9+ years of work, both on frontend and backend, may not be agreed by everyone :)
Happy coding!!
I would just like to thank you all willing to share quality knowledge and save myself time naming everybody
Probably already mentioned but I'll focus on the job world.
I'd say to keep positive about failing a job interview or not being selected for a job simply. It's not your technical skills that are bad most of the time, it's just that they look for specific profile for a job. Even if it feels negative, just take it as a good learning opportunity.
I'm not a senior, but mid-level, and here's my advice. Do not underestimate HTML and CSS. JS frameworks will come and go, but mastering the basics will get you even further, no matter how redundant it sounds. After all, there is no web-page without HTML/CSS.
If i listened to the two last tips my motivation to learn will go down to zero.
As a Junior cs student I have very limited time to learn and the main focus right now is on getting a job.
Maybe its true that all you need is js but if what they are looking for is react dev than its a waste of time.
I think i slowly beginning to understand that its not about what is best for the job but about what people use.
Do you think it's right to use vanilla JS inside reactJS project sometimes while triggering events? I really need an advice about it because recently I did that with my chat app project... I haven't been able to figure out how to do with just ReactJS hooks and features that it provides, so I used a little vanilla JS code to handle what I really wanted to do and it worked. What do you think about that?
Thanks.
Typically you'd want to use React's facilities as much as possible instead of directly manipulating the DOM with vanilla js. However, for some edge cases, its absolutely fine to do so.
Just make sure its an exception rather than rule.
If there is a React feature to do what you're trying to do, and it's already a React project, then most likely the best way to go is to use the React way of doing it. It's important to use the best practices of the framework you're using.
Don't listen to too much advise and never follow it blindly. Be your own authority.
Don't listen (too much) advices from senior devs, just practice, practice and practice, you'll find your own way !
Try to find a balance between trying hard to solve the problems by yourself and asking for help right away.
You'll learn much faster if you report your findings to your seniors and receive feedbacks about them.
Don't rush. This isn't an sprint but a marathon.
We all have been in the "counting-each-month-of-experience-so-I-can-be-tagged-as-senior-as-soon-as-possible" but that isn't as important as enjoying the journey.
I would say to stay curious.
I am a senior backend developer, but as team leader I see about front-end development too. I have seen horrors. I have many tips, I think.
Don't blindly believe the things you read. I have read sooo much things like "NodeJS is a great performer" or "React is more suitable for complex projects than Vue/Svelte/XXX", and so it happens that both are lies. As far as I can tell, Vue and Svelte at least, can do anything React can, and can do it simpler. I have asked to the authors of that phrase for explanations, and nothing comes up. The NodeJS one is a blatant lie too. Do you know that there are over 200 other sever setups that beat NodeJS? That's the fact. Yes, I think NodeJS beats 200 other server setups, but would you say that is "great performance"? I wouldn't. I say it's OK. That's it.
If something is called "dangerously", think 3 times before using it.
This one comes in hand with the previous one: If you are using a component framework, then avoid dynamic HTML generation like the plague. Is this not why you are using the framework in the first place???
Redux is not for everything. The team of contractors @ work stored everything in Redux. Every Thing. When I had to work a bug out, it was such a mess I ended up removing the data out of Redux, and voilá, it worked with regular React states. I asked: "Guys, I'm no front-end dev, but isn't Redux for data that is needed in multiple places only?" To which they replied: "We just decided to store everything there".
Learn your configuration system. If you are using
dotenv
and.env
files, use them well. However, this is a sub-optimal configuration system. There are better ones out there, including wj-config, the one I made. Designed for modern JavaScript and works identically client or server-sided.That's just from the top of my head.