The Price of Productivity
Amateurs value money over time. We professionals value time over money.
As professionals you and I must work to maximize our productivity. How much can we get done in a day or a week? That's our goal.
One way to raise our productivity is to use the best tools. It’s great when the best tools are free but it’s not always the case. Sometimes to get work done quickly, we need to reach into our wallets and pay for better tools.
Paid Productivity
There are a few paid pieces of software that I use every day and I can't imagine navigating my tasks without them.
INTELLIJ
As developers we need a great editor. Not only does the editor itself need to be great but we have to be masters of it. Our hands shouldn't leave the keyboard and what we think needs to happen seemingly without us doing anything.
If we’re really in tune with our tools, we won't realize we’re even typing on the keyboard. We’re focused. What we want to happen the computer just does. A line of code? It just appears. Application debugging? It just happens. Navigating a codebase becomes second nature.
IntelliJ does that. When working without distractions, IntelliJ allows us to turn out a lot of code.
Buy IntelliJ Ultimate for $149 the first year and cheaper renewals yearly after that. Of all the software I've bought, this has been the best value.
SIZEUP
OS X has (or at least used to have) pretty bad window management. SizeUp fixes this by assigning keybindings that resize windows: half-screen, full-screen, etc.
It’s a great little utility and I bought a license to SizeUp years ago. I use it all the time. It's a little more expensive now at $12.99 but is still worth it.
SETAPP
SetApp is the crown jewel of paid software.
SetApp is a premium app store. All its applications are high quality OS X applications that you normally pay for.
The advantage to SetApp is its yearly subscription model. When you subscribe, you get access to all the applications in the SetApp appstore. No restrictions. As long as your subscription is active, you can download and use any number of applications it offers.
Quite a novel idea. I hope it lasts because there's some real gems in there like
The list goes on but those are some of the highlights.
Don't want to pay right away? Use the 7 day free trail to take some of the apps for a spin.
SetApp costs roughly $110 per year, and I'm currently using 20+ applications from it. Not all of them will boost your development productivity but there's some nice apps that make your daily computing easier.
Practice
There is a downside to buying applications. To get the most of out pay tools, we really need to use them.
Practice.
These types of apps cater to power users and understanding how to use them will pay dividends.
We can't get around this part. Being a prolific developer is in itself a full-time job. Sorry. :(
Does free mean it's low quality?
Nope. Not all free software is garbage or difficult to use. Most of the Linux/GNU applications, for example, are pretty powerful and work well.
- sed/awk
- grep
- less/more
- bash/zsh -- shell scripting in general
- vi/emacs
- tmux
These are all great applications. Many of them have whole books worth of materials written on them. As top level developers, we need these in our toolbox and need to know them well.
You can get started with any of these by downloading Homebrew and installing them.
Choosing
How do we pick between free and pay tools?
When I find myself deciding between a free solution and a pay solution, I first look at what am I getting for the money.
CASE 1: ECLIPSE VS INTELLIJ
After using the free Eclipse editor for years, I never felt I was getting the most out of it. It was always slowing down my typing, I was frequently reaching for the mouse, or was waiting for Eclipse to process -- blocking my input.
Maybe it's just the way my mind works but I felt myself struggling to get Eclipse to do what I wanted while keeping up with my stream of consciousness. I looked into other free editors like NetBeans and even straight text editors like vi. Once I tried IntelliJ, I never looked back. It's been a great purchase and I've never balked at the pricing. Even when they went to a subscription model.
CASE 2: JREBEL VS SPRING BOOT DEV TOOLS
Another good example is JRebel. It's an exceptional application but it's just way too much money for me.
JRebel does instantaneous hotswapping of new Java code. Debugging and find a problem? Make a change, compile it, and JRebel reloads it right into the running application without restarting the app.
It's practically magic but you have to be the Monopoly guy to afford it. The license used to be several hundred dollars a year. I write used to because as I'm writing this blog, you can't even get a price on a JRebel license. You have to go through some question/answer to get a quote.
What do I use instead? Spring boot dev tools. It auto reloads on changes and solves the same basic problem. Although it's not nearly as good, it's free and gets the job done.
Conclusion
The best advice I can give you is to be smart with your money. Budget for pay applications that give you the best value. Find ones that make you more productive. Find ones that take some of the computing misery away.
This is one of the reasons I love SetApp so much and hope it sees wider adoption. There's lots of great solutions in their appstore for a little over a hundred bucks a year.