loading...

Question regarding "Junior Full Stack Developers"

twitter logo github logo ・1 min read

I've been hearing a lot of people refer to themselves as Full Stack Junior Developers, but how does one become one? Doesn't the very nature of being Full Stack mean you've gained enough experience to no longer be a Junior Developer? And while on that topic, when do you know you've gained enough expertise to graduate from being a Junior Dev?

twitter logo DISCUSS (16)
markdown guide
 

A popular definition of a Full Stack developer is the ability to start with an idea and help bring it to fruition. It includes understanding the requirements, help arrive at work estimates, fulfill the UI/UX commitments, program the front-end piece, understand the middle-ware needs--if any, implement the backend, and be able to tackle the persistent store needs. This individual should also be able to satisfy the build pipeline needs, and the coding work should meet the guidelines from the Security and Operations teams.

A junior Full-Stack Developer is someone who can be part of an agile product life-cycle journey and be able to hold his/her weight working across the team boundaries.

To become a candidate, pick a tool that supplement roughly each of the area mentioned above. Work experience is important. Though working on a project on your own and sharing the work in your Github public profile goes a long way to prove your mettle.

 
 
 
 

I think there is no real clear definition of what full stack development is. Every person and company has their definition of full stack development and it keeps changing continuously.

How you can become one depends what your current skill set is, what you want to achieve and what type of technology stack a company is using. It all depends what type of role you want to have and what type of company you want to apply to.

Lastly, how do you know you have gained enough expertise? Honestly, I think that is something only you can answer to yourself. Do you feel you're confident with your current skills or you found it (too) easy to do your job, then maybe that is an indication you have gained enough experience. But in the end, it all depends what you want to do.

Sorry if this doesn't answer your questions directly, but I think the term full stack development is just too broad of a concept to answer.

 

There's not really a clear cut definition of being what justifies being a full stack developer due to differences in technologies used and a wide area of specialisation.

In my Why be a full-stack developer article.

I focus on skill stacking to provide you with unique insight into the world while you are developing software.

In terms of graduating from Junior Dev into Senior.

In the articles, I read it points to both technical and non-technical skills like:

  • Mentoring
  • Accelerated learning
  • Time management
  • Project management
  • Soft skills
  • TDD
  • Clean code
  • Understanding & creating technical architectures like design patterns or Solid
  • Leadership
 

Ironically, I started my career as a junior fullstack developer because I worked across all our application's stack, from the database to the web interface, and I did all parts equally poorly. That was before fullstack became a buzzword, though. Later in my career I specialized as a backend developer because that's what I enjoy the most and companies started hiring specialized people to do web interfaces and I had to choose one pigeon hole.

So, the way I see it, fullstack means you work across the entire stack of the platform. Junior means that you need guidance and mentoring to be able to build a robust, scalable and high-quality application.

 

I think of the junior and full-stack as two qualifiers for the type of the developer. A junior having under a couple of years of experience under their belt and a full-stack developer is to take part in the entire stack of the project, as well as having experience in design and UI/UX principals.

I also really like the term "mid stack" that I have been hearing recently which is front end, developers, who focus more on Javascript frameworks, as well as being able to write basic routes on the server, without really having any complex understanding for serverside development or databases.

My title is a junior full-stack developer. I had gone to school for traditional backend and low-level programming, but I also went for UI/UX and frontend development. So my day today, I work with anything in our stack from styling for accessibility to databases, to dev ops. But I certainly don't have the experience or insight of a senior developer.

 

This is a good question, and I think a not-small-part of why is this being asked is because of bloated job descriptions. Something newer developers should understand is that many job descriptions are pie-in-the-sky wish lists that don't accurately reflect the job descriptions. The same murkiness can surround what defines a junior dev, and job descriptions that ask for 2-3 years experience for a junior role don't help, since it's (very) arguable that most people will no longer be junior after two years on the job.

 

Full stack means you understand and can build for the full web architecture in a production setting. For example, you create interactive pages in the frontend of the application, but also write the backend code to deliver it from the server and any relevant database or other backend needs.

Many people will specialize in interactive frontend work or backend dev which includes routing and server-side architecture, choosing to specialize in one or the other.

It is mostly a silly term created to set expectations for job roles.

In my opinion, every dev on the web should understand the full web architecture since they are closely tied.

It is unrelated to the term junior dev other than the fact a junior dev will not understand the full web architecture since they have not been working with it long enough to fully understand it.

 

Just my opinion, Full Stack Developer is a role created by the employers pay a little bit more and got a mix of roles ( Frontend + backend + DevOps + .... ), because if you was knowledge about front + Backend or more your are not Junior at all.

In technology every stack is a whole universe witch you most waste some time to get a relevant knowledge to start a do be able to develop something eligible to development market.

sorry about my English, I'm brazilian :P

 

I am not sure that any of the answers so far have talked about the progression from being a Junior Dev. The way that I think about it is that when you are starting out you tend to ship code as the "the first thing that works". In this sense a person is junior in that they need some help and guidance to create code that goes beyond the basics. At this stage starting on a feature with a blank file in an editor is really draughting and being given an outline to fill-in helps with confidence.

Someone becomes senior in my eyes when they are able to create an outline for others to fill-in and when are able to see and fix problems before they become obvious bugs. They are able to speak from experience as to why writing code in one way or another is less error prone or more maintainable. They should know the idioms of the languages and frameworks they use. At the point where you are able to help others with these matters you are in my eyes working as a senior developer.

A lead developer goes beyond being a senior developer in being able to bootstrap new applications or "team sized software" from scratch. They can evaluate and select new libraries and frameworks to use and write a shell of the system that the rest of a team can flesh out.

So to answer the question "when have you gained enough expertise" is simply "when you start working at the next level". Often pay and job title lag behind where a person really is at. Other times a person gets dropped into a situation where they have to step beyond where they were before and they have to stretch. In my experienced the best thing you can do is work with different folks that you can learn from and share ideas. If you spend your time feeling like everyone around you knows more than you then eventually you know your craft well.

 

Many people going into work nowadays in dev are under the impression that unless they are full Stack they will never get hired, which is effectively reflected in most requirements for entry level job postings. So, most of the people I have known (myself included) are expected to effectively be 'full stack' in order to get even an entry level job. A lot of people either end up studying outside of school to learn all the additional skills needed to get a job, or going to a training boot camp after graduating to get 'Junior full Stack' status before getting a job. Only to find out the real reason they were not getting jobs is the lack of Certifications, which generally cost a few hundred dollars to test for, but often are not noticable on a list of some job requirements, but what people are generally looking for.

 

I teach an immersive boot camp where students learn to develop three-tier, (full stack) web applications in three months. When they get their first job (which over 93% do) they are junior developers because they have little experience.

IMHO developers are not junior anymore when they can take on average projects on their own.

 

I was hired as a junior full stack developer for a very small team (1 other developer!). For me it just meant that I knew enough about coding to code, and be able to learn whichever technology or language the job requires. When I started I knew html/css/js (with some node)/limited php and iOS. I assume if you've studied computer science (or have the equivalent in work experience) you would have an understanding of the "full stack" (front and back end).

I graduated (I think?) from junior dev about a year ago. I still think of myself as junior (thanks imposter syndrome). The easiest marker was that I was given a pay rise. Monzo (challenger bank in the UK) released their "progression framework", and I found myself ticking off and climbing up the levels. progression.monzo.com/engineering/web

 
Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

Maybe I'm just being a cranky old man, but bullshit to all of it. I've met exactly one engineer I would call full stack of any level, and he would never call himself that. Full stack is just a way of saying, "I know what makes up an end to end application, but I can only do HTML and CSS." I translate this to useless. In the circles I've been in, Full Stack is a dirty word.

Focus on an area you really like. You enjoy working with the DOM, writing Web Components or React components or what-have-you, and giving users a great experience? Work on being a badass frontend engineer. Enjoy working in the database and designing APIs for other engineers' use? Go down the backend path. Prefer just designing web pages? Learn information design, visual design, etc. and become a UI designer. Then go the extra mile and become a UX engineer.

Calling oneself full stack just means the person sucks at everything. Focus on one area, then branch out as needs arise. Let's hope resume and Github speak for you. On your resume/CV, just describe what you've done in what domains.

#unpopularOpinion #iHateBootcamps #sickAndTiredOfShittyJobApplicants

The only thing I would say being a Full Stack engineer is useful for is if you're doing freelance and targeting non tech people. They don't know enough to know a shitty job has been done.

Classic DEV Post from Nov 13 '19

Apples announces new 16-inch Macbook Pro

Discussion thread for the new Macbook Pro thread

Sloan profile image
I help moderate content on this platform. I also ask questions on behalf of members looking for advice from the community.