· 2024
I'm always banging on about how to have a fun and rewarding career, as you might have noticed. So, am I any good at taking my own advice? Or am I a big steaming hypocrite? Perhaps with a series of embarrassing failures, missteps, and career disasters lurking in my own chequered past? Many of them, in retrospect, highly amusing and instructive, especially if you're not me? Well, I'll let you be the judge of that. Now you can read the full, toe-curling story, as told to my fellow creator Zack Proser, in this cheeky little fun-size book (41 pages). You'll learn how I failed upwards through a series of jobs, including porn server administrator, cable plugger-inner, spaghetti coder, and undercover consultant, to become a successful independent writer and mentor, for certain values of “successful”, as long as you're not my bank manager. It's been quite a ride. I'd love to have you come share it with me. This will make me sound like a massive hypocrite (especially as the author of Code For Your Life), but I never really had a career plan as such. I just bounced around the tech industry for a few decades and ended up somewhere more or less randomly that's turned out to be pretty great. In this book, I share some war stories about my horrible career: how I got into this business, how I made it my business, and also how I made my seven hundred worst mistakes, so that you won't have to. I've ended up in a pretty decent place. I'm running my own company that supports me and my family. No one can tell me what to do or when to do it. I have the freedom to work on, learn about, or write about whatever I want, providing I can occasionally turn that into money. I no longer feel that life is passing me by, while I dance to somebody else's tune. Instead, I'm living it on my own terms. So what does that look like? How do I pay the bills as an independent writer, teacher, and content creator? You'll learn my hard-won business secrets, as well as hearing the full story of everything that went wrong along the way. And if your career has occasionally taken a wrong turn or two, take heart: when you hear about mine, you'll realise there's hope for us all!
Kubernetes has become the operating system of today's cloud native world, providing a reliable and scalable platform for running containerized workloads. In this friendly, pragmatic book, cloud experts Justin Domingus and John Arundel show you what Kubernetes can do-and what you can do with it. This updated second edition guides you through the growing Kubernetes ecosystem and provides practical solutions to everyday problems with software tools currently in use. You'll walk through an example containerized application running in Kubernetes step-by-step, from the development environment through the continuous deployment pipeline, exploring patterns you can use for your own applications. Make your development teams lean, fast, and effective by adopting Kubernetes and DevOps principles. Understand containers and Kubernetes-no experience necessary Run your own applications on managed cloud Kubernetes services or on-prem environments Design your own cloud native services and infrastructure Use Kubernetes to manage resource usage and the container lifecycle Optimize clusters for cost, performance, resilience, capacity, and scalability Learn the best tools for developing, testing, and deploying your applications Apply the latest industry practices for observability and monitoring Secure your containers and clusters in production
· 2025
Are you woken every morning in a luxurious four-poster bed, by a butler bearing a huge bag of gold? If not, this is the book for you. So, if you’re still reading, you’re apparently not lucky enough to just have money come to you by the sackful, and few people are. The rest of us have to work for a living. Given the choice, most people would rather work for themselves than for someone else, but in practice, they don't. So why not? If we all want independence, autonomy, and freedom, what's stopping us? Why are we all letting other people tell us what to do? Maybe it’s time for a change. This book will show you what it takes to start and run your own business, how to succeed at sales and marketing, and how to build the life you've dreamed of—whether or not that includes a butler. I’m an independent software engineer, consultant, teacher, mentor, and writer with over four decades of experience in tech. Twenty years ago, I quit my job (or was fired: details are unclear), and started my own business. You can too. Master of Your Domain is a complete guide to planning your career future, transitioning from employment to independence, starting and running a business, charging for your time, making and selling products, marketing, mastering your chosen craft, and passing that knowledge on to the next generation. When you run your own firm, you’ll do only the work you want to do. You’ll set your own hours, decide your own way of working, and answer to no one. The outcome of your work will be directly correlated with the time, energy, and skill that you put into it: the harder you work, the more the rewards. If that sounds attractive, then you should read this book, because today is the perfect day to start your journey to independence. Among the insights you'll find in the pages of Master of your Domain are: How to know whether independence is the right career move for you What you should do to prepare for the move, and when is the right time to make it Gaining experience and confidence with side hustles How to start thinking independently while you’re still on salary How to set your rates, negotiate deals, and get invoices paid Selling your knowledge and expertise as a consultant How to listen, understand, diagnose, and solve clients’ problems How to market yourself and your business effectively, ethically, and successfully How to write, make, and sell educational products that earn passive income, such as books and courses More ways to monetize your hard-won experience, including teaching, training, and mentoring
· 2013
Puppet 3 Cookbook is written in a Cookbook style, showing you how to set up and expand your Puppet infrastructure. It not only gives you everything you need to become a Puppet expert, but includes powerful code samples and techniques developed over many years of production experience. With it, you'll save time and effort by automating tedious manual processes, impress your boss by delivering better business value from IT, and future-proof your career by getting to grips with the new technologies revolutionizing the industry."Puppet 3 Cookbook" is for anyone who builds and administers servers, especially in a web operations context. It requires some experience of Linux systems administration, including familiarity with the command line, file system, and text editing. No programming experience is required.
Kubernetes is the operating system of the cloud native world, providing a reliable and scalable platform for running containerized workloads. In this friendly, pragmatic book, cloud experts John Arundel and Justin Domingus show you what Kubernetes can do—and what you can do with it. You’ll learn all about the Kubernetes ecosystem, and use battle-tested solutions to everyday problems. You’ll build, step by step, an example cloud native application and its supporting infrastructure, along with a development environment and continuous deployment pipeline that you can use for your own applications. Understand containers and Kubernetes from first principles; no experience necessary Run your own clusters or choose a managed Kubernetes service from Amazon, Google, and others Use Kubernetes to manage resource usage and the container lifecycle Optimize clusters for cost, performance, resilience, capacity, and scalability Learn the best tools for developing, testing, and deploying your applications Apply the latest industry practices for security, observability, and monitoring Adopt DevOps principles to help make your development teams lean, fast, and effective
· 2022
If you’re new to Go and generics, and wondering what all the fuss is about, this book is for you! If you have some experience with Go already, but want to learn about the new generics features, this book is also for you. And if you’ve been waiting impatiently for Go to just get generics and iterators already so you can use them, don’t worry: this book is for you too! You don’t need an advanced degree in computer science or tons of programming experience. Know Go explains what you need to know in plain, ordinary language, with simple examples that will show you what’s new, how the language changes will affect you, and exactly how to use generics in your own programs and packages. As you’d expect if you enjoyed my previous books, The Deeper Love of Go and The Power of Go: Tools, this is fun and easy reading, but it’s also packed with powerful ideas, concepts, and techniques that you can use in real-world applications. By reading through this book and completing the exercises, you'll learn: What we mean by generic programming in general, and specifically how that applies to Go What type parameters are, and how they’re different from interfaces How to declare and write generic functions, and when that's necessary (and when it's not) How generics are implemented in Go, and how that affects the way we write programs How to define and use constraints on type parameters, and what constraints are provided in the standard library and the Go language itself How to write type element and type approximation constraints, as well as understanding the changes to interfaces What operations are allowed on generic types, and how to choose the right constraints for them How to define and use generic container types such as slices and maps, and add methods to them How to use the new official cmp, slices, and maps packages, and how standard library APIs are changing Where generics are useful and what new kinds of programs and packages we can write using them What generics can’t do (at least in Go) and when it doesn’t make sense to use them What iterators are, and how to create and use them, along with the new iterator APIs in the standard library And more broadly, you’ll get a great understanding of what the introduction of generics and iterators mean for Go as a language and ecosystem, how it affects the standard library and third-party libraries, and how we’ll write programs differently as a result.
· 2023
Where is your career going? What are the secrets of finding a great job in tech, passing the interview, and working well in a development team? How can you plan and negotiate your promotions, pay rises, and contracts? How do you become a master of your technical craft? Does your future lie in management or on the staff engineer track? When is it time to launch your own business, and how can you succeed as an independent engineer? John Arundel is a software engineer, consultant, and writer with over four decades of experience in tech. In this practical, readable, and funny guide to software careers, he distils the lessons of many years into the ultimate guide for anyone who wants to succeed in tech. Based on interviews with dozens of successful tech professionals, and featuring hundreds of practical, actionable tips, Code For Your Life is a complete manual for your career. It’ll show you how to get started, how to change jobs at the right time and for the right reason, and how to build a life you won't need a vacation from.
This book is for anyone who builds and administers servers, especially in a web operations context. It requires some experience of Linux systems administration, including familiarity with the command line, file system, and text editing. No programming experience is required.
· 2025
This friendly, supportive, yet challenging book will show you how master software engineers think, and guide you through the process of designing production-ready command-line tools in Rust, step by step. This book is aimed at those who have a little experience with Rust (or even a lot), and would now like to learn how to build good software with it. What is “good” software anyway? What would it look like in Rust? And how do we get there from here? If you want to learn why Rust consistently tops polls of the most admired languages, and why its popularity is rising fast among those who want to build safe, reliable, and high-performance software, this is the book for you. You'll master a guided-by-tests workflow for designing user-friendly APIs and building libraries of trusted, stable, high-quality software components suitable for critical applications. By reading through this book and completing the exercises, you'll learn: How to build reusable crates instead of one-off programs How to design user-friendly APIs, without annoying paperwork How to write robust, testable tools that take command-line flags and arguments How to detect, manage, and present run-time errors How to design Rust crates that work with files and other kinds of binary data How to encode and decode data in binary format, and translate Rust data to and from JSON How to create robust, reusable client packages for HTTP services and other APIs How to launch external commands and capture their output, how to parse arguments and subcommands, and how to add new features to the Cargo tool How to write useful, informative, and high-quality automated unit tests and integration tests