Reading path for software engineers
This page puts the software engineering pages in order. Read the core path once; then follow the path for the role you have in your project. Each step names the deeper document to read when the help page is not enough.
Contents
- The core path
- The evaluator's path
- The architect's path
- The operator's path
- The reviewer's and contributor's path
The core path
The evaluator's path
You decide whether Exponential fits a project.
- Evaluating Exponential: the questions to answer and how to answer them.
- Databases: choosing and running one and Application servers.
- Scaling and clustering and Performance measurement and benchmarks.
- Security engineering overview.
- Backward compatibility policy and Dependency management with Composer.
- Design review checklist to write the result down.
The architect's path
You design a system with Exponential at its center.
- Kernel, lib and extensions: the layering.
- Modules, views and access control.
- Persistence and the database layer and Schema changes and migrations.
- Events, extension points and plugins.
- API design: REST, ezjscore and headless.
- Multi-site installations and Internationalization and right to left.
- Console, cronjobs and background work.
The operator's path
You run Exponential in production.
- Deploying a change.
- Velocity persistent workers.
- Cache invalidation and clearing.
- Observability: logs, debug bar and audit trail.
- Incident handling.
- HTTP security: headers, CSP, request rules and proxies.
- The hosting runbooks: Hosting companies: start here.
The reviewer's and contributor's path
You review changes or send them upstream.
- Git workflow.
- Static analysis and code style and DB-less tests and test suites.
- CI gates.
- Code review checklist and Security review checklist.
- Changelogs and upgrade notes.
- Contributing upstream and Documentation as code.
- Handling technical debt.
Related pages
- Software engineers: start here
- Glossary for software engineers
- Reading paths of the extension development course
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.