I started programming because I loved writing.
In college, I created a campus blog with around 30 of my peers. As a business, the venture was terrible, but it forced me to learn Wordpress and basic web development.
10 years later, I left my job as a startup CTO to become a full-time writer and business owner.
Check out some of my writing samples below, and if you’re looking for help with your blog, check out my company, Draft.dev.
The PHP and Docker Book
In 2017, I wrote a book called Building Your First PHP Application with Docker which has since been downloaded by over 1000 developers.
One format that I’ve seen work really well is the long, in-depth guide to a niche topic. I’ve written a few of these:
- CFP Land’s 17,000 word guide to Speaking at Tech Conferences
- The Complete Guide for Building APIs Without Code
- The Guide for Building Webs Apps Without Code
- Using Technology to Improve Student Writing Skills
As an experienced software engineer, I really enjoy sharing my knowledge, so I’ve written many tutorials for sites as a volunteer and paid contributor:
- How To Deploy Laravel 7 and MySQL on Kubernetes using Helm (DigitalOcean)
- How To Set Up Multi-Node Deployments With Rancher 2.1 (DigitalOcean)
- Using OAuth and PKCE to Add Authentication to Your Gatsby Site (FusionAuth)
- User registration and sign-in with Laravel and FusionAuth (FusionAuth)
- Serving an Angular App on Azure’s CDN with Codeship and Docker (Codeship)
- Speeding Up API Key Generation Using Edge Computing (StackPath)
- Build an SMS Reminder Tool for Teachers Using Google Classroom (Nexmo/Vonage)
- Testing the Layers in a Microservice Architecture
- Creating a Custom Build Status Page Using Codeship API v2 (Codeship)
- Setting Up and Deploying a Modern PHP Application (Codeship)
- Automating Cloudflare Worker Deployments with CodeShip (Codeship)
- Incremental Software Development with PHP Microservices (Codeship)
- Building a PHP Command Line App with Docker (Codeship)
- Setting up a Remote Development Environment with Google Chrome and DigitalOcean
- Debugging Gmail’s “Suspicious link” Warnings
- Building a Single NGinx Docker Image For All My PHP-FPM Containers
- Optimizing MySQL View Queries
Software Tool Comparisons
Stackshare invited me to write a couple comparisons between popular technology tools. This was a really fun and unique format, so I’d like to find a good place to contribute more of these:
- Bitbucket vs GitHub vs GitLab (Stackshare)
- Docker vs Vagrant (Stackshare)
I know listacles can be a little clickbaity, but they are fun to write, and can do well in search engine rankings.
- 23 Alternative Career Paths for Software Developers (FreeCodeCamp)
- Essential Reading for Software Engineering Managers
- The Myths You’ll Hear About Working as an Engineer at a Startup
- The Many Roles of a Startup CTO
- 7 Ways to Improve Your Test Suite with Docker (Codeship)
- Why Math and Science Students Need Writing
- Why Testing Is Important for Distributed Software (The Linux Foundation)
I always enjoy writing about processes and patterns that I’m seeing in the world of software engineering. These kinds of posts have a therapeutic quality to me, and they are often among the most widely shared on social media.
- The Danger in Listening to Experts
- The Bulk of Software Engineering is Just Plumbing
- Rethinking the Hiring Process
- A Day in the Life of an Engineering Manager
- Writing Less Software to Accomplish More
- The Evolution of Our Product Management Process
- Developing New Engineers
- Five Things I’ve Learned Running a PHP User Group (PHP Architect Magazine)
- True Tales of Building PHP Microservices (PHP Architect Magazine)
- How My Team Accidentally Moved to TypeScript and Loved It (Telerik)
- Code is not Enough
- Building a Customer Development Funnel (Indie Hackers)
What can I do for you?
I work with a team of subject matter experts at Draft.dev, so I’d love to help you get more high-quality, technical content for your blog.