Image for post
Image for post
Photo by Patrick Fore on Unsplash

Estimates are a pain. How often have you done estimates, only to have them dismissed with, “You have 3 weeks”? …


Image for post
Image for post
Photo by Andres Siimon on Unsplash

Debugging tends to be a painful experience for most developers. In this article, I will show you a few tricks, that will make your debugging experience more comfortable. I will be doing examples in C#, but the methodologies should apply to other languages supported by Visual Studio as well.

Override ToString Methods:

The Visual Studio debugger will actually use this method to display a string representation of your objects in the IDE. So let us assume you have implemented a Name class with properties for a first and last name, and it may look something like this.

Now you want to examine the Examples array in your debugger. Chances are you will be presented with something that looks like…


How to analyze our organizations the same way we analyze software.

Image for post
Image for post
Photo by Olga Guryanova on Unsplash

Companies spend lots of resources to keep their software systems highly available and resilient. But what about the teams building it?

Most software developers face the daily challenges of developing complex systems. We need to consider what level of uptime, maximum latency, redundancy, and also how fine-grained we can afford to let the system degrade when issues occur.

The design choices we make, ultimately imply which trade-offs we can accept in our systems. We also discuss these issues openly and come up with viable solutions.

So why don’t we try to do the same analysis on the organizations we are working in? It may reveal some interesting findings. After all, if Conway’s law holds, and all the software we produce mirrors the organizations we work in, then maybe it makes sense to go the other way and analyze the organizations we work in, using techniques we apply in software engineering. …


Image for post
Image for post
Photo by Marc Sendra Martorell on Unsplash

So your code using the MSSQL server is not as fast as it used to be. This article will explore how you can make your queries run faster, or at least get a good idea of where to optimize (often with very limited effort).

In order to get started, you will need a few tools available at your disposal. Luckily they are both available for free from the Microsoft website. These are:

  • SQL Server Profiler
  • SQL Server Management Studio

The first tool is for measuring what the actual querying time is spent on. The second is for investigating how the query optimizer interprets your SQL statements. …


Image for post
Image for post
Photo by Michael Dziedzic on Unsplash

A value object is a design pattern in which an object is made to represent something simple, like currencies or dates. A value object should be equal to another value object if both objects have the same value despite being two different objects. In this article, I will dive into why I find value objects useful and discuss various trade-offs in designing value objects. I will be doing examples in C#, but the examples should apply to many of the other major languages out there.

Imagine that you’re in charge of developing or maintaining the code base of a simple webshop. Every item in the store has a unique ID, name, and price associated with it. …

About

Rasmus Feldthaus

Software developer, with a background working in the financial industry. Writes about software development, and other stuff I find interesting.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store