HOW I WORK
My approach to problem solving, teamwork, and delivery
Problem solving
I break big problems into smaller parts, fix what matters first, and keep going until the issue is properly solved.
Clear communication
I keep communication simple and direct, especially when working with non-technical teams and during production issues.
Teamwork
I enjoy working with other developers, QA, and business teams to ship features that are useful and stable.
Consistency
I take deadlines seriously, write code that can be maintained, and keep improving my skills through real project work.
CONTINUOUS GROWTH
How I have grown so far, and what I am focused on next
Foundation
I started by learning fundamentals, writing production code, and understanding how teams deliver software together.
Delivery
I moved into owning features end to end, from understanding requirements to shipping and supporting them.
Expansion
I am now focused on cloud architecture, distributed systems, and practical AI use in real business products.
Cloud Architecture
I am improving how I design and deploy cloud systems in Azure, including Dapper for efficient data access and FluentMigrator for reliable database migration workflows, alongside cloud-native patterns that make scaling easier.
Database Migrations
I focus on reliable schema evolution and repeatable deployments using FluentMigrator to manage database migrations and versioning across environments.
Finished Clean Code
I recently finished Robert C. Martin's Clean Code. I apply its principles meaningful naming, small functions, clear tests, and thoughtful design to improve code quality and maintainability in my projects.
Recent learning: Design Patterns, Clean Code Architecture, and Advanced SQL Performance Tuning
Engineering Philosophy
How I think about software — not just how I write it
Get the structure right first
I usually start with boundaries and separation of concerns. If the structure is clear early, changes later are easier to manage.
Rules should live in data when possible
Hardcoded conditionals get messy fast. If a rule changes often, I move it into configuration that idea shaped the RuleX engine I built.
Testability starts in design
I keep dependencies clear and injectable so code is easier to test. If something is hard to unit test, it usually means the design needs another look.
Performance matters
Good performance does not happen by luck. It comes from good structure, sensible queries, and measuring before trying to optimize.
Ship value, not just features
The best pull request removes pain from someone’s workflow. I look for practical impact: less manual work and faster decisions.
Write code the next developer can trust
I name things clearly, keep methods focused, and add comments only when needed. Code is read more than it is written.
Testimonial Reviews
WORDS FROM PEOPLE WHO HAVE BEEN PART OF MY DEVELOPMENT JOURNEY
Working with Simphiwe has been a great experience. He consistently takes ownership of his work, approaches problems with a solution oriented mindset, and is always willing to learn. He's grown into a dependable developer who collaborates well with the team, communicates effectively, and delivers quality solutions. I appreciate his commitment to continuous improvement and his willingness to take on new challenges.
I had the opportunity to work with Simphiwe during the early stages of his career as a graduate developer. From the beginning, he showed a strong willingness to learn, adapt, and take on new challenges. His curiosity, dedication, and commitment to improving his technical skills were clear throughout his journey. It has been great to see his growth into a confident developer who collaborates well with the team and consistently strives to deliver quality solutions.
Education & Continuous Learning
A commitment to lifelong learning, professional growth, and technical excellence.
National Senior Certificate (Matric)
January 2013 - December 2017 Graduated with High School
National Senior Certificate Achieved 1 Distinction
Diploma in ICT (Applications Development)
February 2018 - December 2020
Successfully completed all modules, achieving 8 distinctions with no failed subjects.
Advanced Diploma in Information Technology
February 2021 - December 2021
Successfully completed all modules, achieving 5 distinctions with no failed subjects.
A Look Back at My Journey
This is how my work experience has grown over time
-
2021
-
1 Jul
Graduate Software Developer, AspireMoney Ltd
I started my software development career here as a Graduate Developer. I worked closely with senior developers and learned how production systems are built, tested, and supported in a real business environment.
Key Responsibilities
- Assisted in developing and maintaining enterprise software applications.
- Collaborated with senior developers to implement new features, troubleshoot issues, and improve existing functionality.
- Participated in testing, debugging, code reviews, and Agile development activities.
Key Achievements
- Successfully completed the Graduate Programme and transitioned into a professional software development career.
- Built a strong foundation in full-stack software development and enterprise application development.
- Developed the technical and professional skills that led to securing a Junior Software Developer position at TTD Consulting.
-
2022
-
Intermediate Software Developer, TTD Consulting
23 Apr
Apr 2022 - Present
I joined TTD Consulting as a Junior Software Developer and later progressed to Intermediate Software Developer. My work covers the full lifecycle: understanding requirements, building features, fixing issues, and supporting production systems used by real customers and internal teams.Key Responsibilities
- Develop and maintain enterprise full-stack applications using C#, ASP.NET Core, Angular, SQL Server, Entity Framework, and REST APIs.
- Design, implement, and enhance business-critical features across frontend, backend, and database layers.
- Analyse business requirements, troubleshoot production issues, and collaborate with developers, QA engineers, business analysts, and stakeholders to deliver reliable software solutions.
Key Achievements
- Progressed from Junior Software Developer to Intermediate Software Developer, recognising consistent technical growth, performance, and contribution to the development team.
- Contributed to the successful development and enhancement of enterprise applications including Sofari, IUA Self Service, and SalesApp.
- Delivered production-ready features across the full stack, building scalable REST APIs, responsive Angular applications, and maintainable backend services that support business-critical operations.
RECENT WORK
Projects I have worked on across systems, APIs, and frontend delivery
Open Source & Public Work
Public repositories you can inspect to see how I build
Configurable rule engine using Strategy & Factory patterns. Business rules are stored in JSON, which keeps changes out of the codebase.
Full-stack e-commerce order management system with a 3-tier architecture, 15+ REST endpoints, and sub-200ms product queries.
ASP.NET Core Web API with JWT auth, Swagger docs, and a clear Repository → Service → Controller flow.
15+ GoF patterns in C# with real-world business scenarios. Creational, Structural, and Behavioral examples are shown with before/after comparisons.
Featured Case Studies
Key projects, the problems behind them, and how I approached the build
WorkPulse — Task & Delivery Planning System
Delivery teams often manage client work across disconnected task lists, backlogs, sprint boards, and status conversations. Developers still have to search through everything to work out what matters today, while administrators struggle to see overdue work and delivery pressure early.
Designed the product around one connected delivery journey: Client → Project → Task → Backlog → Sprint → Assignment → Today → Complete. I separated domain rules, application workflows, identity, SQL integration, API contracts, and the Angular UI so prioritisation stays explainable and each layer can be tested independently.
- Admin workflows for clients, projects, tasks, users, backlogs, and sprints
- Developer-focused Today and My Tasks views with clear next actions
- Deterministic priority order: In Progress, Overdue, Due Today, Recommended Next
- JWT authentication with Pending, Developer, and Admin role boundaries
- Dapper repositories, FluentMigrator migrations, seed data, and API contracts
- Domain, SQL integration, API, host, and Angular tests
- Connected planning and execution in one end-to-end delivery workflow
- Made every Today recommendation deterministic, explainable, and testable
- Kept administrators in control while giving developers a focused execution view
- Demonstrated full-stack ownership across Angular → API → domain → SQL → tests
Angular UI → ASP.NET Core API → application use cases → domain rules, with JWT identity and Dapper / SQL Server integrations behind explicit boundaries.
HR Falcon — Full-Stack Human Resource Management System
Leave requests, approvals, employee records, payslips, supporting documents, and internal notices are often split across spreadsheets, email, and manual processes. This delays decisions, duplicates information, limits status visibility, and makes HR workflows harder to manage consistently.
Built a centralized ASP.NET MVC 5 application using server-rendered Razor views, ASP.NET Identity 2 for authentication and role-based authorization, and Entity Framework 6 for persistence. I organized the system around the actual journeys of employees, managers, payroll users, and administrators.
- Employee authentication, account management, and role-aware navigation
- Employee and department administration with profile maintenance
- Leave request submission, approval, and status workflows
- Return-to-work processes with supporting document uploads
- Payslip upload, distribution, and payroll-related communication
- Campaign and employee notification management
- Centralized common HR operations in one role-aware application
- Improved visibility of leave, approval, document, and payroll communication states
- Kept sensitive workflows separated through ASP.NET Identity roles
- Demonstrated full-stack ownership across Razor UI → MVC controllers → EF6 → SQL Server
Users → Razor Views → MVC Controllers → business and workflow logic → Entity Framework 6 → SQL Server. ASP.NET Identity 2 protects role-specific journeys.
OneShop — Sales & Order Management System
Designed to prove end-to-end system development capability. Goal: build a production-quality e-commerce order management system covering the full workflow — catalog management, shopping cart, order processing, inventory, and customer management — following industry best practices throughout.
Applied Repository Pattern and service layer architecture for clean separation of concerns. Designed a normalised database schema in 3NF. Implemented RESTful endpoints with correct HTTP verb usage. Prioritised testable, maintainable code with consistent naming conventions throughout.
- Database schema managing 100+ product SKUs with inventory tracking
- 15+ RESTful API endpoints for products, orders, and customers
- Shopping cart with session management and persistent storage
- Multi-step checkout: cart ? shipping ? payment ? confirmation
- Admin panel for order fulfilment and inventory management
- Clean 3-tier architecture: Presentation, Business Logic, Data Access
- Sub-200ms response times for all product search queries
- Repository pattern enables easy unit testing and mocking
- Demonstrates practical mastery of MVC, ORM, and RESTful design
MVC Controllers → Service Layer → Repository Layer → Entity Framework → SQL Server. Session Store manages cart state independently.
Contact
If you want to discuss a role or project, feel free to reach out.
+27 73 490 2021