Welcome To Seeing Sharply!

Check out my new book "Refactoring TypeScript: Keeping Your Code Healthy"!

Blog Posts

Domain-Driven Design Use Case: Improving A Life Insurance Selling Platform

Years ago, I lead the web development of a new platform for selling life insurance online (which provided white-label abilities).

This was one of my biggest professional accomplishments given the many technical and political constraints. But that’s a whole other topic for another day.

This was before I understood domain-driven design. Since then, I’ve wondered: what this might have looked like using a domain-driven approach?

[Read More]

.NET Core Worker Services: Background Job Scheduler With Coravel

The .NET Core CLI comes with tons of pre-built project templates! One of the new templates that will be included with .NET Core 3 will be for building worker services.

Combining .NET Core worker services with Coravel can help you build lightweight background job scheduling applications very quickly. Let’s take a look at how you can do this in just a few minutes!

[Read More]

Introducing Gate Classes

Have you ever heard of guard clauses? Steve Smith discusses them in one of his Weekly Dev Tips here.

Today I want to show you a technique that I’ve been using which is similar to the guard clause pattern but is used in more advanced scenarios. These scenarios include when you have problems due to external dependencies or complex logic that is required in your guard clauses.

[Read More]

How To Stand-Out Among Your Peers As A Software Developer

I started my career working for an organization that was building a platform for vehicle manufacturers to consolidate and run analytics on their sales.

I started off having to use technologies and frameworks I had no experience with yet (ASP.NET, T-SQL, etc.)

For the first few months, I felt overwhelmed.

I took forever to do simple things like adding a checkbox to a web page that would get stored in the database!

Maybe you’ve been there too!

[Read More]

The Importance Of Solving Real-World Problems

Being a software developer is much more than simply knowing everything about mastering programming languages.

You need to know how to deal with people, understand how software is best built from a high-level, best practices and trade-offs between them, etc.

We’ll look at a question I received from someone who is struggling with the fact that he just graduated from university - but has no idea how to apply everything he’s learned to solve real-world problems.

[Read More]