ERP Developer Skills Matrix
A self-assessment tool. Rate yourself 0–4 on each, identify the gaps, and target them deliberately.
0 = None 1 = Aware 2 = Working knowledge 3 = Proficient 4 = Expert / can teach
Domain knowledge
| Skill | Junior | Mid | Senior | Architect |
|---|---|---|---|---|
| Double-entry bookkeeping | 2 | 3 | 4 | 4 |
| Chart of accounts and account determination | 1 | 3 | 4 | 4 |
| Period close process | 1 | 2 | 3 | 4 |
| Order to cash end to end | 2 | 3 | 4 | 4 |
| Procure to pay end to end | 2 | 3 | 4 | 4 |
| Inventory model and valuation | 1 | 3 | 4 | 4 |
| Manufacturing (BOM, routing, orders, costing) | 1 | 2 | 3 | 4 |
| Costing and variance analysis | 0 | 2 | 3 | 4 |
| Tax fundamentals (VAT/GST mechanics) | 1 | 2 | 3 | 4 |
| Multi-currency accounting | 1 | 2 | 3 | 4 |
| Revenue recognition | 0 | 1 | 3 | 4 |
| Consolidation and intercompany | 0 | 1 | 2 | 3 |
| Payroll concepts | 0 | 1 | 2 | 3 |
| Your industry’s specifics | 1 | 3 | 4 | 4 |
The junior-to-mid jump is mostly domain, not technical. A mid-level ERP developer who can’t explain account determination is mislabelled.
Platform skills
| Skill | Junior | Mid | Senior | Architect |
|---|---|---|---|---|
| Platform language (ABAP/X++/AL/Python/JS) | 2 | 3 | 4 | 4 |
| Platform data model | 2 | 3 | 4 | 4 |
| Configuration layer knowledge | 1 | 3 | 4 | 4 |
| Extension mechanisms (hooks, events) | 1 | 3 | 4 | 4 |
| Reporting tools | 2 | 3 | 4 | 3 |
| Form/document design | 2 | 3 | 3 | 2 |
| Workflow configuration | 1 | 3 | 4 | 4 |
| Data migration tools | 1 | 3 | 4 | 3 |
| Deployment/transport mechanism | 1 | 3 | 4 | 4 |
| Performance tuning on the platform | 0 | 2 | 4 | 4 |
| Platform security model | 1 | 2 | 3 | 4 |
Engineering fundamentals
| Skill | Junior | Mid | Senior | Architect |
|---|---|---|---|---|
| SQL (joins, aggregation, windows) | 2 | 3 | 4 | 4 |
| Query optimisation and execution plans | 1 | 3 | 4 | 4 |
| Data modelling | 1 | 3 | 4 | 4 |
| Transactions, isolation, locking | 1 | 3 | 4 | 4 |
| Idempotency and concurrency patterns | 0 | 2 | 4 | 4 |
| Batch processing design | 1 | 3 | 4 | 4 |
| API design | 1 | 3 | 4 | 4 |
| Messaging and event-driven patterns | 0 | 2 | 3 | 4 |
| Testing (unit, integration, posting assertions) | 2 | 3 | 4 | 4 |
| Version control and CI/CD | 2 | 3 | 4 | 4 |
| Debugging under production conditions | 2 | 3 | 4 | 4 |
| Security (authz, injection, secrets) | 1 | 3 | 4 | 4 |
Integration
| Skill | Junior | Mid | Senior | Architect |
|---|---|---|---|---|
| REST/OData/SOAP | 2 | 3 | 4 | 4 |
| File interfaces (CSV, fixed width, XML) | 2 | 3 | 4 | 3 |
| EDI (X12/EDIFACT) | 0 | 2 | 3 | 3 |
| Middleware / iPaaS | 0 | 2 | 3 | 4 |
| Error handling and reconciliation design | 1 | 3 | 4 | 4 |
| Bank file formats (ISO 20022) | 0 | 2 | 3 | 3 |
| E-invoicing / government portals | 0 | 1 | 3 | 3 |
Delivery and process
| Skill | Junior | Mid | Senior | Architect |
|---|---|---|---|---|
| Reading and challenging a functional spec | 2 | 3 | 4 | 4 |
| Writing a technical spec | 1 | 3 | 4 | 4 |
| Estimating (RICEFW) | 0 | 2 | 4 | 4 |
| Data migration approach | 0 | 2 | 4 | 4 |
| Cutover planning | 0 | 1 | 3 | 4 |
| Testing strategy | 1 | 2 | 4 | 4 |
| Support and incident handling | 2 | 3 | 4 | 3 |
| Documentation | 2 | 3 | 4 | 4 |
| Change management awareness | 0 | 1 | 3 | 4 |
Compliance and governance
| Skill | Junior | Mid | Senior | Architect |
|---|---|---|---|---|
| Authorisation design | 0 | 2 | 3 | 4 |
| Segregation of duties | 0 | 2 | 3 | 4 |
| Audit trail requirements | 1 | 3 | 4 | 4 |
| SOX / ITGC awareness | 0 | 2 | 3 | 4 |
| Data privacy (GDPR and equivalents) | 1 | 2 | 3 | 4 |
| Localisation requirements | 0 | 2 | 3 | 4 |
Soft skills — where careers are actually decided
| Skill | Junior | Mid | Senior | Architect |
|---|---|---|---|---|
| Explaining technical things to business people | 2 | 3 | 4 | 4 |
| Asking clarifying questions before building | 2 | 3 | 4 | 4 |
| Challenging requirements constructively | 1 | 3 | 4 | 4 |
| Facilitating a workshop | 0 | 1 | 3 | 4 |
| Managing stakeholder expectations | 0 | 2 | 3 | 4 |
| Staying calm during a go-live or a close | 1 | 3 | 4 | 4 |
| Writing clearly | 2 | 3 | 4 | 4 |
| Mentoring | 0 | 1 | 3 | 4 |
| Saying no with alternatives | 0 | 2 | 3 | 4 |
“Challenging requirements constructively” is the highest-ROI soft skill in ERP. Every unnecessary customisation you prevent saves the customer money forever and saves you from maintaining it.
The gap analysis
Score yourself and look at the pattern:
Strong technical, weak domain
→ Read section 03 of this repo. Take an accounting course.
Sit in functional workshops. This is the most common gap and the
easiest to close.
Strong domain, weak technical
→ SQL and one language, properly. Build something.
You're closer to techno-functional than you think.
Strong on both, weak on delivery
→ Volunteer for estimating, data migration, and cutover planning.
Ask to write the technical specs, not just receive them.
Strong on everything, weak on soft skills
→ This is what keeps senior developers from becoming architects.
Volunteer to present. Facilitate one workshop. Write a design
document someone non-technical has to approve.
The T-shape
┌────────────────────────────────────────────┐
│ Broad: all modules, all processes, │ ← everyone needs this
│ architecture, integration, delivery │
└────────────────────────────────────────────┘
│
│ Deep: one module or one
│ technical area where you
│ are the person people ask
▼
Pick your depth deliberately. Good depth choices with lasting demand:
- Financial accounting and close
- Costing and profitability
- Manufacturing execution
- Warehouse and logistics
- Integration architecture
- Performance and data
- Security and authorisations
- Data migration
Being the person who is genuinely excellent at one of these, on top of broad competence, is what gets you called first.
Reassess quarterly
Print the matrix, score yourself, pick two skills, and target them for the next quarter. Deliberate practice beats accumulated exposure — ten years of doing the same reports is one year of experience repeated ten times.