DEV Community

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

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

Ben Halpern on May 07, 2023

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

Collapse
 
sally077 profile image
Sally077

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.

Collapse
 
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!

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
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.

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

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

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

Collapse
 
lakhmorfatiha profile image
LAKHMOR Fatiha

Thanks! I add to that list : Todd Motto

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

Collapse
 
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!!

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

Collapse
 
namenotavilable profile image
Adam Markiewicz

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

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

Collapse
 
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.
Collapse
 
hazannovich profile image
Hazannovich‬‏

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.

Collapse
 
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?

Thanks.

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

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

Collapse
 
pcjmfranken profile image
Peter Franken

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

Collapse
 
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 !

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

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

Collapse
 
maxarias profile image
Maximiliano Arias

I would say to stay curious.

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

Collapse
 
olddutchcap profile image
Onorio Catenacci

My best advice to any developer of any level: learn how to learn. If you pursue a career in software development you will constantly be asked to learn new technologies. Even if you work in a maintenance role you'll need to learn how to read code from multiple developers--no small task.

As developers, we're expected to simply pick up new and complex technologies without missing a beat. I've recently been reviewing an online course on OAuth and I'm shocked about how little I knew on the subject which I was being asked to work with.

Learn how to learn--it will serve you well in your whole career.

Collapse
 
brense profile image
Rense Bakker

I concur with a few other commentors... Don't listen too much to advice. People are always biased even when giving advice. If you have questions, ask them, but take the answers with a grain of salt. The answer to everything in software development is: it depends.

Collapse
 
tppt profile image
tppt • Edited

6 years experience, 3 at my current position. So not necessarily senior, but I've done some things. My biggest thing, especially now in a TypeScript world, is to learn vanilla JavaScript. I've done a number of interviews where candidates knew TypeScript features or their framework of choice (we do Angular), but didn't know what the primitive types were, didn't know how to describe a closure, whether or not JS is pass by value or pass by reference, apply vs call vs bind, etc. Everything gets compiled down to JavaScript, so you need to know how vanilla works since that's what's actually working in the browser.

Collapse
 
edlinkiii profile image
Ed Link III

My two pieces of advice would be: a) don't get complacent - keep learning new things and challenging yourself (trust me, I've made that mistake and paid the price for it) ; b) find a mentor with more experience than you - either where you work or someone online whom you can trust, and do frequent code reviews with them (your code and theirs).

Collapse
 
johnangel profile image
John Angel

I recommend never ever stop refining your knowledge in fundamentals (E.g clean code, design patterns, refactoring, JavaScript, CSS, HTML). Enjoy the ride and don't get nervous trying to learn the greatest and latest version of every single framework/library that is released every single day please! Also make sure you start working in your soft skills (communication, team working) and time management. One great lesson I had from a previous manager was to develop my own project management system, whether in a super sophisticated online tool or a plain piece of paper. The key is to refine it until it's aligned with your own preferences and make you effective on your daily work

Collapse
 
ashleyjsheridan profile image
Ashley Sheridan

My key advice would be: Accessibility is important. Learn a bit about peoples disabilities and how it can affect their web usage. There are a lot of great resources out there to then help understand how to tackle these problems.

If you're a front-end dev, you have to know about this, it's as important as any other aspect of front-end dev work you will face in your career.

Collapse
 
hendrikras profile image
Hendrik Ras

First of all, what is 'senior'? I have over a decade of experience in development and Im still learning.

The thing I dealt with most, is to respect your boundaries as a developer. Sometimes you will make shortcuts because a lot of stuff has to happen in a short amount of time and it always comes back to bite you. Put quality first. And if that means confrontation, well.. that can be a good thing too.

Collapse
 
jquinten profile image
Joran Quinten

The best skills come from communication: with your peers (learn from them) and stakeholders on the projects you're working on. It's better to be transparent about things and manage expectations than over promising and under delivering.

Master your craft and focus on mastering the fundamentals over frameworks. Fundamentals age better.

If you don't have a good mentor in your organization, seek one out, because they can elevate your growth and help with determining and following a path to a certain goal.

When you're not being evaluated on your own output but how you enable others, that's when you're at senior level.

Collapse
 
umeya_kassim profile image
umeya kassim

Am middle programmer I was doing mostly front end html css and JavaScript then I went to python then I did nodejs then back to angular I keep on rotating.am exited to explore more I feel am not there yet currently improving ideas and turning them into systems

Collapse
 
masterblah profile image
Frederico Neto

There are already a lot of good advice about coding, so I will switch context. Frontend is the place were Product Owners, Designers, Backend Developers come together, a very important part of this career is to be able to discuss and sometimes bring reason to all parties involved. Work on your people skills, learn about design and backend (even if just surface level knowledge to get you started) and you will find this job much more rewarding. You can still be a cave dwelling developer, but you will miss on the opportunity to be one of the most important people on any given project.

Collapse
 
jpschutte profile image
Jéan-Pierre Schutte

Understand big O notation, common design patterns, solid principles and angular. Learn typescript first, and dont use any for your types. Other tips - don't overengineer, always develop for mobile first, avoid tech debt (there is never I'll fix it later), build value for the client and not take three times as long just so you're proud of it, perfection is the enemy while good enough is your friend.

Setting this as your foundation sets you up for a successful career. Even if Angular is not used later, it forces you to use Typescript and build frontend using good programming practices.

Once you understand this, you can engineer web apps anywhere with any library or framework. It's easy to code, it's hard to engineer.

Collapse
 
pengeszikra profile image
Peter Vivo

Keep balance between work and life. Try tailwind with simple HTML without any JS. Try JS without any DOM manipulation. Try different languages on codewars. Do some side project for fun.

Collapse
 
wizardzeb profile image
Zeb

Learn to read code. Like really really learn to read it. The syntax is only the beginning. You should be able to look at anyone's source code and navigate it without googling or bringing up a bunch of docs.

Navigating large projects requires you to frequently jump around files. Setup your environment to make that as smooth as possible. In some cases, there are so many files that modern day IDEs struggle to keep up. In that case, learn how to navigate and search for code using the command line.

Reading takes practice and a whole lot of patience.

Collapse
 
citronbrick profile image
CitronBrick • Edited
  1. Name your variables appropriately. It reflects your understanding of what you are doing.
  2. Before you start working on language/platform/tool, bookmark its official documentation.
  3. Follow code conventions & indent your code.

I am mid-level.

Collapse
 
jonkiky profile image
Yizhen Chen

Build the mindset of a senior dev, adopt their communication style, sharpen your skills, and be a team player.

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
nchandan profile image
NChandan

Just read documentation
Nothing else

Collapse
 
stephenshorton profile image
Stephen Horton

Do side projects! Even if it amounts to nothing, programming outside of work gave me the most valuable knowledge.