The Mythical Superprogrammer: Fact or Fiction?

From AgileOpenNorthwest

Jump to: navigation, search

Contents

The Mythological Super-Programmer: Fact or Fiction?

Participants:

Emerson – Software Engineering Researcher

Micah – CEO

Jon – Team Lead

Markus – Super programmer

Aaron – Product Development Manager


Related search phrases:

WTF per min

C2> grand master programmer


What makes a superprogrammer?

- 10x faster or more productive

- From the Mythical Man Month > “Surgeon Programmer” =? scrum master

- From Code Complete

- Good at quantifying problem

- Code written has good long-term attributes: more maintainable, better testable, smaller/simpler, greater plasticity

- They recognize dead ends and see different solutions

- Person gives you what you want more efficiently not what they want

- Good at explaining things to others; makes other people more productive


- The goodness is really a continuum, not a step function

- Exponential, with smaller and smaller tail

- Any decent programmer can can be heroic

- Super programmer makes it look less heroic


What's a Superprogrammer's Role in a Software Team?

-A super programmer does not like managing people but wants to manage the code

-In agile role, should definitely be coach

- Management is stressful for the super programmer


How do you identify super programmers?

- Interviewing: Give them think out loud problems; not syntax questions

- Give them a poorly thought out problem → do they have different ways of solving the same problem?

- Creativity seems to be the key

- Maybe with questions we aren't looking for their superness directly; instead we look at how many solutions that they generate as an indicator (correlation) of superness

- Another approach; compare and contrast different solutions given by people that are in the interview room

- Super programmer knows they are worth it and will demand a lot of money

- (some dissent: more interested in project that money)

- Two people said 2 or 3 people that they know are super – something like 5%

- Referrals would help find supers, but an interview would be needed to filter

- Or optionally, say list 20 people that you know, pick the top X programmers

- Perhaps who asks questions at conferences?

- Ask them to look at some generic code, then write tests to bring out the bugs

- It's easier to determine when people aren't superprogrammers!



How do super programmers use software tools?

- Super programmers are not dogmatic

- Typical Java/C# programmers are not super, but greater proportion Java script

- Interestingly, the best tools are in these languages!


Are super programmers Born or Made?

- Mostly made, but require some internal drive.

- Perhaps educational system is wired towards this type of programmer

- Or maybe super programmers transcend educational method

Personal tools