Emacs or Vim? Spaces or tabs? Linux, macOS or Windows? Python or Ruby? These are just a brief list of the burning questions that have kept the flames of tech tribal war burning since the first computers hit the market. In our hearts, we all know that these are pointless questions to argue, since as Coder Radio listeners were surely tired of hearing, it’s all about picking the right tool for the job. After over six years of being a podcaster and (I hate the label but calling it as it is) a “pundit” in the software development community, I have come to an even more radical conclusion – we are living in a golden age for software developers. I know what you’re thinking: “Mike, you’re the one always pointing out how hard it is to make money as an indie or a small time shop and how the big firms are monopolistic to the point of being anti-competitive.” Largely, I still believe that, but I now recognize that the good outweighs the bad and despite the best efforts of the monopolists it’s still possible to be a successful as an indie software developer. For context, I am writing this just weeks away from a new product launch at The Mad Botter INC that is going to be the most ambitious first-party product I will have launched in my career.
First let’s talk about the root fuel for any product or business, money. It has never cost less to create a software product than it does today. Thanks to affordable hosting from the likes of Digital Ocean, running the required servers for a modern software product or service no longer requires large amounts of upfront capital. These services also offer a number of code quality and system analysis tools as part of their overall cost. In the past, these types of quality of life add-ons would have been so cost-prohibitive that only large organizations could afford them — today, they are part of the cost or straight up free; a great example of this is Gitlab Community Edition being able to be deployed on a $10 per month Digital Ocean droplet with not additional software licensing cost.
How is it possible to get so much value out of such a small cost? Open-source, baby! That’s right free and open source software has not only eaten the world, but it has been digested and become the fertilizer for our current golden age. Think about it, the foundation of our modern world is FOSS. Got an iPhone? Thank the BSD project. Oh, you’re an Android user? Thank the Linux project. Make sense? The irony here is that there are dozens of other FOSS projects at use in both of those mobile OSs and you interact with them every day. Even Microsoft, the company that once called open source a cancer, is firmly on the FOSS train, having open sourced .Net and a number of other technologies as well as contributing to the Linux kernel. I’d be willing to be (assuming your a software developer) that most if not all of your toolchain is based on open-source technologies. Take a look at your tool-chain and take a second to think about how many of the tools you use day to day are either open-Souter themselves or wholly or in-part reliant on an open-source project.
Speaking of your projects, what do you do when you have a good idea that you just want to hack on? If the answer was anything other than “call Uncle Scrooge McDuck for a fat stack of cash to get the ball rolling,” then you are one of luckiest developers in the history of technology, just like me. Think about it, the great and mighty Woz had to work on his circuit designs on graph paper and Paul Allen wrote Microsoft’s early software by hand on paper. What do you and I do? Well, for my part, I pop open VSCode, create a Gitlab repo, spin up a free Heroku dyno and spend half a day testing out if an idea is worth pursuing. Sum total of the adventure other than my time — $0.
Please follow me on Twitter for some very cool stuff coming out in the next few weeks.