DEV Community

Cover image for Senior Front-End Developers Share Advice for Juniors: What Would You Add?
Ben Halpern for CodeNewbie

Posted on with Erin A Olinick

Senior Front-End Developers Share Advice for Juniors: What Would You Add?

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)

louiseann93 profile image
Lou Willoughby

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.

sally077 profile image

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.

louiseann93 profile image
Lou Willoughby

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!

Sloan, the sloth mascot
Comment deleted
tracygjg profile image
Tracy Gilmore

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.

bolt04 profile image
David Pereira

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 :)

tracygjg profile image
Tracy Gilmore

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.

ben profile image
Ben Halpern

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.

lakhmorfatiha profile image

Thanks! I add to that list : Todd Motto

lexlohr profile image
Alex Lohr

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.

nishantlabs profile image
Nishant Kumar Sinha

Saying this based on my 9+ years of work, both on frontend and backend, may not be agreed by everyone :)

  • Don't just estimate coding tasks, there are other activities required which also need time like Jira hygiene, unit test, dev testing, something went wrong during development
  • Always try to resolve issues on your own, it will help you on longer run.
  • Understand business, coding is not everything.
  • Be hungry and be curious
  • Make a habit of reading and understanding code written by someone else, be it good or bad. With every read you will either learn how to code or how not to code.
  • Don't criticize others' work because they might be more intelligent than you but were limited due to tech at their time or project timelines to do coding due diligence.

Happy coding!!

vkchaitanya535 profile image
v krishna chaitanya
  • I believe juniors are very talented and more skilled in some aspects.
  • Just learn to take responsibility and organise your work. it's as simple as that it's the only thing - that saperts you from seniors
namenotavilable profile image
Adam Markiewicz

I would just like to thank you all willing to share quality knowledge and save myself time naming everybody

drumor profile image
Ludovic Taffin

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.

neelduttahere profile image
Neel Dutta

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.

kethinov profile image
Eric Newport • Edited
  • There are more than 100 HTML tags for a reason. Learn them. Use them. Don't just use divs and spans.
  • Practice DRY (don't repeat yourself) but use the least complex abstraction necessary to achieve it (e.g. if you can get the job done by declaring a function, then declare a function; don't abstract it out into factory patterns or some other crazy thing just to make yourself look smart).
  • Prefer using the native features of your programming environment before bringing in a dependency (e.g. use vanilla JS instead of a JS library where possible).
  • Prefer upgrading existing programming interfaces rather than replacing them or abstracting them beyond recognition (e.g. use progressive enhancement instead of replacing the web with frameworks wherever possible).
  • Build technical credit rather than technical debt (i.e. when forced to choose between fast, good, and cheap, it's almost always better to choose good before the others; otherwise you'll lose fast and cheap too in the long run due to technical debt).
  • It's usually best to avoid JS frameworks on the frontend. Most web apps don't need them. Vanilla JS + a collection of small JS libraries is usually better.
  • Learn the frameworks anyway. Even though it's over-engineering to use them most of the time, most jobs require you to know them because some overpaid architect over-engineered their app, so you gotta learn how to use the frameworks and be a good citizen of the framework's best practices in order to be a good team player. Some day when you're an architect, don't repeat the mistake: prioritize architectural simplicity and do your junior devs a favor.
hazannovich profile image

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.

ashcript profile image
As Manjaka Josvah • Edited

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?


dipanjan profile image
Dipanjan Ghosal

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.

kethinov profile image
Eric Newport

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.

pcjmfranken profile image
Peter Franken

Don't listen to too much advise and never follow it blindly. Be your own authority.

devdufutur profile image
Rudy Nappée

Don't listen (too much) advices from senior devs, just practice, practice and practice, you'll find your own way !

maxart2501 profile image
Massimo Artizzu

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.

manuartero profile image
Manuel Artero Anguita 🟨

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.

maxarias profile image
Maximiliano Arias

I would say to stay curious.

webjose profile image
José Pablo Ramírez Vargas

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.

  1. 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.

  2. If something is called "dangerously", think 3 times before using it.

  3. 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???

  4. 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".

  5. 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.