The trajectory of a software engineer

9
The trajectory of a software engineer… and where it all goes wrong http://michaelochurch.wordpress.com/2012/01/26/the- trajectory-of-a-software-engineer-and-where-it-all-goes- wrong/ Michael O. Church

Transcript of The trajectory of a software engineer

Page 2: The trajectory of a software engineer

● Subtracter: 0.0 - 0.9● Adder: 1.0 - 1.9● Multiplier: 2.0 - 3.0

Levels

Page 3: The trajectory of a software engineer

● 0.0 to 0.4: Complete novicelearning programming

● 0.5 to 0.7: Sound grasp of fundamentals○ “Programmer” but not yet an “engineer”○ Code is likely to be sloppy and unmaintainable○ Architectural skills are likely to be weak

● 0.8 to 0.9: Becoming an adder○ Aware of the practical concerns (maintenance,

runtime safety)○ Decent understanding of software engineering

Subtracter

Page 4: The trajectory of a software engineer

● 1.0 to 1.3: Full-fledged adder○ Top 50%○ Average software engineer is around 1.1○ Can be trusted to manage a small project “full-cycle”:

design, implementation, testing, and integration○ Reasonable quality, but the engineer is not ready to

be responsible for meeting○ Deadlines, production support, or company-wide

concerns

Adder

Page 5: The trajectory of a software engineer

● 1.4 to 1.6: Solid adder○ Top 10%○ Can be trusted to independently solve most

problems in an elegant and maintainable way○ Can make reasonable time estimates and

communicate in both business and technical terms○ Can handle small levels of deadline

Adder

Page 6: The trajectory of a software engineer

● 1.7 to 1.9: Becoming a multiplier○ Top 5%○ Not only solve immediate problems, but improve the

state of company infrastructure○ Routinely suggests architectural and process

improvements, and is ready to be “tech lead” for important projects

Adder

Page 7: The trajectory of a software engineer

● 2.0 to 2.3: Full-fledged multiplier○ Top 2-3%○ Obvious technical leader○ Whose contributions add immense, demonstrated

value to the team

Multiplier

Page 8: The trajectory of a software engineer

● 2.4 to 2.6: Becoming a global multiplier (“Fellow”)○ Top 0.25%○ Contributions are company-wide or extend even

further (e.g. to the open-source community)○ Can be trusted to work on independent research

(with full autonomy) and lead major initiatives

Multiplier

Page 9: The trajectory of a software engineer

● 2.7 to 3.0: Senior fellow○ Known within and outside the company as one of the

best computer programmers alive○ Can design new programming languages and

produce good ones

Multiplier