logo Contact

Thoughts

Sharing my journey, insights, and experiences in tech and life.

Lost in Translation? A Founder's Guide to Communicating with Your Development Team

Miscommunication between executives and engineering teams is a leading cause of project failure. This guide provides a framework for clear communication, covering why you should define problems (not solutions), how to protect the developer ‘flow state,’ and the importance of feedback loops. Turn your developers into true product partners.

On Sep 17, 2025 Leadership Communication Software Development Founder Tips Team Culture Management business teams

Get to Know DORA Metrics: The Key to DevOps Success

In today’s fast-paced software development world, measuring team performance is crucial for improvement. DORA metrics help transform low-performing teams into high-performing ones. They track progress and ensure customer value delivery.

On Feb 8, 2023 software-development devops performance agile

Open-source licenses and their implications

This post explains popular open-source licenses and their implications for software development teams. It covers permissive and copyleft licenses like MIT, GPL, Apache, and BSD. Learn how license choices affect usage, modification, and distribution of open-source software.

On Jan 18, 2023 software-development open-source legal business

Application Performance Monitoring

Application Performance Monitoring (APM) uses telemetry data to enhance system observability. It helps teams troubleshoot issues, manage resources, and improve user experience in production environments. Instrumenting Go applications with APM tools enables proactive monitoring and optimization.

On Jan 16, 2023 software-development observability telemetry go performance

Page layouts in Go

This post explains how to use Go’s template block and define expressions for creating reusable page layouts. It demonstrates avoiding repetition in HTML templates for a blog application. Learn to separate layout from content for better maintainability.

On Mar 12, 2022 software-development go html templates golang

Using Go's build tags

This post explains how to use Go’s build tags for conditional compilation in applications. It covers syntax, Boolean logic for tags, and practical examples for plugins and OS-specific code. Learn to optimize Go builds for different environments and features.

On Nov 26, 2020 software-development go

Go's Locations & Alpine Docker image

This post explains how to configure timezone support in Go applications running on Alpine Docker images. It covers copying the zoneinfo.zip file and setting the ZONEINFO environment variable. Learn to ensure accurate time handling in containerized Go apps.

On Mar 29, 2020 software-development Go Docker go deployment

TIP: Ensuring your team uses YARN/NPM

This tip explains how to enforce consistent package manager usage in JavaScript projects. By configuring .npmrc and package.json engines, teams can prevent mixing YARN and NPM. This avoids dependency conflicts and ensures smooth development workflows.

On Jan 16, 2020 software-development javascript frontend

Testing Buffalo Applications

This comprehensive guide covers testing Go Buffalo applications across different layers. It explains testing routes, middlewares, helpers, actions, and models with practical examples. Learn best practices for ensuring code quality and stability in Buffalo apps.

On Dec 18, 2019 software-development buffalo go testing

Golang on CircleCI

This post provides a quick guide to setting up Continuous Integration for Go projects on CircleCI. It includes a sample circle.yml configuration for dependencies, testing, and environment setup. Get started with automated builds and tests for your Go applications.

On Oct 9, 2015 software-development go CI deployment devops