← All 186 courses
DEV-102 Development

Object-Oriented Design & Clean Code

Move from code that works to code the team can change safely: SOLID applied to real classes rather than recited, composition preferred over inheritance, and refactoring performed behind a test harness. Learners take a deliberately messy service and reshape it in small verified steps without changing behaviour. The course closes on review practice that raises code quality without bruising the author.

B3Practitioner
6modules
42skill atoms
2role journeys
Curriculum

What this course covers.

6 modules, 42 named skill atoms. Expand any module to see them.

1Objects That Earn Their Keep7 skill atoms
behaviour with data not anemic modelsencapsulation and package-private scopevalue objects and immutabilitycomposition over inheritanceinterface segregation in practiceprogramming to an interfacewhen a static utility is the honest answer
2SOLID Applied7 skill atoms
single responsibility as reasons to changeopen-closed via strategy injectionLiskov violations in real hierarchiesdependency inversion at module boundariesconstructor injection over field injectionlaw of Demeter and train-wreck callswhen SOLID advice costs more than it returns
3Naming, Functions and Readability7 skill atoms
intention-revealing namesfunction length and single level of abstractionboolean parameters as design smellsguard clauses over nested ifscomments that explain why not whatconsistent vocabulary across a moduledead code deleted not commented
4Code Smells and Refactoring Safely7 skill atoms
long method and large classfeature envy and shotgun surgeryprimitive obsessioncharacterization tests before touching legacyextract method and extract class movesIDE-assisted rename and inlinesmall commits with green tests between each
5Review That Improves Code7 skill atoms
review the change not the personseparating blocking from optional commentsasking questions instead of issuing verdictsreviewing tests as carefully as sourcesmall pull requests and reviewable diffsagreeing team conventions once instead of per reviewknowing when to pair rather than comment
6AI-Generated Code Under Review7 skill atoms
generated code is plausible before it is correctduplicated logic the assistant could not see elsewhereabstractions invented without a second callersilent behaviour change during AI refactorsasking for the diff rationale then checking ittests written by the same assistant that wrote the bugauthor accountability for every merged line
Where it fits

DEV-102 in the role journeys.

This course appears in 2 of our 45 role journeys. Here is what a learner takes immediately before and after it in each.

Java Developer

Practitioner stage
DEV-101DEV-102DEV-103

Backend Engineer

Practitioner stage
CL-107DEV-102DEV-201

Roles this course serves

The capability ladder

This course is authored to band B3.

Every course we run is written to one rung of the CASI ladder, so a plan can be assembled to take a team from where they are to where they need to be.

What do B1–B6 mean?The CASI Capability Ladder — click to expand

Every course targets a band on the CASI Capability Ladder — our six-band proficiency scale, anchored to open standards (O*NET, ESCO, NICE, NIST AI RMF, Bloom's). A band tells you how deep a course goes, and what evidence proves it.

What the learner can doTypical evidence
B1
AwareUnderstands concepts and vocabulary; uses tools with guidance
Knowledge checks
B2
FoundationPerforms standard tasks correctly in familiar contexts
Guided labs, autograded exercises
B3
PractitionerDelivers complete pieces of work independently
Scenario labs, proctored hands-on exams
B4
ProfessionalHandles production-grade complexity, trade-offs and failure modes
Break-fix drills, design defenses
B5
AdvancedEngineers systems end-to-end under constraints; leads others
Rubric-scored capstones, vivas
B6
ExpertSets direction; recognised authority across teams
Portfolio + panel evaluation

A note on B6. Courses in this catalog target B1–B5. B6 is not taught — it is recognised, through a portfolio and a panel, once someone is setting direction for others. Every journey here is built to land a learner at B5.

Next step

Run DEV-102 for your team.

This course runs at several lengths depending on how deep you need to go and how much of it your people already have. Tell us who is being trained and we will scope it.

Add it to a training plan Talk to our team Check your team’s level free