I am a developer with a passion for testing. I've been coding for 14 years and I want to share my experience and learnings with other developers to help them write better software.
Ability to take a problem as a client would describe it and then translate that to problems that can be coded
some degree of comfort with any programming language (not html or css)
ability to communicate especially code design ideas, problems you're stuck on, and why you did what you did.
A lot boils down to not necessarily having the right answer but communicating how you get to SOME answer and being willing to have constructive conversations about your design and code.
Ability to take a problem as a client would describe it and then translate that to problems that can be coded
This! Also, the inverse of this which is the ability to explain technical concepts to non-technical clients, like informing stakeholders why feature x would take x amount of time.
If I asked a lateral thinking question (how many ping pong balls can fit on a school bus), complaining that it's a waste of time or pointless question.
refusal to listen to help (though I acknowledge this is easily misconstrued during interviews with not wanting to look ignorant)
I think there was one or 2 other examples I had in mind when I posted but they aren't coming to me. I've interviewed a few people who thought their school, internship, or 1 other brief job made them way better than they were. They ended up being close minded, hard to work with in a team, and poor at communicating their ideas.
for a junior I dont think all of the above is necessary. Knowledge and the basic practicals are indeed a necessity.
Lets be real here. you dont NEED a stack overflow profile as a junior.
No. Absolutely, no. I have eight years experience hiring and training junior developers, as I mentioned elsewhere, and I have never needed them to know any of this (or the equivalents from our stack)! And yes, before long, they were proficient.
All I ask of them in the technical skills is:
Working proficiency in some programming language. Any programming language. It really doesn't matter which one.
Familiarity with essential programming concepts: variables, functions, loops, etc.
Familiarity with at least one paradigm: OOP, functional, generic, etc.
The rest can be picked up on the job. You should be expecting that with a junior.
And yes, most of the juniors I've hired have had little to no experience with the languages we use at MousePaw Media, but that has not been much of an obstacle at all. They're intelligent! Their first assignment is usually to code review a more experienced developer's Differential (think Pull Request), referencing the language documentation and asking questions to understand what all is happening. The first month is a little rough for them, but before long, they're quite proficient.
I am looking for internship positions and I am facing this issue right now. All of the organizations are expecting me to already know every language and framework, I am baffled.
Zero. They can read, and any good organization should have a workflow document somewhere. Heaven knows, there are only about a hundred possible "standard" workflows possible with Git.
it depends on your position and the project that you will be affected, a junior is a grade to make a difference in the salary, you should have passionate about coding, having the habits to ask in StackOverflow, GitHub issues
Basic mastery of your tech stack (If the job is for embedded systems, maybe don't walk in and say you only know HTML lol)
Basic GIT
Basic algorithms (if you can do fizzbuzz you're gold)
Enthusiasm
A willingness to learn.
It might take 3 months of training to get someone from a hobbyist to professional junior level but they'll also probably spend much more time with the company to learn. If I had a company I would want someone who has attachment to the company, not someone who shows up for a check.
It's a priority , because you can be a guru in any technology but as a junior developer, while joining a company you will work with the team , if you didn't' matter how to write a good commit message, create a new branch for each task how to make a rebase a pull, git checkout, you need them as skills into the programming war
Hi! I'm an aspiring computer scientist with interests in quantum computing and distributed systems. In this blog, I write about the useful things I've learned during my programming journey.
As a point of reference: I'm considered an expert in the Python language, extremely proficient with C++, and skilled with algorithms, efficiency, memory management, and data structures. I've written libraries, applications, and games. I've trained a dozen young developers and counting, helping them launch successful careers. I'm a technical author and a speaker. Based on interactions, I am at least as proficient a developer as your average Javascript programmer, and more-so when we're talking about someone with less than about five or six years experience. And I am not proficient in Javascript.
(This isn't to inflate my image, but rather to point to the fact I'm no greenhorn.)
I've made a careful technically-driven decision never to waste my time on Javascript. My work with HTML and CSS, while there, is fairly sparse. I do almost nothing in web development.
Don't inflate your favorite languages to be "essentials". No language is an essential to the whole of the industry, especially not one as highly abstracted as Javascript.
If you're hiring a 'Junior Developer' you're not looking for a list of technical skills / experience.
Instead you're looking for traits such as:
Can't echo this sentiment enough. You're looking to hire a person, not a computer.
i agree
Why attention to detail is like a computer?
It isn't. I was agreeing with you.
...a lack of an ego.
Eight years experience hiring junior developers, and I'm still shocked at the egos I see sometimes.
A lot boils down to not necessarily having the right answer but communicating how you get to SOME answer and being willing to have constructive conversations about your design and code.
This! Also, the inverse of this which is the ability to explain technical concepts to non-technical clients, like informing stakeholders why feature x would take x amount of time.
Fair call out, I typically see this as senior or above expectation but that could depend on the team and the company.
In what ways can a Junior show Ego?
Best list I've seen yet!
for a junior I dont think all of the above is necessary. Knowledge and the basic practicals are indeed a necessity.
Lets be real here. you dont NEED a stack overflow profile as a junior.
No. Absolutely, no. I have eight years experience hiring and training junior developers, as I mentioned elsewhere, and I have never needed them to know any of this (or the equivalents from our stack)! And yes, before long, they were proficient.
All I ask of them in the technical skills is:
The rest can be picked up on the job. You should be expecting that with a junior.
And yes, most of the juniors I've hired have had little to no experience with the languages we use at MousePaw Media, but that has not been much of an obstacle at all. They're intelligent! Their first assignment is usually to code review a more experienced developer's Differential (think Pull Request), referencing the language documentation and asking questions to understand what all is happening. The first month is a little rough for them, but before long, they're quite proficient.
This really looks reasonable!
I am looking for internship positions and I am facing this issue right now. All of the organizations are expecting me to already know every language and framework, I am baffled.
If you're still looking come August 15, check out MousePaw Media's internship program. (That's when hiring for the next cohort opens.)
I would expect them to
now this is acceptable..
Zero. They can read, and any good organization should have a workflow document somewhere. Heaven knows, there are only about a hundred possible "standard" workflows possible with Git.
Is being comfortable with the general GitHub workflow a good start and then adjusting to meet organization workflow?
guides.github.com/introduction/flow/
Honestly? Being comfortable with any VCS workflow is a good start.
Enough to commit, push, pull, and merge.
it depends on your position and the project that you will be affected, a junior is a grade to make a difference in the salary, you should have passionate about coding, having the habits to ask in StackOverflow, GitHub issues
I guess good Git skills are eventually needed for team collaboration. As most companies depend heavily on the tool
as a junior developer, it pisses me off to see all "junior developer" or "intership" job postings that require 3+ years of experience
I'm not sure if there is a standard but from searching I think the maximum is 1 year?
But then I think different companies always have an interpretation for what experience really is...
Basic mastery of your tech stack (If the job is for embedded systems, maybe don't walk in and say you only know HTML lol)
Basic GIT
Basic algorithms (if you can do fizzbuzz you're gold)
Enthusiasm
A willingness to learn.
It might take 3 months of training to get someone from a hobbyist to professional junior level but they'll also probably spend much more time with the company to learn. If I had a company I would want someone who has attachment to the company, not someone who shows up for a check.
If you're not willing to invest in people I don't see how you can ever expect them to invest in your vision.
It's a priority , because you can be a guru in any technology but as a junior developer, while joining a company you will work with the team , if you didn't' matter how to write a good commit message, create a new branch for each task how to make a rebase a pull, git checkout, you need them as skills into the programming war
As much you learn, us is good for you, there is basic commands you should learn and master
Wonderful lists so far, awesome comments everywhere...I just came to read and I'm pleased i did...Thanks all!
I went through the comments and learned a lot, these tips will help when I'm hunting for a junior role as I'm currently interning. Thank you.
I recommend this article towardsdatascience.com/soft-skills... about soft skills for developer
Thanks for that! I'm working on marketing myself as a junior dev, and those are the sort of things I had forgotten to emphasise.
I feel it is a must for all software roles. It speaks a lot about the basics of programming.
Blinks
Yeah, sorry, no.
As a point of reference: I'm considered an expert in the Python language, extremely proficient with C++, and skilled with algorithms, efficiency, memory management, and data structures. I've written libraries, applications, and games. I've trained a dozen young developers and counting, helping them launch successful careers. I'm a technical author and a speaker. Based on interactions, I am at least as proficient a developer as your average Javascript programmer, and more-so when we're talking about someone with less than about five or six years experience. And I am not proficient in Javascript.
(This isn't to inflate my image, but rather to point to the fact I'm no greenhorn.)
I've made a careful technically-driven decision never to waste my time on Javascript. My work with HTML and CSS, while there, is fairly sparse. I do almost nothing in web development.
Don't inflate your favorite languages to be "essentials". No language is an essential to the whole of the industry, especially not one as highly abstracted as Javascript.
This is soo Apt!
Thanks
I need a job as a front end developer. There are many founders here, you can hire me Emergency