For many of us, the way we manage software projects has changed has changed so much since the days when Joel wrote this.
It was a different age, with different products. I’m sure there are still products built the old ways, but Joel was writing before SaaS and CI/CD and endless roadmaps.
Reading into Joel, he was building SaaS. Fogbugz to name one.
He seems to have other posts on the lifecycle of software and product budding. Maybe it wasn’t mainstream then but some folks were doing meaningful parts of it.
Fogbugz, if the first version even existed in 2000, was not a SaaS. Nor was Jira, by the way.
Both products were initially once-off purchases that you had to install and run on your own infrastructure, and with new, major versions packed with new features that you had to buy if you wanted, but could ignore if you didn’t.
The move to a SaaS model came years later for both products.
> What surprised me was how much the ugly first version taught me that planning never could.
Fred Brooks, author of “The Mythical Man Month” wrote an essay called “Plan to Throw One Away” in 1975.
He argues much what you’ve described.
Of course, in reality we seldom do actually throw away the first version. We’ve got the tools and skills and processes now to iterate, iterate, iterate.
It takes me right back to 1998, making my first few web pages - with a hand-rolled index page. I probably used NotePad.
And how easy it was - I went from reading a “how to HTML” guide to having a page about whatever hobby I was into at the time in a single session. Can’t have been much more than an hour.
I guess I deployed via FTP, into the space my ISP provided.
Make a will.
Pay off your credit card balance.
Get term life insurance if you have a family to support.
Fund your company 401K to the maximum.
Fund your IRA to the maximum.
Buy a house if you want to live in a house and can afford it.
Put six months’ expenses in a money market account.
Take whatever is left over and invest it 70 percent in a stock index fund and 30 percent in a bond fund through any discount brokerage company and never touch it until retirement
If any of this confuses you, or you have something special going on (retirement, college planning, tax issue), hire a fee-based financial planner, not one who charges you a percentage of your portfolio.
Solid advice overall. But I have to disagree with the 401k advice.
> Fund your company 401K to the maximum.
Fund it up to amount your company matches. The maximum you can contribute to 401k is 40% of your salary I believe. I wouldn't contribute 40% of my salary to the 401k. Just the amount your company matches ( 5% or whatever it is for your company ). That 5% match ( or whatever it is ) is free money. It would be foolish to leave it on the table.
> You reduce your taxable income and the money doesn't pay capital gains when you pull it out.
You do pay income tax on it when you pull it out though. Whether or not you come out ahead depends at least partially on your marginal tax rates before and after retirement.
Not American, but as I understand it, 401k's are tied to your employers 401k implementation and while you are employed you have little choice in how the funds are managed. If you are contributing to a third party managed fund (employer or otherwise) that is not being matched, then you are ceding control of your retirement funds for no practical benefit. You would be better off putting your savings into another tax shelter appropriate to your needs that you can control.
If you aren't getting a matching benefit or other reward for using an employer managed investment, then you shouldn't. If someone doesn't have the time, inclination, or knowledge to understand the difference then investing in an unmatched 401k is still better than not saving at all :S
This is incorrect. First off, you do control your retirement funds. The amount of control varies, but at the very least you are offered dozens of mutual funds, indexed funds and bond funds to choose from. Some companies allow offer Fidelity BrokerageLink which allow you to invest in anything including individual stocks.
Secondly, as far as "another tax shelter" there aren't any. For most people the only tax shelter available is 401(k). And the tax shelter is a very good reason to contribute to 401(k), even if there is no company match.
Right, it is much lower, and also there is this: If your company offers a 401(k), the IRS limits your ability to deduct Traditional IRA contributions from your taxes based on your income.
Tacking on, in evangelical circles Dave Ramsey's financial peace university talks about saving 15% of retirement when getting out of debt and generally working through that list, then once you have paid off the house, build more retirement wealth as you desire...most of us don't get to that point until later in life.
There is also the rent vs buy calculation to take into account, depend on where you live, it might make more sense to rent and invest the difference than buying.
Every 401K I've been in has had some choice in investments. Even if they don't, you'd have to assume that you could do better actively managing your own funds in another tax shelter than the "S&P 500 index" or whatever the 401K is doing. For most people, this is unlikely.
70% in a stock fund is extremely risky if you are close to retirement. You will not have fresh income to dollar-cost-average your way back into the black in the event of another market crash.
This is solid advice assuming the shit doesn't hit the fan. In Adams' lifetime many countries' pension funds went bust and inflation ate any soft assets.
As a fellow business owner, I’ll always feel bad when business owners need to make these types of decisions.
I bought Tailwind UI - I always thought it was a critically bad business decision from their end to keep giving me additional new stuff for free. It seemed to me that it should have been a subscription.
However, knowing nothing about the inside of their business, I have no idea how that would have affected their viability.
The idea is that subscription businesses have churn, and if you can capture the lifetime value of a customer with your one time price, there isn't any difference (other than people feeling grateful when you add new content for "free").
My takeaway from this thread is: his theory’s great until you discover that your customers are wiling pay *so* much more.
On a more positive note, I’ve been blown away by the (largely, one conspicuous troll-like annoyance aside) positive thoughts in the comments. Maybe it’s not too late?
It is true, I paid the lifetime fee for the premium tailwind offering, and they probably could have gotten double that from me with an annual subscription instead.
I like the approach of paying for major upgrades.. So you get free updates on your current version for as long as you want, but when the next major update comes out, you either stick with your current version at no cost (and ideally still get maintenance and security patches) but if you want the next major version, there's an upgrade cost.
> I always thought it was a critically bad business decision from their end to keep giving me additional new stuff for free. It seemed to me that it should have been a subscription.
Maybe. One data point isn't all that useful, but I never would have bought it if it weren't for the model he chose. I will never, ever do a subscription for something like that.
Not entirely true. They had one product at first. I think it was UI kit. The full app templates that came later were a separate product and they charged again. However, you’re right insofar as they added more templates to the later product for free.
I guess this is what makes marketing so tricky; I myself would’ve bought a $10/mo subscription so much sooner given the chance, which by now - and happily, incidentally - would’ve brought in way more dosh than my one-off payment.
i bought Tailwind UI years ago and have barely used it outside of like a couple of abandoned side projects. I bought it knowing that is going to happen because it is a one-time payment, and the idea of supporting the project/Adam is prob a bigger factor that the product.
I definitely wont even consider it if its a subscription.
Selling UI components is a hard sell to begin with - i think they made the right decision with a one-time point payment at that higher price point. If it were a subscription, i probably would've cancelled it within 2 or 3 months.
Slightly off-topic, but when learning to speak a new language, it is helpful to actually speak the language as often as you can.
There are a couple of websites that make it easy to book short conversation practice with native speakers. The one I use to practice Spanish is italki.
I find the practice of actually speaking, no matter how badly, helps way more than any app.
Agreed. I'm learning Chinese and while apps are lovely, nothing will prepare you for the pure amount of variation in accents across the world. Real world immersion becomes important for your brain to get used to mapping certain sounds to certain words.
I've also realised it's same for English, except we don't really think about it since we're used to the sounds, but the way we'd say "I went to the market" in daily speech is night and day to how it would be enunciated during an English speaking class (e.g. uh wen tu-th markt vs eye weynt too thee marr-ket). To the unpracticed ear they can just sound like different sentences.
I’m a strong believer in “fix bugs first” - especially in the modern age of “always be deploying” web apps.
(I run a small SaaS product - a micro-SaaS as some call it.)
We’ll stop work on a new feature to fix a newly reported bug, even if it is a minor problem affecting just one person.
Once you have been following a “fix bugs first” approach for a while, the newly discovered bugs tend to be few, and straight forward to reproduce and fix.
This is not necessarily the best approach from a business perspective.
But from the perspective of being proud of what we do, of making high quality software, and treating our customers well, it is a great approach.
Oh, and customers love it when the bug they reported is fixed within hours or days.
Would love to work on a project with this as a rule but I am working on a project that was build before me with 1.2 million lines of code, 15 years old, really old frameworks; I don't think we could add features if we did this.
Same. The legacy project that powers all of our revenue-making projects at work is a gargantuan hulking php monster of the worst code I’ve ever seen.
A lot of the internal behaviors ARE bugs that have been worked around, and become part of the arbitrary piles of logic that somehow serve customer needs. My own understanding of bugs in general has definitely changed.
Yes indeed, and also the title promise - I looked forward to read how the personal blogs are back, only to discover the author didnt provide any evidence, but not even examples. Maybe they are indeed back, if we count Substack newsletter archive as a "personal blog".
reply