Carlos FernandesSenior Software EngineerEdinburgh, UK

I build, integrateand improveproduction software.

.NET / C#, Angular, APIs and the production systems they connect.

Edinburgh, UK · 10+ years in production software

Fig. 01 — Parallel forms
  • .NET / C#
  • Angular
  • APIs & integrations
  • SQL
  • Existing systems
  • Production delivery

01 — Technical focus

What I work on.

S.01

APIs & Integrations

Context
Most products depend on services they don’t control, like payment providers, partner platforms and internal APIs. That is where many production issues start.
Approach
I design and build REST APIs and third-party integrations in .NET with clear contracts, deliberate error handling, retries and logging.
Result
Integrations that are understandable, observable and safe to extend.
S.02

.NET & Angular Engineering

Context
Features that cross the whole stack, from data model and API through to the interface people use.
Approach
I work end to end in C# / .NET and Angular, within shared conventions, automated tests and code review.
Result
Production-ready features the rest of the team can confidently own.
S.03

Production & Legacy Systems

Context
Systems that have been live for years, carry real users and real data, and have become hard to change.
Approach
I investigate how the code actually behaves in production, find root causes and make small, low-risk changes to the SQL, the performance and the structure.
Result
Systems that become more stable and easier to work on, without a rewrite.
S.04

Architecture & Delivery

Context
Decisions about structure, APIs, data and pipelines that shape how a team builds and ships.
Approach
I help shape architecture, review code quality, SQL and CI/CD, and keep the path from design to release reliable.
Result
Clear technical direction and a codebase that keeps shipping.

Selected work

Engineering examples

Most of my work lives in private, company-owned codebases, so those examples are anonymised and leave out anything confidential. Personal projects link to their code.

  1. Case 01

    A drag-and-drop builder for General Ledger exports

    Internal project
    Challenge
    Every client needs its General Ledger export in the exact layout its finance system expects, and each new layout meant a developer building another custom report. I joined a team that was already working on it, with the reporting logic in place and a form-based screen planned.
    Approach
    The business wanted a self-service tool. I wanted it to feel modern and easy to use without help, so I proposed designing it around drag and drop. Users drag the fields they need into the column headers, put them in order, add their own manual columns and transform values with functions like date formats, value mapping or joining fields. I designed the database structure behind it and built the Angular UI and the endpoints it needed, while a teammate connected it to the existing reporting logic.
    Result
    It is being rolled out to internal teams, who can now build, clone and publish export layouts themselves. A published layout runs like any other report, so a new layout no longer needs a developer to write a custom one.
    Stack
    Angular · Angular CDK drag and drop · ASP.NET Web API · Entity Framework · SQL Server
  2. Case 02

    Natural-language charts, without handing the AI the database

    Personal projectView the code on GitHub (opens in a new tab)
    Challenge
    Business users wanted quick answers from HR data like hours, overtime and absences, but every new chart meant asking a developer. Letting an AI write the SQL would fix that, but nobody could predict what it would run or which data it could reach.
    Approach
    I gave the AI one job: understanding the question. It sends back a small, strict plan with the dataset, chart type and dates, never SQL. The .NET backend matches that plan to queries I wrote and reviewed, and turns down anything it doesn’t recognise. Angular then draws the chart.
    Result
    A working prototype, front to back. Type “overtime by month for 2025” and the chart appears. The AI never sees the database, every query it can trigger already lives in the code, and if it sends back something unexpected the request simply fails.
    Stack
    ASP.NET Core Web API · OpenAI Responses API · EF Core · Angular · Chart.js
  3. Case 03

    Cutting waiting time across an application

    Private work
    Challenge
    Slow screens and long-running actions rarely come from one obvious bug. They build up in different parts of an application, and users simply learn to wait. Finding them takes patience: reading code, reviewing changes and questioning the parts everyone assumed were fine.
    Approach
    I treat speed as part of everyday work rather than a separate project. While reviewing code or working in an area, I look for the places where people wait, work out what is really slowing them down and try different fixes, testing each one again and again until I trust the result. Every round teaches me a technique I can use somewhere else.
    Result
    Screens and actions in several areas now respond noticeably faster, and testers and end users have noticed the difference themselves. That is the best part of it: a win for the people using the application and for the business.
    Stack
    C# / .NET · SQL Server · Angular

Smaller personal experiments are on GitHub (opens in a new tab)

03 — Experience

Ten years of production software, across Venezuela and the UK.

Most of it inside systems that were already live: real users, real data, established teams and release processes, and problems that only show up in production.

  • .NET / C#
  • Angular
  • API integrations
  • SQL
  • CI/CD
  • Production systems
  • Legacy-system improvement
  • Debugging & problem solving
  • Venezuela → UK

04 — About

Edinburgh-based. Originally from Venezuela.

I studied at Universidad Católica Andrés Bello (UCAB) in Venezuela and started my career there, before moving to the UK. I’ve now spent more than ten years building backend services, web applications and integrations, mostly in .NET and Angular.

I like the unglamorous parts of engineering: understanding how a system really behaves, changing it carefully, and leaving it easier for the next person.

I work in English and Spanish.

Based
Edinburgh, Scotland
Languages
English, Spanish
Fig. 02 — InterferenceFour colours, two pitches

05 — How I work

Small and practical.

  1. Understand

    Clarify the problem, constraints and what “done” means.

  2. Build

    Work pragmatically within the existing architecture.

  3. Deliver

    Maintainable code and clear communication throughout.

06 — Contact

Always happy to talk engineering.

.NET, Angular, API design, or a production problem worth untangling. Feel free to get in touch.