Explore KSACs by Pathway
In late 2025, the Partnership pulled together members of industry from across tech to share how the in-demand skillsets for entry-level roles in their fields have changed in the last two years. The Knowledge, Skills & Abilities and Credentials (KSACs) below reflect their feedback on entry-level expectations, especially in a tech workplace increasingly shaped by AI.
6. Software Design
| Label | KSAC Description | Bloom's Taxonomy Level | |
|---|---|---|---|
| a | Articulate design principles including separation of concerns, information hiding, coupling and cohesion, and encapsulation. | knowledge | 2 |
| b | Use a design paradigm to design a small-scale application or service, and explain how system design principles have been applied in this design. | skill | 2 |
| c | Construct models of the design of a small-scale application or service that are appropriate for the paradigm used to design it. | ability | 2 |
| d | Describe one or more design patterns that could be applicable to the design of a simple software within the context of a single design paradigm. | knowledge | 2 |
| f | Discuss and select an appropriate design paradigm for a simple system for a given scenario. | skill | 3 |
| g | Create appropriate models for the structure and behavior of software products from their requirements specifications. | ability | 4 |
| h | Explain the relationships between the requirements for a software product and its design, using appropriate models. | ability | 3 |
| i | Describe the software architecture for the design of a simple software system. | knowledge | 3 |
| j | Identify an appropriate software architecture by differentiating among common software architectures such as 3-tier, pipe-and-filter, message-queue, and client-server for a high-level design. | skill | 3 |
| k | Investigate the impact of software architecture selection on the design of a simple system. | skill | 4 |
| l | Apply simple examples of patterns in software design. | skill | 3 |
| m | Describe a form of refactoring and discuss when it may be applicable. | knowledge | 2 |
| n | Select suitable components for use in the design of a software product. | ability | 3 |
| o | Describe pros and cons of building a new component vs adapting an existing component (e.g. open source) or buying a component in the design of a software product. | knowledge | 3 |
| p | Explain the role of objects in middleware systems and the relationship with components. | skill | 4 |
| q | Refactor code for performance, readability, modularity, or security. | ability | 4 |
| r | Understand the user journey and the role it plays in the software development process. | knowledge | 2 |
| s | Understand when to use low code or no code approaches in the software development process. | knowledge | 2 |
| l | Evaluate architectural tradeoffs (latency, cost, scalability). | knowledge | 1 |
| m | Explain modern architecture patterns (microservices, event-driven, serverless). | knowledge | 1 |
| n | Understand how privacy, security, and governance requirements shape architecture. | knowledge | 1 |
Credentials
- N/A
