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.
Now 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 a freelance writer, email me: [email protected].
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.
I also maintain a blog for PHP developers at Shiphp.com.
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:
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 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 am always willing to hear about new writing opportunities. Email me at [email protected] if you’d like to work together.