Every Role I've Played — Junior to CTO, What I Actually Did at Each Level
A candid career retrospective tracing my journey through every engineering role: Junior developer grinding through fundamentals, Mid-level shipping production features, Senior designing architectures, Staff building org-wide leverage, and CTO-level strategic decisions. Each section maps to the portfolio strategy framework with real projects, real metrics, and real lessons.

- Every Role I've Played — Junior to CTO
- Stage 1: Junior — The Fundamentals (Year 1-2)
- What I Actually Did
- Junior Portfolio Checklist
- Stage 2: Mid-Level — Execution & Ownership (Year 2-4)
- What I Actually Did
- Mid-Level Portfolio Checklist
- Stage 3: Senior — Depth, Architecture & Trade-Offs (Year 4-6)
- What I Actually Did
- Architecture Diagrams I Designed
- Senior Portfolio Checklist
- Stage 4: Staff-Level — Leverage Beyond Individual Contribution (Year 6-7)
- What I Actually Did
- What I Didn't Do Well at This Level
- Staff-Level Portfolio Checklist
- Stage 5: CTO-Level — Business Strategy Through Technology (Current)
- What I'm Actually Doing
- CTO-Level Portfolio Checklist
- Career Retrospective: What I'd Tell My Younger Self
- Start Writing Publicly on Day One. Every bug you fix, every architecture
- Open Source from the Beginning. Your first PR to a real project is worth
- Measure Everything. "Faster," "better," "more scalable" are opinions.
- Your Network Is Your Net Worth (Yes, It's Cliché for a Reason). Every
- Don't Skip the Fundamentals Chasing Hype. Kubernetes is cool. But you
Every Role I've Played — Junior to CTO
"You don't become a senior engineer by writing more code. You become one by making decisions that outlive you." — Me, after breaking production for the 47th time
This isn't theory. This is what I actually did at each career stage — the projects, the mistakes, the wins, and what I'd do differently knowing what I know now.
Stage 1: Junior — The Fundamentals (Year 1-2)
What I Was Selling
Fundamental skills + willingness to learn. I had zero production experience. My GitHub was tutorial repos. My only asset was I could learn fast and wasn't afraid to break things.
What I Actually Did
Project: University Information System
- Built a CRUD app for managing student data at a local campus
- Stack: PHP, MySQL, Bootstrap (yes, Bootstrap — it was 2017)
- Deployed to shared hosting via FTP (I didn't know what CI/CD was)
- Mistake I made: Hardcoded database credentials. Someone found them. Lesson learned permanently.
Project: Small Business Website
- Built 5-6 WordPress/WooCommerce sites for local businesses
- Learned: DNS, hosting, domain management, basic SEO
- Mistake I made: Didn't use version control for the first 3 projects. Lost an entire site when the hosting expired.
What I'd Do Differently
- Start using Git from day one
- Deploy a personal project to a real URL immediately — the confidence boost is worth the effort
- Write README files even for solo projects — your future self will thank you
Junior Portfolio Checklist
| Item | Did I Do It? |
|---|---|
| 3-5 projects | ✅ 5 small business sites + 1 university system |
| Active GitHub | ❌ Started Git late (month 8) — regret this |
| 1 live deployed project | ✅ Multiple WordPress sites on shared hosting |
| Code readability | ⚠️ Looking back, it was functional but not clean |
Stage 2: Mid-Level — Execution & Ownership (Year 2-4)
What I Was Selling
Execution reliability. I had shipped real features to real users. I had broken production and fixed it alone at 2 AM. I could take a feature spec and deliver it end-to-end without hand-holding.
What I Actually Did
SiTepat — Mobile Banking Integration (SEVIMA)
- Integrated Flutter mobile app with bank core system via ISO 8583
- Built real-time financing dashboard for field agents
- Impact: 680K+ Google Play downloads, zero downtime during Eid transaction rush
- Lesson: Banking protocols are not "just another API." ISO 8583 has quirks that will destroy your sleep schedule if you don't read the spec cover to cover.
HPU Digital Mining Platform
- Built fleet management system for mining trucks across 3 provinces
- Implemented fuel anomaly detection that caught theft in month one
- Impact: Truck utilization 65% → 79%, Rp 3.2B annual savings
- Lesson: IoT is 20% software, 80% dealing with hardware that doesn't behave. GPS trackers lie. Connectivity in remote sites is a privilege, not a guarantee.
Tepati — Field Operations Platform
- Built solo in 30 days — Go backend, Flutter mobile, offline-first sync
- Eliminated 23% data loss from the previous paper-based system
- Impact: 4.1M end-users served
- Lesson: Building solo forces you to own everything. There's no "backend team" to blame when the database is slow at 3 AM.
Mid-Level Portfolio Checklist
| Item | Did I Do It? |
|---|---|
| 2-3 work case studies | ✅ SiTepat, HPU, Tepati |
| Measurable impact | ✅ 680K downloads, 65%→79% utilization, 23% data loss eliminated |
| Open source contribution | ❌ Started too late — should have begun at this stage |
| Technical articles | ⚠️ Wrote internal docs but never published publicly |
Stage 3: Senior — Depth, Architecture & Trade-Offs (Year 4-6)
What I Was Selling
Architecture depth + technical judgment. I stopped being evaluated on lines of code. I was evaluated on decisions — what architecture to use, what trade-offs to accept, and how to guide other developers.
What I Actually Did
Petrosea Minerva — IoT Fleet Telemetry
- Designed real-time geofencing engine processing 50K events/second
- Architecture: Go → MQTT → Kafka → Time-Series DB → React dashboards
- Trade-off decision: Chose MQTT over HTTP for edge-to-cloud because remote mines had intermittent connectivity. HTTP retries were killing our data pipeline.
- Impact: Sub-2-second geofence alerts, $200K annual savings
- Full case study →
IAG Cybera360 — Insurance Platform Architecture
- Designed microservices platform integrating 5+ third-party partners
- Trade-off decision: Chose Nuxt.js SSR over React SPA for SEO-critical insurance quoting flows. Australian insurance brokers search for "cyber insurance quote" — we needed Google to see our content.
- Impact: Digitized entire cyber insurance lifecycle for Australia's largest insurer
- Full case study →
Why Golang — Stack Decision
- Evaluated Go vs Node.js vs Python vs Rust for my primary stack
- Trade-off decision: Go won on simplicity, compilation speed, and deployment ergonomics — not raw performance
- Published the analysis publicly — became my most-read article
- Full article →
Architecture Diagrams I Designed
Senior Portfolio Checklist
| Item | Did I Do It? |
|---|---|
| System architecture diagrams | ✅ Documented in case studies |
| Trade-off decisions with rationale | ✅ Golang choice, MQTT vs HTTP, Nuxt vs React |
| Mentorship impact | ⚠️ Informal mentoring only — no structured program |
| Speaking/writing | ✅ Published 20+ technical articles, internal tech talks |
Stage 4: Staff-Level — Leverage Beyond Individual Contribution (Year 6-7)
What I Was Selling
Org-wide impact through tooling, standards, and cross-team influence. At SEVIMA, I didn't just build software — I established patterns that outlasted my tenure.
What I Actually Did
SEVIMA — Multi-Tenant LMS Architecture Strategy
- Designed approach for single codebase serving 100+ university clients
- Leverage: Instead of building 100 separate LMS instances, created a white-label framework where each campus gets custom branding + configuration from one deployable artifact
- Org-wide impact: Reduced per-client onboarding from 2 weeks to 2 days
- Full case study →
Dynamic Form Engine
- Built a form engine supporting 50+ field types with conditional logic
- Leverage: Other teams could create complex data collection forms without writing code — drag-and-drop configuration instead of developer tickets
- Adoption: Used by 3 product teams across the organization
ISO 8583 Bridge Protocol
- Built the core banking integration layer that became the standard for all future bank integrations
- Leverage: Subsequent banking partners were integrated in days instead of weeks because the protocol layer was reusable
What I Didn't Do Well at This Level
- Didn't write enough internal RFCs or design docs — decisions lived in my head and Slack conversations
- Informal mentoring only — should have created structured onboarding and growth programs
- Didn't measure or communicate my org-wide impact effectively
Staff-Level Portfolio Checklist
| Item | Did I Do It? |
|---|---|
| Cross-team initiatives | ✅ Multi-tenant LMS, form engine, ISO bridge |
| Standards/tooling adopted org-wide | ✅ Form engine used by 3 teams, ISO bridge became standard |
| Technical strategy docs | ❌ Under-documented — major gap in my portfolio |
| Problem framing at org level | ⚠️ Did it instinctively but never formalized |
Stage 5: CTO-Level — Business Strategy Through Technology (Current)
What I'm Selling Now
Business outcomes through technical strategy. As a founding/lead engineer at multiple ventures and now building AI-powered products, my portfolio is about how technology creates business value — revenue, cost reduction, competitive moats.
What I'm Actually Doing
AI/LLM Strategy at MiniMax
- Evaluating and deploying AI models for production use cases
- Strategic decision: Chose MiniMax M2.7 over GPT-4o for cost-performance ratio — 10-20x cheaper with comparable quality on coding benchmarks
- Business impact: Reduced AI inference costs by 90%+ while maintaining output quality
- Full article →
AI-Augmented Development Workflow
- Built MCP (Model Context Protocol) orchestration with 11+ servers
- Leverage: 3x developer output through AI-assisted architecture, coding, and review
- Strategic insight: AI won't replace developers, but developers who use AI will replace those who don't
- Full article →
FOSS Contribution Strategy
- Established
faisalaffan/foss-contributionas the canonical source of truth for all open-source work - Maintained tools across Dart, Python, TypeScript, and Go ecosystems
- Business rationale: Open source is the new resume — every public repo is a portfolio item that works 24/7
This Platform (faisalaffan-news)
- Built personal knowledge base spanning 20+ technical articles
- Strategic decision: Writing publicly compounds — each article is a backlink, a credibility signal, and a discovery mechanism
- SEO-optimized, bilingual (ID+EN), with structured data for AI crawlers
CTO-Level Portfolio Checklist
| Item | Did I Do It? |
|---|---|
| Strategic decisions (build vs buy) | ✅ AI model selection, stack choice, FOSS strategy |
| Business impact metrics | ✅ 90% cost reduction, 3x developer output |
| Org design & hiring philosophy | ⚠️ In progress — building team structures now |
| Budget & vendor management | ⚠️ AI API cost optimization done — traditional infra budget pending |
| Risk management | ⚠️ Architecture patterns documented, formal DR plans incomplete |
Career Retrospective: What I'd Tell My Younger Self
Start Writing Publicly on Day One. Every bug you fix, every architecture
decision you make — write it down. Your 2026 self is mining your 2020 notes for content. Your future career literally depends on the documentation you write today.
Open Source from the Beginning. Your first PR to a real project is worth
10 personal repos. It teaches you: reading unfamiliar codebases, navigating contribution guidelines, receiving code review from strangers. These are the skills that get you hired at senior+ levels.
Measure Everything. "Faster," "better," "more scalable" are opinions.
"API latency dropped from 800ms to 200ms" is a fact. Facts go in your portfolio. Opinions don't.
Your Network Is Your Net Worth (Yes, It's Cliché for a Reason). Every
job I got after my first one came through someone who read my writing, used my open-source tool, or saw a talk I gave. Cold applications are the worst ROI activity in your career.
Don't Skip the Fundamentals Chasing Hype. Kubernetes is cool. But you
know what's cooler? Understanding how TCP handshakes work when your MQTT broker keeps dropping connections at a remote mine site. Fundamentals save you when abstractions leak — and they always leak.
This article is living documentation. As my career evolves, I'll update each section with new projects, new decisions, and new lessons. Because the best portfolio is the one that's never finished.