5 ms·
No offense intended to the author, but it sounds like they've mistaken the purpose of their job. For most engineers, their job is not to produce exceptionally w
by AbrahamParangi 10y ago
No offense intended to the author, but it sounds like they've mistaken the purpose of their job. For most engineers, their job is not to produce exceptionally wonderful engineering.
It is to produce whatever god-forsaken clusterfuck is required to get the product out before the holiday rush. Or more generally to do whatever the business needs to do in order to keep making enough money to continue existing.
If engineering doesn't directly serve business goals, maybe that business doesn't really need that engineering department.
- dozzie 10y agoIt's really sad if you don't strive to excel at your craft. Though I understand that most of the craftsmen don't care about their work, they care about bringing home a good living.
- tyingq 10y agoIt may not be the posters desire to excel...just the reality of what's possible in their current job. I suppose their are job choices you can make the open up more possibilities, but that brings other factors into play, not all of which are easy choices (salary, where to live, career stability, etc).
- pdimitar 10y ago> just the reality of what's possible in their current job. Reality is maleable, albeit it's not an easy thing to do, that's a fact. The real question is if you are willing to change your reality -- or are you a coffee-addicted slouch who is always too tired to try and change anything and just wants to go home for a proper sleep after yet another soul-draining workday. Apologies for being a bit extreme. IMO it helps illustrate my point a little better. No offense is meant to you or anyone else reading this.
- tyingq 10y agoNo offense taken. I've been where that poster has been though. "If you are willing to change your reality" isn't always as easy as it sounds. I could have easily escaped, for example, if I moved away to a different city. But, I didn't want to uproot my children. I did eventually escape, but there really wasn't a safe way to do so quickly.
- marcus_holmes 10y agoThere's a huge difference between excelling at your craft and caring about your work. As a software developer for a commercial organisation, the work is to make profitable software. Profitable does not mean the same thing as elegant. There is a huge amount of skill involved in creating profitable software, because it involves a huge number of judgement calls about what matters, and what will produce the most bang for the least buck. Creating beautiful, elegant, software is easy when there are no time constraints. Beautiful, elegant software is wonderful stuff when it's part of a non-commercial open-source project that we all use and depend on. That's not the stuff most of us write. We write code that's part of a product that a limited range of customers will run, paid for by a limited budget. We very much need to be good at our work, which may well involve writing shitty code quickly if that's the most profitable thing to do. Caring about our work is not the same thing as writing elegant code.
- palunon 10y agoSome domains don't need maintainable code. If you're near the end of the development cycle for a video game, and you need to ship before some date, it doesn't matter if what you write is a cluster fuck. Most of the code is gonna get thrown out anyway, what matters is that the game is in the stores on time...
- parenthephobia 10y agoProducing whatever god-forsaken clusterfuck is required to get the product out before the holiday rush only serves business goals in a very unlucky or very badly run business. A properly run business cares about selling products tomorrow but also cares about selling products next year. A properly run business therefore invests time in quality engineering so that the products they build now still work next year, or can be easily modified to fit whatever next year's requirements are. It's just good sense. Rushing out a horrible bodge job is only okay if you don't plan to be in business after the holiday rush, or at least not the same business. Otherwise, if you're doing the minimum viable work to keep the company ticking over from day to day, you'll usually find that the quickest way to do it today makes for more work tomorrow when you have to undo whatever horrible kludge made it work. There's a quote I like from Dave Thomas, one of the original codifiers of "Agile": When faced with two or more alternatives that deliver roughly the same value, take the path that makes future change easier.
- tootie 10y agoIf that cluster is profitable it serves business just fine. If you can prove poor system quality is costing money, explain that to management and they'll authorize spending resources on reactors.
- flukus 10y agoSometimes it just appears profitable. It may be adding all kinds of costs that can't be tracked. If it's a public release then it may be doing long term harm to the companies reputation.
- couchand 10y agoOMG this. Technical debt amounts to an externality put on engineering by management, and it's all too easy for most to ignore the complaints of engineers. The solution is not (as others have proposed in comments here) to "just do the work" as that serves to bury ever deeper the cost being imposed on the future of the organization.
- 10y ago
- taneq 10y ago> If engineering doesn't directly serve business goals, maybe that business doesn't really need that engineering department. This is the hardest lesson to learn for fresh young engineers. Their job isn't to create wonderful new designs, it's to serve the needs of their company - which may involve creating wonderful new designs, if they're lucky, but it may not.
- lisivka 10y agoIt's not a «job» churning bad code, it's you churning bad code. If you are good engineer, your code is good.
- daryl_antony 10y agoIt turns out that technical bebt will become a business liability at some stage of its evolution. There are multiple historical examples to draw from. I think the better case here is where business and engineering can talk in meaningful terms about the difference between technical debt and longer-term simplicity and productivity of a system.
- deleted 10y ago[deleted]
- mdekkers 10y ago> It is to produce whatever god-forsaken clusterfuck is required to get the product out before the holiday rush. Or more generally to do whatever the business needs to do in order to keep making enough money to continue existing. If engineering doesn't directly serve business goals, maybe that business doesn't really need that engineering department. Painfully true