I'm not sure I agree completely with his characterization of what happens. I've noticed that people, particularly in larger organizatons, will start shoehorning their "hacking work" into real projects if it is left out for too long. So, you end up with systems that are on bleeding-edge languages, tools, runtimes, and platforms because, frankly, the team was just dirt-sick of Scala/Java + Beans, even though that would've met the company's goals much more quickly and cheaply.
That said, I definitely support his statement that people should have some hacking / learning time budgeted, even if only to avoid the scenario I mentioned above.
I completely agree. I've worked at a company where we had explicit weeks taken out of the schedule to do "app building" where we were expected to do a mix of kicking the tires on the product and experimenting with random tech we wanted to play with (subject to the Legal Overlords and their hatred for OSS, at the time). Speaking with my manager hat on, it worked quite well for exorcising those demons.
I've had good luck in the past doing these kinds of side projects as tools -- they're useful, but don't rise to the level of Mission Critical. This avoids the problems mentioned in the parent. (Organization becomes dependent on bleeding edge languages/libraries, etc.)
Ironically, the best way to pay off 'hacking debt' is with 'real work'.
If you want to learn technology X, the best way to do that is to build something with it. You want to build something that is motivational in itself, something that is useful or fun. Building something useful is real work.
I've had a lot of luck discovering technologies in my off-time and then figuring out how to incorporate them into my paid work. It's really an awesome approach.
I have long noticed a similar correlation in my own work. Whenever I find myself using the phrase "playing around with" it usually signals that I am actually doing my most creative/inventive work. Hard becomes easy when insight arrives and work turns into play because of the joy of discovery.
I had a friend that approached me about 18 months ago regarding the best way to pay down his loans. I started with a simple model and as it came to fruition, wound up with a solution[1] that factors in the present value of savings, future interest rates, and tax consequences. This is a more mathematical effective strategy for paying down debt.
By considering the present value of savings, you are able to judge the relative difference between a loan that recognizes savings in 30 years vs 10 years, for example. Future interest rates are important here because it reflects your opportunity cost of paying down debt (ie you could be saving this money in a risk-free investment instead). Lastly, taxes are extremely impactful because, for those who qualify, paying down a tax-deductible mortgage or student loan ultimately lowers your after-tax income.
Although my site is still somewhat beta, I invite folks to come sign up for free and give it a try.
Another benefit of the snowball method is you can reduce the number of lenders you owe money to more quickly. Then, if for some reason you can't keep up with payments, you have fewer ominous phone calls to worry about and are less likely to have to file bankruptcy.
Interestingly, at that point the psychology goes from motivational to avoiding extra stress altogether.
In the now-ancient Cringely book called "Accidental Empires" the author relates the story of how the lead engineer working on 3COM's first ethernet card paused his assigned work to measure the reflectivity of his office's ceiling tiles while the seedling company awaited his fundamentally important work. This is the sort of hacking that, while off-task, is still often valuable. Every suit's nightmare and yes fairly irresponsible in the context, but this really is productive overall if it staves off boredom. It's indicative of what I would call a born engineer: curious, resourceful, and compulsively productive regardless of material as long as it's by choice.
1) Pay all your debt now, unless you have a sure way to make money at a higher interest rate CONSIDERING INFLATION (ie if you hold debt at a fixed 2% annual rate and can access 3% guaranteed placement, don't pay your debts if inflation is <1%)
2) Never make any debt ever again UNLESS it is for a productive investment. A productive investment is something that will pay the amount due + interest + leave you something to leave on. Physicial capital (tools) is an investment. Today you must have a really good reason to buy your own server instead of paying-as-you-go for a virtual server. Education may - or may not be, it 's a complex question (credentialing may mean you need paper diplomas more than the actual knowledge)
3) Leave beyond your expenses, save and invest. There're various websites with suggestions on how to do that exactly.
The most important thing is the endgoal : no debt, money in the bank, freedom to work on jobs or projects you value, without the short term constraints of putting food on the table.
When in doubt about making a debt, go see 2) - purchasing property to flip it on the market is taking a risk. If you have followed 3), it's a risk you can take.
Now let's translate that to development debt :
1) you should fix your code now, unless there are more productive uses of your time. Fixing old complex code is like fighting inflation - don't bother. You may win some battle but can't win the war. Fixing new code however is a good idea, while it's still clear in your head.
2) you shouldn't have made a technical debt in the first place, except to ensure a sale or quick money. if you did, you'd rather have a good reason and some profits to show
3) code in a "beginner me could understand that" way. Remember it takes someone twice as intelligent to debug some code, so make life easy for yourself.
The end goal is the same : code that work, with the freedom to repurpose it, without the short term hassle of fighting bugs everyday.
When in doubt about creating technical debt, go see 2) - feature creep to try to secure a sale is taking a risk. If you have followed 3) and your code base is clean enough, it's a risk you can take.
EDIT : Downvotes, really? At -1 now ?? Please tell me how I am not following the guidelines and not contributing to the discussion.
EDIT2: falcolas, sorry, but I see technical debt just like real life debt. It is a powerful and dangerous tool, and if one is looking for solutions on a blog where a guy advise playing around for the fun of it you're not doing to lower your technical debt - you're going deeper into technical debt.
In his own works : "hacking debt" : "Some portion of a career should be devoted to hacking. Not 100%, but not 0% either. Without some time spent exploring and having fun, people become less effective and eventually burn out.".
Huh? "hacking debt" won't resolve the "technical debt" - that's completely unrelated. I just don't and can't agree with his approach of playtime for the sake of it. One should remember the dead simple advice posted above (and heavily downvoted) before trying to do better. Not everyone is a rockstar or a special gem needing daily bouts of playtime to keep inspiration. Most however need to keep a training routine and consider which technical debt is worth taking on, and which is worth leaving aline.
"Take a military analogy - if you're not doing something "shippable" (ex: fighting), you are training to maintain or raise your potential for when you will have to get in action - or at least to maintain discipline."
That's not playing for the sake of playing or having fun. That's playing with a goal.
Your comment has nothing to do with the article. In your own words: "Huh?"
He's essentially talking about directed, productive work versus undirected, creative work. You need to spend some of your time mastering new skills. Trying new techniques out. Otherwise, you're going to burn out.
It's kind of like work-life balance. You can't work every waking hour. Well, he's saying that he's one of those people who can't WORK every working hour. That when he pushes himself in linear, goal-oriented tasks, that it catches up with him eventually. (Hence the "debt" part of what he's trying to say.)
Google calls it 20% time. Time you're supposed to spend on things other than your assigned duties.
There are lots of reasons to do it.
And it pretty much has nothing to do with reducing technical debt. It's a poorly written article that doesn't even explain its terms very well, so it's understandable that you wouldn't understand.
I call that raising one's potential in my comment, and that's not playing: in your own words, that's mastering new skills and trying new techniques.
Besides the minor disagreement on which are the right terms to use, I agree with your conclusion : the article is poorly written, and fails to address the core issue about technical debt.
It does not propose any simple solution, and can be summed up as "do some hacking, play and your technical debt with magically resolve itself" - to which I don't agree.
(The analogy I made with "real life debt" was to insist on the reasons why an undirected approach to technical debt was not the best idea)
That's because the core of the article is NOT technical debt. (That's why you're so confused.)
It's about something TOTALLY NEW he wants to discuss. And he's borrowing a term we're familiar with, and testing the waters to see if he can use a similar term to describe this new concept.
Your response is so inappropriate, it's like if I responded to your post about technical debt with a rant about how your post didn't really address the problems of our NATIONAL debt, and didn't touch at all on our history of abandoning a gold standard, fiat currency, rentier capitalism, China playing with its currency valuation, and how "In God We Trust" offends atheists.
NATIONAL debt has nothing to do with TECHNICAL debt has nothing to do with HACKING debt.
"and your technical debt with magically resolve itself"
The best I can imagine this notion of "hacking debt" is a "lack of hacking playtime", which the author belives may have bad consequences ; yet I deny that very notion.
Financial debt exists. Technical debt exist too (especially if you make a living maintaining old code :-). Lack of training exist (skills deteriorate)
Hacking debt ? Sorry, but once again "huh" ?? How is promoting a kind of glorified slacking helpful?
You seem to have a far better understanding of it than I may have, so please describe this "totally new" concept termed "hacking debt", and also provide some proofs or links about the detrimental consequences it might have.
Otherwise, I would like to take this opportunity to present you my new concern of "cinnamon-roll debt": I postulate that not frequently eating cinnamon rolls has bad consequences for a coder. Of course, I won't provide any proof. Also, I'll let people discuss that concept on HN to try and make some sense about it. I'll plug the term with A/B tested SEO words, like "technical debt". If it doesn't work, I'll present a new concept of "magical-rock debt" - about how not having a magical rock leads to coders burning out.
PS- you're right, the article does not directly infers that playtime will solve technical debt. It just says "people become less effective and eventually burn out". However after reading it again, my impression is still that it is presented as if it could be helpful, and as if "hacking debt" was a real problem. IMHO it's not, and it's bad advice.
Initially, I posted a TLDR with a simple analogy, then saw the downvotes and a lack of understanding, so I tried to provide more details to explain why I think the basic concept is wrong, besides the analogy. Yet, in the last 5 minutes I still see 4 downvotes.
Never mind.
I guess casting wild ideas is more recognised than examining how they could be wrong and proposing simpler fixes. There may be a market for lion-repelling magical rocks. I've got one and I've never even been chased by a lion! Also, it prevents burnout, and my productivity has never been higher!
This is a friendly forum for the exchange of ideas, not a peer-reviewed journal.
You're proposing simpler fixes to a completely different problem. And you provided an INACCURATE TL;DR of a seven-sentence article. Hence, the downvotes.
Product development yields things like better vacuum tubes. I whole-heartedly agree with the article's position that companies are foolish to demand that 100% of their developer's efforts are spent on product development. I think any company that tries to be innovative should encourage unstructured development.
Some companies call them hack-a-thons. For one thing, they breed loyalty, camaraderie, and morale among the employees. Look up hack-a-thons, if you have any interest in retaining employees. With your attitude, I'm not so sure that applies to you.
VikingCoder, you're my e-hero. The article tried to throw out an idea for everyone to just think about and go "Hmm...interesting..." (as with most articles on hacker news). It amazes me that even with such a low character count, it was still able to fly over some heads.
>Pay all your debt now, unless you have a sure way to make money at a higher interest rate CONSIDERING INFLATION (ie if you hold debt at a fixed 2% annual rate and can access 3% guaranteed placement, don't pay your debts if inflation is <1%)
Some people over-emphasize this. Generally speaking, 10k in debt, 10k in the bank, at a non-usurious interest rate is far more stable than 0 in debt and $3.50 in the bank.
I'd contend that debts south of 5% fixed interest rate should be HIGHLY considered as "not worth paying down" until your retirement account is fully loaded with enough cash to retire TODAY as this is a very strangely low rate, and one that will be over the life of most loans in that tier, at or less than inflation (looking at historical levels of inflation)
You're not going to be able to borrow at 4% when inflation is at 5%, but you sure can keep on to that 4% debt from now for 10 years, and instead bank extra payments or invest them
> Generally speaking, 10k in debt, 10k in the bank, at a non-usurious interest rate is far more stable than 0 in debt and $3.50 in the bank.
That's not usually the advice financial counselors give. Dave Ramsey, for instance, would probably say keep $1k in the bank and pay pay off $9k of the debt and [snowball] the remaining payments.
Also, assuming you can get a 12% ROI over the years, and accounting for inflation, you'd be left with 12%-5%-4%=3%
Is that hypothetical 3% gain worth keeping the debt, which has risks of its own? e.g. you are incapacitated due to an accident, or you incur a huge medical bill that you need to split into payments, but you can't pay much because, oh "i just have this loan at 5% that's not worth paying off.
> Is that hypothetical 3% gain worth keeping the debt, which has risks of its own? e.g. you are incapacitated due to an accident, or you incur a huge medical bill that you need to split into payments, but you can't pay much because, oh "i just have this loan at 5% that's not worth paying off.
Actually, if something bad happens you've got $10k in the bank. So when you are incapacitated, you've got several months' of living expenses -- or you can pay off the medical bill outright.
The common "pay it all off; no debt ever" advice that I've seen given out for free on the internet is geared toward people with tons of debt. This advice is not great for persons with small amounts of debt, good cash flow, and a healthy emergency fund. When you reach this point, you have the option to use debt as a tool, and you have the ability to negotiate with lenders to get better terms. (Implied here is that you can negotiate better terms because you have the ability to simply pay cash and walk away from the debt-negotiation table.)
Most financial advisers give "X months of buffer of bare minimum". 3 and 6 are both bandied about
10k isn't ENOUGH in the bank IMO for most people living in SF. It's probably closer to 20k, but 10k was just a random number I pulled out to demonstrate flexibility of cash on hand. Then again, CA has really tenant friendly eviction laws, so maybe not...
It doesn't have to be ACTUAL cash, just near cash holdings not strongly effected by volatile securities (such as the stock market)
3 to 6 months of living expenses would normally be sufficient to keep in the bank in a checking account. That said, we don't live in normal times. Considering the state of the economy, and how long it takes for those laid off to find new jobs, keeping 9 to 12 months of cushion is a better idea.
I'd agree, except for the fact that recent typical CD rates aren't really much better than recent typical savings account rates. E.g. 0.80% on a savings account and 0.90% on a short-term CD. You can probably find better deals, but the amount of money you'll earn for the amount of effort you'll expend finding, opening, and maintaining the CDs probably makes it not a worthwhile exercise.
> 1) Pay all your debt now, unless you have a sure way to make money at a higher interest rate CONSIDERING INFLATION (ie if you hold debt at a fixed 2% annual rate and can access 3% guaranteed placement, don't pay your debts if inflation is <1%)
If you can get 3% nominal and hold debt at 2%, it doesn't matter what inflation is, since your debt isn't in inflation-adjusted dollars. Indeed, the higher the rate of inflation, the less it makes sense to pay off debt. If you have debt at 5%, and your real rate of return is only 3%, it might still make sense not to pay off that debt if inflation is > 2%.
Paying off debt is not risk-free, in the sense that paying down loans now is a bet on future inflation being low.
You make a good point. Consider making an extra payment on a 30-year fixed-rate mortgage. The "savings" you recognize are not showing up tomorrow, next month, or even five years from now. What you are really doing is shortening the maturity of your loan (knocking off payments at the end of the term). So, in most cases, making extra payments on a mortgage is essentially making a bet on future interest-rates / inflation in years 25-30 from now.
You would have to have some pretty awesomely low interest loan rates or severe inflation for early payments on a mortgage not to be a net win. A loan we had recently for a house (loan taken out at financial crisis loan rates) worked out at such that an early payment of $1 saved a payment of $7 at the end ($6 being interest). That was enough to motivate us to stick every spare dollar on that loan.
Not particularly. Say you have a mortgage at 4.5% (which is doable these days with great credit). If inflation is 4% (the average rate of inflation from 1980 to 2000), then anything with a real rate of return of more than 0.5% is a better place to put your money than paying down your mortgage.
Yes. It was over 10% when we got our mortgage, and although we negotiated down to 9.89%, its still pretty steep.
When wages are so low and houses so expensive here (470k American dollars is average Auckland house price, arrange wage is 42k ish).
I am slightly old fashioned and, well, wrong I suppose, in my aversion to debt. Right now out rates are a a bit of a low, but we are paying off debt when saving would actually be more profitable.
It's not wrong. It's just a matter of your personal projections. The only thing wrong is taking action at odds with what you think will happen. E.g. if you're ranting about impending hyperinflation thanks to QE3, you should be taking out massive amounts of dollar-denominated loans and use them to buy property whose value will keep up with inflation.
Sure, no doubt in many cases the interest savings would be worth it. The real benefit of looking at the timing of savings is apparent when comparing multiple loans with different contract terms, and trying to figure out which you should be paying off quickly. All else being equal, two fixed-payment loans - one with 120 months remaining and the other with 360 months remaining - each have different "savings profiles". That is, they have different points in the future when the savings are actually going to recognized as well as different interest savings amounts. It can get kinda difficult trying to figure out if saving $1000 in 10 years is better than saving $1500 in 30 years, for example.
Yes - my choice as always been to go for more later - even when its far from clear that more is actually more. What is clear to me is that less debt is less debt, and that's a gain right now.
This is a misunderstanding of how traditional mortgage payments and interest are calculated.
A mortgage payment includes a fixed amount of "principal + interest". The interest portion is calculated each month based on the outstanding principal.
Every dollar of principal you pay early reduces the amount of interest you pay in every payment thereafter.
You are correct that you still have to pay the same monthly payment, but it is knocking off the immediate next payment (which is high interest, low principal), rather than knocking off the last payment (which is high principal, low interest).
Paying additional principal near the beginning of a mortgage thus makes a lot of sense (it eliminates interest on that amount for the next 360 months).
To clarify, my definition of savings refers to "payments you would not have had to make". Regardless of the proportion of principal to interest, the payment is still the contractual amount you have to pay each month. If you have a fixed minimum payment, any extra payment you make is not impacting the amount due next month.
To your point, yes, next month's payment has a higher ratio of p:i, but you have not "saved" anything...yet. In the end, the extra payments you make are just going towards reducing the maturity date of the loan. You are correct that the relative impact of making these extra payments early on does have a tremendous influence on the total interest saved over the life of the loan (and determines how many minimum payments you will chop off the end of your term). I didn't make that clear in my initial comment.
Just to add to this - floating rate loans are common here, with a fixed date of mortgage ending. So an early payment in this situation leads to a lower payment next months (probably by a few cents or a dollar to 2 if you made a decent lump sum payment). It isn't much, but depending on initial mortgage setup a saving for next month can be realised.
As a clarification, the parent comment has changed dramatically - initially it was presented as a "TL;DR" of the article that contained a set of purely financial debt management advice. It has since been edited to be a bit more relevant to the article at hand.
That's a nice idea, but it falls on its face in the shadow of All-Important Credit (at least in the US).
Not paying on a debt for an extended period of time (that is, not having any installment-based debt) will harm your credit. This is one of the more ridiculous and infuriating parts of building credit for those of us who don't want to accrue massively expensive stuff but actually want to be able to do things like purchasing cars or homes that aren't 20 years old or shacks in backwoods Mississippi, respectively.
What you describe would be great advice for someone who has already established credit and/or acquired those investments/purchases that benefit from or require it and has the time and money to do things like flipping property. For the vast majority of the credit-affected world, that's not even close to the case.
That said, I definitely support his statement that people should have some hacking / learning time budgeted, even if only to avoid the scenario I mentioned above.