Communication
level 8
- poorly communicates status
- doesn’t share anything with anyone
- doesn’t consider or internalize feedback from others
- does not participate in any user groups, forums, or even twitter
- is unaware her feelings are an important ingredient in project success
level 9
- can write a basic bug report
- attends the occasional conference or meetup
- Tries to keep feelings to self thus not allowing others to influence or guide career path
level 10
- documents code using standard code documenting formats and approaches including block documents and readmes
- offers constructive feedback to peers, sometimes without being asked
- Provides status updates when asked
- Summarizes technical blockers (issues that are keeping them from making progress) in writing for stakeholders
- Commits in repos are clearly written and accurate
- Feelings are sometimes expressed as reactions, rather than considered responses
level 11
- comfortable offering constructive feedback to all levels, even clients
- accepts feedback and modifies behavior based on the feedback
- Always writes down processes and procedures to follow for other developers
- Regularly updates other members of team, PM in particular, on status, including whether they are blocked, questions, and how long current task may take to complete
- Actively participates in retrospectives and other performance meetings (one-to-ones), e.g.: shares their ideas with other members of the team
- Communication is truthful and accurate (no effort is made to cover one’s mistakes)
- Expresses feelings regarding a project during retros or other organized meetings (one to ones)
level 12
- Is able to express the same ideas to distinct audiences
- Does not rely on emotion to communicate an idea
- excellent ability to communicate status to all interested parties, including when the news is bad. Using a whiteboard to summarize project status is an excellent example of communication at this level.
- is active in user groups and meetups (but why is this significant?)
- regularly peer reviews others’ code
- gives feedback (Clean Code study group is indirect feedback)
level 13
Someone who is able to communicate clearly ALL THE TIME to all members of the team from the client to the junior developers. This person will be able to communicate complicated ideas concisely to non-technical people and junior developers and will be able to defend their own decisions clearly to more senior developers. Will ask questions when necessary and not ask questions when not necessary. All the team will be confident they understand everything this person says. An important skill this person will have is listening, they will be able to listen, process and empathise with the speaker without prejudice of their own pre-existing ideas. If they in are disagreement they will be able to communicate it clearly in a non-confrontational way so all members of the team feel safe talking to this person.
- writes an occasional blog post or other research summary, documented code example
- Communicates with non-technical team members to give technical advice.
- Is able to articulate non-technical ramifications of complex technical decisions to non-technical people in terms that allow them to make informed decisions
inspires confidence
level 14
- regularly summarizes research and shares, maybe via blog or gists
- gives talks at conferences and in their company
- successfully communicates technical topics to a wide variety of audiences