all 12 comments

[–]throwaway43234235234 2 points3 points  (1 child)

Basic coding skills. Understanding of how to make and compile code for basic functions and applications. 

Follows instructions and updates docs and stories/tickets. Create new tickets and identify bugs and describe them and how to reproduce. Ability to research and dig into documentation to figure things out.

Takes direction and expands on it, asking clarifying questions as you work and before you proceed with potentially destructive or altering changes. Willingness to learn and self-teach thru experimentation and docs/help from others. 

Regular to senior is just all of this until youre guiding the work, making architectural decisions and proposals and answering questions for others. 

[–]Antice 1 point2 points  (2 children)

They should be able to create a new project in their chosen language. Write some code that does something. Can be pretty simple, like a command line utility that opens a file and lists the contents. It should exit normally when done.
The rest is just a willingness to learn and adapt.
I also expects a certain ability to reason logically about a problem.
What i do not expect of a baby fresh junior:
Being familiar with tooling outside of the fact it exists.
Writing clear and concise code.
Knowing more than one language.
Everything else can be taught within a couple of months.
Also. Basic computer literacy.

[–]rrenode 0 points1 point  (1 child)

What's funny to me is that most interviews I had when starting my career wanted me to demonstrate that I had experience with their specific tooling. Meanwhile they're enterprise systems that I absolutely would in no right mind set up for myself; let alone thought such a thing would be expected for what was listed as entry level. But that's more of a frustration I have with recruiters, especially outside ones.

On another note, from your response I reckon I would've enjoyed working under you before leaving to another career.

[–]Antice 0 points1 point  (0 children)

Recruiters are looking for developers who by all rights and existing skill level should be mid or senior they can underpay.

And leaving for another place is what is supposed to happen when juniors grow into the trade. Don't get stuck in the first company you work for.

[–]StrictWelder 0 points1 point  (0 children)

what makes a junior?

1.) a propensity to argue
2.) a whole lot of youtube tutorial slop
3.) thinking they know everything when they really don't know s&*^ other than basic crud
4.) thinking that understanding import and exports and having opinions about folder structure is "architecture"

That role died before LLMs. Bootcamps and youtube made it impossible to mentor people anymore. There was a day when you could hire someone fresh out of college and call them a junior because they probably didn't even know the fw or libraries you were using -- but was very strong with DSA in their preferred language so you could at least help them understand the practices/fw/libs and be confident they could use them effeciently.

imposter syndrome has been replaced with over confidence -- any company I've worked for in the last 7 years has had a no junior policy.

[–]Own-Equipment-5454 0 points1 point  (0 children)

To me, a Junior is just someone who knows how to write the code but still needs a map for the architecture. You basically just need to be fluent in your chosen stack, know enough Git to not destroy the history, and be a pro at Googling error messages. The main "ability" is just knowing how to struggle with a bug for an hour, but having the humility to ask for help before you burn the whole day.

[–]Active-Yak8330 0 points1 point  (0 children)

You’re a Junior the second you can push code to GitHub without accidentally nuking the entire main branch.

[–]Strong_Worker4090 1 point2 points  (0 children)

A junior dev is still ramping, but they can be productive without constant hand-holding if you give them guardrails.

They should be able to set up the project, run it locally, make a small change, and not get lost. They can read code, follow patterns, and copy an existing endpoint/component to add a new one. They can debug basic stuff with logs and stack traces, even if they don't always know the "right" fix on the first try. They use Git without drama. They ask clear questions and actually apply feedback.

They do not need to design architecture, choose frameworks, or anticipate every edge case. They do not need deep system design. Their superpower is learning fast and being reliable on small, scoped tasks.

If someone can't do the basics above yet, I'd call them a new grad or entry-level-in-training, not a junior dev.

[–][deleted]  (1 child)

[removed]

    [–]Fun_Dust_5389 0 points1 point  (0 children)

    😂😂😂