Joanah Fermin Tan

Senior C# / .NET developer

Good process makes good software.

Good engineering practice has always been the foundation of maintainable software that meets users' needs. With AI-assisted development, it matters even more.

Portrait of Joanah Fermin Tan

Build

  • C#, JavaScript
  • .NET Framework (MVC)
  • .NET Core (REST APIs)
  • Entity Framework, Dapper
  • MS SQL Server
  • Azure DevOps, Git

Practice

  • Team leadership
  • Business analysis and requirements
  • Layered system design, clean code
  • Agile & Scrum
  • Root-cause troubleshooting
  • Test design and quality assurance

AI

  • AI-assisted development
  • Claude Code

How I build with AI

My workflow and principles for efficient AI-assisted development.

Before any code is written

1

Explore

Discuss the problem and goals with AI, tapping its broad technical knowledge to explore the options, then decide together.

2

Document

Write down the project decisions, what the team likes and doesn't, and a list of what to build.

3

Specify

Write each feature out in detail before any coding, a batch at a time.

Then the code

4

Build

AI codes one feature at a time, working from its write-up.

5

Test and AI review

AI reviews the code and writes unit tests.

6

Human review

Every change is read and approved by a person before it goes in.

7

Refine

Tick off the feature and move to the next one.

Discipline and continuous improvement

Any change of plan goes into the docs first, then the code.

AI is only as accurate as the guidance it gets. Every lesson, good or bad, goes back into the docs, so future results grow more accurate, judged by the team's own standard.

From self-taught to senior developer

My professional experience, newest first.

Associate Software Engineer

Accenture
Jun 2024 – Dec 2024 · 7 mos · Philippines, hybrid

Left a government role to switch to full-time software development, joining Accenture and training across several technologies.

Supported production batch processing for a large U.S. utility company: monitored job runs, automated routine tasks, and troubleshot failures, resolving them or escalating to the right teams. Kept the goal clear throughout: becoming a developer.

Data Encoder

Philippine Postal Corporation
Aug 2017 – Sep 2019 · 2 yrs 2 mos · National Capital Region, on-site

Processed mail tracking numbers and managed data for Social Security IDs before release.

What I believe

About building software as a team.

Speak up, listen well

A team does its best work when everyone feels safe to ask questions and say what they think. Problems come out early, and the best idea wins, whoever it came from.

Everyone owns quality

Analysts, developers and QA share it. Nothing is accepted just because it was handed over, so mistakes are found early and not when delivery is close.

Talent needs good habits

Strong people each working their own way don't add up to a strong team. Shared engineering practice lets them help each other and deliver better.

Keep learning from the industry

Nobody has to reinvent everything. Learn from what the industry already knows, and choose carefully what actually helps the team.

Good software comes from a team that feels safe to speak, questions everything and keeps learning.