It’s important for your software team to build goodwill when you’re facing tough conversations around scope, budget, or rotating team members. | Continue reading
Not all managers and mentors are shaped equally, but the role they play is significant. Their influence is critical to meaningful growth and development. | Continue reading
As you make decisions to stay or move on to new things, take some time to reflect on what you're moving toward or leaving behind. | Continue reading
I have high-frequency hearing loss that makes the world sound muffled. But, I've found that AirPods have been a helpful tool. | Continue reading
I love podcasts. Here are some favorites that help me provide great consulting to our clients in the pre-project consulting phase. | Continue reading
What makes a good job? For me, it means working for a company that you like enough that you feel invested in that company succeeding. | Continue reading
We recently had a need for runtime configuration in our web app’s frontend. In this post I’ll describe what that means and how we achieved it. | Continue reading
Great software development projects require building a skill at identifying and exploiting opportunities while also managing risks. | Continue reading
Getting your app into the hands of customers as soon as possible is highly recommended. Here are a few stories that illustrate the utility of user testing. | Continue reading
Today I’d like to share with you how to program yourself. And, maybe you'll gain some empathy for the computer you're always bossing around. | Continue reading
A lot of developers worry that they’re a drag on a more experienced programming partner. That couldn’t be farther from the truth. | Continue reading
If you’re new to F#, you’ll see both the pipeline and composition operators. Decide which one to use by finding which approach leads to more readable code. | Continue reading
The Dart team has made incredible changes to Dart (the language and the platform) in recent years. I hope to see these Dart features added in the future. | Continue reading
Software is nothing but a specialized version of problem-solving. To do it well, we need to deal with our emotions and zoom in on the right problem. | Continue reading
Elm has something for everyone to learn. Its principles are nearly universally applicable to other development environments. | Continue reading
I hope that my career reflection journal will document my growth and help me provide relevant guidance and advice to others. | Continue reading
You should consider using the Dvorak keyboard layout if you want to increase your efficiency or improve typing-related finger pain | Continue reading
Monthly optical data backups in addition to hard drive backups create an extra level of insurance for me in the event of hardware failure. | Continue reading
Measuring your code quality with metrics can be a mistake. Instead, you can use the metrics as a guide — showing you potential opportunities to improve. | Continue reading
It's a common architecture to have PostgreSQL and Redis serve as the backbone of your app, but PostgreSQL may be capable of everything you use Redis for. | Continue reading
Developers take garbage collection for granted, but it's hard to see how it works. Watch 5 different GC algorithm visualizations. | Continue reading
Does your package.json file have a large scripts section? If you have more than a handful of extremely simple npm scripts, try Makefiles. | Continue reading
Software development is not online wizardry. It's more like digital construction using many of the same tools you do every day. | Continue reading
While a list can grow forever, my calendar has finite space. Creating a daily agenda helps me think critically about how much I can accomplish and spend my time on what really matters. | Continue reading
Database tables rarely stay the same over the course of a project. Here is a simple pattern for migrating data into non-nullable columns. | Continue reading
My latest shell scripts to clone a remote Postgres database (in AWS RDS) through an SSH tunnel and load it locally. | Continue reading
When I'm testing a long project, I find my self following the same paths to get to the new features and functionality. Here are six ways I switch it up. | Continue reading
Today’s difficulties cannot eclipse or erode the joy that remains. Small victories are the stuff of life, and they need celebrating. | Continue reading
How I play my movie collection with a system that runs Plex via the LinuxServer.io Plex image on a Docker host in my basement. | Continue reading
While working alone was less than ideal, I was able to make the best of it by leaning on others for collaboration and by consciously managing my time. | Continue reading
Stop bouncing between Zoom, Discord, Miro, and VSCode Live Share. Screen lets you move smoothly among pair programming, diagramming, and screen sharing. | Continue reading
Life is full of things that can pull you into a fixed mindset. Here are four things I do to bring myself back into a healthy growth mindset again. | Continue reading
React Native Localization is a great tool for handling multiple languages or locales in a React Native application. Here's how to set it up. | Continue reading
What sets high-performing teams apart is how they approach disagreements. Use them as an opportunity to align, reflect, and commit to an outcome as a team. | Continue reading
Setting and using tokens in Splunk is generally straightforward, but in some cases, we might want to use a list of results from one panel in another panel. | Continue reading
What we say about users often includes things like their name, age, and gender. But these bring stereotypes that keep us from being inclusive. | Continue reading
What we say about users often includes things like their name, age, and gender. But these bring stereotypes that keep us from being inclusive. | Continue reading
I’ve added a couple more tools to my belt when remote pairing — Presentify for screen scribbling and Keycastr for keystroke visualization. | Continue reading
How to create a lightweight wrapper around Formik's useField hook to provide a more type-safe way to specify which field a user input is tied to. | Continue reading
How to integrate PagerDuty with AWS Cloudwatch. They're very powerful tools to use in unison with each other. | Continue reading
In some code patterns, the structure resembles its intent. This sort of code tends to be easier to scan and understand quickly. | Continue reading
New developers can only learn so many things at once, and they need to tackle high-value skills first. Optimizing their workflow can — and should! — wait. | Continue reading
It's possible to ask too many questions and rob yourself of the opportunity to learn through failure. Here's how I decide if I should ask for help or keep trying. | Continue reading
Pre-built CSS frameworks and component libraries offer a great starting point for web app styling, but which one is right for your project? | Continue reading
Short of actually breaking up the large team, what can you do to reinvigorate a team and reestablish some of the things you love about small teams? | Continue reading
We've been focusing on improving our sales process. At each stage, leads are now given a dollar value and confidence weighting. | Continue reading
Single-page web apps are an ideal environment for designer/developer collaboration, which yields faster implementation of designs that represent the designer's intent. | Continue reading
Part of a series on writing request tests for a C# Azure Functions API in xUnit, this post shows how to use reflection to locate the HTTP triggered methods. | Continue reading