Archive stories

Getting Docker, React, .NET Core, Postgres, and Nginx Playing Nice

Coding

I wanted to write a short article on how to get all four components working so you don’t need to install a bunch of libraries on your machine. The reason I’m doing this is so that I can work on my frontend, backend, and SQL independently. The Nginx acts as a reverse proxy for my […]

Roundtable: What makes a great Engineer?

Coding Roundtable

Recently I had a roundtable discussion with my engineers on what makes a great engineer. What are the traits that you would like to see in yourself or your peers? What was interesting is that there is no standard accepted definition or trait. Everyone had their own unique perspective and thoughts on who they would […]

Adding a Shared Script for Jenkins

Coding

Recently, we discovered that we had a lot of duplication in our build scripts. Pretty much the same copy+paste code everywhere (we have a mono-repository). So, it came to me to try and resolve this duplication of logic across our builds (multiple services). For context, we use the declarative pipeline, which for some projects involves […]

JavaScript – Closures and Scope

Coding

Looking at JavaScript today, it can be scary as a beginner. People talk about watching out for all the little quirks or “beginner mistakes” people can make. I think one of the most misunderstood topics, that seems to have a lot of mystery for some people, that people love to interview about, is closures and […]

Communicating Design – A Code Review

Coding

When was the last time you saw a UML diagram? When was the last time you sat down and discussed how you’re going to design the code you want to write? Do you have a whiteboard handy? Are you working with a remote team? How do you communicate the design of your code? These are […]

Logging. How much is too much?

Coding

Logging has changed a lot in the past few years. It went from being something that you only do when there’s an error – to now logging every little bit of information you can. Why has this changed? Well, for starters, we now have better tools to read logs. Previously, we used to just store […]

DRY – Don’t Repeat Yourself

Coding

One of the most common principles of development that I hear is DRY. Don’t Repeat Yourself. Why is this principle so important and how do people break it? I mean, it should be common sense, right? Don’t repeat code. Don’t copy paste. I will repeat that last sentence. Don’t copy paste. If you have to […]

D for Dependency Inversion Principle

Coding

Depend on abstractions, not on concretions. Robert C. Martin Welcome back to the series on SOLID. By now, I’ll assume you’ve read my earlier post on the Interface Segregation Principle. In this post, we’ll be investigating the Dependency Inversion Principle which is not to be confused with Dependency Injection. Dependency Injection is only a form of […]

I for Interface Segregation Principle

Coding

Make fine grained interfaces that are client specific. Robert C. Martin Welcome back to the series on SOLID. By now, I’ll assume you’ve read my earlier post on the Liskov Substitution Principle. The guts of this principle is that your interfaces should be very specific to the purpose. You shouldn’t have a super interface or […]