5 ms·
0. We need this done yesterday. 1. Moving targets. As the code becomes usable it becomes clear what is really needed doing and how it should be done. And it's
by jocoda 3y ago
0. We need this done yesterday.
1. Moving targets. As the code becomes usable it becomes clear what is really needed doing and how it should be done. And it's certainly not what was defined at the start of the project.
2. So the prototype/PoC works, thank you! - "job done" - more than good enough. No time to go refactor for the many little "todos" in the code that say " this code needs to be revisited because ..." as the next project "needed yesterday" is already here...
Craftmanship is for academics and people that don't work in the real world because it needs time, lots of it.
- CharlieDigital 3y ago> Craftmanship is for academics and people that don't work in the real world because it needs time, lots of it. I think the biggest benefit of craftsmanship is actually flexibility. Well-crafted code has a property of malleability without becoming a tangled mess. Its parts tend to be more orthogonal and less coupled. I don't think that it's a binary choice of craftsmanship or shipping code; this may be true if you're a younger engineer. Mid- and senior- engineers can build well-crafted systems with less of a tradeoff for speed afforded by having more experience building and knowing where to add that malleability and where it would be wasted.
- bratbag 3y agoI've dedicated entire years over my multi-decade career prepping software for changes that never happen. Not once has a big change been correctly prepped for ahead of time. So my teams don't waste time on it any more.
- Doxin 3y agoIn my experience the best way to prepare for changes is to write dumb code.
- piva00 3y agoDumb code, easily revertible has been, by far, the most effective way to prepare for changes in my experience. Anything trying to be too smart, too generalised, too decoupled with plugable parts and it has a huge potential to become an entangled mess. While dumb code can be read and reasoned about quickly, if a change is easily revertible you can plug back the dumb code and try again without losing momentum.
- drewcoo 3y ago> too decoupled with plugable parts Decoupling is good. But if you build a plugin system now you have many more problems.
- piva00 3y agoDecoupling and composition are absolutely powerful tools to make good code but unfortunately I've seen both being used to create ad hoc plugin systems that were simply absurd to deal with in microservices.
- CharlieDigital 3y ago"I've invested in individual stocks and never made double significant returns. Therefore I no longer invest in individual stocks." Totally fair. It is a skill in and of itself.
- SeriousM 3y ago> I think the biggest benefit of craftsmanship is actually flexibility. Exactly. Take the craftsmanship of floating things on water. Yes you will be able to assemble a raft and you might far with it, but you will have a better/safer ride if you have a craftsman who knows what's needed and may invent something useful for this journey.
- shaunxcode 3y agoYep so write it right the first time alright. Tonight! This is the rite!
- nikau 3y agoThis is why you put delay loops or similar into poc, and demo any u proposalsi as a sketch so there is no misunderstanding it's not production ready.
- gyrovagueGeist 3y agoWell... academic code is even worse as it has no incentives other than those (user bases are ~1-2 people and the paper is the product). As long as it worked briefly to produce the paper results it's "gtg".
- jjgreen 3y agoThis is soooo true; "Tests?"