---
title: "Software & System Architecture - José DA COSTA"
description: "Software and system architecture, in my practice, is the art of **choosing the right boundaries** between subsystems, the **right contracts** between them, and the **right operational shape**. It is w"
locale: "en"
canonical: "https://portfolio.josedacosta.info/en/skills/system-architecture-design"
source: "https://portfolio.josedacosta.info/en/skills/system-architecture-design.md"
html_source: "https://portfolio.josedacosta.info/en/skills/system-architecture-design"
author: "José DA COSTA"
type: "skill"
slug: "system-architecture-design"
generated_at: "2026-04-26T21:13:23.897Z"
---

# Software & System Architecture

Icon: 🏛️

## My definition

Software and system architecture, in my practice, is the art of **choosing the right boundaries** between subsystems, the **right contracts** between them, and the **right operational shape**. It is where SOLID, design patterns, REST API design, and DDD meet the realities of cloud, observability, and team topologies. Good architecture makes a codebase grow **linearly instead of exponentially**; bad architecture turns every new feature into structural debt.

### Context

I practise architecture on **4 scales** depending on context. **Module**: SOLID, hexagonal, domain-driven design. **System**: REST + async + event-driven, inter-service contracts, error handling. **Platform**: Turborepo monorepo, shared packages, multi-tenant Terraform environments. **Ecosystem**: B2B integration, external vendors, versioned contracts. **11 years** of continuous practice, from **PHP monoliths** (Joomla, Zend, Symfony 2-7, Magento 1-2) to **modern TypeScript SaaS** (Next.js 16, Prisma, Payload CMS), with **28 references** in the portfolio (Top 4 raw frequency) and the **Master ESIEA Expert in Software Engineering** as the theoretical foundation.

### Relevance

In 2026, architecture is entering a new phase: regulated vertical SaaS (clinical, defense, energy, accounting) rests on **AI-native** architectures where workflows are expressed as actions and constraints rather than screens. The moat is no longer in the stack but in **governed data + embedded workflows + deep integrations** - exactly what Rob Saker analyses in [AI is Eating Enterprise SaaS](https://medium.com/@rsaker/ai-is-eating-enterprise-saas-1259d352f193). Architecture has become the most defensible technical bet a CTO can make: feature-driven, observability by default, traceable inter-service contracts, and module/core boundaries that survive upgrades.

## My evidence

### Feature-driven architecture for the ACCENSEO accounting SaaS

**Context:** When I started the ACCENSEO accounting SaaS in early 2025, I knew I would be the only person coding for 14 months on **more than 200K lines of code**, with a regulated domain that does not forgive shortcuts (PCG, CGI, 2026-2027 e-invoicing). The classic trap on this kind of codebase is to start with a technical-layer split (controllers / services / repositories) that becomes unmanageable past 30 modules. I needed an architecture that would hold for 2 years without structural debt.

**Action:** I committed to a **feature-driven architecture** from the very first commit: **42 autonomous modules** under `src/features/` (banking, invoicing, accounting, tax, payroll, AI assistant, reporting, legal, OCR...), each with its own components, hooks, services, models, and types. `src/app/` only holds Next.js routing, never business logic. On the data side, **91 Prisma models** organised around domain entities (not around SQL tables), with **63 typed enums**, and **6 differentiated roles** controlled through Better Auth. Cross-feature contracts go through a single `index.ts` per feature that defines the consumable public surface - everything else stays internal to the module.

**Result:** **382 API routes** generated, new features added **in days rather than weeks**, and the module/feature boundaries survived several major refactors (Next.js 16 upgrade, React 19 migration, Teledec Chrome extension addition) without any need to touch the overall structure.

**Value added:** What I validated on this project is that **good architecture makes growth linear** instead of exponential: at the 30th feature I was as fast as at the 5th. That is exactly the promise I have to keep on the next CTO scale-up role - and I have now stress-tested it solo, which makes the team transposition far more credible.

### Architecting the v2 Rebirth of the European Sourcing extranet

**Context:** The **European Sourcing extranet** was the central back-office of Europe's largest online tradeshow for promotional products - **15 interconnected sub-projects**, a shared MySQL database of **15 GB across 97 tables**, **7 languages**, **800 suppliers**, and some catalogues like SOL's carrying **15,000 variations for a single product**. The v1, written in 2008-2013 on a homegrown PHP MVC framework, could not keep up anymore: every business addition cost more and more.

**Action:** On March 14th, 2016, we started the **v2 "Rebirth"** on **Symfony 3.1**, with **PostgreSQL** instead of MySQL, **RabbitMQ** for async messaging, and most importantly 2 shared bundles - **ESCoreBundle** (entities, auth, file system) and **ESSourcingBundle** (business logic) - to consolidate what the 15 sub-projects were duplicating. To industrialise the admin screens, I built a **generic EntityList system** with configurable columns, bulk actions, per-row actions, and pagination. On the form side, I shipped **more than 70 Symfony Form Types** covering products, variants, static and dynamic markings with profiles, simple/multiple/group attributes, categories, keywords, labels with synonyms, subscriptions, and import/export workflows.

**Result:** The v2 ran **for more than 5 years in production** (2016-2021), powering **37 automated supplier connectors** (Pixika, Makito, Midocean, BIC, Paul Stricker, Clipper, TopTex, Cybernecard...), and the pattern library laid down on this project **was reused by every downstream app** without ever requiring an architectural rewrite.

**Value added:** This project taught me how to **share without coupling**: the shared bundles stayed stable while each sub-project evolved at its own pace. That is the pattern I now replay on the ACCENSEO Turborepo monorepo and that I will impose on the next scale-up platform - the cost of good factoring is low, the cost of bad factoring is toxic over 10 years.

### Multi-store Magento Enterprise architecture at Fleurance Nature

**Context:** On the Fleurance Nature refactor in 2017 at Smile, I inherited a **Magento Enterprise Edition 1.10** platform packed to the brim: **1,040 modified PHP files**, **60 accumulated custom modules**, **3 storefronts** (Fleurance Nature France, International, Mincifine) to serve with a shared **EAV pricing matrix** across **4 customer groups** (anonymous, general, loyalty subscribers, works councils) - meaning 12 active pricing combinations. The specs themselves went through **7 versions in 2 months** (from 30 to 50 pages) as we discovered the business rules buried in the legacy code.

**Action:** I refused the big-bang temptation. I drove a **clean backend/frontend split** across the 3 storefronts, **backported ElasticSearch onto Magento EE 1.10** to replace Solr (autocomplete, faceted navigation, virtual categories), and enforced on every custom module the **Observer/Strategy** patterns to stay **PCI-aware** without touching the Magento core. To secure releases, I rolled out a **full regression suite across the 3 sites** before every deployment, because a single module change could ripple through 12 pricing matrices.

**Result:** The refactored platform held **for more than 5 years in production** without any further architectural rewrite, **zero major security incident** during and after the migration, and the **Varnish cache** stayed operational throughout the process despite the live-site sensitivity.

**Value added:** What I learnt on this project is that **module/core boundaries** are what makes a codebase survive vendor changes and version upgrades - not the quality of the code itself. On every CTO advisory audit I now run at ACCENSEO, that is the first thing I look at in the customer codebase.

## My self-critique

### Mastery level

Level **Expert (5/5)**. 11 years of architectural practice, from PHP monolith to modern TypeScript SaaS through ESB integration platforms. Master ESIEA as theoretical foundation, **28 portfolio references** as practice volume.

Confirmed coverage across the 4 scales:

- **module**: SOLID, DDD, hexagonal
- **system**: REST, async, event-driven, partial CQRS
- **platform**: Turborepo monorepo, shared packages, multi-env Terraform
- **ecosystem**: B2B integration

What still needs strengthening: pure event sourcing and large-scale service mesh.

### Importance in my profile

Core to my CTO credibility. Without solid architecture, the product does not hold growth, the team does not scale, and debt becomes existential within 18 months. It is also what distinguishes the operational CTO from the advisory one: knowing how to translate a business intent into technical boundaries, inter-team contracts, and a concrete migration plan.

### Advice (for myself and others)

### My arbitration principles

To myself: *write an ADR for every irreversible decision* and keep a living system diagram. To others: prefer simplicity until proven otherwise, refuse the pattern by authority ("we do it like Netflix") and require the business criterion that justifies it. Always simulate the operational cost of a split before validating it - *a microservice is also a pipeline, a dashboard, and an on-call rotation*.

## My evolution in this skill

### Role in my professional project

Architecture is what turns a CTO intuition into a **defensible 3-year platform**. In the 24-month plan, it makes possible the heavy *build vs buy* arbitrations, the major migrations **without product interruption**, and the team discipline (code review, ADRs, inter-service contracts). Without it, the organization may grow but debt eventually kills the cadence.

### Mid-term target level

The goal is the **event-driven and service-mesh extension**: design and implement a monolith-to-autonomous-modules transition **without product interruption**, and defend that trajectory in front of a board in business terms (risk, cycle, OPEX). Maintaining Expert mastery without decay is the baseline - the effort goes to the frontiers I have not yet operated in production.

### Current training

Continuous reading: Martin Kleppmann *Designing Data-Intensive Applications* (annual rotation), Neal Ford / Mark Richards *Software Architecture: The Hard Parts*, Sam Newman *Building Microservices*. Daily practice on ACCENSEO codebases. Master in Software Engineering active until 2026.

### Future training

[QCon Paris 2026](https://qconferences.com/paris), possible advanced Domain-Driven Design program (Vlad Khononov or Eric Evans masterclass) in 2027. AWS Solutions Architect Professional certification considered depending on the target CTO context.

## Progression across journey

This skill was developed across 13 different journey items.

- **1999** - [CTO · Founder · technical director](https://portfolio.josedacosta.info/en/journey/celiane-founder.md) (entrepreneurship) - Confidence: 2/5
- **2009** - [Software Engineer · PHP Zend Framework Developer](https://portfolio.josedacosta.info/en/journey/european-sourcing-engineer.md) (experience) - Confidence: 3/5
- **2013** - [Senior Software Engineer · Lead PHP Symfony Developer](https://portfolio.josedacosta.info/en/journey/medialeads-senior-engineer.md) (experience) - Confidence: 3/5
- **2016** - [Technical Project Manager · Co-founder · Early-Stage Startup](https://portfolio.josedacosta.info/en/journey/adspower-cofounder.md) (entrepreneurship) - Confidence: 4/5
- **2017** - [Senior Software Engineer · Lead PHP Magento Developer](https://portfolio.josedacosta.info/en/journey/smile-senior-engineer.md) (experience) - Confidence: 4/5
- **2019** - [Engineering Manager · Project Manager / Product Owner · Technical Lead](https://portfolio.josedacosta.info/en/journey/pichet-group.md) (experience) - Confidence: 5/5
- **2019** - [Technical Lead · Flows and Products: content and enterprise integration](https://portfolio.josedacosta.info/en/journey/pichet-technical-lead.md) (experience) - Confidence: 4/5
- **2020** - [Entrepreneur · Various Business Domains](https://portfolio.josedacosta.info/en/journey/auto-entrepreneur-jdc.md) (entrepreneurship) - Confidence: 4/5
- **2021** - [Project Manager / Product Owner · Flows and Products: PIM & DAM & ESB](https://portfolio.josedacosta.info/en/journey/pichet-project-manager.md) (experience) - Confidence: 4/5
- **2023** - [MBA Strategic Project Management](https://portfolio.josedacosta.info/en/journey/mba-strategic-project-management.md) (education) - Confidence: 5/5
- **2023** - [Master Expert in Software Engineering](https://portfolio.josedacosta.info/en/journey/master-software-engineering.md) (education) - Confidence: 5/5
- **2023** - [Engineering Manager · Enterprise Application Integration](https://portfolio.josedacosta.info/en/journey/pichet-engineering-manager.md) (experience) - Confidence: 5/5
- **2024** - [CTO · Founder · technical director](https://portfolio.josedacosta.info/en/journey/accenseo-founder.md) (entrepreneurship) - Confidence: 5/5

## Related achievements

- [Intelligent Accounting SaaS Platform](https://portfolio.josedacosta.info/en/achievements/plateforme-comptabilite-saas.md) - Feature-Driven architecture with 42 autonomous modules and 91 database models. 382 REST API routes with multi-role access control (6 profiles) and DGFIP v3.1 e-invoicing readiness
- [European B2B Search Engine for Promotional Products (European Sourcing)](https://portfolio.josedacosta.info/en/achievements/moteur-de-recherche-europeen-b2b-objets-publicitaires.md) - Decomposed the SQLI monolith into a microservices ecosystem (API, search, flux, translate, export, stats, supplierbo) with shared Symfony bundles (ESCoreBundle, ESSourcingBundle) and WSSE stateless inter-service authentication. Built a REST JSON API on Symfony 2.4 + Propel with WSSE stateless authentication (nonce + timestamp + digest), JMS Serializer, CORS, and multi-database connections (europeansourcing + tendanceobjet) - Applied microservices, MVC, SPA (AngularJS), Strategy pattern for 26+ heterogeneous supplier connectors (CSV/XML/API), and Doctrine behaviors (Sluggable, Sortable, Timestampable, Translatable, Blameable)
- [Partner Lead Reception API Platform (alias PSR)](https://portfolio.josedacosta.info/en/achievements/plateforme-api-reception-leads-partenaires.md) - End-to-end architecture: API gateway, normalization, enrichment layer, CRM routing, Partner-facing REST endpoints, data contracts and 5 API versions
- [E-Commerce Platform Redesign Magento Enterprise Edition (alias Fleurance Nature)](https://portfolio.josedacosta.info/en/achievements/refonte-ecommerce-magento-fleurancenature.md) - Multi-site architecture (3 storefronts), Solr to ElasticSearch migration with faceted search, ERP bidirectional flows redesign, 8-environment deployment topology - Magento XML rewrites pattern, MVC, Observer and Strategy patterns applied across 60+ modules without touching core code
- [ETL Pipeline for Real Estate Listing Syndication (alias Ligneurs)](https://portfolio.josedacosta.info/en/achievements/pipeline-etl-syndication-immobiliere.md) - Designed the complete ETL architecture: modular per-partner pipeline, batch over real-time, centralized multi-format image pre-generation - Integrated PIM Akeneo v2 REST API for data extraction and several dozen partner endpoints (REST APIs and FTP/SFTP file drops)
- [PIM Extranet for B2B Promotional Products Search Engine (European Sourcing)](https://portfolio.josedacosta.info/en/achievements/extranet-pim-b2b-objets-publicitaires.md) - PIM/data model bigger than Akeneo: 32+ fields per variant, 36 per marking option, 50+ pricing grids, 97 MySQL tables on 15 GB, European Sourcing REST API consumed by the Supplier BO SPA and downstream services across 7 languages. Shared Symfony bundles (ESCoreBundle, ESSourcingBundle), 70+ Form Types, generic EntityList system, MVC + SPA + ETL
- [Flux - Supplier Data Synchronization](https://portfolio.josedacosta.info/en/achievements/flux-synchronisation-fournisseurs.md) - Designed scalable ETL framework with multi-protocol integration (FTP, HTTP, REST) and connector pattern. Integrated diverse supplier APIs and data formats (CSV/XML/JSON) with automated daily synchronization
- [E-Commerce Site Generator with Customization CMS (alias MyEasyWeb)](https://portfolio.josedacosta.info/en/achievements/generateur-sites-ecommerce-avec-cms.md) - Designed multi-tenant SaaS architecture serving 400+ branded reseller sites with domain-based detection, Built REST APIs on Symfony 2.4 (FOSRestBundle, JMSSerializer, WSSE) for cross-application synchronization
- [SaaS platform for mortgage credit brokers powered by AI](https://portfolio.josedacosta.info/en/achievements/plateforme-saas-courtiers-credit-immobilier.md) - Designed monorepo architecture with 7 apps, 14 shared packages, and 98 database models
- [AI Chat Export - Multi-Platform AI Conversation Export Extension](https://portfolio.josedacosta.info/en/achievements/ai-chat-export.md) - Architected modular extension with Strategy pattern and AbstractExtractor
- [Gradient Generator - Advanced CSS Gradient Creation Tool](https://portfolio.josedacosta.info/en/achievements/gradient-generator-css.md) - Architected 8 interconnected Zustand stores, feature-driven component structure, and dual-storage backend
- [Atlassian Forge Developer - Intelligent IDE Plugin](https://portfolio.josedacosta.info/en/achievements/atlassian-forge-developer-ide-plugin.md) - Designed modular plugin architecture with IntelliJ Platform SDK extension points, PSI tree manipulation, and schema-driven validation
- [Multi-Supplier Product Data Import System](https://portfolio.josedacosta.info/en/achievements/import-european-sourcing.md) - Evolved from legacy PHP monolith to Symfony-based async import system with queue processing
- [Food Truck & Mobile Concept Platform - French manufacturer (alias MCR)](https://portfolio.josedacosta.info/en/achievements/plateforme-food-truck-concepts-mobiles.md) - Designed the monolithic full-stack architecture: Next.js App Router + Payload CMS v3 + PostgreSQL, 15 collections, 24 content blocks - every structural decision owned end-to-end
- [Centralized Multilingual Translation Management Platform](https://portfolio.josedacosta.info/en/achievements/plateforme-gestion-traductions-multilingues.md) - Designed PO/MO file management system with MySQL catalog integration and multi-project synchronization
- [tailwindcss-obfuscator - Open Source CSS Obfuscation Tool](https://portfolio.josedacosta.info/en/achievements/tailwindcss-obfuscator.md) - Designed modular pipeline architecture (extractors, transformers, plugins) supporting 10 frameworks and 4 bundlers
- [Supplier Back-Office - B2B Self-Service Portal](https://portfolio.josedacosta.info/en/achievements/supplier-backoffice-european-sourcing.md) - Designed decoupled SPA architecture with 14 custom directives forming a reusable UI framework
- [MagicPlaylist - Android Music Discovery & Playlist Generator](https://portfolio.josedacosta.info/en/achievements/magicplaylist-android-music-discovery.md) - Designed MVVM architecture with 5-strategy mapping pipeline, BFS expansion algorithm, and 3-level chunking
- [Collaborative Project Management Platform](https://portfolio.josedacosta.info/en/achievements/plateforme-gestion-projets-collaboratif.md) - Designed 3-tier SPA architecture with layered backend (Controller/Service/Repository), DTOs, and 7-table database with triggers
- [Engineering Manager - Enterprise Integration Platform (alias ESB)](https://portfolio.josedacosta.info/en/achievements/engineering-manager-integration-entreprise.md) - Supervised the architecture of 100+ production flows across 20+ enterprise systems, iPaaS evaluation
- [AI Machine Learning SaaS Platform for Ad Optimization (alias AdsPower)](https://portfolio.josedacosta.info/en/achievements/plateforme-publicitaire-machine-learning.md) - Integrated Google AdWords, Bing Ads, and Facebook Ads APIs for multi-platform campaign management

Interactive version with navigation: https://portfolio.josedacosta.info/en/skills/system-architecture-design
