About Me
I am a senior full-stack developer, currently an L3 Developer at Telus in Scarborough, Ontario. My day-to-day is Spring Boot microservices on Google Cloud for the Client API platform — designing, building, and operating services that other engineering teams depend on.
Earlier in my career, I built and rolled out core retail-banking systems at Standard Chartered Bank across Asia and Africa, and shipped containerized backend services on OpenShift at Bell. Most recently I have been extending into applied generative AI — building a gen-AI chatbot on Claude 3.5 Sonnet, GPT-3.5, and a Milvus vector database, and integrating agentic tooling into my engineering workflows.
I live in London, Ontario with my family. Outside of code, I enjoy long walks, time with my wife, learning new ML topics through the IBM AI Engineering track, and small side projects (this site is one of them).
Experience
L3 Developer · Telus
Dec 2021 – present- Design and deliver Spring Boot REST microservices on Google Cloud for the Client API platform — ownership from design through production rollout.
- Authored the team's CI/CD automations on GitHub workflows and Jenkins — pipeline-as-code patterns reused across the platform.
- Built an automated code-quality risk engine on Fuel iX (Telus Digital's enterprise GenAI platform — multi-model across Anthropic, OpenAI, Google, and AWS) integrated with GitHub workflows — LLM-backed analysis of pull requests, risk scoring, and AI-assisted code review.
- Act as senior-tier production support for the platform — incident triage, root-cause analysis, and durable fixes.
Software Developer · Bell
Jul 2020 – Oct 2021- Built containerized Spring Boot REST microservices on OpenShift (Kubernetes-based) for the Field Management Service platform.
- Led the data migration from the legacy system into Oracle — SQL, Flyway, reconciliation on either side of cut-over.
- Integrated Keycloak Single Sign-On across multiple internal applications.
Senior System Analyst · Standard Chartered Bank
Jun 2016 – Aug 2019- Built Spring Boot REST microservices forming the distributed backbone of the ICM retail-banking platform — rolled out across Asia and Africa markets.
- Developed end-of-day Spring Batch jobs (Mass Upload, account reconciliation) over millions of customer records — idempotent, restartable, auditable.
- Partnered with Operations, Compliance, and Country Risk teams across markets to translate engineering trade-offs into language business and regulatory partners could act on.
Software Engineer · TekIvy
Jun 2015 – Feb 2016- Developed Node.js APIs for the landscape-management workflow.
- Built the UI in Angular JS with custom CSS.
- Authored CI/CD build scripts and Jenkins configuration for deployment automation; built a PowerShell server-monitoring tool.
My Stack & Tools
Backend
Java 11, Spring Boot, Spring MVC, Spring Batch, Spring Data, Hibernate, J2EE, EJB 3.0, REST microservices, JUnit, TDD
Frontend
React, TypeScript, JavaScript, Angular JS, Node.js, Material UI, Bootstrap, HTML5, CSS
Databases
Oracle, IBM DB2, SQL Server, PostgreSQL, MySQL, PL/SQL, MongoDB, Milvus (vector)
Cloud & DevOps
Google Cloud (GCP), OpenShift / Kubernetes, GitHub workflows, Jenkins, Docker, Maven, Gradle, Flyway, Linux
Applied AI
Claude 3.5 Sonnet, GPT-3.5, Milvus vector DB, Attu, fuelix.ai, Claude Code, IBM AI Engineering certificate (scikit-learn, Keras / TensorFlow, PyTorch, LLM / GenAI)
Workflow
Agile / SDLC / Waterfall, TDD, Git, JIRA, Confluence, IntelliJ, Eclipse, VS Code
My Operating System
A short version of how I work and what I optimize for.
Ship, then refine
I would rather get a working end-to-end version into review by Wednesday than a perfect half by Friday. Feedback on something running beats feedback on a doc.
Own the production path
I take responsibility for what runs, not just what I wrote. That means tracing across services, separating durable fixes from workarounds, and feeding the lessons back into the platform.
Be explicit about trade-offs
Banking and telecom taught me to surface trade-offs to non-technical partners in language they can act on. I will tell you when something is a stretch, and I will not pretend a gap is not there.
Learn in public
Whether it is a new framework, a new ML topic, or a new language, I learn fastest by building something small with it and showing it. The IBM AI Engineering track and this site are both examples.
Default to writing it down
Decisions, runbooks, and design choices live in a doc or a commit message — not just my head. If we discussed it on a call, I will follow up in writing.
Respect maker time
I do my best work in deep blocks. I batch meetings, protect mornings for engineering, and keep Slack on the side rather than at the centre.
My Availability
Working hours
Monday to Friday, 9:00 AM – 5:30 PM Eastern. Mornings (before 11 AM) are my focused-engineering block — the best time for hard problems, the worst time for unscheduled meetings.
Response time
Within the day for direct messages on Slack or email. Within an hour for anything tagged urgent or production-impacting. Outside of working hours I am slower — family time and side projects take priority.
How to reach me
Use the contact form below for messages, or book a call on my calendar. LinkedIn and GitHub also work — links in the header and footer.
Location & relocation
Based in London, Ontario. Open to GTA / Ottawa hybrid, fully-remote Canada-wide, and relocation (including the US) for the right role.
How You Can Help Me
If you want to do me a favour, here are the things I would genuinely value.
- Direct feedback. Tell me when something I shipped is off — the design, the bullet on my resume, the way I framed a question. I will not be defensive and I will fix it.
- Introductions. If you know someone hiring senior full-stack or applied-AI engineers in Canada, or anyone working on production gen-AI systems, I would love an intro.
- Hard problems. Send me the thorny distributed-systems bug, the legacy migration nobody wants to touch, or the half-specified AI integration — that is the kind of work I do best.
- Pointers, not answers. If I am stuck, point me at the right paper, dashboard, or person rather than handing me a solution. I learn faster that way.
- Honest signals. If you think a direction I am taking is wrong, tell me early. I would much rather have an awkward five-minute conversation than spend two weeks on the wrong thing.
My Favourites
A short list of things I have found genuinely useful — not exhaustive, just what I would actually recommend.
Tools I use every day
- Claude Code — primary development tool for production engineering work; pairs naturally with how I already think about code review and refactoring.
- IntelliJ IDEA — still my home for any non-trivial Java / Spring work.
- fuelix.ai — Telus' internal agentic-AI platform; my entry point for AI-assisted automation at work.
- Postman & Bruno — API design and exploration during microservices development.
Books & courses that shaped me
- IBM AI Engineering Professional Certificate (Coursera) — thirteen-course track across scikit-learn, Keras / TensorFlow, PyTorch, and the Generative-AI / LLM modules. The most useful structured ML on-ramp I have done.
- Designing Data-Intensive Applications by Martin Kleppmann — the book I return to whenever I need to reason about consistency, replication, or batch versus stream.
- The Pragmatic Programmer (20th-anniversary edition) by Hunt and Thomas — the senior-IC mindset, condensed.
Topics I am exploring
- Practical patterns for productionizing LLM applications — retrieval, evaluation, and guardrails.
- Senior-IC craft: writing better design docs, running better post-incident reviews, mentoring without taking over.
- Personal-finance and indexing for the Canadian market — a long-running side interest.
Community & Free Consulting
I keep a few hours each month for people I can genuinely help — no fee, no catch. If you fit one of the groups below, please reach out.
Local small businesses
Need software to run your shop, agency, or service business? Wondering whether a custom app makes sense, or how to evaluate a quote from a developer? Bring the problem and I will spend an hour helping you think it through.
People learning to build apps
Trying to build your first web or mobile app? Have an idea but not sure where to start, what stack to pick, or how to get something running? I will walk through the path with you and point you at the right next step.
Early-career developers
I can help with code review on a side project, mock interviews for junior or mid-level Java / Spring / React roles, resume and portfolio review, or just career-direction questions from someone who has been through the ramp.
People curious about applied AI
Want to understand how production LLM apps actually work — prompts, retrieval, evaluation, where AI helps and where it does not? I will share what I have learned shipping gen-AI features at work and on personal projects.
No charge. No sales pitch. Bring a real problem and I will give you my honest take.
Contact
Send me a message. The form opens your email client with a draft pre-filled — review it, hit send, and it lands in my inbox.
Message sent
Thanks — your message landed in my inbox. I will get back to you within the day during working hours.