4 ms·
One thing that the article doesn't touch on is how a passion for software craftsmanship can be completely undermined by the recklessness of business decisions.
by fuball63 7y ago
One thing that the article doesn't touch on is how a passion for software craftsmanship can be completely undermined by the recklessness of business decisions.
I love the experience of writing and using rock solid programs, but in the real world, there are deadlines to meet, flaky requirements, and tech debt. For people in it for the money, it doesn't affect them. For people that appreciated good software, it turns them into people just doing it for the money, except it also affects them.
I always explain it like this: imagine you were a chef, that loved the complexities of cooking; preparation, presentation, and recipe formulation. You enjoy preparing food and experiencing food. With this passion, you're forced to work in fast food, churning out meals as fast as the drive through will take them.
"Well, you can always cook in your free time!"
- Isinlor 7y agoThis is how most chefs lives look like. They prepare the same meals from a menu under time pressure years after years. Maybe it's not flipping burgers in fast food, but there is little space for artisanship in the food industry. You have to be really good to do more than prepare the same thing over and over from a menu.
- AlexTWithBeard 7y agoIsn't any job is like that? I guess even super-duper-romantic jet fighter pilot will spend most of his time doing paperwork and explaining seemingly obvious things to the higher ups.
- fuball63 7y agoI think this is why so many people fantasize about owning a business; it seems to allow for the most "vision oriented" work, which is what most people find enjoyable. Even that has its limits though, as there's just different kinds of drudge work involved.
- fuball63 7y agoThis is true for brewers too. Beer is endlessly fascinating with the amount of variables to tweak, but working in a brewery is a fairly routine process of reading the recipe and executing then same steps over and over.
- batarjal 7y agoAt a brewery, or a restaurant for that matter, aren't you there to basically recreate a product based on a recipe someone else formulated? The person tasked with creating the recipe has the opportunity to practice artistry in this scenario, but they, too, may be under business related pressure.
- fuball63 7y agoYou're right, even the recipe makers can't escape business pressure to make undesirable products. With the hard seltzer craze going on (in the US at least), a lot of brewers are starting to make it. They didn't get into brewing to make hard seltzer, but they can't ignore the fact that they will sell well and are cheap to produce.
- patd 7y agoBut in most restaurants, the chef will chose which item to put on the menu, no ? They may repeat themselves every day but they get to change the menu from time to time.
- AlexTWithBeard 7y agothere are deadlines to meet, flaky requirements, and tech debt That's where software development grows from skill to art. What do customers actually want? What mostly likely will be their next requirement? Can we optimize the API to speed up development and use the extra time we got to improve stability? Which projects should be reported to the management proudly and which ones should be quietly sneaked into the codebase? And so on so forth. Using your chef analogy, at some point it's no longer about flipping the burgers, it's about organizing the kitchen, optimizing purchases and educating the freshmen.
- fuball63 7y agoI think this notion is where I'm trying to steer my mentality about work. I know the right things to do, I see patterns of why they don't get implemented, so my focus is "what creative solutions can I devise to do what is right in this environment". It's just a matter of putting creativity in a different place.
- winternett 7y agoThe most important thing they don't teach you in school is that you don't get paid well for whatever your passion is. Most ppl that succeed in life are born to already rich families, that can pad them until they get up and running. It's not terrible, it's just reality. Some people never even get the opportunities that we do as highly-paid "IT people"... If you're on a paper boat in a gravy stream, don't poke holes in it or you'll drown. If you're on a meatloaf mountain and you need to chew your way down to the gravy lake, don't just jump off, because then you'll drown in gravy too... We're all miserable souls looking for mashed potatoes, but sometimes there's only meatloaf, so plant potatoes and then hope it all works out. It still pays more and beats working at Cracker Barrel. ಠ_ಠ
- ryandrake 7y agoThis is the lesson I really learned the hard way and way too late. If you are passionate about software craftsmanship, making the code not just fast and correct, but beautiful, don't write software for someone else's company. When writing code for a company, you're a tradesman, not a craftsman. Schedule and customer acceptance is all you're going to be measured by. No customer cares if their water pipes are beautiful and the way they run is elegant and gives your basement a nice '20s art deco look. They just care whether they're leaking or not and can you do it by Thursday. If you like to spend days getting the architecture just right, moving code around from one file to another because it just makes more sense there, running it through lint on the strictest settings and getting no errors, alphabetizing your #includes and lining up all your variable names, sanding and polishing away until that code is a beautiful diamond, then for your own sanity don't write software for a living!