Technology Leadership Blog

Insights, strategies, and perspectives on leading technology teams, digital transformation, and building resilient engineering organizations.

145 articles published
Topics ranging from architecture to team leadership

Featured Articles

Latest insights on technology leadership and engineering excellence

All Articles

Database deployments

Database Deployments with Reduced Downtime

Making database changes to a running application can be tricky, here are a few things to keep in mind that should reduce or eliminate downtime.

8 min read
Scrum Development SDLC

Interview: How to Work with Developers as a Scrum Master

I was recently asked to be a guest for a virtual AMA of Scrum Masters looking to improve their relationships with Developers on their teams/projects. Here are some of the questions and my thoughts.

40 min read
Git Git Hooks

Manually Run Git Hooks

Sometimes you want to manually run a Git hook, like a pre-commit hook, for testing. This can be done from the shell.

3 min read
Git

Renaming a Local and Remote Git Branch

Sometimes you need to rename a Git branch, here are the simple commands rename a local or remote branch in Git using the command line.

4 min read
Career Growth

Becoming a Software Architect

As your career twists and turns, one option to consider is becoming a Software Architect. This is my take on the role and the skills and experience that will set you up to succeed.

46 min read
Environment Variables Configuration Management Secrets Management

Changing or Combining Local .env Files

If you've ever needed to easily switch between different .env files during local development this might be helpful.

14 min read
Bash JSON NodeJS

Update JSON File with Bash Using NodeJS

In this short post I'll show you a quick way to make simple edits to a .json file from the command line or using bash and NodeJS.

4 min read
Career growth opportunities resignation

Should I Stay Or Should I Go?

There is a time in everyone's career when they wonder if they should stay in their current role or move to a new role or company. Here are some of the things I consider when giving advice or making the decision for myself.

12 min read
npx envrionment variables

Use Environment Variables with npx

If you use npx to execute commands and need to reference environment variables, the solution is very simple.

2 min read
git git submodules troubleshooting

Git Submodules: Error When Switching Branches

If you've received 'error: The following untracked working tree files would be overwritten by checkout', you are likely using git submodules. Here is how to get around that error.

7 min read
ESLint Troubleshooting

ESLint Out of Memory Error

When using ESLint with a lot of files or plugins, it's possible to cause an out of memory error, here are some tips for debugging and resolving

8 min read
VS Code

VS Code Shortcuts

If you use VS Code, here are some handy shortcuts that might help make your development life a little easier.

1 min read
vscode javascript typescript

Hiding JavaScript Files in VS Code

Like most JavaScript developers I'm writing a lot of Typescript, here are the steps to hide the JavaScript files that are compiled during the development process in VS Code.

4 min read
API Security JWT Command Line

Generate JWT for Testing

In this article we'll look at generating JSON Web Tokens (JWT) for testing purposes.

22 min read
Docker Troubleshooting

Start a Docker Container Without Specifying a Command

If you need to do some troubleshooting of a Docker container and the entrypoint or startup command you defined might be the problem, here is a quick fix to allow you to access the container to investigate.

6 min read
GIT

GIT: Branch is Not Fully Merged

There are times when you get an "not fully merged" error for a git branch, here is a simple command to figure out what commits have not been merged.

4 min read
GIT Local Repo Remote Repo

Treat Local GIT Repo as a Remote GIT Repo

There are many reasons why you might want to use a local GIT repo like it were a remote repo, the setup is simple to get started.

11 min read
JSON grep

Parse JSON Values Using Grep

Sometimes you need to quickly find a value in a JSON object, using grep allows you to use native functionality to get the information you need.

8 min read
AWS Access Keys Bash

Rotate AWS Access Keys via Script

It's a good idea to rotate your AWS Access Keys regularly, here is a simple script that makes the process easy and painless.

13 min read
NodeJS Troubleshooting Production

NodeJS Troubleshooting Endpoint

There are times when you might need to know information about your running NodeJS server. Here is a simple way to create an endpoint to expose valuable system for your production NodeJS application.

7 min read
postgres

Reorder Columns in Postgres

Sometimes you need to reorder columns in your database to align with other data models, to show relevant data first, to satisfy your O.C.D (✋ that's me).

7 min read
Postgres

Change a Column Type in Postgres

When designing a database sometimes we get it wrong, here is the command you can use to change a column type for an existing table

2 min read
git snippets

Useful Git Snippets

A collection of useful GIT commands and snippets

11 min read
Books Audiobooks

My Required Reading List

Here is a list of books that I feel are important for everyone to read

7 min read
Multipass Microk8s k8s

Multipass: Mount Host Volume

If you're using Multipass you might need to mount a volume to gain access to resources on your host machine, here's how to do it.

9 min read
Tools Platforms

Tools I Use

This is a list of the tools that I use regularly to help make me more efficient and effective.

3 min read
Configuration Management Secrets Management

Configuration and Secrets Management

An evaluation of what information should be stored where, in an effort to improve application security, maintainability, and developer efficiency.

33 min read
Azure SAML Active Directory Connections

Application With Identifier Not Found: Azure Error

If you've received the AADSTS700016 error, or something similar, when integrating an application with Azure, here are the steps I've taken to correctly configure the application.

15 min read
X.509 Azure Identity Provider

Convert a X.509 Certificate from Metadata

If you need to convert a X.509 certificate to a usable format from metadata, here are some commands and tools that might help.

22 min read
GIT sensitive data logs

Searching GIT Logs for Sensitive Data

If you've ever needed to search GIT logs for specific information in a commit, here is a handy command that could help

4 min read
Docker Alpine Troubleshooting

Troubleshooting Alpine Docker Images

In this short article we'll take a look at a quick approach to troubleshooting issues in your Alpine Docker images.

6 min read
Markdown

Variables in Markdown

In this short article we'll take a look at a how we can use variables in Markdown documents.

5 min read
Island Living Humanity

Lessons Learned from Island Living

I think about my time living on a Caribbean Island a lot, here are a few lessons I learned during that time

34 min read
Podcast advice Dev Advice Podcast

Launching a Podcast

In this article I share why I wanted to start a podcast, launching it, and what I've learned so far.

23 min read
Terminal

Fuzzy Search Directory in Terminal

In this article we'll look at a simple terminal command to do a "fuzzy search" of files and folders in a directory.

6 min read
GIT Pull Requests Code Review

Testing a Pull Request Locally

If you want to test a pull request locally, here are a few simple commands to get setup.

3 min read
GIT Authentication Terminal

Updating GIT credentials in Command Line

If you've seen an 'Authentication failed for https://____.git error, here's a quick command to update your credentials through the command line.

2 min read
Databases Postgres NodeJS

Backup PostgreSQL Database Schema

If you're working with PostgreSQL (and optionally Docker) and need to backup your database schema this article will walk through a few handy scripts to backup and restore your database schema using Docker containers.

17 min read
Interviewing technical questions

Interview Questions to Ask, and Why?

In this article I share two approaches to conducting technical interviews. I highlight some of the things I'm trying to learn from each type of question.

19 min read
Terminal Bash Grep

Enabling Search in the Terminal

If you're using the terminal a lot and frequently need to use the same commands, here is a handy set of commands that give the ability to "search" and reuse past terminal commands.

11 min read
OWASP injection SQL injection

Vulnerabilities Explained - Injection

In this article we'll take a look at different types of common injections and how they exist in code.

20 min read
errors vulnerabilities cors

CORS, You're Probably Doing it Wrong

In this article we'll take a look at Cross Origin Resource Sharing (CORS), what it is, why we need it, and how to configure it

20 min read
Goal setting Goal Tracking Getting Stuff Done

Lists I Create

In this post I'll show you some of the lists I create regularly and how I use them to achieve on what I set out to do

27 min read
Bash GitHub branch cleanup

Cleanup Old Branches in Github

In this post we'll look at a simple bash script cleanup old branches in GitHub, including a "dry run" feature

23 min read
Bash csv

Parsing a CSV file using Bash

In this post we'll look at a simple bash script to parse through a .csv file and do something with the data

6 min read
Python Private Registry

Specify Python Registry

If you need to use a specific registry when installing Python dependencies these commands could help.

2 min read
Databases Postgres NodeJS

Dynamic PostgreSQL WHERE IN Query

If you're working with arrays of data in PostgreSQL this post will walk through a quick and simple solution to create dynamic WHERE IN database queries for PostgreSQL. Some of the syntax might be helpful for other databases and libraries as well.

18 min read
Postgres Data CSV

Importing Data into PostgreSQL from a CSV File

Here are the simple steps you need to import data into your Postgres Database from a .csv file. access the Docker Engine's API from inside a container, Docker makes it really easy to do

5 min read
Docker

Docker, Where's My Data?

In this blog post I'll show you a way that your data might go missing in your Docker containers when you use mounted volumes.

5 min read
PostgreSQL Databases Querying

Upsert in PostgreSQL Using ON CONFLICT

If you need update a row in PostgreSQL if it already exists OR create a new row if it doesn't already exist, using the ON CONFLICT command will do it

6 min read
JavaScript NodeJS

Calculating NodeJS API Response Time

In this blog post I'll show you how to create a simple response time middleware that helps give valuable information about the speed and possibly health of your NodeJS API

7 min read
JavaScript setInterval setTimeout

Simple Polling Solution Using setTimeout()

In this blog post I'll show you how to implement a simple polling solution using setTimeout() instead of setInterval()

8 min read
Sed Bash

Using Variables with Sed in Bash

If you need to use sed to handle some find and replace functionality of text, here are some ways to make your commands more maintainable over time.

7 min read
Docker Docker compose service

Rebuild a Single Docker Container

If you use Docker Compose to manage multiple containers, networking, etc. and need to rebuild a single service or container, here are a few commands that will help.

7 min read
NPM node_modules unix

Deleting node_modules (or any directory really)

In this video I'll show you a simple command to find and remove all of your node_modules folders, or any folder you have a lot of, quickly and easily.

1 min read
JSON Web Token JWT NodeJS

JWT | 2 Cookie Authorization - How It Works

In this video we start our 2 Cookie Authorization series by explaining how the approach works and how it can help to secure our applications that use tokens.

1 min read
NodeJS APIs Express

NodeJS APIs Without Express

In this video we create 3 simple API endpoints in NodeJS without Express.js. We use the HTTP module from Node to serve plain text, HTML, and JSON. This is a simple, lightweight server.

1 min read
NodeJS Authorization Middleware

NodeJS / Express Authorization Middleware

In this video we build Authorization (AuthZ) middleware using Node, Express, and JSON Web Tokens (JWT). This tutorial will help you to implement simple access control into your NodeJS/Express API server. Access control can be defined based on a user's Role (Role-based access control, RBAC), or attribute based access control.

2 min read
Docker development Docker Compose Extend

Docker Compose Overrides

We'll take a look at using multiple Docker Compose files for extending the functionality of Docker and Docker Compose for development.

1 min read
Swagger Documentation Automatically Generated

Autogenerating Swagger Documentation with Node & Express

In this video we walk through creating a simple NodeJS/Express API endpoint and setting auto-generating documentation using Swagger. We can then test our API using the Swagger UI.

1 min read
GPX GPS GeoJSON

Node GPX to GeoJSON Convertor

In this video we build a simple GPX (GPS Exchange Format) to GeoJSON converter application in NodeJS. I'll walk you through each step of user input, file conversion, and output required to generate GeoJSON files for your next application.

2 min read
Docker build run

Docker Build and Run In One Command

In this video we look at 2 ways to build and run a docker image as a container in one simple command. This is useful when testing a Dockerfile, application, logic, or really any reason you might use Docker.

3 min read
career mentoring imposter syndrome

Advice For A New Dev

My advice for new developers entering the industry. Even if you have a few years of experience, so of this information might be helpful for you as well.

21 min read
speaking conference tips and tricks

Speaking at a Conference

So you've been invited to speak at a conference, what do I do now? Here are some tips and tricks I've learned from experience and other speakers

9 min read

Does this JWT make my request look big?

How important is it to think about what information we store and pass in our JSON web tokens? Very! The information we store in tokens can have a lot of impact on our application’s performance and security.

20 min read
GIT Hooks workflow

Save Yourself from Yourself

Using pre-commit hooks in git to avoid common mistakes and embarrassment

26 min read
NodeJS Debugging Chrome

Debugging NodeJS with Chromes Dev Tools

Let's use the power of Chromes developer tools to debug a NodeJS app. We'll also look at debugging an app running in a Docker Container

13 min read
coder cruise conference speaking

Coder Cruise Recap

Coder Cruise 2018 was a great success, here are some of the highlights

41 min read
Interviewing questions

Questions for the Interviewer

Some of my favorite questions to ask an interviewer for a prospective role.

19 min read
Front-End Angular Http

Angular 2 Http Service

Creating a simple Angular 2 Http service for your Angular 2 Application

14 min read
Front-End Angular Modal

Angular Modal Service

Creating a simple modal service for your Angular 2 Application

32 min read
working remotely caribbean life

Making Working Remotely, Work

Working from anywhere is a dream for many, here's a few things I've learned.

22 min read