1. Should I Refactor This?

    This post is split into two parts of understanding the question of when to refactor, the business question and the technical question.

    Business Question

    The first question with refactoring, as with any business decision, is “Should we do this at all?”

    While software written “the right way” feels good to …

    read more
  2. Understanding the Philosophy of LINQ

    LINQ is Microsoft’s greatest gift to software developers ever.

    Functional programming has been a sweet spot for emerging trends in software development for years. And I agree that functional programming will become even more important during the coming years as Moore’s law fails.

    But ever since I read …

    read more
  3. Getting Excited About C# 7.0 Tuples

    I’ve had the good luck to work on a number of legacy (read: profitable, stable) enterprise code bases. While appreciate all the benefits that such work entails, sometimes it means others may be getting into the new hotness, while my work is rather cool to the idea of adopting …

    read more
  4. Bottom Line Q&A

    Recently I had the privilege of speaking at panel hosted by Bottom Line here in NYC. Their programs help 1st generation college students from low-income families graduate from college. These were students who historically have had a hard time both at college and in the job market afterwards. The don …

    read more
  5. A Developer’s Checklist For Creating A SQL Table

    You may be one of the lucky. One of the developers who will never create a SQL table. You’ve always had a Database Administrator on staff. Your Object-Relational Mapping tool has always auto-generated flawless migrations from your model.

    I’m not one of you.

    I’ve worked at companies …

    read more
  6. Is ASP.NET MVC dead?

    Are Single Page Applications (SPAs) the only web architecture you should be considering for new development?

    Absolutely not.

    It is true SPAs offer advantages over MVC’s Multiple Page Application structure, but the reverse is also true. As is true across all decisions in software development, this is a choice …

    read more
  7. How to commit changes to Git submodules.

    A Git submodule is a nested repository. You might be interested in creating such repository if you have a multiple repos with a shared folder of code.

    You could copy and paste that code between repos when there is a change, but a shared repo set as a submodule could …

    read more
  8. How much SQL is really necessary nowadays?

    I’ve heard variants of this question every year of my professional career from aspiring developers and students of computer science. Unfortunately, the real answer is the most common in all software development.

    It depends.

    SQL and database technologies it powers is a tool that can be (mis)applied in …

    read more

social