• Skip to main content
  • Skip to after header navigation
  • Skip to site footer

Shaping Software

Enduring Ideas in the Realm of Software

  • About
  • Topics
  • Best Software Books
  • Archives
  • JD Meier.com

Knowledge Areas, Capability Levels, and Ladder Levels

Nov 27, 2008 by JD
KnowledgeAreasCapabilityLevelsAndLadderLevels
Photo by Christian Sisson

What’s your map for your career growth?  Do you follow a plan for structured improvement or do you simply move project to project hoping to gain the right skills?   If you think of capability as a function of knowledge and experience, then you can create a map of knowledge areas and a set of experiences that you can use as milestones or checkpoints in your development path.  In Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers , Steve McConnell shares the knowledge areas, capability levels, and ladder levels they use at Construx.

Key Take Aways
Here’s my key take aways:

  • Knowledge Areas – Knowledge areas help identify the buckets or categories of knowledge that are useful for the given domain.
  • Capability Levels – Capability levels reflect the experience or knowledge within a particular knowledge area.
  • Career Ladder – Career ladder levels are a combination of knowledge areas and capability levels that help define criteria for career growth.

I really like the idea of having a map for development.  It reminds me of a belt system for martial arts or a certification system.  While I don’t put a lot of stock in a belt or certificate to accurately reflect somebody’s ability, I do like having a roadmap or path for learning a given body of knowledge.  I can always choose to ignore the charted course or look for short-cuts, but I prefer having a baseline to start from.

Capability as a Function of Knowledge and Experience
McConnell writes that capability is a function of knowledge and experience:

We have found that capability depends on a combination of experience and knowledge.  A person cannot truly possess leading-edge knowledge in an engineering discipline unless the knowledge is grounded in experience.  Leading-edge experience is not possible unless it’s fully apprised of state-of-the-art knowledge.  Consequently, when there is a discrepancy between the levels of an employee’s experience and knowledge the overall capability of the employee is generally closer to the lesser of that employee’s knowledge or experience.

I agree that capability depends on both knowledge and experience.  Just knowing something at the intellectual level is not the same as applied knowledge that comes from experience.

Knowledge Areas
McConnell shares the knowledge areas they use at Construx:

Knowledge Area Description
Requirements The discovery, analysis, modeling, and documentation of the functions to be implemented in software.
Design The bridge between Requirements and Construction, Design defines the structure and dynamic state of the system at many levels of abstraction and through many views.
Construction The creation of software according to a specififed design. The primary activity is creating code and configuration data to implement functionality using the selected languages, technologies, and environments.
Testing Activities associated with executing software to detect defects and evaluate features.
Maintenance Activities related to system installation, deployment, migration, and operation.
Configuration Management The discipline of defining how project artifacts are organized and stored, how changes to those artifacts are controlled and managed, and how the system is released to the customer.
Quality Activities performed on static artifacts associated with providing confidence that a software item conforms or will conform to technical requirements.
Engineering Management All aspects of management ranging from business and personnel management issues to project management issues.
Engineering tools and Methods The use of tools, technology, methodologies, and techniques for software engineering.
Process Activities related to measuring and improving software development quality, timeliness, efficiency, productivity, and other project and product characteristics.

Capability Levels
McConnell shares the capability levels they use at Contrux:

Capability Level Summary
Introductory The employee performs basic work in an area, generally under supervision. The employee is taking effective steps to develop his or her knowledge and skills.
Competency The employee performs effective, independent work in an area, serves as a role model for less expert employees, and occasionally coaches others.
Leadership The employee performs exemplary work in an area. Ths employee regularly coaches employees and provides project-level and possibly company-wide leadership. The employee is recognized within Construx as a major resource in the knowledge area.
Mastery The employee performs reference work in an area and has deep experience across multiple projects. The employee has generally taught seminars or classes or had written papers or books that extend the body of knowledge. The employee provides industry-level leadership and is recognized outside Construx for expertise in the area.

Ladder Levels
McConnell shares the descriptions of the ladder levels they use at Construx:

  • Level 09 – A Level 9 engineer is beginning to learn the principles of software engineering and is generally just out of school.  This person works under close supervision.
  • Level 10 – A Level 10 engineer has some background in software engineering.  This person either is recently out of school or has 1 to 2 years work experience.  He or she is capable of performing work with limited supervision.
  • Level 11 – A Level 11 engineer has a fairly strong background in software engineering and can work independently  as necessary.  This person has worked on one or more completed projects and has experience in each of the basic software development lifecycle steps needed to release a product.
  • Level 12 – A Level 12 engineer has consistently had "wins" during his or her participation in all aspects of small and large projects and has been essential to those projects’ successes. 
  • Level 13 – A level 13 engineer is a champion who can consider both internal and external aspects of a project and ensure they are handled correctly and with consistently sound judgment.  This person takes total ownership for all aspects of his or her project and makes many unique contributions.  This engineer’s decisions have a significant impact on Construx’s profitability and overall well-being.
  • Level 14 – A Level 14 engineer is a major technical resource to others in the company.  This person consistently overcomes very difficult technical challenges, and makes key decisions on the goals and structure of Construx. 
  • Level 15 – A Level 15 engineer is indispensible to Construx’s success.  This person consistently works to design and produce groundbreaking, world-class products.

My Related Posts

  • Career Progression vs. Just Moving Project to Project
  • Benefits of a Professional Development Ladder
  • How To Bring Experienced Engineers on Board
Category: CareerTag: Career

About JD

Previous Post:Career Progression vs. Just Moving Project to Project
Next Post:7 Habits of Highly Effective Program Managers

Sidebar

Recent Posts

  • What is ChatGPT?
  • Agile Performance Engineering
  • What is Cybersecurity?
  • Software Security Threats: A Comprehensive Guide
  • What is Software Security?

Popular Posts

Best Software Books of All Time
Best Practices for Project Management
Best Practices for Software Development
Customer-Connected Engineering
How To Frame Problems Better
How To Pitch Business Ideas Better
How To Structure Vision Scope Presentations
Intro to Lean Software Development
Lean Principles for Software Development
The Enterprise of the Future