I provide opinionated technical training, DevOps, and cloud consulting to the technology industry.
With an academic background in information technology and cyber security, and a career background in DevOps, I'd like to work with your team to help you build software and maintain IT systems. My focus is on filling in knowledge gaps left by college and previous training, and helping you plan and implement a DevOps and operations plan that works for you and your product.
I am perhaps best known on the internet as the author of Computers Are Bad, a newsletter/blog on computer history and computing systems today. I'm passionate about computing and software in general, but especially the areas of DevOps, security, and IT operations. My greatest strength is in teaching and training: I've picked up a lot over the years, and I'd like to share it with you and your team.
Training: I prepare and teach courses for groups from small to large, although I prefer to work with smaller groups. My focus is usually "filling in the gaps" in areas that are either poorly covered or covered in only an abstract or theoretical sense in conventional education (college progras, corporate training, etc). In general, if your engineers or IT staff are finding that they are frustrated or slowed down by limited knowledge of a field of computing, I am here to help.
Documentation: I have always taken great pride in my writing. Many software and IT teams, quite possibly all of them, struggle with poor documentation. I work on documentation, especially internal, engineering, or support-facing documentation, to improve quality and usability. A close look at your documentation and the way you maintain it can create a base of knowledge that speeds up your engineering, operations, and suppor teams — while still being maintainable as you make changes.
DevOps: Modern software engineering is heavily dependent on the ability to efficiently build, integrate, test, and deliver software. There are many tools and methods for DevOps automation, enough that it can be difficult to get started or improve. I can help you develop a new DevOps program or improve your current one by designing and implementing a DevOps toolchain that focuses on the fundamentals: automating work so that your developers can move faster and your operations team can focus on real work, not just "running the build."
Cloud: I came to the world of cloud computing from a background in classical Linux system administration. I continue to apply this pragmatic, operations-oriented view to cloud infrastructure, configuration management, infrastructure as code, security operations, and plenty of other buzzwords. "Cloud" means that they aren't computers in your closet, but they're still computers. From old-fashioned VM images to Kubernetes to "Serverless," I focus on understanding and explaining your cloud approach in terms of real computers... and what that means for your product. I offer architecture and implementation consulting on cloud applications, with a particular focus on cloud-agnostic solutions (i.e. doing it yourself).
I offer my expertise in the following areas, in the form of training, writing, and consulting:
I endeavor to demonstrate these principles and share them with my clients: