My name is Daniel Longest and I'm a software developer living in Charlottesville, Virginia. I work for a not-for-profit in the financial services industry. Most of my experience is in .NET, particularly back-end services and integration projects, but also web and desktop applications. This blog will cover a variety of areas, but I'm heavily interested in software design. I enjoy training other developers so most entries will focus on demonstrating or discussing areas that are weakly covered or confusing, usually drawn from questions I get asked at work. I train .NET developers at work now and previously was responsible for company-wide SQL training for a wide-ranging audience. That said, I feel like I learn far more from training others than they learn from me: it's definitely a two-way street.

What is A Champion?

In the most common definition, a champion is the victor of some competition. But who are we competing against? Sure, in some respects we compete on a daily basis (for resources, for promotions, for market share), but those are macro concerns: they say very little about the day to day decisions we all face. The competition that matters is only against one person: yourself.
Every day we have a choice: we can get better or we can get worse. This may seem strange - who would choose to get worse each day? But in the words of the great Brooks Robinson, American baseball player,
If you're not practicing, somewhere, somebody else is, and he'll be ready to take your job.
Technology advances too fast to believe the skills and knowledge we have today will be sufficient tomorrow. Every day, we need to get better, even if it's just a little. We need to learn something new, try something new, uncover something new. We need to live in the space between the skills we have and their limits: it is only here that we can make progress. This is an uncomfortable place to be, but we must get comfortable with being uncomfortable.

A champion:

  • Expects to win, but learns from losses
  • Strives to be better every day
  • Overcomes adversity, is not overcome by it
  • Raises team mates up
  • Doesn't make excuses
  • Is made, not born

Be A Champion Today


Most of my experience has been on internal line-of-business applications on the .NET stack, including:
  • ASP.NET MVC application for managing candidate exam enrollments, seating, and ticketing
  • Windows services and SQL Server Service Broker application to integrate with Kofax scanning platform for grading candidate examinations
  • Processing, aggregation, and dissemination of candidate exam results
  • Enterprise-wide login application using ASP.NET MVC integrated with the CA cloud platform
  • SQL and .NET in-house trainer
  • Contributed to open source libraries including AutoFixture and HangFire


I can be reached by email at daniel@longest.io if you have comments, critiques, questions, or basically anything.

View Daniel Longest's profile on LinkedIn


Outside of work, I have a wife, one son, and another son on the way plus two dogs. I have a Bachelor's in Computer Science from Old Dominion University as well as a Masters of Science in Information Technology from Virginia Tech. And because I can't get enough, I'm working on a Masters of Engineering in Modeling and Simulation from Old Dominion University. In my spare time, I enjoy officiating high school football and wrestling, running, and shooting sporting clays.