A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Technocrat | Architecture | Leadership | ||||||||||||||||||||
2 | Technical Skill | Software design | DevOps | Systems Thinking | Software Delivery | Vision and Ownership | Mentoring/Enabling | ||||||||||||||||
3 | Advanced | Expert knowledge of more than one programming environment. | Strong understanding of how to write maintainable software, rarely if ever makes mistakes that lead to poor maintainability | In depth knowledge of how to run the system they are building | Creates a delivery pipeline that tests non-functionals (security, performance, etc) | Understands a broad range of architectural options | Can re-align a misaligned team. | Able to coach and explain technical concepts to all levels (technical and non-technical) | |||||||||||||||
4 | Able to kick off complex projects in multiple programming environments. | Has strong opinions on software design regardless of implementation language | Can improve any delivery pipeline | Able to correctly balance delivery pressure with long term maintenance concerns | Can drive an evolutionary architecture and maintain cohesiveness | Communicates a difficult vision effectively (Slices up a big picture into small consumable pieces) | Able to provide effective, timely negative feedback that avoids conflict and negative feelings | ||||||||||||||||
5 | Most technical decisions are well reasoned | Chooses the correct tool for the job; able to avoid the golden hammer fallacy | Primarily responsible for a delivery programme | Builds responsible & trusted leaders | |||||||||||||||||||
6 | Able to quickly pick up any programming language or framework | Able to find poor software design and will automatically define a sensible roadmap to fix it | Balances the urgent with the important | Can coach other people to deal with difficult situations | |||||||||||||||||||
7 | Arbitrates difficult decisions without creating resentment | Generates healthy situations in difficult circumstances | |||||||||||||||||||||
8 | Builds teams values and behaviours to increase effectiveness | ||||||||||||||||||||||
9 | Can serve the team without losing control | ||||||||||||||||||||||
10 | |||||||||||||||||||||||
11 | Knowledgeable | Can contribute towards most technical decisions with a workable solution | Avoids and guides team members away from software design pitfalls | Able to build a production delivery pipeline from the ground up | Awareness of the risks of non-released software | Prevents technical debt buildup | Maintains a leadership philosophy | Provides directive in difficult situations | |||||||||||||||
12 | Is able to independantly solve all programming problems that are presented | Able to do a large scale redesign | Indepth understanding of shell scriptiing/usage | Builds systems that consider operations first | Builds a flexible architecture | Communicates a vision effectively | Provides timely/effective feedback | ||||||||||||||||
13 | Breaks the rules at the right times | Understands when tests are not providing value | Indepth understanding of system security | Builds responsible & trusted people | |||||||||||||||||||
14 | Able to use multiple programming paradigms (functional, OO, etc) | Applys coupling effectively | Builds scalable systems | Challanges teams values and behaviours to increase effectiveness | |||||||||||||||||||
15 | Strong understanding of multiple datastorage techniques and technologies. | Only uses patterns when they are appropriate | Able to drive iterative performance test plan | Understands that the leader is not the team | |||||||||||||||||||
16 | |||||||||||||||||||||||
17 | |||||||||||||||||||||||
18 | Independently successful | Able to set up a simple project from scratch in any of the languages within their core competency | Creates the right place when there is no right place | Can build a basic delivery pipeline | Performs adhoc testing around non-functional requirements | Has a plan for dealing with technical debt buildup | Has a cohesive technical vision at a project level | Can mentor and enable more junior developers | |||||||||||||||
19 | Knows what good looks like, and will apply it all times | Understands the idea of 'unit' does not neccesarily mean 'class' | Understands a wide variety of dependency management practices and how to choose the right one | Designs APIs to flexible | Can select the most appropriate architecture given several options | Understands and owns up to own mistakes | Has strong situational awareness of people | ||||||||||||||||
20 | Writes readable code and comments only when neccesary | Awareness of effective coupling | Good understanding of shell scripting/usage | Creates a cohesive team through positive social interactions | Provides effective feedback | ||||||||||||||||||
21 | Understands good software design | In depth understanding of choosen build tools | Primarily responsible for a delivery project | Cares about the members of their team | |||||||||||||||||||
22 | Can manage external stakeholders effectively | ||||||||||||||||||||||
23 | |||||||||||||||||||||||
24 | Experienced Beginner | Working knowledge of more than one programming language -or- in depth knowledge of a single programming language. | Working knowledge of design principles | Can build a basic build pipeline | Considers non-functional requirements of the system | Can look at a problem and quantify a few architectural options | Maintains vision of a larger piece of work (feature/epic) within the delivery | Guides a weak partner (in a pairing scenario) | |||||||||||||||
25 | Asks for help in a timely fashion | Puts code in the right places | Understands dependency management (ie: rvm, mvn, etc) | Understands the need for vision and asks for help | Able to do peer to peer mentorship/enabling | ||||||||||||||||||
26 | Uses the code base a reference point but may not able to understand if it is good or not | Understands different testing strategies (test pyramid) | Explain technical solutions well | ||||||||||||||||||||
27 | |||||||||||||||||||||||
28 | Novice | Working knowledge of a single programing language | Understands basic abstractions | Understands basic build tools for a single language | Basic understanding of distributed computing | Knows what architecture is | Maintains cohesion of a story with rotating pairs | Involved in selecting solution during pairing sessions | |||||||||||||||
29 | Can solve problems with direction | Understand basic automated testing | Understands the need for automated system management | Requires guidance on selecting the correct architecture | Maintains an understanding of how to deliver a story | ||||||||||||||||||
30 | Basic knowledge of system configuration management tools | ||||||||||||||||||||||
31 | Basic understanding of shell scripting/usage | ||||||||||||||||||||||
32 | |||||||||||||||||||||||
33 | |||||||||||||||||||||||
34 | |||||||||||||||||||||||
35 | |||||||||||||||||||||||
36 | |||||||||||||||||||||||
37 | |||||||||||||||||||||||
38 | |||||||||||||||||||||||
39 | |||||||||||||||||||||||
40 | |||||||||||||||||||||||
41 | |||||||||||||||||||||||
42 | |||||||||||||||||||||||
43 | |||||||||||||||||||||||
44 | |||||||||||||||||||||||
45 | |||||||||||||||||||||||
46 | |||||||||||||||||||||||
47 | |||||||||||||||||||||||
48 | |||||||||||||||||||||||
49 | |||||||||||||||||||||||
50 | |||||||||||||||||||||||
51 | |||||||||||||||||||||||
52 | |||||||||||||||||||||||
53 | |||||||||||||||||||||||
54 | |||||||||||||||||||||||
55 | |||||||||||||||||||||||
56 | |||||||||||||||||||||||
57 | |||||||||||||||||||||||
58 | |||||||||||||||||||||||
59 | |||||||||||||||||||||||
60 | |||||||||||||||||||||||
61 | |||||||||||||||||||||||
62 | |||||||||||||||||||||||
63 | |||||||||||||||||||||||
64 | |||||||||||||||||||||||
65 | |||||||||||||||||||||||
66 | |||||||||||||||||||||||
67 | |||||||||||||||||||||||
68 | |||||||||||||||||||||||
69 | |||||||||||||||||||||||
70 | |||||||||||||||||||||||
71 | |||||||||||||||||||||||
72 | |||||||||||||||||||||||
73 | |||||||||||||||||||||||
74 | |||||||||||||||||||||||
75 | |||||||||||||||||||||||
76 | |||||||||||||||||||||||
77 | |||||||||||||||||||||||
78 | |||||||||||||||||||||||
79 | |||||||||||||||||||||||
80 | |||||||||||||||||||||||
81 | |||||||||||||||||||||||
82 | |||||||||||||||||||||||
83 | |||||||||||||||||||||||
84 | |||||||||||||||||||||||
85 | |||||||||||||||||||||||
86 | |||||||||||||||||||||||
87 | |||||||||||||||||||||||
88 | |||||||||||||||||||||||
89 | |||||||||||||||||||||||
90 | |||||||||||||||||||||||
91 | |||||||||||||||||||||||
92 | |||||||||||||||||||||||
93 | |||||||||||||||||||||||
94 | |||||||||||||||||||||||
95 | |||||||||||||||||||||||
96 | |||||||||||||||||||||||
97 | |||||||||||||||||||||||
98 | |||||||||||||||||||||||
99 | |||||||||||||||||||||||
100 |