← Back to portfolio

November 2026 · 5 min read

From experience to method: what the iSAQB Foundation Level added to my architecture work

Why I took the iSAQB CPSA Foundation Level after more than ten years of designing engineering software, how the exam works, how I prepared by self-study, and the ideas from it I use most.

Sunkuru Jagabandhu Patro · Software Engineer & Architect

For most of my career I designed software architecture without calling it that. Layered CAN/UDS stacks at Hyundai Mobis, a multi-brand diagnostic platform at Continental, measurement-data platforms at Valeo: each needed structure, interfaces and trade-offs. In July 2025 I passed the iSAQB Certified Professional for Software Architecture – Foundation Level (CPSA-F), preparing entirely by self-study. This article explains why, how the exam works, how I prepared, and what I took from it.

Why a certification after years of practice?

What the Foundation Level covers

The iSAQB curriculum is vendor- and technology-neutral. In short:

The exam

iSAQB defines the curriculum and the rules; independent certification bodies run the exams. I took mine with Certible.

How I prepared: self-study

An accredited training course is an option, but not a requirement. I prepared on my own, with the free official iSAQB material:

My advice for self-study: read the curriculum with your own projects in mind. Every learning goal becomes easier to remember once you can name a system where you applied it, or where you wish you had.

Four ideas I use most

1. Quality goals decide the structure. The modernization of the CRETA export workflow at Valeo is a good example. The main goals were changeability (several customers, each with its own variant) and robustness (large files, network storage). They led directly to the structure: one module per customer variant behind small interfaces, an Anti-Corruption Layer around the legacy API, and retries with exponential backoff for transient failures.

2. Make boundaries and dependencies explicit. Low coupling and high cohesion sound abstract, but they decide how expensive the next change is. In the Measurement Class Library, every data format (MDF/MF4, Parquet, MAT) enters through the same interface, so analysis code never depends on a specific file format. Adding a format means adding an adapter, not changing the analyses.

3. The same principles across very different systems. I have designed the architecture of very different kinds of software, in several languages:

The languages and platforms change; the principles don't. Layers with clear responsibilities, small interfaces, patterns such as Factory, Adapter or Facade, and tests that make change safe apply in C#, C++, Python and MATLAB alike. The curriculum's technology-neutral view matches this experience.

4. Generate what you can from models. Wherever a model exists, I prefer to generate code from it rather than write it by hand. At Hyundai Mobis I designed the stack in UML from customer requirements; at Continental diagnostic sequences were generated from ODX and OTX models; at Valeo I generated a typed C# client from the OpenAPI description of the CRETA API with Kiota. Generated code stays consistent with its source, which removes a whole class of integration errors.

What a certificate doesn't do

The Foundation Level teaches methods, not answers. It doesn't replace experience with real constraints: legacy systems, deadlines, hardware and teams. For me its value is in connecting both: my projects provide the context, and the curriculum provides the method and the vocabulary to explain and defend a design.

Takeaways

References

My certificate and its credential ID are listed under Certifications.