The Struggles of New Graduates

I had a lot of interesting conversations while at SIGCSE last week, but the best talk I attended was given by Microsoft’s Andrew Begel, 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:

  • Programming
  • Design
  • Peer mentoring
  • Using many strategies when debugging

They are bad at:

  • Engaging a large, legacy codebase without using written docs
  • Reproducing bugs
  • Using new tools
  • Reflecting on their own progress (knowing when they are stuck)

They interact naively with other team members when:

  • Asking questions
  • Triaging and resolving bugs
  • Attending meetings

Beliefs of new developers:

  1. I must prove I am smart, productive and write quality code from day 1.
  2. I must do everything by myself.
  3. I must fix all bugs I personally find in the code.
  4. Don't ask questions.
  1. It compiles, therefore it works. If it has bugs...well, that's what testers are for.
  2. I know when I get stuck.
Self Esteem
  1. It can't be the bug repro instructions, it must be me.
  2. 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…

In the wake of posts about Shopify's support for white nationalists and DataCamp's attempts to cover up sexual harassment
I have had to disable comments on this blog. Please email me if you'd like to get in touch.