Craftsmanship Levels Template
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

 
View only
 
 
ABCHIJKLMNOPQRSTUVWXYZAAABACADAE
1
John DoeSr. ResidentTechnical PerformanceFeature LeadershipProject LeadershipCompany Leadership
2
Mentor: Bob SmithNon-complexComplexFieldBreakdownDefineTechnicalTeamTechnical
3
Assessed: Oct 2018Solidly Deliver on Well-Defined Tasks on Simple Projects or subsets of Non-trivial ProjectsSolidly Deliver on Well-Defined Tasks on Non-trivial to Complex ProjectsEffectively Troubleshoot and correct Production Support ChallengesTurn Clear Requested Features into Well-defined TasksTurn Ill-defined Features into Prioritized Well-defined tasksIdentify and Manage Inherent Complexity of Technical Challenges and Avoid Introducing ComplexityIdentify Inherent Complexity of Project/Customer Challenges and Avoid Introducing Complexity or Further ChallengesAnalyze trends in market and technology and set and communicate direction
4
Craftsmanship LevelFocus of LevelEasy
Medium
HardEasy
Medium
HardEasy
Medium
HardEasy
Medium
HardEasy
Medium
HardEasy
Medium
HardEasy
Medium
HardEasy
Medium
Hard
5
NoviceLearning Basic Building Blocks of Software Craftsmanship210100
6
ApprenticeApplication of skills on well-defined simple to non-trivial tasks3212100
7
ResidentApplication of skills on non-trivial to complex, well-defined tasks42121010
8
Sr. ResidentApplication of skills on section(s) or subsystem(s)43232021010
9
Previous421111111310110200
10
Current432222221320210210
11
Developer/Designer IAssisting on projects wherever technical skills are needed332131021010010
12
Developer/Designer II
Taking responsibility for implementing sections/subsections as architected by craftsman432321321210210101
13
Sr. Developer/Designer
Taking responsibility for architecting (and implementing) sections/subsections under supervision of craftsman44343243232132121021
14
CraftsmanBreaking a project down and overseeing a team to deliver it432443432432321321
15
Sr. CraftsmanOverseeing Technological Direction while delivering projects443443443443432432
16
Master CraftsmanSetting Long-Term Patterns and Direction and coordination of organizational skills development, projects, and vision444444443443
17
Job Proficiency LevelDescriptions of typical performance for each columnAnyone who knows the related technology can potentially diagnose and/or do it: e.g. Changing calculations, text, manner of display, adding new properties to an object and supporting methods around itSome level of competence is needed to complete the task: e.g. Solution requires new classes and non-trivial methods spanning multiple domain objects (and corresponding controllers/views), more HTML/CSS that can be found in your standard HTML/CSS tutorial, ...More than CRUD but not rocket science. A Craftsman or Senior Developer has outlined steps to take, what to do, and what to look out for and expects someone who has been programming for a while with the technology stack to understand and be able to execute. Example: Upgrading a Rails project from 2.1 to 4.x... there is some section of the code that relies heavily on obsolete approaches to a non-trivial query, the Craftsman has pointed out the new way to do it and possibly some material to read. Anyone who knows the related technology can potentially diagnose and/or do it, but needs to understand and follow established patterns in project, that may be more complex than would be found in a simple tutorial.Some level of competence is needed to complete the task including following patterns in an existing system or handling possible side-effects that have to be considered: e.g. Solution requires new classes and non-trivial methods spanning multiple domain objects (and corresponding controllers/views), consistency and responsiveness of user interface, tests written well and handling edge cases.Expertise needed to complete the task well: e.g. a significant piece of new functionality which requires recognition of patterns. Could be a subsystem, a new category of functionality, or a significant jump in complexity. For instance, going from trivial constraints between objects (if-else) to a modeling of constraints that have their own behaviorA 500 error comes up, would they know to look in the logs and do the right thingHaving a symptom reported that doesn't show up in logs on a familiar system and effectively identify potential sources and running it downHaving a symptom reported that doesn't show up in logs on an unfamiliar system and effectively identify potential sources and running it downNon-complex, but multiple things to consider, e.g. security, UI, model, data integritysemi-complex, multiple things to consider, e.g. security, UI, model, data integrity... no clear existing pattern in the system to follow and new abstraction(s) needed... possible migrations of existing datacomplex, no obvious pattern in the system to follow, high expectations of usability, performance, or other demands OR major refactor needed to keep existing system working while making architectural changesWhen receiving a request for an ill-defined feature, instead of feeling blocked, they extract the information that is readily available as part of breaking down tasksWhen receiving a request for an ill-defined feature, instead of feeling blocked, they identify the information that is not readily available and create a solid strategy for getting that information as part of the task breakdown (spikes, inquiries, research, mock-ups) resulting in solid deliveryWhen receiving a request for an ill-defined feature, after identifying the information that is not readily available and creating a strategy for getting that information as part of the task breakdown (spikes, inquiries, research, mock-ups), which uncovers additional challenges which increases the scope, provide useful information and options to product owners and stakeholders to drive to a well-informed decision.Following patterns, not bringing in dependencies when a class or two with a few methods would do, intention revealing names at all levelsApply patterns to resolve the forces appropriately, refactor at appropriate level to increase clarity and leave a trail for others to follow, using care before bringing in dependencies on 3rd party toolsDeveloping and/or combining patterns via exploration (Spikes, review libraries, research patterns) and apply solutions that match the problem without adding unnecessary liabilities (obscurity, running but not right, missing documentation)Small project, single reasonable PO/Stakeholder, follow RoleModel BestPractices for daily/iteration communication and fully engage the PO/StakeholderHard to nail down PO/Stakeholder, new feature have cascading effects, adjust practices and/or technical approach to solve challengesMany things about team and project are beyond your control, making desired progress challengingProject Level, what, why, and how will we use a particular technology on this project?Stack Level, what, why, and how is stack standarized (Best Practices, templates, approached, etc)Company Level, what, why, and how are going to invest technologies
18
0 = Cannot perform job
19
1 = Can contribute to elements
20
2 = Can perform with help
21
3 = Can perform solo
22
4 = Can teach others to perform
23
Notes on current periodHighlights(List a few examples or areas of excellent performance from the last few months that stand out)
24
Areas for improvement(List the most important things to be improving upon, considering all areas of being a professional including those outside the scope of the matrix above. Some of these areas for improvement may be stepping stones to the next craftsmanship level, but it's more meaningful to narrow the list to the most important things to focus on first rather than just enumerating the gaps)
25
To get to the next level(List the areas that need more experience or demonstration of skill in order for the person to achieve the next craftsmanship level. It's more valuable to describe the gap with the specific individual in mind than to just list items from the matrix above.)
Loading...
Main menu