Hacker News new | ask | show | jobs
by kunalpowar1203 2238 days ago
This was an amazing read. Thanks for the post. While leading a really small tech team for a fast paced and ever-morphing world of Esports in India, this was a really helpful (It looks like your team plays a lot of CS:CZ. SoStronk is our product #ShamelessPlug). This point of yours caught my attention.

>Be extremely wary of technical debt. Know when to scrap and rewrite systems. We have scrapped and rewritten the majority of our stack, including our critical trading platforms, multiple times, improving them significantly with each iteration. These are tough decisions; extremely important trade-offs. Of course, non-interference from non-technical management is incredible luck.

This is what i have always struggled with. I fear the day someone asks me the version of a few web frontend libraries we use. Being debt free from day 1 is a bit farfetched for our industry. So the balance between "work on that tech debt" vs "build new features" always tips towards the latter. The philosophy till now has been to get it working and don't change what ain't broke. But make sure good engineering practices are always in place as much as possible. Still figuring out where and how do i invent time to fix tech debts and/or rewrite something

2 comments

If you have a small team, don't spend too much time reading what a company with 1000 employees does. Decision making and risk calculus doesn't match. At all.

With small teams your job is to keep the factory lights on as long as possible, till the cash starts flowing predictably. If you have survived long enough for that, then you can think about tech debt.

Spot on.

If yours is a small team and if many things are keeping your team busy - never address a technical debt head on until you can afford the luxury or until the business demands warrant for it. Most engineering team focus too much on technical elegance and go overboard. Rewrite culture can become nasty if unchecked.

Yup. That's been the mantra for now.
Cheers. Not all libs need to be updated constantly either. Figuring out what is worth upgrading and rewriting is as important as rewriting itself. Also, it is okay to pause features sometimes to do an important rewrite.