The trajectory of a software engineer
-
Upload
ngoc-dao -
Category
Engineering
-
view
224 -
download
4
Transcript of The trajectory of a software engineer
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
● Subtracter: 0.0 - 0.9● Adder: 1.0 - 1.9● Multiplier: 2.0 - 3.0
Levels
● 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
● 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
● 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
● 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
● 2.0 to 2.3: Full-fledged multiplier○ Top 2-3%○ Obvious technical leader○ Whose contributions add immense, demonstrated
value to the team
Multiplier
● 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
● 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