Hacker Newsnew | past | comments | ask | show | jobs | submit | ajpocus's commentslogin

Does it necessarily follow that a solo dev, working on a project in their spare time, will accrue massive technical debt? I'm honestly asking, as a solo dev that works on projects in my spare time. If it is the natural progression, how can it be avoided?


I don't think so.

Personally, I'm prone to taking on technical debt when under time pressure or feature pressure. I think of it like my house: if I'm too busy, I get sloppy and leave messes. If I stay busy for too long, the messes stack up.

One complicating factor, though, is the age of the code base is a factor, too. Keeping up with new runtimes, new frameworks, and new ways of doing thing takes time. This is especially a problem with things built in the new hotness, because there the culture is one of rapid iteration. So if we really want side projects to last, I think we have to choose boring technology: http://mcfunley.com/choose-boring-technology


"large project" was a key thing - Graham took on a feature set that regularly exceeded his spare time such that he ended up with the same pressures to hack instead of refactor that cause technical debt in commercial projects.

The trick is to avoid overstretching yourself in terms of what you promise - or to recruit a team. In this case, neither happened, and so the result was unfortunately inevitable.


Aggressively descope your projects. That helps. Try to keep as much of your logic outside of any specific framework. Most of my projects that accrue tech debt aren't necessarily because I cut corners (though that happens too :P) just that times changed and I needed to shift my projects into more modern stacks (i.e. for security updates, or because the tech was no longer maintained, hard to use anymore, hard to push updates to).

Rewriting software is somewhat of an inevitability it seems like, but the more small reusable pieces you have, the easier that is. Think UNIX philosophy: small units that do a small amount of things well that you can generally depend on once they become stable.

It varies depending on your project of course. A lot of the tech debt you take on (fun new tech, getting something out fast) is half the fun.


I think so.

This is exactly how my own long-term projects that actually have users have panned out. When everything is left to your own energy and charity yet it doesn't pay the bills, when there's work to be done then the project is lucky to get whatever you can spare.

And it typically needs work in spite of what's going on in your personal life. I was at the beach when my hand-coded forum went down (btw, don't build your own forum). I ended up patching it live on the server, guessed at the problem, and had to clean up my mess weeks later.

If you don't actually have users, then sure, that's something entirely different. I have plenty of projects that never left localhost with no technical debt, too. That's trivial.


mst is one of the kings of technical management of tricky open source infrastructure. The way he does it is to apply the smallest amount possible of savant level hacking, then find the right person to delegate to. And occasionally he does it in mysterious ways ;)


Hey James, thanks for giving us a shot! Yes, you can embed the survey in a web app. If you have any more questions, please feel free to email me directly: austin at yesinsights.


jpap, this is the best HN thread I've seen in a while. I never comment, but I'm compelled to now, because it's not often I see a hack this mesmerizing and exciting. For a moment, I almost wanted to drop everything and dive into JPEG myself, something I don't think I've felt since reading about John Carmack and his game engine hacks. Even though I understand <10% of the details being discussed, I'm compelled to learn more. Thanks, jpap. :)


I'm so very happy to read your post! :-)

I'm not usually one to post publicly either, but with practice I'm finding it comes more naturally.

I do hope you dive in---the devil's details in image signal processing is really interesting.


My teammate Dane brought up this idea over lunch, and we hacked this out last night. We thought it would be really interesting if designers could submit their best ‘signup’ button and compete to see which one is most clickable. There are a lot of interesting places to go from here: design categories, vote tallying methods, and analysis of user demographics and their design preferences. We're both longtime readers of HN, and we'd love to get feedback from the community.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: