The Struggles of New Graduates
I had a lot of interesting conversations while at
last week, but the best talk I attended was given by Microsoft's
, who spent a year studying the problems new college graduates face in their first software development job. The takeaway:
New developers' problems are mainly due to poor communication, not technical skills.
What do new developers do?
Programming (reading >> writing, commenting, proofreading)
Working on bugs ((repro, reporting, triage) >> debugging)
Testing (writing, running)
Revision Control (check in, check out, revert)
Documentation (reading >> writing, search)
Specifications (reading >> writing)
Tools (discovering, finding, installing, using, building)
Communication (asking questions, persuasion, coordination, email, meetings, meeting prep, finding people, managers, teaching, learning, mentoring)
New developers are good at:
Using many strategies when debugging
They are bad at:
Engaging a large, legacy codebase without using written docs
Using new tools
Reflecting on their own progress (knowing when they are stuck)
They interact naively with other team members when:
Triaging and resolving bugs
Beliefs of new developers:
I must prove I am smart, productive and write quality code from day 1.
I must do everything by myself.
I must fix all bugs I personally find in the code.
Don't ask questions.
It compiles, therefore it works. If it has bugs...well, that's what testers are for.
I know when I get stuck.
It can't be the bug repro instructions, it must be me.
My self-worth is directly related to how much I coded today.
I think this is really valuable work; it'd be great to see it repeated with new grad students...
comments powered by Disqus. comments powered by