Buying products for your job: estimating value, convincing your boss
You’ve discovered a product that might help you with your job: perhaps a book that will teach you a new and relevant skill, or software that will speed up development. Since you do want to write software better and faster, you are considering buying this product. But, then again, the product costs money, and maybe that money is better spent on something else.
So should you buy the product or not?
How do you decide?
And if it is worth buying, how can you convince your boss to approve the purchase?
While it’s impossible to know with certainty, a few simple heuristics can make the decision—and convincing—much easier. This article will cover:
- Buying products with your employer’s money: the “hours-saved” heuristic, and convincing your boss to approve the purchase.
- Buying products on your own, and why you should usually restrict this to educational products.
- Some concrete examples to make this all clearer.
- Saving money, including when you live in a low-income country.
Buying products as an employee (it’s not your money!)
Let’s assume you’re an employee, and you’re considering buying a product that will help you do your job better or faster. Or rather, you won’t be buying it, your employer will. In this scenario, you basically need to compare the product’s cost to the expected savings—or additional income—your employer will gain in return. All things being equal, if you’re spending $1000 to save $5000, that’s clearly a worthwhile purchase.
If this is a huge strategic purchase, where the cost of the product is very high and the resulting value is quite variable, that’s outside the scope of this article. At the other extreme, sometimes the product’s value is obvious. For example, if a product can definitely cut your cloud computing costs by 10%, just multiply the two numbers and you’ll know its value.
But much more commonly you’ll be looking at a $50 book, or a $500 software product, or a $100/month service; not a strategic purchase, and the value may not be obvious. In this middle ground, often the easiest way to estimate the product’s value is to estimate how much time it will save you.
The “hours-saved” heuristic
Every hour you spend working as an employee costs your employer money: salary and benefits. If a product saves at least as much money as that expense, a rational employer should be happy to pay for it.
So to figure out if a product is worth buying, you calculate the product value based on hours of work saved. If the product’s estimated value is equal to or greater than its cost, you should buy it:
Product value = (Hours saved) × (Hourly employee cost)
We’ll get to why “equal to” is sufficient later on, but before that let’s see how you calculate the two inputs.
This is where you have the most uncertainty, but you don’t have to be particularly accurate. If you need to learn a complex tool, and the documentation isn’t great, it’s pretty certain a book on the topic will save you half a day’s spinning your wheels; quite likely much more.
You can also reduce uncertainty by spreading your bets, if it’s a cheap enough product. In particular, I will often buy a number of different books on a given topic, on the presumption that one of them will have the information I need. So long as the expected time savings is high enough, I can reduce the uncertainty on hours saved by combining the benefits of multiple books.
Since there’s always some uncertainty, you can always err on the conservative side; make sure to subtract the time you’ll spend setting up a tool, reading a book, and so on.
Hourly employee cost
If you’re an hourly contractor, you already know how much you cost.
If you’re a salaried employee, you can estimate your hourly cost to your employer with a little bit of math. As close-enough assumptions, a full-time employees works about 2000 hours a year, and paying for benefits and taxes adds another 50% overhead.
Hourly wage = ((Annual salary) × 1.5) / 2000
A worked out example
Let’s say you’re considering buying a book that costs $50 using your employer’s money. You estimate it will save you 4 hours of work after taking in to account the time spent reading it (you should be reading it at work, of course). And we’ll assume your annual salary is $100,000.
Hourly wage = ($100,000 × 1.5) / 2,000 hours = $75/hour Product value = $75/hour * 4 hours = $300 Product cost = $50 Expected return on investment: $300 - $50 = $250 You should buy the book!
For an educational product, even if the estimated value was only $50, the same as its cost, I would still argue you should buy the product.
The hourly wage you calculated above actually significantly underestimates the value of your time. Your employer pays your salary in the expectation of getting some return on this cost. So if they’re paying you $75/hour, they expect to get back quite a lot more than $75/hour back in return; profit margins in the software industry are often huge. So your hourly wage significantly underestimates how much value your employer gets from time saved by a product.
In practice, then, a break-even educational product is likely to be a win for your employer, and at worse no damage done—and learning new skills is good for you personally.
Convincing your boss to approve a purchase
Once you’ve decided buying the product is the right thing for your employer, you may need to convince your boss to approve the purchase.
Sometimes, getting approval will be trivial. For example, many employers have a use-it-or-lose-it annual training or education budget. If that’s the case for you, you should be able to easily buy any book you think will be helpful in any way whatsoever. In fact, it’s often perfectly fine to buy books that aren’t even directly related to your work, so long as they’re adding job skills: it’s been budgeted for already, and the training budget may be partially seen as an employee benefit.
In other cases, you will have to convince them. If you’ve followed the process above, however, you should have the evidence you need. By sharing your calculation and reasoning, you should be able to make a clear, cost-vs-value argument for why buying this product is well worth your employer’s money.
The basic structure of your pitch should look something like this:
- Motivating context: “As you know, we’re going to be deploying the Flux Capacitor project using Docker.”
- Demonstrate costs lacking the product: “It turns out Docker packaging for production is fairly complex, so I estimate it would take 3 days at least to research best practices, implement the packaging, and then debug performance issues. Lacking that we’ll have to deal with slow builds on every CI run, which will reduce our velocity.”
- Explain predicted savings from the product: “If we buy this product, I expect I can implement packaging in a day at most, and I’m much less likely to miss critical best practices.”
- Make the pitch: “The product costs $79, you can see some happy customer quotes on the page here, it seems well worth the money; can you please approve this purchase?”
They might say yes, they might say no, either answer is fine; you’ve made clear you’re trying to make the team more productive.
However, you might encounter employers—or managers—who refuse to spend any money at all to help their employees be more productive, regardless of circumstances or value. If you find yourself in this situation, you’re working for an organization that is actively sabotaging your ability to be productive, to its own detriment. So you may want to consider finding another job.
Spending your own money
What if you’re not buying the product as an employee? There’s a few different situations here, which should be considered separately.
You’re working for yourself. In this case you’re both employer and employee, so you can do a calculation similar to the above. That is, you can figure out money saved vs. money spent.
Your employer won’t pay for an obviously-worthwhile product. In this case you should NOT spend your own money. I have had people tell me they were buying my products because their employer wouldn’t. Don’t do this. Please. I don’t want your money that badly.
If your employer is being irrational, that’s their problem, not yours; just do things the inefficient way (and consider finding a better job).
Buying a product to help you get a new job. Whether this is a good idea is very situation-specific; certainly it only makes sense for educational products, not tools. I would suggest that before you spend a lot of money upgrading your skills, if you know you already have reasonable skills you might be better off rewriting your resume and most importantly reaching out to people you know to help get you interviews.
Applying the process to real products
To see a more realistic example of deciding whether to buy, let’s consider a couple of my own products.
If you’re not interested, you can skip ahead to the next section on saving money.
An educational book
The Python on Docker Production Handbook ($79) covers over 70 best practices for Docker packaging for production, organized using a structured process, and specifically focusing on Python. I would estimate that this book could save someone a day and half of research and debugging, quite possibly much more; we can say 5 hours to be on the conservative side, and take into account the time it takes to read the book.
Let’s see how you might decide to buy in different situations:
|Hourly cost to employer||Product value||Product cost||Employer should buy|
|$50,000 salary = $37.5/hour||37.5×5 = $187.5||$79||Yes|
|$100,000 salary = $75/hour||75×5 = $375||$79||Yes|
|$200,000 salary = $150/hour||150×5 = $750||$79||Yes|
If you’re buying the book with your employer’s money, and the time savings estimate seems realistic, it’s worth buying.
If you’re an employee and you’re buying with your own money, only buy it if the new skills will help you get a better job. In most cases you probably shouldn’t buy it.
The Production-Ready Python Containers Template and the Production-Ready Conda Containers Template ($349) implement many of the Docker packaging best practices in the form of a software template. The time savings here are even bigger because it’s already implemented, and, for example, I’ve written tests, which almost no one does for their packaging scripts. But conservatively, keeping in mind that using the template also takes up some time, let’s say a day and half’s time saved: 12 hours.
|Hourly cost to employer||Product value||Product cost||Employer should buy|
|$50,000 salary = $37.5/hour||37.5×12 = $450||$349||Probably|
|$100,000 salary = $75/hour||75×12 = $900||$349||Yes|
|$200,000 salary = $150/hour||150×12 = $1,800||$349||Yes|
If you’re buying the template with your employer’s money, and the time savings estimate seems realistic, it’s worth buying.
If you’re buying with your own money, you shouldn’t buy it: a software template will not help you get a better job.
In the worked-out example above, we came to a $75/hour employee cost for someone paid $100,000 a year. But what if you live somewhere where a more typical salary is $33,000/year? In that case your hourly cost is $25/hour, and justifying the purchase of products gets a lot harder. This is especially problematic for educational products, because it reduces the ability of people in low-income countries to learn new skills.
One solution is Purchasing Power Parity discounts, giving per-country discounts based on income levels. For my own products, if you visit a product page a pop-up bar will appear at the top of the page with a discount code for specific countries. Other independent product creators also take this approach, for example Julia Evans’ Wizard Zines.
If you find a small company that doesn’t offer PPP discounts, you can always email them and suggest it.
Spending your own money on books
Some ideas for saving money on books:
- Buy used books; I like Alibris.
- Buy old editions of textbooks. If the third edition of a book is out, the second edition will probably be a lot cheaper… and won’t necessarily be that different. This is especially true of some academic textbooks, where publisher will churn out editions every year where mostly just the homework exercises change.
- If you’re buying a lot of books, you can subscribe to O’Reilly Learning platform, which gives you access to thousands of books from multiple publishers, videos, and more. The problem is it costs $499/year, though they have occasional sales, so you need to be buying a lot of books before it’s worth it. However, a professional ACM membership gives you access to O’Reilly for only $99/year, a much more reasonable price. Personally, I much prefer paper books when I can get them.
Go forth and buy (or not)
Assuming you’re an employee, you’re probably not spending enough money on educational products. If spending an hour reading the right chapter in a book could save you a day’s work, buying that book and reading that chapter is what your employer should want you to do. And from your perspective, you’ll spend less time banging your head against the wall… and those extra new skills will benefit you the next time you’re trying to get promoted or find a new job. All of this, of course, presuming that your employer is rational and willing to pay to make you more productive.
And while it’s fair to say that I have a somewhat biased perspective, I actually do follow my own advice. As someone who works for myself, I’ve used my own money to buy at least 14 programming books in the year before writing this article.
Find performance and memory bottlenecks in your data processing code with the Sciagraph profiler
Slow-running jobs waste your time during development, impede your users, and increase your compute costs. Speed up your code and you’ll iterate faster, have happier users, and stick to your budget—but first you need to identify the cause of the problem.
Find performance bottlenecks and memory hogs in your data science Python jobs with the Sciagraph profiler. Profile in development and production, with multiprocessing support, on macOS and Linux, with built-in support for Jupyter notebooks.
Learn practical Python software engineering skills you can use at your job
Sign up for my newsletter, and join over 7000 Python developers and data scientists learning practical tools and techniques, from Python performance to Docker packaging, with a free new article in your inbox every week.