Sun, Apr 19, 2026, 12:00 PM

HCIM

The following summarizes how my background aligns with the Senior Software Engineer role leading the modernization of HCIM's SymKey platform.

Direct alignment with the core mission

The position requires taking ownership of a legacy .NET Framework 4.8 system, migrating it to modern .NET, converting VB.NET to C#, and reducing technical debt through a service-oriented rewrite. My career includes two comparable modernizations delivered on business-critical banking platforms:

  • At Safra (2007), I led the migration of Visual Basic desktop applications to web applications built on ASP.NET Web Forms, transitioning a thick-client workflow to a browser-delivered platform.
  • At Mizuho Bank (2016), I led the migration of ASP.NET Web Forms applications to Angular 4 on the front end, and the migration of the back-end services from .NET ASMX to RESTful web services.

In both engagements the work was executed against a live, production-critical codebase, progressing incrementally while preserving continuous business operations.

C# and .NET experience

The position requires 5+ years of backend C# and .NET experience. I have worked with C# since the initial release of the .NET platform, across both .NET Framework and modern .NET, with production experience in ASP.NET Core, WPF, Windows Forms, Windows Services, and WCF at Curtis Instruments, First Republic, Jefferies, Mizuho Bank, Pronology, and Safra.

SQL Server and data-access modernization

My SQL Server experience spans both the .NET client side and the database side. The position will require fluency across both, and that has been the scope of my data-access work for many years:

  • ADO.NET for performance-sensitive paths, using DataReader, DataSet, and DataTable.
  • ORM-based access with Entity Framework (EF6 and EF Core) and LINQ to SQL, including both code-first and database-first migrations.
  • Authoring stored procedures, user-defined functions, and views, and refactoring procedure-heavy logic into application-layer services where appropriate.
  • Writing and auditing triggers, including consolidating legacy trigger chains whose responsibilities belonged in the application layer.
  • Performance tuning, including execution-plan analysis, slow-query diagnosis, index design, resolution of parameter-sniffing issues, and reduction of database round-trips.
  • End-to-end production diagnostics, from .NET call sites through SQL Profiler and Extended Events down to the underlying queries and schema.

APIs and scalable backend architecture

I design and deliver scalable backend APIs, predominantly RESTful HTTP services, across three runtimes that together cover the majority of modern web-backend workloads:

  • .NET Core (modern .NET) with ASP.NET Core, including Linux container deployments for production workloads.
  • Go, most recently on migrations from .NET to Go, selected when small deployable binaries, fast startup times, and low memory footprint are required without compromising on static typing.
  • TypeScript on Node.js with Express, selected when the API integrates directly with the Anthropic Agent SDK or other AI tooling that provides first-class TypeScript support.

This range supports per-service technology selection rather than a single monolithic runtime, consistent with the modular architecture described in the posting.

Testing and safety nets around legacy code

Safe modernization of a complex system depends on a disciplined test layer. I apply standard industry testing practices across the full testing pyramid:

  • Unit tests: decoupled, atomic, and fast, with one behavior verified per test. Moq is used for dependency mocking to ensure the unit under test is isolated.
  • Integration tests: validating code paths against an actual SQL Server instance and external services where appropriate, so system wiring is verified rather than only individual components.
  • Browser end-to-end tests: Selenium with ChromeDriver for web UIs, exercising the deployed application through the same interactions an end user would perform.
  • Windows desktop UI tests: FlaUI for automated testing of Windows desktop applications. This is often required in highly regulated industries, where source-level testing alone is insufficient and the compiled product itself must be verified.
  • AS400 based tests: custom screen-scraping applications that drive the Attachmate EXTRA! emulator against AS400 systems, reading 5250 screen content, sending keystrokes, and asserting on returned output to exercise operator-equivalent workflows.

AI-assisted development already integrated into my workflow

The position calls for daily use of AI coding tools such as Claude Code and Codex, as well as the application of LLMs within the product itself. These practices are already integral to my engineering workflow:

  • Claude Code and OpenAI Codex, daily. Both serve as my primary agentic coding harnesses, each applied to the tasks it is best suited to. This resume site, as a recent example, was implemented using Claude Code.
  • Model Context Protocol (MCP), daily. Rather than implementing bespoke LLM-to-system integrations, I connect agents to tools and data through MCP, the open standard for exposing external systems to LLMs.
  • MCP servers delivered as a product capability. I build MCP servers for the organizations I work with, enabling their internal teams and, where applicable, their downstream customers to access internal systems such as file stores, databases, and domain APIs from any MCP-compatible client.
  • OpenAI Whisper for speech-to-text. I integrate Whisper into both desktop applications (WPF, WinForms) and web applications (React, Next.js) to support dictation, voice-driven workflows, and transcript processing pipelines.

CI/CD and DevOps

At Curtis Instruments I owned the Jenkins CI/CD pipeline for the desktop application suite end to end, and I have delivered equivalent pipelines on Azure DevOps Pipelines for other products:

  • Continuous integration: automated compilation and unit-test execution on every commit to source control.
  • Artifact packaging: Windows installer generation and code signing as part of the build process.
  • Artifact publishing: signed builds promoted to the internal artifact repository for downstream consumers.
  • Approval gates: manual approval checkpoints prior to each production release, with clear ownership of who approves what and when.

Cloud

I have production experience with AWS and Azure:

  • AWS: EC2, RDS, S3, CloudFront, VPC, and others.
  • Azure: App Services, Azure SQL, Blob Storage, Service Bus, and others.
  • Containers and orchestration: Docker for containerization and Kubernetes for production orchestration.

Front-end: desktop and web

My front-end experience covers both desktop and web applications. The relevant work on each stack is summarized below.

Desktop UI

My desktop UI work spans both generations of the Windows UI stack, shipped atCurtis Instruments, Jefferies, Pronology, and Safra.

  • WinForms: classic event-driven Windows applications, including form layouts, custom painting, and integration with native Win32 where necessary.
  • WPF with XAML: composable, vector-based UIs built declaratively in XAML, taking advantage of data binding, routed events, and dependency properties.
  • MVVM: standard architectural pattern for WPF applications, separating view, view-model, and model to support testability and clean state management.
  • Custom controls and templates: extending built-in controls, writing custom controls from scratch, and authoring control templates, data templates, and styles to deliver a consistent visual language across large applications.
  • Third-party control suites: DevExpress and similar enterprise component libraries used for data grids, charts, and advanced input controls in financial and industrial applications.

Web UI

On the web side, my experience spans the full range from hand-written HTML and CSS through modern component-based TypeScript frameworks.

  • Fundamentals: semantic HTML, CSS, and responsive design as the foundation below any framework.
  • Modern CSS layout: Flexbox and CSS Grid for responsive, maintainable page and component layouts, used daily today.
  • Bootstrap: used extensively on earlier projects for responsive layouts.
  • Component frameworks: React, Next.js, and Angular in production, including server-side rendering and routing patterns.
  • TypeScript: used as the default language for new web code to keep the front end and back end under a single type system when possible.