Track record

A client reporting app over a legacy datastore

Built VTrader's client-facing reporting web app over a quirky legacy versioned datastore, and turned a neighbor I met through Scouts into a professional C#/.NET developer along the way.

Org
VTrader / VTraderPro
Role
Contract developer
Period
2011 to 2012

The setup

VTrader asked me to develop a web app for their clients, an end-of-day reporting tool that presented portfolio positions and related details after the nightly processing run. The interesting wrinkle was the data layer. The datastore sat on a legacy IBM database with a distinctive scheme for storing prior versions of values, a point-in-time history, so retrieval had to respect that versioning.

What I built

A rich client-facing front end, with dynamic tables and on-demand data loading, over a data-retrieval design built for testing. The core idea was dependency injection behind a consistent interface. Because every data source implemented the same interface, I could swap implementations by environment. In development we ran against a SQLite clone of the dataset. In production a caching-layer wrapper backed the same interface, doing read-to-cache with scheduled invalidation tied to the nightly reprocessing. Clients got fast reads during the day and fresh data after each end-of-day run. Clean seams, easy tests, no special-casing.

Net result / what I learned

  • Interface-first design plus DI buys you testability for free. One consistent data interface let the same app run on a throwaway SQLite copy in dev and a production cache with scheduled invalidation. I keep reusing that pattern.
  • Mentoring is part of the work. I got to teach Tim Jorgenson C# and this whole space hands-on, which set him up to move forward into a C#/.NET developer role at Hyland. Watching someone level up because you taught them is one of the more durable rewards of the job.

The story

I got to do this one with Tim Jorgenson, a neighbor I’d first met through my son’s Cub Scouts and Boy Scouts, and someone I spent a lot of time with. VTrader was partly a chance to work alongside a friend and bring him along technically. He later became an adopter of Triverium through his company, too. He’s in the network as a trading-back-office and C#/.NET reference.

Key people

  • Tim Jorgenson, neighbor through Scouts and friend. Paul taught him C#/.NET on this engagement, and he went on to a developer role at Hyland. VTrader colleague and later a Triverium adopter. linkedin.com/in/tim-jorgenson

Technologies used

C#/.NET web app; rich dynamic-table front end with on-demand loading; dependency-injection data layer behind a consistent interface; SQLite dataset clone for development; production caching wrapper doing read-to-cache and scheduled invalidation on nightly reprocessing; integration over a legacy IBM versioned, point-in-time database.

This is the kind of work behind the fractional CISO and CTO offer.

Book

Bring the problem.
Leave with the next three moves.

Length
30 minutes
With
Paul, directly
Reply
Within 24 hours
After
Scoped and priced in writing after a 30-minute call.
Book a 30-minute intro call

30 minutes, directly with Paul. Or write to paul@vilevac.com