4 ms·
As a technical manager, the most important thing I end up doing is snipping off complete re-writes or re-architectures in the bud. I've also found that manage
by Ensorceled 5y ago
As a technical manager, the most important thing I end up doing is snipping off complete re-writes or re-architectures in the bud.
I've also found that management is actually the greatest source of UI/UX reworks; once they've seen the pixel perfect mockups, management thinks that "the job is done" and they want to iterate ...
- belval 5y agoAt my first real software job one of the engineer always used very rough outlines that are obviously unfinished. He always said that having pixel-perfect mockups is a sure way to have your meeting sidetracked by someone asking if "the button should be bigger" or "the orange should be more red-ish" and then not understand why it would take 5 engineers 6 weeks to "just make the button bigger". I work as a backend engineer now because I just couldn't take those meetings anymore.
- cogman10 5y agoI gotta ask, though, how do you handle it when a product ISN'T working? I've dealt with a product that was so poorly architected that, to this day, it is constantly causing production outages, bad data, etc. And the root of the problem is that it wasn't built to do the right thing. At it's very core, it processes and stores data incorrectly. (Leading to "there are good days and bad days and ops will handle it"). Yet, I met the "We CAN'T REWRITE" pushback, which, ok, but here's the solution that doesn't involve a rewrite, it'll be 10x more expensive because the slow evolution will be a whole lot harder and more risky than a fresh solution with an adapter to the old interface. I certainly don't take rewriting lightly, and don't generally suggest it, but I have to ask. How can you sell it when the alternative is what my company deals with today?
- eropple 5y agoI find myself saying "beware the protoduction trap" a lot because of exactly this. Get-it-out-there prototype code pushed into production roles can work great. It also can not work great and can have discontinuous failure modes. You're placing a bet that it won't fail until you somehow outpace the need to care about it, and...well, I don't love that bet when I'm the one advocating for it, if I'm advocating against it it's probably because I can see the crack and hear the rumble on the horizon.
- Ensorceled 5y ago> I gotta ask, though, how do you handle it when a product ISN'T working? Yeah, sometimes you have to rewrite/rearchitect but more often you don't. But sometimes the job is to actually get some one to let go of the control of strange baby they implemented so you can rewrite. Years ago I worked on DNA analysis software where the entire thing was abstracted; codons could be any number of bases instead of just 3, there could be any number of bases instead of 4, there was a whole system for managing amino acid names that assumed there could be an infinite number of amino acids. Loading a sequence involved millions of checks to see if there were any matches against 4 base codons or 5 base codons ... That definitely was a rewrite; but the developer fought it every step of the way.
- avgDev 5y agoI rewrote a product which was not working and was never completed 100%. New version is better but I had to hack things here and there due to constraints of the existing systems. Additionally, the number one problem is lack of documentation, not in the app but in the business sense. In order to write a good application the process it is going to support needs to be well documented. This wasn't the case and I had to go back in circles a few times but you live and learn.