6 ms·
I've really changed my perspective on this type of thing as I approach 50. Great art is always made under great constraints. Software is no different. It's al
by prhn 2y ago
I've really changed my perspective on this type of thing as I approach 50.
Great art is always made under great constraints. Software is no different.
It's always the weaker engineers that are constantly complaining about the things listed in this article. Complaining about all the "stupid code" and "stupid decisions" that were made before they arrived.
There is no realistic scenario where you can spend infinite time developing the perfect solution. And I say infinite because there is no amount of time that will allow you to achieve perfection. Perfection does not exist.
It's true in art, and it's true in engineering.
- hnthrow90348765 2y ago>Great art is always made under great constraints. It's sad, the Mona Lisa never quite reached its peak because da Vinci didn't have a Jira board and a scrum master /s Some of these constraints are not truly necessary and often stifling and once you've done work without them, you can't go back. Usually that's when you're older.
- anonzzzies 2y agoBut like in art and so also in programming you can definitely strive for perfection. There are plenty of writers, some famous, most not, who keep rewriting and rewriting because it's not perfect and still get annoyed because it's not good enough when published. Software generally is a job to make money : who give a crap if it's perfect; not your boss or your company clients. But personally, is another thing. I definitely have software that is perfect in my eyes. I don't care if others don't think so but I worked decades on it and using and updating it makes me happier than other things. I am well over 50 and I do not see this change for me. There are well known examples too in software, for instance Jonathan Blow, who estimates stuff and then overshoots by a long shot because he does not like the result enough and Arthur Whitney who keeps rewriting his 'perfect' (in his eyes) software (k) to just a little perfect-er.
- MrMcCall 2y ago> writers, some famous, most not, who keep rewriting My favorite, William Gibson, is like that. I was 50 when I first realized that I am an artist, too. Shame it took me so long to figure that out. 'The Art of Software Design and Implementation' ~ that's my niche.
- imjonse 2y agoThere is a large variety between perfect code and code people usually complain about. Not only weak engineers complain about crappy code and stupid decisions.
- pydry 2y agoAs I got more senior it wasnt the crappiness of the code that frustrated me as much as it was the intransigence people that created the circumstances that made it happen. Im totally happy with crappy codebases I can fix, I just get fed up coz because management wants 34 new features delivered by next tuesday or a junior with an attitude doesnt want to pair or be trained to TDD.
- closewith 2y agoSounds like you might be the intransigent one, refusing to accept the nature of the job.
- pydry 2y agoI low key kind of like it when I describe a harmful archetype or toxic opinion online and somebody responds "b...b...but that isnt bad, that's me!" In the end the companies that were like this "because there is no alternative" usually did suffer the consequences and the ones that werent reaped the benefits shrug
- closewith 2y agoWhat you're describing as a harmful archetype is the job you've been hired to perform. The disconnect is between your self-image and reality. Refusing to accept that is intransigent. It doesn't matter if you consider it good or bad - morals don't come into commercial software development. The closest you ever get is platitudes when it doesn't conflict with profits.
- gmassman 2y ago
- spacecadet 2y agoAs an Artist and an Engineer, too many engineers are perfectionist in a reality where it doesn't exist. To the people here who quote artists and works of art as if they are "perfect"... you. were. not. there. It's only perfect to you in your perfection biased brain. Art is very much imperfect. Concessions were made, pieces restarted, plans changed. Creation is messy and painful. Art or Engineering.
- MrMcCall 2y agoOTOH, I'd say that software perfection doesn't exists because of all the slackers who accept their crap as "good enough", leading to enshittification. On the most important level, software is either pefect or it fails. ETA: I mean for functionality in the above. That's why I don't like web design: too many style choices. It's also why I stick to the commandline nowadays.
- spacecadet 2y agoEnshitification is the result of businesses choosing profits over ethics, not the result of software engineering being inherently messy.
- afpx 2y agoI'm curious what your career trajectory was like. I'm surprised that your experiences are so different than mine (see my comment below). In the early years, we had tons of time to just play around (e.g. Paul Graham wrote Hackers and Painters in 2004).
- imgabe 2y agoIn 2004 Paul Graham was a retired millionaire who had plenty of time to do whatever he wanted.
- afpx 2y agoThe point was that in the 90s the industry was mostly made up of hackers & painters.
- pipes 2y agoMy theory is agile turned software writing into a production line, well it attempted too. Hard to fit experimentation into the everything must be a ticket process/mentality and endless ceremony meetings. Also I think the quality of developers decreased, not sure if agile caused this or it's some sort of work around for it.
- goodpoint 2y agoIt's not just your theory. agile/scrum was designed to take the artisanal aspect out.
- Atreiden 2y agoQuality has definitely decreased, and I think it's the natural consequences of specialization. Most modern devs I've worked with (even/especially those from big tech companies >1B val) know their on particular niche well, but flounder when faced with a different kind of problem. They have a hammer, so everything is a nail. The power of modern infrastructure and orchestration systems has eliminated their need to understand the full stack in order to "deliver value". From my POV, hacker culture is going away. Because it does not Scale in the way capitalists want it to scale. And the same capitalists are foaming at the mouth at the notion that they might be able to replace expensive engineers and developers with AI. Our niche has been captured by global stakes, and those stakeholders are all too happy to believe that they can scale innovation without all of the previous "cultural baggage" that, IMO, is the only reason we have the systems that we have today. Or maybe I'm just getting old too. Hard to say.
- wslh 2y ago> Great art is always made under great constraints. Software is no different. I don't agree that great art (or software) is always made under great constraints. If you have an intrinsic drive, having enough time can yield a compound return. For example, in research, the "publish or perish" mentality often forces people to focus on shorter-term problems rather than pursuing more ambitious, long-term breakthroughs.
- zahlman 2y agoWhen I think of "great art under great constraints", I think of the demo scene, not dealing with the legacy cruft in someone else's million-line codebase.