Simple Secrets for Access to the dotnet Record Type

In C# 9.0 we received access to a great quality of life type called the record. You can read more about that from Microsoft here. Record types allowed us as dotnet programmers to skip a lot of boiler plate code, thereby saving us time and making code more readable. Wins all around! Before record types, we might have simple data transfer objects (called DTOs) that would look something like the following: pupublic sealed class MyData { public MyData( string value1, int value2) { Value1 = value1; Value2 = value2; } publc string Value1 { get; } publc int Value2 { get; } } And for a simple class with two properties... I think we can all agree that the verbosity here is just over the top. With the record type that we were given access to, we can now write…

0 Comments

async void – How to Tame the Asynchronous Nightmare

You're an intermediate dotnet programmer and you mostly know your way around using Tasks. You sprinkle async and await through your code, and everything is working just as expected. You've heard time and time again that you always want the return types of your asynchronous methods to be a Task (or Task<T>) and that async void is essentially the root of all evil. No sweat. One day you go to wire up an event handler using the syntax myObject.SomeEvent += SomeEventHandler, and your event handler needs to await some asynchronous code. You take all of the right steps and change your method signature to get that beautiful async Task added in, replacing void. But suddenly you get a compile error about your event handler not being compatible. You feel trapped. You're scared. And then you do the unspeakable... You change…

2 Comments

Simple Data Types in C#: A Beginner’s Guide

As a C# developer, understanding the different simple data types in C# and when to use them is crucial for writing efficient and maintainable code. I've been trying to spend more time this year putting together some content aimed at really introductory level programming. There's plenty of resources available online, but I want to do my part to ensure I can help break down some of the barriers for people getting started on their programming journey. In this beginner's guide, we will look at the basics of the most commonly used simple data types in C#, including int, float, double, byte, char, bool, and string. We will also look at how these data types differ from each other and when to use them in your C# programming! Integer Data Types The most commonly used integer data types in C# are…

0 Comments

Tasks, BackgroundWorkers, and Threads – Simple Comparisons for Concurrency

(This article is intended to be a spiritual successor to this previous entry, and now includes Tasks!) Even if you're new to C#, you've probably come across at least one of Tasks, Threads, or BackgroundWorkers. With a bit of additional time, it's likely you've seen all three in your journey. They're all ways to run concurrent code in C# and each has its own set of pros and cons. In this article, we will explore how each one operates at a high level. It's worth noting that in most modern .NET applications and libraries you'll see things converging to Tasks. The Approach I've gone ahead and created a test application that you can find here. Because this is in source control, it's possible/likely that it will diverge from what we see in this article, so I just wanted to offer…

0 Comments

FAQ: Starting Your Career in Software Development Pt2

You can find part one of this here! Applying for Software Development Jobs How do I stand out on an application? I think this is largely going to depend on where you're applying. Something to consider is that especially with large tech companies, they're getting thousands and thousands of resumes all the time. It can be really competitive to be able to even land an interview so sometimes if the caliber of other applicants is high, it can make it difficult to stand out. That's okay. We don't have control over others, but we do have control over ourselves! We can try a few different things to stand out and help you get started on your software development journey professionally. The following are things I personally would suggest and may not reflect the exact views of my employers (past, present,…

0 Comments

FAQ: Starting Your Career in Software Development Pt1

Navigating Post Secondary Education for Software Development Do you have any advice regarding university applications? For university, it's been so long since I've had to go through applications that I'm not sure I have really specific advice. I think it's important to know what schools have for prerequisites and really ensure you nail those down. In terms of which school to pick, that's certainly a personal choice. You'll have so many factors to consider including cost, what programs are offered, relocation, proximity to loved ones, etc... As a hiring manager, personally, I am less concerned with WHERE someone went to school versus what they could showcase about what they have learned. I'd also personally suggest checking out schools that offer internships since it's an excellent way to get real experience! This is something that worked really well for me since…

3 Comments

OKRs: First Steps for Crushing Your Objectives and Key Results

At a Glance - What are OKRs? If you've arrived at this post, you've probably heard of OKRs but maybe you're looking for a bit more of an introduction to them. Not to worry! We'll keep this light and practical for getting started. OKRs are a framework for helping define, communicate, and measure progress towards goals. Their intention is to not be specifically top-down, but instead there's goal setting and transparency that works both ways. Objectives, the 'O' in OKRs, are essentially single sentence that communicates what you’re trying to achieve. These should drive the point home at a high level, and there's nothing wrong with making them feel exciting. Key Results, the 'KR' part of OKRs, are the metrics that you will be using to gauge how successful you are to achieving your objective. Usually you group about 3-5…

0 Comments

Timeboxing: Evolving the TODO List to be More Effective

I recently wrote about TODO lists and how they can help with focus now that many of us are working from home. I had a former colleague on LinkedIn mention this concept of "timeboxing" (which I think many people are familiar with the general idea) and how that can improve the effectiveness of a TODO list. I had made a post on LinkedIn sharing my blog article, and here's a comment that came in right away from Graeme Harvey: This obviously got me thinking because sure, Elon Musk is a pretty smart dude, but I also have a lot of respect for Graeme and his perspective on things. So I decided I'd try something out! TODO Lists v1.0 My original TODO lists didn't factor in any timeboxing techniques, but they had some benefits. The engineering mind in me says this…

0 Comments

TODO Lists: Keeping focused when you feel lost

It's more relevant for more people now than it probably has been in other times in their professional careers, but COVID-19 means remote work for a lot of people. It also means no work for a lot of people too. I've found that a simple tool for me to keep focused is leveraging a TODO list. It's so simple that I think people often overlook the power of a TODO list when you're feeling like you're a bit lost or not making progress. With your TODO list, the first thing I'd suggest is thinking about a daily routine. Now that you're working remote, or in the unfortunate case out of work, I think it's really important that you keep some sort of daily routine to help give you some guard rails. Think about what things you usually do in the…

0 Comments

Firebase and Low-Effort User Management

I've found myself with some additional time to be creative during the great COVID-19 and lockdown/quarantine days. That's why there's more blog posts recently! Actually, I wanted to take the time to experiment with some unfamiliar technologies and build something. For a project, I wanted to leverage authentication but I'm well aware that user management can become a really complex undertaking. I had heard about Firebase from Google and wanted to give it a shot. For the purposes of this discussion, Firebase would allow me to create something like an OAuth proxy to the system I wanted to build, and by doing so, would end up managing all of the users for me. What I needed to do with Firebase to get that setup was actually quite straight forward. First, you start off in typical fashion registering for Firebase. From…

0 Comments

End of content

No more pages to load