return to table of content

Woodworking as an escape from the absurdity of software

sukruh
150 replies
8h10m

Most of the people I know who pursue creative/crafting hobbies alongside a software development job have chosen to work for well-known big companies, for prestige and safety, and ended up unfulfilled in their jobs.

Most big companies are not good if you want to solve problems and build stuff. Especially "the enterprise", where software is seen as a cost center so the less of it the better. The effort of managing up eats a creative person's soul.

I want the clarity of being able to talk to "the boss/the customer" and solve their problems and get paid the market rate for my skills. Not prepare endless PowerPoints for my skip-level, who has no ownership but has to act in their own best interests in a swamp of principal-agent problems.

This is why I am very happy at a fast-growing small tech company where one can have honest conversations about the customer and the product. How do other people deal with this?

ravenstine
79 replies
7h51m

At a level or two down from the abstraction of company size, crafting hobbies are also a reprieve from the tyranny of linters. So many programmers today believe that code is always better when it all looks identical. Consistency is a good thing, but not when it's expected to be absolute. Programming should actually allow for creativity, and where you decide to add spaces and newlines can actually add subtle but important communication as to the significance of a particular part of one's code. Most places I've worked in the last 6 or so years are obsessed with tooling and add so many lint rules that it's often impossible to merge your pull request if you decide to format your code in a way that violates the rules in some trivial way.

With woodworking, you can just do the thing. OK, I don't do woodworking myself, but both of my parents do, and I know that they don't spend their time bikeshedding or homogenizing their work. The tools they use are intended to help them accomplish something and aren't there to prevent you from doing anything.

It's possible to do personal software projects however one wants, but one will no doubt be faced with the modern compulsion to want to "do the right thing" and add a bunch of time wasting tooling. If you don't, and you share your code, inevitably someone is going to want to add a bunch of rules and bureaucracy to your software that was already working and free of serious problems in the first place.

Arainach
21 replies
7h48m

Consistency is critical for reducing mental load when working as a team. Format your personal projects however you want, but when collaborating your editor should apply the standard format every time you save.

ravenstine
20 replies
7h38m

Maybe I'm not articulating my point very well.

I absolutely agree that consistency, in principle, is usually a very good thing.

My objection is to the idea that it's always a good thing, which it's not. Treating code formatting as rules rather than suggestions, in my experience, is a waste of time and unnecessarily tyrannical.

In terms of mere code formatting, I don't buy that there's a meaningful difference between 100% consistency and say 95%.

It's far more important that APIs and other conventions are consistent. When constructs in the code aren't consistent, it can be an absolute nightmare. When code isn't formatted well, it's usually just annoying and can be trivially fixed with automation.

thunky
6 replies
5h18m

My objection is to the idea that it's always a good thing

If everyone doesn't follow the standards all the time then there are no standards.

Code is not art, it's instructions.

If you can't write instructions without adding your own avant garde whitespace brush strokes to it then yes coding for a professional company may not be your jam.

ryandrake
2 replies
3h52m

Code is not art, it's instructions.

This is one of the major differences between hobby programming and work programming. When you're writing code as a hobby, it can be anything you want: code can be art, instructions, math, beauty, a means to an end, an experiment... At work, code must ultimately be a tool that creates profit. It has to be manageable, consistent, and boring.

beryilma
1 replies
3h3m

It is a mistaken idea that work programming is or must be boring. I think you might mean "boring" as opposed to unnecessarily "creative" or complicated. But not all work code is boring, boiler-plate code.

HeyLaughingBoy
0 replies
2h12m

I think of "boring" in this context the same way my dentist calls me a nice, boring patient. He means no surprises for either of us, nothing out of the ordinary, just a mouth in good shape with maybe a cavity or two.

That's how I like to see code. I don't want to struggle to figure out what you're trying to do. I want to be able to read your code and understand it easily and get on with what I need to do.

The opposite of this, keeping the medical context, would be the orthopedic surgeon who was so excited about how badly my then 25-year-old wife had smashed her wrist. "I never see this much joint damage in someone so young. It's incredible." Not words you want to hear from a doctor!

digging
2 replies
4h17m

Code is not art, it's instructions.

I'll slightly disagree here because code needs to be read by a computer and by your human teammates.

There are times when I'm frustrated because prettier is making a necessary but unintuitive choice and causing my code to become harder to read. But those are rare, and I would never trade them for the guarantee of readable code the other >99% of the time.

ravenstine
1 replies
4h0m

Yes, this is fundamentally where I disagree with the person you're responding to and what seems like most programmers (or perhaps mostly web developers). If code is just instructions, it would look barely comprehensible to [most] programmers.

Again, maybe I came off as more extreme than I actually am, because I think that consistent formatting is a very good thing most of the time, but that last 5-10% that programmers in positions of power fetishize is where things can get frustrating and time can get wasted.

The worst is when linter rules are used for things that should be evaluated by a human being in code review. At a previous workplace, someone thought it was a marvelous idea to try and enforce things like functions having no more than 6 lines or some other poppycock. My current workplace is OK, but even then there are some stupid rules like not being allowed to assign `this` to a constant, even though the function in-scope is being re-bound by some stupid middleware making it impossible to use fat arrows or `.bind` (in JavaScript). Sorry, but I'll assign whatever the f*** I want to a constant that isn't escaping the current scope in any way. What's also funny is that I've never worked anywhere that didn't have `eslint-disable` sprinkled everywhere. In many cases, these rules should be warning instead of errors, but because programmers love errors for some reason, virtually every rule violation needs to be an error.

digging
0 replies
3h27m

What's also funny is that I've never worked anywhere that didn't have `eslint-disable` sprinkled everywhere. In many cases, these rules should be warning instead of errors, but because programmers love errors for some reason, virtually every rule violation needs to be an error.

Well I'm quite proud of having owned a certain repo at work which takes exactly this approach. If I have to disable a rule more than once, I take a good look at whether we need it at all, so we have extremely few `eslint-disable` comments in the entire codebase. It's one of the cleanest and most transparent codebases I've worked in -- but that's also an artifact of me spending long stretches working in it alone and having little oversight of how I spend my time. So there's a tradeoff :)

cjonas
2 replies
4h58m

Does your company not just use an automatic formatter? Set a prettier config, format the entire codebase and never have to deal with another formatting change in a PR ever again.

ravenstine
1 replies
3h56m

There's formatting, and there's linting.

But my issue with formatting, while great most of the time, is that sometimes I want to violate it, and tooling around automatic formatting and format validation is usually installed with the intention that it is 100% correct all the time. Sorry, but as a senior programmer, sometimes it really should be up to me to decide whether code belongs on a single line, and I don't want to fight against automatic formatting or the CI pipeline throwing a hissy fit when I desire that discretion.

Arainach
0 replies
2h50m

On the contrary, as a senior developer you should be able to look at and see the team-wide benefits of consistency. You don't have to handhold new junior devs to learn the style, you don't need to watch their PRs to see if they're being consistent, and you don't need to argue with other senior devs about whether something should be on a single line or not. You just let the automatic formatter do its thing.

Being a senior eng isn't about always knowing what's right, it's about knowing how to keep the team moving efficiently.

Arainach
2 replies
5h42m

Arguing about what 5% is appropriate is a significant distraction. I do not believe that any benefits from allowing these discrepancies are superior to the reduced mental load in authoring, reading, and reviewing code of "the linter is automatic and true". If a rule can be written into a linter, simply have it automatically formatted and never argue about it again. It eliminates entire classes of argument.

ravenstine
1 replies
3h53m

Arguing about what 5% is appropriate is a significant distraction.

Yes.

If a rule can be written into a linter, simply have it automatically formatted and never argue about it again.

That is unless one believes to have good reason to violate that rule, in which case suddenly time is being spent having practically the same conversation in this part of the thread that I started.

Arainach
0 replies
2h49m

The point of automatic formatters is that they are universally enforced. There is no violation of the rule, even if you have a "good reason". If you have a pattern of good reasons, you can write to whoever controls your team's coding standards/linter rules and suggest a tweak, but you never have one-off violations, you just accept the automatic format.

thfuran
1 replies
5h5m

Treating code formatting as rules rather than suggestions, in my experience, is a waste of time

How can it be a waste of time? The whole point is to avoid wasting time talking about formatting on PRs or seeing line noise on PRs because people have slightly different preferences or settings for code formatting.

chihuahua
0 replies
29m

Right, exactly. Code formatting should be fully automatic (format on save, verify on commit) so that no one has to waste any time thinking or arguing about it, ever.

steve1977
1 replies
5h57m

In terms of mere code formatting, I don't buy that there's a meaningful difference between 100% consistency and say 95%.

I think you are contradicting yourself a bit with

Programming should actually allow for creativity, and where you decide to add spaces and newlines can actually add subtle but important communication as to the significance of a particular part of one's code.

The point being that something small might have significance to one person but not the other.

And that consistency is probably important, but there is a difference between consistency of your stuff and consistency between your stuff and stuff of others.

So I think what it boils down to is that crafting hobbies are often more fulfilling not (only) because they have tangible outcomes, but because you can do them on your own and on your terms.

If you were to do woodworking where you craft one piece of a bigger thing (say a part of some larger furniture), you would also have to produce very homogenic and precise output. And it probably would not be very fun and fulfilling.

ravenstine
0 replies
3h49m

The point being that something small might have significance to one person but not the other.

Yeah, that's totally fair. I think conversations can be had with such cases, and I think that trying to effectively eliminate the conversation is a bad thing, which relates closely to my overall objection. Ironically, it ends up in conversation anyway unless a developer is always a good little goober and never marches out of sync.

Maybe my mindset would be different if I saw great software around me, but I see mostly crappy and user-hostile software these days. I'm not sure whether strict formatting "standards" is of meaningful benefit for the users.

If you were to do woodworking where you craft one piece of a bigger thing (say a part of some larger furniture), you would also have to produce very homogenic and precise output. And it probably would not be very fun and fulfilling.

Yeah, I guess you've identified where my thought in response to woodworking falls apart. haha If it were one's employment, it could indeed be as confining as being a programmer at BigCo.

hinkley
0 replies
2h42m

I think you’re selling you example short here. Linting and formatters should be about applying a minimal acceptable limit to code, not diluting everything to the same mediocrity. It’s been a long time since I ran into a formatter that I hate out of the box.

andoando
0 replies
5h16m

I think I agree. I've some seen anal linting rules that straight up make you refactor your code to make it fit. That I can't stand

Aeolun
0 replies
7h27m

What I love, is a code formatting check on the server side. Just check that the code is properly formatted using Biome or Prettier. Everyone can set it up in their editor, or run it manually however they want, and nobody ever has to think about it.

What I absolutely detest, is any kind of code formatting comment on a PR. If it cannot be enforced automatically, it’s not worth arguing about, and definitely not something to hold a PR up for.

jimbokun
7 replies
3h18m

How you choose to add whitespace to your code is not a meaningful outlet for creativity. Linters are a great tool for eliminating bike shedding.

I don't think wood working per se gives you more flexibility than building software. It's wood working as an individual, not part of a team, so you can make your own decisions and not answer to anyone. If you were a one man software consultant you would have the same amount of autonomy.

probably_wrong
2 replies
2h36m

How you choose to add whitespace to your code is not a meaningful outlet for creativity.

I'd like to mildly disagree. Using whitespace to group functionality together in "paragraphs" and aligning the horizontal indentation in the clearest possible way is not too far away from editing a short story to make it flow better.

Earlier today my linter rearranged multiple "key: value" one-liners into two-liners and the end result is both objectively and subjectively worse.

gknoy
0 replies
1h3m

I normally just auto-apply `black` to my code, but occasionally I feel the need to have things arranged in a way that is easier to read -- e.g. a list of several dictionaries. In that case, I just put a comment telling it to stop reformatting at the start of the block, and another at the end.

Teever
0 replies
2h26m

Yeah, it's proto-editing, but with such limited degrees of freedom in the activity your creative options are pretty limited and as time goes on and on the endeavor starts to look like this: https://xkcd.com/915/

mbeddedartistry
1 replies
2h47m

As a one man software consultant, I just want to point out that you are working with clients, in their systems, on their problems. You provide advice, they make the decisions they deem best for their company.

You get to choose the problem spaces and teams, which is a degree of autonomy. But it is not quite so free as “making your own decisions and not answering to anybody.”

jimbokun
0 replies
1h34m

If you want to sell your woodwork you would have similar issues.

tstrimple
0 replies
7m

Yep. Imagine being a woodworker on a massive project like a large sailing vessel or Japanese castle. Suddenly coordination and collaboration requirements go right back up. Now you can't just wing your project. You've got to make sure the part your building matches the agreed upon spec and hope the teams you're "integrating" with have also followed the spec. When one of those teams gets "creative" suddenly things aren't fitting together and progress on the ship crawls to a halt.

hinkley
0 replies
2h51m

It’s devex. Not for you, but for the reader. It’s part of the craft. We can argue about whether craftsmanship is creative or skill, but at the end of the day it’s satisfaction that they are chasing. Satisfaction they are denied at work.

Not that they can’t find at work. It’s actively taken away from them.

eddd-ddde
7 replies
2h58m

the tyranny of linters

This is a take I don't think I've seen before. Is someone actually mad prettier is changing their single quotes to double quotes? Are they mad some line is breaking at some word?

Certainly I've never been. I use linters / formatters even when I'm working solo because the mere concept of having to think where to break lines is meaningless disruption from the actual goals I have.

If you _really_ want to break a line somewhere, just add a comment in between and your linter will comply.

tomjakubowski
1 replies
2h13m

Strict adherence to formatting rules can impair readability, yes.

Before back-tick strings in JS, it was useful to employ both single/double quotes for strings -- you'd use one most of the time, and then if you needed to embed a bunch of that quotation mark in a string literal, you'd switch to the other one.

    'my string'
    'my other string'
    "insert values ('foo', 'bar', 'baaz')"
A formatter with naive "single quotes only" rule would obliterate the last one to:

    'insert values (\'foo\', \'bar\', \'baz\')'
unless you remember, before you hit save, to add a directive like:

    // linter pwease preserve my qwotes
I still use linters and formatters every day, and on balance I think they're good to have, but it's ridiculous to pretend they don't have downsides, or that there isn't room for the occasional dash of human intervention in the automation; hence, the linters which have // linter pwease directives.

frenchy
0 replies
1h42m

The key point here is that the formatter has to be sufficiently advanced to know to do the right thing the vast majority of the time. Once it gets there, and once you've gotten used to the code it produces, it's better. Note that the "prettier" formatter will do the right thing in JS here, at least with the default config. It will even switch "\"string\"" to '"string"' for you.

Linting is a bit of a different beast, because linting includes changes to the code behavior itself, not just syntax. In JS there are so many footguns, that linting can often be pretty involved/strict. I think most of the people who don't like linting in JS either aren't aware of the footguns, or don't do very much code review and haven't worried themselves much with "what sort of bizare and unusual ways can this fail" sort of a thing.

psunavy03
1 replies
38m

Seriously. Python Black is a godsend. I don't have to waste brain cells on formatting minutiae, just right-click and go "format my code, please." It's consistent, it works, and IDGAF about the details.

The only formatting that drives me up the wall is people using K&R braces in C# or Java. It's not 1970 anymore, and we're not all typing on green-screen terminals. It's like people fetishizing vim or emacs over modern IDEs.

neonsunset
0 replies
8m

..huh? But either way, should you ever be annoyed by K&R again next time you work with C#, you can trivially change it by setting csharp_new_line_before_open_brace = none in .editorconfig and running dotnet-format tool against solution files.

plugin-baby
0 replies
2h36m

Is someone actually mad prettier is changing their single quotes to double quotes? Are they mad some line is breaking at some word?

Yes, both of these.

Obviously there are huge benefits to auto-formatting in large teams and popular open source projects, but some people also find benefit in having control of alignment, line breaks, indentation etc.

chasd00
0 replies
2h18m

for some people talking about whether it's best to put a curly brace on its own line or on the same line as an if condition is like talking about which religion is the one true path to paradise...

Sevii
0 replies
1h41m

If you use linters without auto formatters you are choosing tedium.

foobarian
6 replies
5h31m

I curse the inferior linter formatting and at the same time would not have it any other way because why? Some diva would come in and put up a MR reformatting half the code base to their preferred way, mixed in with the actual change they are making and I would have to hunt for the actual changes in the reformatting noise. And then we would spend half a day arguing about it like in the good old days. Fast forward six months and there would be 6 different code styles in the codebase and it would just be terrible.

:deep breaths:

resters
2 replies
4h29m

Why not just set up a rule to auto-format the code before it is committed so that nobody wastes time discussing formatting trivialities and the repo stays consistent?

foobarian
1 replies
4h21m

It would be fantastic if there was a good normal-form formatter I could use for local work, and let automation format the code back to lint style. Unfortunately with something like IntelliJ/Java the commit-time reformat is not reversible. Maybe google's Java formatter is, hmm.

kcrwfrd_
0 replies
1h45m

In JavaScript land, prettier auto-formatting the code on file save is quite lovely.

I would not be a fan of commit hook auto-formatting.

busterarm
0 replies
4h39m

Sorry. Guilty party here. I used to be that diva at times, but also came around to your point of view after being on the other side of that several times myself.

But I think the biggest thing as I move up and spend more time reviewing code than writing it...style preferences make it so much easier to review code. Linters have given back years of my life at this point!

beryilma
0 replies
3h10m

In my experience, it is not the divas who are the problem, but inexperienced developers (especially ones from non-CS background) who have a weird/no sense of formatting. I have seen my share of strange, inconsistent formatting in code reviews with junior developers.

aulin
0 replies
2h30m

I've worked in a place where reviews were obsessed with coding style. No one noticed serious bugs, but forget a space in the right place and you'd be doomed. And yet people still managed to rewrite stuff to their preferred style while managing to not violate any rule. No prescription about function and variable names? they'd change every single one their way. No prescription about argument alignment, they'd change it. Everything not esplicitly forbidden was an outlet to express their creativity or maybe tame their frustration.

9dev
6 replies
3h45m

I think you’re romanticising woodworking a bit here. A large saw is specifically built to allow doing a single, precise cut, in exactly the same way, over and over again. The tools are absolutely made to prevent you from messing up the various ways, it’s just that you don’t use the professionals tools at home.

And indeed that’s something I’d apply to software: both hobbyists and small companies are tempted to use professional tools (as in, intended for lots of engineers collaborating) for small projects or a low number of collaborators that don’t warrant such stringent rules.

hinkley
3 replies
2h48m

Highly compensated people doing manual labor for fun are romanticizing woodworking. Full stop.

Trying to de-romanticize it means you have absolutely no idea what motivates most of us.

Signed, someone with restored antique Stanley wood planes, Japanese saws and who drools over Lee Valley product reviews.

dfc
2 replies
2h29m

Most of the stuff in the lee valley catalog is the same garbage you can get at rockler or any other tool outlet. The only thing possibly drool worthy are the Veritas tools. For the longest time I felt the same as you, I had assumed everything from LV was the same quality or at least close to the Veritas line. The truth is most of the LV stuff is garbage. On the other hand everything from Lie Nielsen is phenomenal, it's just not always in stock.

I spent a lot of time searching for and restoring old tools. I finally realized I was spending way more time on the tools than actually using them.

hinkley
1 replies
2h19m

That’s not the arrangement of the words “Rockler” and “garbage” that will get you upvotes in r/woodworking.

If you had a Woodcraft in town you’d only go to Rockler for things you can’t find at Woodcraft. Which is largely cabinet-making and air handling equipment.

Lee valley and veritas are mostly making reproductions of golden age Stanley tools before the race to the bottom (what the kids call enshittification) started, with a few omissions or improvements. They aren’t garbage, they’re low volume. That makes them less appropriate for people being paid by the hour or piece.

dfc
0 replies
11m

I live equidistant, 15 minutes, from a Rockler and two Woodcrafts and I am not concerned about what would get upvotes in /r/woodworking.

I went to rockler this morning to get a reamer because the only reamers at Woodcraft are for pen making. With the exception of big brands like festool or powermatic most of the tools they sell at rockler are not great tools. This reamer is not great.

nkozyra
1 replies
3h21m

A large saw is specifically built to allow doing a single, precise cut, in exactly the same way, over and over again.

Ignoring hand tools, which give you precise, tactile control ... I'd still argue with this.

There are tools for specific things and they're meant to reduce error. But a router (woodworking) can be used to do half the stuff you want/need to do. A table saw can make straight cuts, rabbets, joinery.

The tools themselves (outside of specialty ones) are generally multi-purpose and allow for experimentation and creativity.

treflop
0 replies
2h56m

Programming tools are no different. All tools are like this.

OP's complaint is about syntactical differences and that's just because his team doesn't agree with him.

And tbh, to me, the fun creative part in programming lies in architecture, not how I space my code. With woodworking, the creative part is how I put it all together but not the actual cutting part.

makerdiety
5 replies
6h51m

Most places I've worked in the last 6 or so years are obsessed with tooling and add so many lint rules that it's often impossible to merge your pull request if you decide to format your code in a way that violates the rules in some trivial way.

Shouldn't all the lines of code uploaded in a pull request be automatically formatted into the coding style preferred by the reviewer anyway? It should be like an automatic translation done by some bot or something.

vbezhenar
1 replies
6h34m

What bot? You create a branch, you push button in github UI, merge request is created. There's no bot.

Shacklz
0 replies
6h17m

It's not a bot but formatters like prettier for example make it very easy to set them up as git-hooks, where the formatter is applied on commit. Meaning, unless you specifically commit without hooks, all committed code should comply with the formatter.

For linting (e.g. eslint in the JS-space), this is also possible, however, most linting-processes tend to run just long enough to be annoying when run on every commit. In the monorepo I work on we created a command "prep-pr" which specifically addresses this issue - run it before creating a PR, and the CI-pipeline will mostly be green, at least in terms of linting/unit-testing.

sokoloff
1 replies
6h35m

That desire is in conflict with a desire for the reviewer to see only the changes and many of the diff tools don’t diff this reformatted code against that reformatted code but rather work on the pre-reformatted.

It could obviously be done, but involves a yak shave that isn’t clear that it brings enough value to be worthwhile.

swader999
0 replies
6h6m

That's my main concern, I want to review the changes, not formatting opinions.

wombat-man
0 replies
5h48m

We can't check in anything that fails the linter, but we can also automatically format the code very easily.

InitialLastName
4 replies
3h37m

where you decide to add spaces and newlines can actually add subtle but important communication as to the significance of a particular part of one's code.

Isn't this part of the problem? If the purpose of code is to be understandable, the important communications shouldn't also be subtle. Your intention that the extra empty line before a block of code signals "This is the important part" is likely to be entirely lost on a reader of the code (especially in a codebase where the formatting isn't consistent so those spare lines are littered everywhere). Much better to leave a comment saying "there's a subtle but important thing going on here".

JKCalhoun
3 replies
3h12m

Much better to leave a comment saying "there's a subtle but important thing going on here".

Sure, but don't let perfect be the enemy of the good. Well-meaning engineers frequently don't document their code at all. It's why I advocate programmers at least use descriptive variable names and function names; what I call "self-documenting code".

It still falls short of well-documented code but, as I say, gets you "good".

InitialLastName
2 replies
3h6m

For sure, well-written code often doesn't need comments to explain itself; my point was that "there's an extra space here so you know this bit is important" is pretty much the opposite of that.

JKCalhoun
1 replies
2h58m

I do use whitespace (empty lines) to "group" parts of a function the way paragraphs group thoughts in prose. For a function it might be as simple as param-check, setup, loop, tear-down. But it makes it a little clearer that some lines of tightly-grouped code represent an "activity" (sub-activity?).

Izkata
0 replies
2h23m

As an example, your own comment three above is split into three parts (quote and two sections of your own). Plus my comment here, split into two.

Code has its own flow and natural groupings just like human language, and adding spacing to match makes it easier to understand even though it is subtle.

meijer
3 replies
6h44m

My theory is that excessive linter rules might be a symptom of trying to compensate for the weaknesses of a programming language. I see it a lot in Python and JavaScript projects where the language gives very litte guarantees about anything.

If you use a programming language that affords some guarantees like Haskell or even just C#, people seem to be less interested in linters.

dartos
1 replies
6h38m

Linting reduces the expressiveness of a language so that a large team can have some consistency.

It’s not necessarily a weakness of the language.

Languages like Haskell, C#, and Java don’t have the same amount of expressiveness as js, python, or ruby, so they don’t benefit as much from a linter, though I know places that use one for C# to prevent usage of the ‘var’ keyword

happymellon
0 replies
6h5m

I have that at my current place with var in Java.

And enforcing new lines on else or catch after the brace, completely different to the language guides.

It looks a fucking mess.

hinkley
0 replies
2h40m

It’s okay to want more.

Shacklz
3 replies
6h9m

If there's a small team, individual freedom can be perfectly fine, as everybody knows everyone and it's easy to talk with each other in case there are discrepancies.

For larger projects however, not having tooling set up that enforces certain consistency is an absolute showstopper for me. I'll either introduce it or I'll quit; I simply do not want to waste my time with developers squabbling over arbitrary formatting-choices or irrelevant coding-style-details that can easily be enforced by some tooling.

Of course, developer-experience is paramount. Meaning, the tooling must be easy-to-use and generally not stand in the way. Otherwise it can indeed create a lot of friction which will annoy everybody. But once this has been set up (properly!), it will make a lot of silly discussions and choices obsolete.

josephg
2 replies
6h0m

I hear you. But I’ve been programming for 30 years and I have some strong intuitions around where my code needs an empty line to space things out. Stuff like that. The day I first tried gofmt and it removed some of my carefully considered whitespace, I turned around, put blood on my hands in the old way and made a promise to the night that my soul belongs to me and gofmt will never sully my code with its corporate BS aesthetic.

Some consistency in a codebase is good. Naming consistency. Indentation. But people go too way far with it. Who cares if your JavaScript makes consistent use of semicolons? It doesn’t matter. It just doesn’t matter.

neon_electro
1 replies
5h57m

This is why linters are configurable; if your team doesn't care about consistent use of semicolons, ignore that linter.

Right?

josephg
0 replies
5h49m

Sure; but when I join a team and they've already got a linter set up with stupid pedantic rules, they never seem to appreciate my complaints about it. "Oh god, can we not have that conversation again!". I understand. But nobody is happy.

Carpentry isn't my jam, but I've taken up piano. I love it.

cdchn
2 replies
4h4m

"No pre-push linter" is the hill I'll die on.

Cerium
1 replies
3h8m

Could you elaborate? My team is currently looking at adding a pre-push linter to replace the annoying CI linter.

cdchn
0 replies
1h10m

Linters as gatekeepers are bad in my opinion, and ones that prevent you from pushing as pre-push hooks are the worst offenders.

swader999
0 replies
6h9m

I'm just happy to have gone six years without wasting half a day a month debating about formatting or whims.

hinkley
0 replies
2h54m

When code formatters were new, they insisted on vertical in addition to horizontal spacing rules, and that pissed a lot of wise people off.

These days they are pretty good at preserving vertical separation if it already exists and adding it if it’s missing.

cableshaft
0 replies
40m

I'll take the tyranny of the linter tool over not having it at all (and I've had both). At least with my current project, it's single-handedly helped catch tricky React re-render bugs, because it warns me when I'm missing a dependency, or also warns me ahead of time if I'm likely to encounter a re-render every frame (and what's causing it), etc.

Also it's helped keep unused garbage out of the codebase also, which people tend to leave in there otherwise.

Also prettier has helped in me no longer reviewing MRs where every single line shows up in a file because their local machine has a different tab indent set or a different way to handle newlines (like with or without carriage returns, IIRC).

Sure it styles some things that aren't my preference, but I don't have to do it myself, it just automatically changes it all, so I can deal with it.

And if something is especially annoying or causes issues, I can usually get an exception added to the configuration, at least on my current team.

JKCalhoun
0 replies
3h20m

tyranny of linters

Thank you for that: "linters" (but as a person's role, not as a tool).

Pretty sure that contributed to my early retirement from the industry. It didn't used to be that way — perhaps because there were fewer cooks; perhaps because of a more cavalier, cowboy-style approach to coding.

I definitely preferred the days of the open range....

CipherThrowaway
0 replies
4h34m

Most places I've worked in the last 6 or so years are obsessed with tooling and add so many lint rules that it's often impossible to merge your pull request if you decide to format your code in a way that violates the rules in some trivial way.

Symptom of nothing better to do, I have found ;)

Hard to picture someone who values their time blocking PRs on tiny stylistic nits.

usrnm
31 replies
7h48m

What's wrong with doing a boring job for a lot of money and then getting all the fun elsewhere? This actually seems to be the best way to do it to me

Aeolun
10 replies
7h25m

Doing the boring job at all is a waste of 50+% of your waking hours? By all means, do it if it makes the remaining 50% more enjoyable, but I think it’s possible to have both.

I want to have my cake and eat it too.

vincnetas
5 replies
6h47m

But you know, at the end there should be someone who is cleaning the toilets and taking out garbage. You eating the cake and having it is a bit selfish.

vbezhenar
1 replies
6h27m

Just because someone's cleaning the toilet doesn't mean that everyone must struggle. Yes, life's not fair to everyone, some people starve right now, while other throw away kilograms of food. Some people clean toilets while other people were born with gold spoon in their mouth and will enjoy whatever they want for the rest of their lives.

Daring to work at place that does not suck is not the worst offender to the world fairness, I think.

bumby
0 replies
1h35m

Daring to work at place that does not suck is not the worst offender

But there is something to be said that some people are born into situations that force them to adopt a very risk adverse posture. If you don’t have any safety net, “daring to work at a place that does not suck” takes on a different risk profile and doesn’t necessarily generalize well as a strategy.

sokoloff
0 replies
6h32m

Me living in a 4 BR house with only our 4 family members instead of us taking in a stranger is also a bit selfish.

Everyone does some level of selfish things; trying to shape work so that you find it enjoyable (and therefore likely something that others would also find enjoyable) is an acceptable form of selfishness to most.

jimbokun
0 replies
3h9m

I think it was Joel Spolsky, who said one of his responsibilities as CEO of a new startup was cleaning the toilets until they could afford to pay a janitor.

I thought it was a good reminder to have an attitude of just seeing what needs to be done and doing it.

bdw5204
0 replies
5h34m

Why can't we just automate the terrible jobs out of existence? There's no good reason why we can't have a machine that cleans the toilet or takes your trash out to the street. Plus a self-driving machine that picks up your trash.

digging
2 replies
4h10m

Possible, but unlikely today. I think the advice being converged on is not to let the possibility of 100% enjoyment ruin one's actual, real-life situation. Attain it if you can, but don't spend your life rueing its absence.

jimbokun
1 replies
3h11m

It's more so true today than ever before, where there are more companies than ever willing to consider allowing software developers, and some other kinds of knowledge workers, to work any where in the world.

It gives you more opportunities to find that combination of work you find meaningful, coworkers you mesh with, flexibility, and decent compensation, than any other time in history I'm aware of.

It's still not easy. Just easier than in the past.

digging
0 replies
2h9m

I completely agree. As you stay, it's still not easy, especially in the post-ZIRP economy. Do I deserve to work with a team of interesting people, on a product I can be proud of, on a team that gives me flexible work hours? I sure do. But finding it is a big challenge for me, so I'm still going to celebrate the freedoms my current job gives me until I can find the right one.

pixl97
0 replies
36m

It is risk assessment/management.

The non-boring companies I've worked for have had problems of wanting to work you at 150% of your schedule, quite often illegally. It is insanely rare that you'll get a job that keeps you busy (only) 8 hours a day constantly. Either the place is always on fire and has 12 hours of work a day, or you'll have it better managed and work will be bursty with the majority of the time under utilized. Spend that extra time being taught stuff on the company dime.

smackeyacky
7 replies
6h21m

Because it’s soul destroying knowing your talents are wasted for 40+ hours a week

azemetre
2 replies
6h11m

It’s only soul destroying if you let it be. As someone who grew up in poverty and spent most of my 20s working at a call center and pawn shop, I feel like the luckiest person in my family with my soul destroying corporate job.

It sounds cliche but happiness is truly a state of mind. You don’t have to wait for something in the future to be happy now.

spacephysics
1 replies
6h0m

The illusion paradigm

By saying you want to be happy, you’re already telling yourself there’s a gap between your state currently and that you wish to accomplish

“I’ll be truly happy WHEN”

When comes and goes, rarely have I heard someone say “well I said I’d be happy when this happened, it’s happened, and now I’m happy. All done”

Fully agree, it’s a state of mind.

I’d also add most people who say they want to be happy don’t seem to be looking for happiness but rather contentness, but I digress

bccdee
0 replies
3h12m

rarely have I heard someone say “well I said I’d be happy when this happened, it’s happened, and now I’m happy

I've heard this, but only from people who had been in an very shitty situation and then got out. Happiness is a state of mind, but misery is a set of circumstances, and the latter precludes the former unfortunately.

bigstrat2003
1 replies
3h40m

That's not "soul destroying", it's real life. The vast majority of people in this world have to do a job that they aren't in love with so that they can pay the bills. Anyone who is privileged enough to be in a highly paid tech job should be extremely thankful. Not only do we get paid well, we have to work 1/4 as hard as the people busting their asses for a living. We have a real sweetheart deal even if our jobs aren't always everything we would like.

jimbokun
0 replies
3h5m

There's something to be said for being able to look back and see a bridge or road or house of piece of furniture or an automobile you built, and see it's still being used and providing value to someone. Even if the monetary compensation was only mediocre.

zikduruqe
0 replies
4h3m

Because it’s soul destroying knowing that to get medical insurance, it is directly tied to your employment. If not for that, people would gladly pursue their interests and passions without the fear of a bankrupting medical incident.

jwr
3 replies
5h50m

It sounds like modern day slavery, or perhaps more precisely "corvee" labor. You have to toil away on your master's land before doing your own thing. I find it unbearable, but sadly much of the world has to deal with it.

Scea91
1 replies
4h45m

You don’t “have to”, you “choose to”. There are plenty of paths out there. Slaves or serfs actually didn’t have a choice.

ghaff
0 replies
4h3m

But I could only make a third the money doing the thing I really want to do! /s

jimbokun
0 replies
3h4m

You are mocking the suffering of actual slaves by comparing a modern highly compensated office job to slavery.

AdrianB1
3 replies
5h20m

In corporations is not a lot of money, almost never the market rates. In my big non-IT company I am paid at rates lower than any external company we contract for projects, even if their people are always lower qualified.

Also there is the problem of having to deal every day with "professional managers" that don't know anything about IT, but make decisions based on magic 8 ball and their career interests. Similar to illiterate politicians in many countries.

sukruh
2 replies
1h58m

If you were comparing what the other company was charging your company for their developers: Labor and software services have different markets. Because, among other things, tax/insurance regulations and the expectations of contract longevity are not the same. A software shop needs to charge 2-3x salaries to be profitable. I was referring to a theoretical free market for labor.

If you were comparing salaries, either your company was compensating you with extra prestige, job security, etc. or you were underpaid.

AdrianB1
1 replies
1h15m

I am comparing manager/architect positions in Europe with long-term (5+ years) contractor positions in India. Yes, I know contracting is more expensive than employees, but not to this level. We use contractors because internal developers would be paid so bad, nobody would apply (and they don't).

pixl97
0 replies
31m

I'd say they pay bad so they don't have to have the local employees that would be protected by strong local laws. Contracting is effectively cheaper, mostly because the company doesn't care about the health of the local company/economy.

squarefoot
1 replies
6h40m

Sometimes jobs aren't just boring, but one is constantly stressed by absurd deadlines or communication efforts with bosses/customers whose expectations are both in line with business practices and out of reality. You surely get back home with a nice check, but no energy or will to spend it on anything fun. Being good at forgetting the workplace and associated problems when one walks out of there is an art not everyone can master, especially among those who actually love their jobs.

ryandrake
0 replies
3h37m

I have a hobby that involves metalworking and building and it was strongest and I was at my most hobby-productive during a time I worked for a soul-destroying FAANG full of unreasonable expectations, stress, awful management, and so on. I think for the sake of your mental health, you really need to get good at "forgetting the workplace" and switching to fun mode. It's a skill like anything that you can practice. I know people who can't separate, and they take their misery from work and spread it into their home life. It's awful, especially for their family.

moooo99
0 replies
3h13m

There is a difference between a job not being fun/being boring and actively dreading to do a job because of deadlines/management/etc

The former is tolerable for many, the latter usually isn’t for long

JasserInicide
0 replies
1h51m

Willing to bet that most people who take up something that pays much less don't have kids

lucianbr
6 replies
8h8m

Aren't you afraid that the "fast-growing" small company will soon become a large company, with all the problems you mentioned you want to avoid?

xenocratus
4 replies
8h5m

Isn't it possible to just go looking for another fast-growing small company when your current employer reaches that stage?

lucianbr
3 replies
8h1m

I just think that they wrote "fast-growing" as a positive attribute, when the logic of the comment would make it a negative attribute.

Of course you can go looking again. But why not look for a slow-growing or not-growing small company, so you don't need to go looking so often?

sukruh
1 replies
7h50m

Yes, fast-growing companies can grow out of my preference zone and as other commenters said, jumping ship when that happens may be the correct way to go.

There are other issues with slow-growing or not-growing companies. When the company is not growing, people are incentivized to take a zero-sum approach to their work relationships. If the pie is not growing, you need to guard your own slice and take from others. This creates a toxic environment. If the company is growing, then collaborating on growing the pie can become the shared attitude.

sokoloff
0 replies
6h29m

Slow growth and no growth companies tend to be under a lot of pressure for cost-optimization (which makes sense in a lot of ways, but is grueling to live through…)

t43562
0 replies
8h5m

It happens but then it's time to find the next one.

whb101
2 replies
2h16m

This comment hits the crux of what OP was really getting at. It's not that software itself is an inherently bad trade; it's what's been happening to it and why.

very happy at a fast-growing small tech company where one can have honest conversations about the customer and the product

Right. Why is this getting harder to find? Engineers are feeling like their labor is increasingly becoming unimpactful vaporware; their work life is increasingly subject to the whims of nontechnical people; product complexity is going beyond the amount that's just natural in software and getting disproportionately bad.

It's because the market is driving people to the software world like tourists to a national park that's gone viral on social media. The mass of people trying to make a buck off software are unknowingly degrading it. The park's land is still good - just a little too good for its own good.

As long as software makes it easier to reach many eyeballs and wallets at once (which is "always") people will flock to it. What's less inevitable is what makes fluff and snake oil rampant in other industries, like health: a deadly combo of unbridled capitalism and masses of uneducated people.

This makes people, including many software engineers themselves, view software engineers as natural resources you can just endlessly extract from, instead of people with biological limits and dreams of making cool things with their hands.

The remedy to this - people democratically owning the means of production, and providing each other with reliably good schooling - might seem like a pie-in-the-sky idea but will be common sense in 100 years if we're still around.

hn_version_0023
1 replies
2h8m

I’m going to seize on one phrase:

  people, including many software engineers themselves, view software engineers as natural resources
I’ve said this a million times on this forum.. the little trick whereby people who were once employees became merely _human resources_ has done more to damage work-life in this world than anything else I can think of.

Its natural to exploit resources to their fullest. Labeling humans as resources is inherently dehumanizing and desperately needs to end.

jq-r
0 replies
6m

I've lost my cool one time when a very young "manager" asked: "Do we have a backend resource on this call?"

It really got my blood boiling and I've said something very similar to: "No we don't have a resource on the call, we have engineers, colleagues, employees, humans and friends on this call. Resources are air, water, memory, cpu and time, please don't call people like that". This followed by silence, and a lot of red faces.

Couple of weeks later, had a talk with my manager who is a true and true programmer I really respect. And then he says something with that "resource" referring to our team members...

I have experience across various industries, and many professions think very highly of themselves. But over here I have seen the working population be so easily manipulated, self-effacing, and self-abnegating. Most of the time bad managers just say "jump!" and engineers just ask "how high?".

irrational
2 replies
2h6m

I like the big companies because I can be paid a hefty six figure salary while working 4 hour days and spending the rest of the hours doing woodworking, gardening, home remodeling, baking, exercising, reading, etc.

hyggetrold
1 replies
1h25m

It's an odd thing - at all the big companies I've worked for, you can usually get all your work for the day done in 4 hours. Between meetings and status waste, that's all anybody expects from you.

ghaff
0 replies
25m

What you personally do is only part of your job. Communicating with others is probably at least the other 50%. Even if your an individual consultant your clients will expect you to communicate with them.

demondemidi
2 replies
7h18m

I worked for big companies, startups, and freelance. If you don’t take control of your career you will be unfulfilled. Software has the pick of the litter. The winning combination is a big company and a role you chose. Security, compensation, and creativity all in one. Startups are 90% likely to fail, contracting will set you back late in life if you don’t hustle all the time. YMMV but nothing beats a blue chip.

Difwif
1 replies
7h1m

One man's garden of eden is another's hell on earth. I've gone back and forth between big and small. I'm genuinely happy at small companies with tight knit teams (getting abused by csuite for shit pay ofc). At big companies I get extremely depressed in a corporate hell scape mostly surrounded by people that have maintained sanity by dissociating from the job and collecting a paycheck.

I'm trying to start my own business now without going down the consulting route. At the very least I tell myself that the spoils of the hustle go to me. Let's see how this phase goes.

demondemidi
0 replies
4h10m

This entire thread is full of “well for me…”. So I added mine. It’s obvious this is purely anecdotal for everyone.

surfingdino
1 replies
7h43m

I learned to play the game. I too really enjoy being able to talk directly to the client while building, but I also learned to play the game of cogs, where I am separated from the client by layers of increasingly clueless management. I balance the insanity with pursuing photography.

NikolaNovak
0 replies
7h27m

All of this is hitting too close to home!

I work for a large company , and I love people I'm with and had some great challenges and accomplishments, but yeah... There's still a creative urge that's left not completely filled. So I ran a photography business for a decade!I loved interacting with happy and involved clients, and creating something that brings them immediate joy :). I don't have time anymore to do it professionally but I still do it for friends and family ( while I work with my therapist to survive my day job :)

gspencley
1 replies
3h49m

I'm one of those creative types. I have woodworking shop, I'm a musician, my wife and I are part-time performing magicians.

I've only ever worked for small start-ups. Including my own which paid the bills for 15 years.

Working for start-ups does not solve the problem for me.

The problem for me is that I need to give a shit about WHAT I'm creating. And I find that after 25 years of working in the tech industry professionally, as an end user the older I get the less interest in modern technology I have.

It's hard for me to not see the negatives. I want a car that I can maintain myself and that does not talk to a network for critical functions. I want a fridge that just cools my food and doesn't come with an app or "smart" features. I have zero interest in AI. I love writing code, and I'm already over-burdened by poor code quality that I've inherited and that was written by inexperienced devs. I don't need AI generating code for me that I then need to review and refactor. It's faster and more fulfilling for me to write it myself. I never got on the smart phone bandwagon. Yes, I own one, but I often forget where I left it and when I find it the battery is usually dead because I haven't touched it in days. I don't want a "smart home." I'm not a gamer.

So in my off hours, I find that I spend my time doing things that don't touch modern tech at all.

So yeah, I find myself constantly planning my exit strategy from the industry. I enjoy coding, making things and solving problems but I don't enjoy modern technology the way that I used to. And making products that I wouldn't use myself is what I find soul crushing.

sandspar
0 replies
52m

As an aside, high skill and low excitement is a great recipe for composure. It makes me think of a veteran I once knew. He once talked us out of a sticky situation because seeing his calm demeanor, the authority figures had no reason to suspect we were up to something.

zerkten
0 replies
3h4m

> The effort of managing up eats a creative person's soul.

This really struck me because I'm realizing it is soul destroying but have gotten competent, and even good at it. I was involved in my family's small business and some of my own startup attempts and consulting, so I remember those feelings.

wouldbecouldbe
0 replies
4h59m

I get what you're saying, but for the author of the article it seems the opposite issue. He seems to (mostly) live from his own software products, and his two main points of stress are unreasonable customers & his own inability to let things go when fixing/working on stuff.

vlozko
0 replies
4h43m

Most of the people I know who pursue creative/crafting hobbies alongside a software development job have chosen to work for well-known big companies, for prestige and safety, and ended up unfulfilled in their jobs.

Depends on the industry. I've been doing iOS for over a decade. You're right in that there are different dynamics with enterprise that can wear you down. I find that to be less so the case with jobs in the retail sector. Things are always fluid and changing there.

Still, this is a very subjective statement. As someone in my middle ages, I've come to appreciate and understand how views change over time. The 20-something me would have jumped over to new jobs every 2-3 years. The 40 something me recognizes value in work/life balance, stability, and a more defined and often opportunistic growth path in larger companies. And it's at this stage that while I may not fully comprehend the occasional stubbornness of 60-something devs, I can at least approach their way of thinking as not wrong. When you have a spouse, family, and mortgage to support, the potential upsides of a smaller, more nimble company just don't overcome the peace of mind of being in the corporate world.

twojobsoneboss
0 replies
3h47m

There are plenty of big tech or big tech adjacent public traded company jobs paying far better that are still majority coding and with a lot less speed pressure than an early stage startup, among other things allowi Ng for an earlier retirement.

Will take one of those instead, any day.

soco
0 replies
6h51m

Another idea: work for an IT services big company. Then you'll have a lot of change, will be much less of a cost center (only at times) and talk directly to the customer to solve their problems. Not the same as a startup of course, but at least on paper it looks like checking your points with slightly less stress or risk.

jwr
0 replies
5h54m

I run my own self-funded solo business. I talk to my customers and make a meaningful difference in their daily work. If I do my job right, they gladly pay me subscription money. I'm pretty happy with this, especially given that I choose my tools and technologies, and that my customers are smart engineers.

hinkley
0 replies
2h58m

At small companies, across a long career, I’ve solved the same problems many times. But that’s not the part that stings the most.

What grinds my gears is failing to solve problems I’ve already solved. At some point you have to convince others that a plan is good. Your arguments might not work on a new team. You might not know what the secret sauce was that got you consensus last time. Or after years of getting your way you may forget some of the arguments for an idea.

Because mastery is, at the end of the day, converting an intellectual process into intuition, so you can go faster. Once a decision process is successfully ingrained, the intellectualized path is dead weight.

There’s a lot of vaguely intellectually lazy, cheap instead of frugal thinking, and ethically challenged people in or around our industry, and the collective weight of it causes pushback on progress.

heresie-dabord
0 replies
6h49m

This is why I am very happy [...] where one can have honest conversations

Cheers! Nonsense is tiring, nonsense breeds detachment, and I daresay most humans will detach from sources of constant nonsense. (As well as from economies of constant nonsense. See: advertising, social media)

endless PowerPoints

We can agree that PowerPoint is a lossy encoder for instances of Conway's Law.

But to your point about Small versus Large entities...

ended up unfulfilled in their jobs.

There are many well-travelled roads to Unfulfillment in the software business. Both Small and Large entities have the problem known as people.

Although it's true that corporations tend towards uncalled functions and structured madness, small shops can amplify the oddities, mistakes, and loyalty-antipatterns of principal's exclusive control. And people at a small shop will often work longer hours just to sort these problems.

people [...] who pursue creative/crafting hobbies

These people are lucky and are doing what is healthy. They are the tool-maker sort of person and are fortunate to have the time to extend their skills and knowledge.

freedomben
0 replies
4m

Same. The enterprise can be enjoyable from some aspects, but in the end the soul-suck isn't worth it to me. I think a great skunk works team with a big budget is probably the dream, but short of those rare and difficult-to-get opportunities, the startup/small-tech co is the place to go for people like us. Some are better than others at faciliting honesty, but it's far more common IME than big corp.

filleokus
0 replies
5h47m

I think there is something special about physical creativity that scratches a certain part of your even if you have a very fulfilling day-job.

"Even" Chris Lattner (of LLVM and Swift fame) which I as an outsider at least would say have a fulfilling job dabbles in the occasional woodworking: https://nondot.org/sabre/Woodworking.html

fatbird
0 replies
3h46m

I work for a digital services consultancy handling large gov't contracts. It has all the problems of every large organization, public or private, but it's not overly demanding. The work is more challenging from a people perspective than a technical one.

But, as in my last big project, I'm building something well that makes a concrete difference in people's lives, internally and externally. In my previous project, the software we delivered saved hours a day for clerks who were typically very overworked, and we received grateful emails telling us that they'd been able to sit down for lunch for the first time in years. In the current project we're bringing GIS capabilities and full accessibility to a gov't online service--we have a mandate to ensure it works properly with screen readers, and we're actually doing new work on making map features accessible to the visually impaired.

So much of the motivation for geeks is technical satisfaction that we can miss many other forms of fulfillment in our technical jobs. Having worked on the web since the late 1900s, through multiple hype waves and "oh, we're doing this again" moments, I find the non-tech, more people-oriented rewards much more satisfying.

Also, I'm building out the wood shop I want. :)

darkwater
0 replies
7h22m

I was in a fast-growing company (although adjacent to Tech), that grew "big" and went though tons of extra bureaucracy where you will spend months fighting for some stupid change that makes all the technical sense. Now the company is sinking, I hope I will be fired and with the severance package I can enjoy life for 6-8 months and then go find again a company where I can fix things and impact someone's life in a mostly positive way. Wish me luck.

conductr
0 replies
5h38m

I think those people also are more likely to have the work life balance to pursue hobbies where most people doing fast growing/early stage startups are off balance. I personally don’t care what I spend my time on at work, I’ve found even when I enjoy the work, it doesn’t increase my fulfillment in life over the long term. So I try to optimize the life part of the ratio as much as I can, at times at expense of the work side of the ratio.

adamtaylor_13
0 replies
1h25m

You hit on a really key point here:

I want the clarity of being able to talk to "the boss/the customer" and solve their problems

I finally identified that at my last job, and have begun actively working to make that happen. For example, I transitioned internally to a "platform" team so that I know my customer—my fellow product developers at the company.

This has resulted in me being MUCH happier with my day-to-day work.

RobRivera
0 replies
4h2m

Vigorous exercise and a love of food gos miles for managi g the creative soul.

Side projects and meditation supplements.

Each year passes and O learn more about myself so hurray growth?

JKCalhoun
0 replies
3h23m

Most of the people I know who pursue creative/crafting hobbies alongside a software development job have chosen to work for well-known big companies

Guilty (although retired now). When I could apply creativity to my job, I did so, but I think I prefer to have had the outside-work activities to have been my creative outlets.

The application to express creativity in software is fairly narrow in comparison to other activities and, as was pointed out in this thread, physically creating with your hands (rather than virtual creating with your keyboard) is ... real.

FpUser
0 replies
6h39m

"This is why I am very happy at a fast-growing small tech company where one can have honest conversations about the customer and the product. How do other people deal with this?"

I am very good at designing and creating software products from scratch. Was doing it for few years a an employee of smallish company that served numerous clients. I then went on my own and kept doing the same. I have my own product that brings in some money. Also I design and develop software product to various clients. I've had ups and downs but in average am very happy, not overworked, have more than enough time for myself and like my job which is basically a hobby paid for by the clients. My client are usually small to medium size that are not really in software but for one or another reason software runs their business.

AdrianB1
0 replies
5h14m

When you are young and especially when you don't have a family to support, you move to some place where you like to work. When you are older and opportunities are rare (and agism is huge in the industry), you just take what you can and escape any way you can, like video games or side passions of any sorts. I bought a motorcycle when I was over 30 years old for commuting (heavy traffic, the bike was saving hours), but after a few years I started to take motorcycle trips in the weekends and, once in a while, across Europe. But it can be anything that you find enjoyable, the point is that you have to try different things and see what you like, when I was 20-25 years old I had no desire to ever buy a motorcycle. Now, if it's a light rain, I am happy to take it for a ride.

cqqxo4zV46cp
44 replies
8h49m

when the Agile meetings at my last job got so absurd that we were being asked to estimate JIRA task time in T-shirt sizes

Feels like a very outsized reaction to have to something well-intentioned, useful, and not-ridiculous.

withinboredom
41 replies
8h46m

It's quite ridiculous for a number of reasons, well documented by research and experience: software engineers can't estimate how long something will take with any kind of accuracy.

cqqxo4zV46cp
7 replies
8h34m

Thanks, but this isn’t my first rodeo. In the future, please more carefully exercise more discretion when whipping out the snark.

software engineers can't estimate how long something will take with any kind of accuracy.

This is both irrelevant and wrong.

It’s irrelevant because t-shirt sizes, story points, and other abstract measures, are - intentionally - not measures of time. It’s a measure of effort, benchmarked against other units of work. Yes, this can, sometimes, give a vague indication of time. It’s also useful for other reasons, too, like weeding out whether or not everyone is on the same page with regard to what needs to be done in the first place. All of this is explained in literally any primer on the subject.

You’re wrong in saying that software engineers aren’t capable of estimating effort (or even time) with any degree of accuracy. They can. I can tell you that my Python hello world script will take less time and effort than rewriting the Linux kernel. None of the “research” and “experience” that you so confidently refer to says what you think it does. It says that there are big limitations to the degree to which timelines can be estimated. This is entirely true. But there’s nuance to it. You’re so desperate to find a shortcut to being smart on the internet that you’re spreading blatant disinformation in the process.

withinboredom
5 replies
8h22m

I'm not sure you're agreeing with me and using disagreeing words, or you didn't read what I wrote...

Software engineers can't estimate how long things will take: https://www.sciencedirect.com/science/article/abs/pii/S02637...

They're wrong, 60% of the time by overestimation and when underestimated, so vastly wrong it's terrifying. I remember this one time I merely had to update a component in prod. Everything went fine in staging, then when I pressed the "button" in prod ... all hell broke loose. We spent the next 4 days fixing it.

I never wrote that software engineers can't estimate effort, I said they can't estimate time, but you're accusing me of the former.

sanitycheck
4 replies
8h13m

I think you've linked to a study of "expert project managers", and we might see similar results in a study of whether "expert project managers" can succeed in tying their own shoelaces.

If you're working with a system where your staging environment is not sufficiently close to your prod environment to be entirely predictive of behaviour, that's a "known unknown" and should be in the estimate.

withinboredom
3 replies
8h4m

The reason it failed in prod was entirely unrelated to it being prod. The same could have happened in staging. IIRC, the error was entirely due to a RST packet from some external system during the upgrade. It was a bug in the upgrading system that should have been accounted for, had anyone known it existed. Identifying the root cause of the failure, was what took the most time. Had deployments been idempotent it also probably could have been resolved in moments as well ... but here we are, 15 years later with lots of lessons learned.

sanitycheck
2 replies
7h46m

Sounds annoying, but seems like you found a bug in the upgrading system that could have struck anyone during any change?

The time/work to investigate and fix it probably wasn't considered (or shouldn't have been, at least) part of the work on the component you were changing - that was just delayed, same as it would be in scenarios like "Dave got hit by a bus and he's the only one with the prod password" and "Our CI service suddenly went out of business and we need to migrate everything".

withinboredom
1 replies
7h37m

My point is that you can't estimate time with any accuracy. At the end of the day, even this fix and shenanigans was still "easy" once we knew what was going on. The effort never changed and we would have been dead on. The issue is when trying to say, "It will take me two weeks to do this," and it actually takes two weeks -- there are simply too many unknowns for ANY task in our industry for us to actually be confident in that assessment.

sanitycheck
0 replies
7h4m

Not to the day, but you can estimate a range based on experience. After that deployment issue you may add "release could be delayed by up to a week" to future estimates until you're sure it's fixed.

I've written TV apps and in that world I've often given estimates that are 5 days of actual work but, because Samsung's QA process can take 6 weeks and spurious rejections are common, "deployment" will often take literally months.

Time to release and time for development can be totally different things and it's arguable whether "waiting" time should be included in any individual estimate at all. (You're adding 4 separate features and doing 2 bugfixes in one release, which one gets +2 months? In reality "submit/release" becomes a different ticket/task.)

XorNot
0 replies
8h20m

Tell me, what is a unit of "effort"?

How would we measure that?

rettichschnidi
6 replies
8h43m

Any recommended readings on the "unable to estimate" claim?

vedranm
3 replies
8h39m

I read Steve McConnell's Software Estimation: Demystifying the Black Art and I can recommend it without hesitation. It is quite old by now so there might be something newer and better out there as well.

Scarblac
2 replies
8h27m

That book says the opposite though, we can definitely make good estimates.

It's just that estimating well needs people with training on how to do that, and then it takes substantial time to make good estimates. And there will still be significant error bars (if the estimate isn't a range, it doesn't count as an estimate). But it's certainly doable.

UK-AL
1 replies
8h9m

People who ask for estimates, don't consider estimates with huge error bars good. Literally anyone can make estimate with a decent amount of error.

To narrow down the estimate to what they want would take just as long as just doing the work.

Scarblac
0 replies
8h6m

I know, but those people need the training.

cqqxo4zV46cp
1 replies
8h31m

There are no good recommendations because it’s wrong. GP has taken “software estimation is hard and very imprecise” and vastly misrepresented it to try to dunk on someone on the internet.

It’s this sort of disinformation that perpetuates the contingent of software developers that cry bloody murder whenever they’re asked to say if something will take a day or a year.

withinboredom
0 replies
8h19m

I never wrote what you quoted. Please don't misquote me to "try to dunk on someone on the internet."

XorNot
5 replies
8h39m

I've always felt this is because estimation never gets treated as an exercise which might involve actual software engineering. You get handed a task you've never seen before, for a system you've never seen before, and asked "how long would implementing this take?"

You never get handed a task which is "write as much of a prototype of a system which would do this, so we can estimate how much more work we think is involved".

And then when you do have enough knowledge to reasonably estimate, people just declare with no evidence that it should be quicker anyway and then are surprised when it is not.

withinboredom
3 replies
8h33m

It's not just that, but also we tend to estimate in the context of "if I were sitting at a computer working on just this problem, this is how long it would take." The reality is that there are meetings, high priority bugs for unrelated systems, interruptions from the business, coworkers and life, code reviews for other team members, rediscovering what you were doing before being interrupted, etc.

Using time tracking, I was able to discover I only spend 2-3 hours per workday actually programming, the rest was all interruptions and such. Thus I can estimate that one day really equals 3-4 workdays. Then my project manager throws in another 3-4x on top of that to deal with scope creep, rework, bug fixes, etc... and we're usually on-target ~50% of the time.

peterleiser
1 replies
6h30m

My friend's advisor in grad school (Physics, not CS) used to ask his students for various project estimates, and then he would double it and increase the units: 2 hours = 4 days; 1 day = 2 weeks; 2 weeks = 4 months; 2 to 3 months = 4 to 6 years = thesis project. My friend's estimated 3 month project turned into his 4 to 5 year thesis project. I mean, hey, it was experimental physics and his project ended up using a shipping container-sized faraday cage, scanning tunnelling microscopes, a clean room wearing a bunny suit, building stuff himself in the machine shop, writing software. All this for something that literally had not been done before and no one was sure it would work or what exactly would need to be done to get there (which starts to sound similar to some aspects of software projects). Plus the usual overhead like teaching ungrateful engineering undergrads (guilty!), hosting movie night at the lab and making liquid nitrogen ice cream, etc.

withinboredom
0 replies
6h27m

I’m in the wrong industry. That sounds way more fun than writing software.

zmgsabst
0 replies
6h16m

When I was at Amazon, I read the SDE guidelines from HR, where they describe their view of the role.

An SDE1 was expect to spend 4hr coding a day; an SDE3 about 2.5hr coding a day.

That’s normal for a job, eg, apartment maintenance (my college job) would have us actually wokring about 4 hours a day, between setup, cleanup, breaks, travel, miscellaneous tasks, etc.

Convincing other SDEs to assign points to stories based on that (4hrs of coding per point) was surprisingly hard.

gedy
0 replies
4h43m

You never get handed a task which is "write as much of a prototype of a system which would do this, so we can estimate how much more work we think is involved".

The non engineer types won't hand you that, but I've had some success with proposing that when there's a lot of uncertainty.

zoul
4 replies
8h36m

But sorting issues according to their rough size is precisely what makes at least basic sense. A scale of trivial (can make many of those in a day), simple (several of those a day), medium (roughly a day of work) or large (days) makes it possible to have at least basic conversation around work planning. I’m not extra sold about calling those by shirt sizes, but I’m sure we’re on the better end of the absurdity scale here :)

withinboredom
3 replies
8h30m

At that point, you are estimating EFFORT, not time. Software engineers are REALLY GOOD at estimating effort. The fact that they translate to time (simple == several days) is ephemeral.

lomase
1 replies
7h43m

I think that is how Agile is suposed to work. The programmer stimates how hard the task is relative to other task he has done.

withinboredom
0 replies
7h32m

Right, but they were asked to estimate TIME, not EFFORT.

kristiandupont
0 replies
4h26m

Software engineers are REALLY GOOD at estimating effort.

The most common problem with estimates is hidden or forgotten complexity, which makes both time and "effort", whatever that means, go up.

kristiandupont
3 replies
8h8m

HN loves to make this claim but it just doesn't match my experience, from several teams. Estimates are not precise, obviously, but that doesn't mean that they are impossible to make or that they add no value.

holbrad
2 replies
7h58m

I mean I've routeninly seen estimates be 3-5x longer that projected. It's up to you if you thing that's an accurate enough estimate or not.

wccrawford
0 replies
7h13m

I have personally produced estimates of 2 weeks that took 2 months, and estimates of 2 months that took 2 weeks. For years, I told my boss that implementing a certain feature would be "very hard" and basically wasn't worth it. When we actually pulled the trigger on it, it was done and deployed in a week.

I'm sure some people are significantly better than me at estimates, but I haven't met them. Estimating the unknown without serious research that borders on just doing the job is nigh impossible. And we're just an in-house dev team, so we never, ever do the same thing twice.

Estimating how long to put up another wordpress site is a lot easier than estimating a new project with new requirements and new tools. I typically find that people who think estimating is easy are just doing the same things over and over for new clients, rather than doing new things all the time for the same client/employer.

kristiandupont
0 replies
4h20m

Sure, so have I. I don't think estimates are good for determining a date for a contract or anything like that. I think they provide data about the tasks when prioritizing, which is valuable. Code coverage is also a really low quality indicator of test quality, but it is still useful.

m_eiman
2 replies
8h36m

software engineers can't estimate how long something will take with any kind of accuracy.

Sure we can, it's always one of:

- A couple of minutes

- Today

- A week or two

- Probably around a month

- I have no idea, could be any of the above or more

rvense
1 replies
6h12m

At my work "It'll take half a day" has become slang for "I have no idea"

m_eiman
0 replies
5h41m

My standard reply is "one to two weeks".

oytis
1 replies
6h44m

That sounds a bit extreme? True, estimation is hard, but surely we can differentiate between 1-2 day work, 1-2 week work and a big scary project with a lot of risk. That's what T-shirt sizes are for.

withinboredom
0 replies
6h31m

And if a bug in a library stops you from completing your work so you have to develop a workaround, and adds several days to your “1-2 day task”? The estimate is wrong.

There are simply too many unknowns in other libraries and systems to be accurate.

Scarblac
1 replies
8h31m

But that's exactly why people start using things like t shirt sizes: to emphasise the point it's not a time estimate. It's a rough ordering of relative complexity of different tasks, which is something programmers can do.

Of course, the business still needs time estimates, so someone will somehow attempt to turn them into time estimates. But that can't be helped.

withinboredom
0 replies
7h34m

It's a rough ordering of relative complexity of different tasks, which is something programmers can do.

Yeah, when put as an estimate of effort or complexity, we can be good at estimating that. But that isn't how it was put.

so someone will somehow attempt to turn them into time estimates.

It works until it doesn't. I would estimate manually entering data as "pretty easy" but it won't be done in a day no matter how much you pay me. I can only type so fast. There are many tasks that are easy but take a really long time, and many complex tasks that take a very short amount of time.

Aeolun
1 replies
7h18m

That’s true, but it’s also well documented that biz likes having any estimate over nothing, no matter how unrealistic.

withinboredom
0 replies
7h14m

Then ask for an estimate of effort, not time. Let someone else take the responsibility of figuring out how long that will be.

whiplash451
0 replies
8h6m

Sizing is useful for one thing: making sure that two people are talking about the same thing.

sanitycheck
0 replies
8h21m

Software engineers, when quoting for fixed priced jobs, learn quite quickly to estimate accurately.

Software engineers, when pressured by managers to provide low estimates and/or to provide estimates quickly, will estimate inaccurately. (It can also be deliberately high as well as low, based on previous experience of having their estimates chopped in half.)

Whether you use SP or T-shirt sizes or whatever, somebody is translating that into days because days (and thus dollars) are what matter to the business. If someone asks me for an estimate, I'll give them a range in days/weeks, and they can turn it into whatever nonsense unit they like.

oersted
1 replies
8h31m

I agree, "T-shirt sizes" sounds absurd and provocative, but XS, S, M, L, XL... is a very sane and simple scale for rough estimates of anything.

dukeyukey
0 replies
7h13m

Yeah I'm happy doing that. Trying to estimate a new epic in story points when I only just got told about it is ridiculous, but I can usually give a rough S-M-L guess.

UniverseHacker
37 replies
3h35m

I don't understand why more adults don't have awesome hobbies... most of my childhood friends don't seem to do anything fun now as adults.

I really love physical things I can do with my body as a counterbalance to working on the computer- weight lifting, woodworking, and sailing add a lot of value to my life, and have gotten me outdoors and in shape. I'm currently building a wood sailboat in my garage together with my son, using ancient woodworking tools I inherited from my grandfather.

colecut
18 replies
3h26m

If you inherited woodworking tools from your grandfather, I'm assuming that either your grandfather or father taught you some woodworking skills?

I grew up on the computer since I was a preteen. My dad moved 2000 miles away when I was 11. Every job I've ever had since I was 14 was web/software related and I am nearly 39. I feel like I have no practical skills outside of computers and the idea of building things with my hands or using power tools just fills me with anxiety. I wish I knew how to break out of the mindset.

culopatin
2 replies
3h16m

Don’t let that be a brake on your enjoyment though. I always liked cars and I do have an affinity for tinkering. But I didn’t know anything about fabrication. I got me a welder and many YouTube videos and hours later I was making stainless exhausts. It was a very enjoyable experience. Just stumbling through is most of the fun.

UniverseHacker
1 replies
1h34m

Awesome. I usually have luck with things like this, but seem to have no gift for welding. I could never get a clean bead from my cheap welder, and ended up even taking a community college welding class... the instructor could lay a clean bead with my welder, but I couldn't and eventually decided to just pay professionals to weld for me when my hobbies require it. I still can't tell what I was doing wrong. I even made an exhaust system for my car, but the welds were so bad it leaked a lot.

Nowadays, I'll set everything up, cut/buy the metal, etc. and usually for under $100 have someone come over and do the actual welding for me.

culopatin
0 replies
1h30m

That’s how I felt at first. I got started with a tig. I guess the advantage I had was that I had seen someone really good weld with a tig many times so I kinda knew what it should look like both result and motion wise, but they never taught me any settings, technique or anything at all otherwise.

Keeping the tungsten from touching the bead is harder than it looks.

The thing with welding is that it doesn’t give you any time to figure things out in the moment. Sort of like tennis in that way. You hit it wrong and you gotta go get the ball. Start wrong with welding and gotta get the angle grinder and restart.

_huayra_
2 replies
2h59m

I've always recommended hobbies that meet the following criteria

1. Don't require you to interact with screens 2. Require your full attention (e.g. if you were listening to a podcast while doing it, you wouldn't remember a single thing they were talking about) 3. Has a social aspect, but is also possible to do on your own 4. Preferably physical 5. Preferably has some level of "controllable danger/risk", e.g. mountain biking is good because you can walk down hard stuff or stay on easy trails, vs. road biking you don't control the risk of getting injured / killed by a driver.

Some that fall into this category are climbing, skiing, mountain biking, surfing, windsurfing.

There's the other category that this post about woodworking scratches: building things and developing new skills and mastery doing so. However, these don't often come with an easily-accessible, accepting community; it's usually just you alone in a garage. Given how important social connection is, and how isolating a lot of tech jobs can be, this is a void that a lot of us on this orange website need to actively pursue.

If you're in any "tech city", there's definitely a climbing gym nearby. Climbers are almost always amicable, and for the socially anxious, it's a great pretense to interact with someone (because they have to be on the other end of the rope anyway). The amount of capital outlay to get started is low (e.g. shoes, belay device, and a harness will cost <$300 total if you get nice stuff, albeit sticking with the non-expert shoes!), and you can pretty much start having fun right away (vs skiing takes at least a season to get confident enough to truly start having fun and not "surviving").

ghaff
0 replies
9m

There is probably a local hiking/walking group in many areas. Though I realize that may not be appealing to many here.

UniverseHacker
0 replies
2h54m

Great criteria! I strongly recommend sailing also as a hobby meeting these criteria- although wind surfing is a type of sailing. Zero equipment or money is required because most people that race sailboats are always looking for crew, and are happy to take on a novice that is excited to learn.

I think people often turn away from sailing because it's seen as an expensive elitist thing for wealthy people, but the truth is the polar opposite of that- most people in the sailing community are working class and often have either small dinghies or older boats you can get for a few hundred dollars and easily maintain yourself. I paid $800 for my first working sailboat, and the first yacht club I joined had a literal garden shed full of rusty hand tools for a "clubhouse."

skyfaller
1 replies
3h13m

Yeah, both my parents have/had practical skills, like woodworking and gardening, and completely failed to pass them on.

Part of it is that they pushed me towards skills they thought would help me more, like computers... my dad liked to brag he had one of the first computers on the block, and that he put me in front of the computer as soon as I could sit up. They pushed me towards getting good grades instead of knowing how to work with physical objects.

Part of it is interest, like I wanted to do my own thing instead of my parents' things, once I had the choice. That's partly because my parents just weren't very kind or patient teachers, they were hypercritical, exacting perfectionists. Partly because my friends weren't working with physical objects much, so it didn't seem like a good way to connect with my peers.

But yeah, my parents were extremely present and they still did not pass on their knowledge.

AlexandrB
0 replies
1h41m

Don't dwell on it too much. I thought the same thing when I was younger - had no interest in my parent's hobbies - but eventually they came back around as I got older and I realized I actually knew more about plants & plumbing than I thought.

levinb
0 replies
54m

Just chiming in to say your link led me to the document. The introduction is fantastic. I'm in the middle of an enormous woodworking undertaking and I am gonna have to hit pause and read this book. Completely nerd-sniped; other lurkers beware this rabbit hole.

91bananas
1 replies
1h29m

As others have mentioned, try. Youtube has a literal endless wealth of knowledge of how to do any task. I learned how to machine metal after 5 months of background youtube videos on manual machining. Youtube Apprenticeship.

UniverseHacker
0 replies
44m

This seems like the real answer here... you have to actually try, and not make excuses why it's impossible to even try. Lots of somewhat abrasive replies say you need a ton of money, time, and space that most people don't have to do hobbies- but those are easy excuses, and are simply not true.

parpfish
0 replies
3h18m

Start simple.

Watch a YouTube video.

Plan on failing a few times in ways you don’t expect.

Remember that this is a hobby so the stake are low.

jean-bonneau
0 replies
12m

I taken up on running and ultra trail running 5 years ago. I also started learning woodworking 2 years agi, using hand tools mostly as I can only practice in my living room.

I didn't have any experience in any of these before and I was not particularly athletic. You only need to find something you want to try, and if you like it try to commit to it for a couple of years.

In my example, I started running when I signed up for a 10k race as a team event when I joined my company, and realized the racing experience was actually enjoyable (regardless of my performance). And for woodworking, I signed up for a 6 weeks course to make a simple box at my local recreation center, and ended up making a couple of furniture or decorative pieces that are not fancy at all but still a lot more interesting than IKEA stuff.

gravescale
0 replies
3h19m

Start small. Maybe just a little model kit. You can get incredibly cheap model kits these days. Get used to the idea that you can start with "bits" and end with "things", and you have agency over that process.

andoando
0 replies
2h3m

You can always learn new things on your own. It's really not hard, you just have to try.

I mean hell there's plenty you can do that doesn't require learning at all.

ajmurmann
0 replies
2h57m

I started out with no physical skills and only ever have worked in software. However, I took a pottery class and loved it. Classes also start you out on a schedule which is a great way to make sure you actually invest in your new hobby. Similarly you can take classes in most tech shops as well.

UniverseHacker
0 replies
3h14m

Yes, that is certainly a key part of it. My dad built the house I grew up in by himself in his spare time while also working full time, and taught me basic woodworking as a kid.

But he taught me crude woodworking like framing in houses- almost none of the tools or skills translate into fine woodworking required for building things like furniture or boats. Until the last year I didn't know how to cut with the grain, what a planer was for, etc.

What my dad really taught me was the confidence that I can learn what I need as I go, to do almost anything. I'm not afraid to start big projects where I have zero idea how to do any of the steps required at first, and am expecting to learn them one at a time as I go. My dad would regularly jump into things like buying a car with a blown engine and expecting to rebuild it without any clue where to start- and then follow books and advice, and do it successfully the first time. So I learned to also do that.

YouTube has been a huge boon- anyone can learn almost anything for free, without needing someone to teach them first. Also tech like 3D printers allows people to get into making things without the physical skills previously needed.

toomuchtodo
6 replies
3h19m

What time is left after work, kids, sleep, and personal obligations for the median adult?

Awesome hobbies are awesome! But they require time, and in some cases, financial resources.

vbezhenar
2 replies
3h1m

And many hobbies require space. I'd love to do some woodworking but I don't have any space for that. I live in small flat. Of course nothing money couldn't solve, but buying huge house with workshop is another level of expenses and requires lifestyle changes as well.

UniverseHacker
0 replies
2h39m

There are makerspaces and the like- I'm a member of a low cost DIY-centric yacht club where people maintain and build their own boats, and we have a full woodworking shop that is shared/free. We have programs to make membership free for young people and those that can't afford it. You can also make friends with people that have the equipment for just about any hobby, and do it with them for free.

I used to buy/sell/repair cars as an undergrad in college both for fun and spare money, and did it on the side of public roads, and outside in a low budget apartment parking lot.

For many equipment-intensive hobbies, you can also take classes, e.g. at a local community college or community center, which are taught in places with all of the equipment provided.

SaltPork
0 replies
42m

Think smaller, try whittling a spoon. All you need is a sharp knife, you could buy a kit that come with a knife and a spoon gouge(it makes life easier). Pick up a stick and carve something. Or buy blanks, the BORG(big orange retail giant) will have carving material.

The obscene idea is that whatever hobby you pick up you must master, be great at it. Fail a lot at your hobby and learn from the mistakes. Perfection in your hobbies comes from the time you spent failing. This is the time you should long after a hectic day, week or month, a time to fail.

Once in a while you will create something you love, it probably won't even be good. It doesn't matter. Your not making a dollar on your hobby(do not try to), your carving your mind and body into a better person.

After work, after kids, after exercise, I've spent many nights just carving wood into what ever I feel like. Spoons, forks, etc. Many of them suck, many have been used to keep me warm on a cool night, none have expected anything from me, its always there when I have time and the will.

I've also suggest some cut gloves as well, you need your digits for the next time you decide to pick up your hobby.

throwaway918274
0 replies
1h27m

engaging with hobbies with your kids, which can also teach them useful skills, is one way

when I was a kid, when my dad was repairing the house or car I was always "holding the flashlight" or he would actually teach me to use power tools and do the repairs myself while guiding me along.

UniverseHacker
0 replies
2h42m

How much do you really sleep and work in a week? If you work 40 hours a week and sleep 56, that leaves 72 more hours. Most knowledge workers actually do more like 10-15 hours/wk of real focused "deep work" and a lot of people sleep less than that also...

I find plenty of time to do my hobbies despite being a single dad, and having a high stress academic PI job. I have every weekend and evening free, and I use them. I also involve my kid in my hobbies- we do them together, so it's also parenting time.

I think most people aren't short on time, but short on energy because of poor physical and mental health- things that can be solved/addressed. For me, the hobbies themselves are a key part of staying healthy enough to have a lot of energy. But also not the only thing- I had serious medical problems that caused fatigue, which I needed to treat to have the energy I now have.

I also usually find a way to do hobbies cheaply, or even make money at them. For example, with cars and boats I get cheap ones that need work, fix them myself, and usually sell for enough more to keep the hobby self sustaining.

Ultimately, the most important thing is to just do it, even if it seems too expensive/inaccessible/etc. Take a leap/risk and find a way to overcome the barriers, don't come up with excuses to stop before you even start.

Spinnaker_
0 replies
1h17m

The average person is on their phone for over 4 hours a day. You can have a very meaningful hobby with less than a quarter of that.

JKCalhoun
4 replies
3h27m

Yeah, sure can name a lot of friends that consume: mainly gaming and streaming.

Has the curve on the creator/consumer axis shifted in recent times or has it always been skewed toward consuming? Or is there instead a social axis that has been waning recently? I'm thinking of the once popular Bridge card game or bowling leagues as examples...

parpfish
1 replies
3h11m

One of my theories is that the internet and socialmedia exposes everybody to examples of elite talents and raises the bar too much for performance based hobbies. Playing the piano poorly can be a fun and worthwhile hobby even if you’ll never be as good as the people you see online.

And then there a collecting based hobbies* which have been ruined by being able buy rare things from anywhere in a click. Now getting a stamp collection isn’t a pursuit, it’s just an afternoon on eBay with your credit card.

*one exception here is birdwatching, which I’ve anecdotally seen a huge increase in. Almost all my friends are aware of Merlin and many Hanna the habit to stop to ask “what’s that” if they see an unfamiliar bird

UniverseHacker
0 replies
2h9m

I found my enjoyment of a hobby goes way up if I just do it, and don't talk about it online, document/photograph it, or follow people online doing it better than me (unless I am learning a specific technique from them, e.g. watching a how-to video).

Social media totally shifts and ruins our experience of things: it becomes a performance to impress others rather than actually fun itself.

Once I realized that- I realized the people everyone envies online aren't even having fun, or actually enjoying the hobby. That person doing extreme camping on Instagram with the most glamorous photos: it's 100% fake. They're lugging camera equipment to remote places, and likely bringing a professional paid photographer. They probably tore it all down and slept in a hotel after setting up camp for the photo.

underlipton
0 replies
1h40m

Gaming is cheap, has low space and physical set-up requirements, and holds loads of potential for creativity, self-expression, and positive socializing. The FGC in particular embodies this.

gravescale
0 replies
3h16m

I think it's always been about the same. Shakespeare wrote plays watched by hundreds who mostly didn't write plays, Mozart's music halls were full of people who mostly didn't compose, Austen's novels were read by people who mostly didn't write novels.

Maybe it's become easier to consume incredible amounts of content for free recently, but it's also never been easier to make things if you want, either in terms of access to cheap materials and tools or instructional content. Perhaps the one thing that has waned a little is closer-knit forums that have been replaced with endless Reddit.

underlipton
2 replies
1h48m

>I don't understand why more adults don't have awesome hobbies...

If the prerequisites for having awesome hobbies are, "Having a garage," "Inheriting tools from one's grandparents," and "Having the time do something with both," there would be your answer.

UniverseHacker
0 replies
1h8m

There are tons of hacker labs, maker spaces, community colleges, etc. that have woodworking courses and materials in shared places available for cheap or free. The old tools I have are outdated and undesirable. They could be found for under $100 on Craigslist (or more likely free), and fit against the back wall of a 1 car garage- I can still park a car in there and use them in front of the car. My entire "shop" area is smaller than a regular dinner table or workdesk, and I have to shuffle things around and reconfigure the entire space each time I switch tools. For example, I have a table saw that is also the only workbench, and I have a drill press bolted on top of it, so it takes 10-15 minutes to actually clear the saw to make a single cut. I am also a single parent with a high stress/demanding job and my free time is limited- I've been building a very small 6' dinghy with my son for almost a year, and we're only 1/3rd of the way done but we're having fun.

I actually felt a little stupid accepting these tools and setting up a space for them, when I later realized that I already had free access to several local community woodshops through a few different mechanisms... I am thinking about getting rid of some or all of the tools and using those instead.

I think it's pretty easy to make excuses for why something is impossible, but if people really wanted to, almost anyone could do it. The average teenager in the USA buys themselves single outfits of clothing that cost more than the basics to get into woodworking. Most Americans have streaming and Amazon Prime subscriptions that cost a lot more than I spend on woodworking- and I don't have any subscriptions like that.

JR1427
0 replies
1h4m

In my opinion these are absolutely not prerequisites.

I built many things at my desk or the kitchen table in our flat with very simple tools. Even a single Swiss Army knife can be used to achieve a lot. And you don't need a lot of time to make small things.

It can be easy to be jealous of the DIY YouTubers with massive workshops (I'm jealous!), but I find it more satisfying to take inspiration from the kinds of simple things people make/made in simpler societies/civilisations.

switch007
0 replies
3h27m

If I could afford a bigger house with a big garden, shed, garage etc I'd definitely have way more hobbies like woodworking etc (UK here)

sevagh
0 replies
1h42m

I don't understand why more adults don't have awesome hobbies... most of my childhood friends don't seem to do anything fun now as adults.

I get more enjoyment whole-assing one thing than half-assing many, in my case. Not to say hobbies aren't cool - I know somebody that built an entire guitar starting from wood - but I'd rather spend that time going even further in my main thing. "Majoring in the minors" or whatever.

I hope it doesn't come across as some sigma grindset stuff, it's not that I suppress my urge to have fun hobbies - I just feel happier and more secure incrementally building on my main career than creating a new persona for an activity I'm indifferent to.

JR1427
0 replies
1h8m

I just can't help but pick up projects, and these really keep me going. I suppose I crave satisfaction much more than relaxation.

I find it very hard to relax by just chilling on a beach, or reading a book in the afternoon. I just want to work on a project.

What I find really fun is that often when I'm working on a project, my 5 year old daughter will get in to a project mindset herself, and will be working on her own thing (sticky tape, cardboard, etc), while I'm fixing a bicycle or building something. It's a really fun companionable time, where we're both working on our own thing, but in each other's company.

mhaberl
25 replies
7h32m

Even my last team leader sent me a message out of the blue saying “I think I’ll run a bar. I want to be a bartender and listen to other people’s stories, not figure out why protobuf doesn’t deserialize data that worked JUST FINE for the past three years”.

I worked at a bar when I was young, listened to the stories; the most annoying protobuf deserialization issues or 'Agile meetings' are freaking fun compared to the most of the stories you can hear.

This is just comparing apples to oranges. Woodworking or any other hobby that you enjoy will be more pleasing than any real job you will do. Programming is fun, that is why you started doing it. Working as software developer can be less so.

krisoft
6 replies
6h21m

Programming is fun, that is why you started doing it.

For some. I certainly started that way. But many of my friends at Uni started from a different point. I heard many describing how they choose computer engineering because it is perceived as a good career or because they heard it pays a lot. I'm not sure if those people have the same "Programming is fun, that is why you started doing it." to fall back to.

allen_berg
4 replies
5h52m

A lot, most of the people actually who got into software for the past decade or so seem to have been motivated by money. They'd just as easily became doctors or lawyers. And it shows, a lot of software now is just some grey corporate kafkaesque mess.

noisy_boy
0 replies
4h39m

I got into programming before the past decade and initially it was the lure of a good career i.e. money. But when attended my first class, I instantly knew that this was it. Sometimes the path isn't pretty but it can lead to beautiful places.

matt_s
0 replies
5h19m

FWIW this happened during the dot com boom and a lot of them scurried off during the dot com bust. The amount of US salary one can pull with no formal education needed is the driver for this cycle.

My preference in hiring is people that are drawn to computing naturally, they will be there for the long haul.

jvanderbot
0 replies
5h50m

The people responsible for all the packages on npm, pip, cargo, Conan really really love writing lots of lines of code to solve every imaginable tiny problem. So they are out there.

busterarm
0 replies
4h53m

I'm not sure it's just the money. You can still do those other things and make good money.

I think a lot of people are drawn into the industry these days from various online communities because you can enforce your particular viewpoint of social order in a small niche and basically be mini-tyrants. This is very western-world specific, but looking at the "communities" around Ruby, Node, Rust, Nix, etc, it looks fairly clear.

I put communities in quotes because I'm referring to those communities within the community that tend to label themselves as the whole community, write petitions to remove undesirables, etc.

The ability to create a space entirely of likeminded individuals that purges undesirables is highly attractive to certain kinds of people. Saw this happening on forums and bbs first decades ago and now it's the governance body of everything.

It's happened in tabletop gaming too -- one local game group I was a part of got co-opted by a guy just through starting a discord and hosting events. Suddenly a very apolitical community started being dominated by tankie politics and banning of members for wrongthink. We were just trying to game with some minis up till then. I got fed up and quit once the guy running the discord started ranting about how everyone in America should be forcibly relocated to cities and reeducated in more progressive values. I'm just trying to point plastic lasers at people and roll dice, my guy.

beeboobaa3
0 replies
4h41m

Sure, but that's their problem. If you choose to fill your life with an activity you know you won't enjoy then, well, that's your choice.

DanielHB
4 replies
5h5m

Anything you do 40 hours a week gets tiring eventually.

pavel_lishin
2 replies
4h47m

I haven't hit that stage yet.

I mean, yes - work isn't fun. But I have coding side projects I work on, and it is fun for me, still!

all2
0 replies
4h38m

I am very much this way. Greenfield dev on a project that's interesting is very engaging. Munging through thousands of lines of code trying to find the conditional or field that isn't being set properly, or that is being incorrectly accessed is draining.

agumonkey
0 replies
4h33m

I keep reflecting on this, it's always when you get negative mismatch. Being forced to work with the wrong people (too negative, too angry, not motivated) or not having time to work on a good idea or good solution.

When you don't have to suffer these, you can work long, cause it's basically a kind of self fulfilling game.

digging
0 replies
4h21m

Which is why my primary career goal is working less at this point. Not because I hate software engineering, but because I love it...

themaninthedark
2 replies
4h45m

Programing is fun but it lacks a tangible component, I started my studies as a CS major but after a spending an entire spring break writing and debugging(and basically only those things...eating and sleeping happened if I remembered to) were the second year project. I realized that I would end up working the same way, so I found a major that I can't take with me and isn't just contained in my head.

zith
1 replies
4h42m

I worked in the robotics lab at my university for a few months. That was a really nice way of making software more tangible. Seeing things move through physical space made it more real.

Leherenn
0 replies
4h11m

I miss working in robotics, in part due to this. Also implenting a complex path algorithm is so much more rewarding than moving data around. The field testing trips were the cherry on top.

jhanschoo
1 replies
6h7m

I worked at a bar when I was young, listened to the stories; the most annoying protobuf deserialization issues or 'Agile meetings' are freaking fun compared to the most of the stories you can hear.

I'm assuming that by this you mean that most stories you hear around the bar are just the same stories with different characters and protagonists?

doubled112
0 replies
5h56m

"The faces change but the characters remain the same" was some oddly insightful advice I received at my first "real job".

allen_berg
1 replies
5h54m

Anything gets old. I feel like a lot of the problems my friends and I have with software work comes down to having to wrangle the same sort of nonsense week in, week out.

Alienation of the workers and all that. Profitable but psychologically damaging. We thrive when we get to be whole persons.

arcbyte
0 replies
5h23m

It's not profitable and we should stop saying that. The issue is that there's just not enough quality out there so companies accept less quality and have to start managing for it.

If they could hire fewer people who crank awesome shit out they would.

alexfromapex
1 replies
4h37m

The nicest part of working at the bar is when you leave the bar you're done working. Also, you don't need to get your drink pouring approved by another bartender that nitpick small details of what you did to boost their own ego.

digging
0 replies
4h21m

Have you worked in a bar? Both of those things can be untrue, lol.

uxp100
0 replies
7h2m

Yeah, I know a few white collar workers bartending or in a kitchen, one weekday night or so, but they had a lot of experience with the service industry before they got a white collar job, and worked in lower paying business side and non tech engineering jobs where the extra money was a little more appreciated, if not their main reason for being there. (The bartender wanted “forced” socialization and the cook was a food enthusiast who wanted to keep his skills sharp). I’m not saying a “techie” wouldn’t or couldn’t do it, but if they’ve never done it before they don’t know if they’re the type of person who would be burnt out by it or rejuvenated.

danielvaughn
0 replies
4h12m

The grass is always greener and all that.

I'll be 40 in a few months, so recently I've been a bit more pensive than usual, reflecting on where I'm at in my life. One of my biggest regrets so far is how much time I spent wishing I was somewhere other than where I was.

agumonkey
0 replies
4h37m

It's the timeless notion of "work". All the chaotic constraints thrown at one person: teammates, customers, tooling, psychology, politics.. they will turn anything into a slow boiling hell.

That said some domains are cleaner than others, just like small rivers have clearer water, I remember working in food stores or even mechanics and you don't get the same kind of fatigue as in software engineering. The stimulations are more diverse, a bit deeper (helps getting into flow in a way) and the culture helps (less discussion about shallow things like indentation). Fast food for instance, being a real-time thing requires tight planning and tight execution, no space for slack. It makes you sweat but you get seriously fast and good at your operations. Unlike coding where you can spin in circles for ages never get anywhere, and go home drained feeling useless.

JadeNB
0 replies
4h53m

Woodworking or any other hobby that you enjoy will be more pleasing than any real job you will do.

I think that you mean that a hobby (that you can pick up and put down as you please) is always more enjoyable than a job (at which you must work, usually on someone else's schedule, to make money), but, just to be quite clear, there's no reason that woodworking can't be a real job.

anonzzzies
10 replies
8h36m

I am working on coding stuff I like as escape for the absurdity of modern software. I make little games, stuff for 8 bit systems etc. Stuff that is as far away from anything modern , especially the hell of node, next, devops and ‘web frameworks’ as I possibly can. It works. It’s very relaxing, like a bonsai tree.

huppeldepup
5 replies
8h15m

I wonder whether we’ll see the same parallel as with cars: those with tech and those without - old-timers.

I only code as a hobby anymore. Burnout destroyed my career and now I design PCBs and write embedded software without LLMs.

lumb63
4 replies
7h34m

+1 for embedded software. I work for an IoT company and the web and app devs think LLMs are the saving grace of the universe. The firmware team just keeps chugging along, ignoring the noise, debugging hard problems, and writing unsexy low level code.

tonetegeatinst
3 replies
6h49m

Security student here. Just wanted to say that while not everyone appreciates the firmware programming at such a low level....it is truly a dark art to me and I find it really interesting and always want to learn more.

vbezhenar
1 replies
5h7m

Here my take. Not a pro, but still might find useful.

1. Learn basics of electricity, learn to use oscilloscope, logic analyzer. You don't necessary need to have knowledge to design complex PCBs (that's a separate skill and not easily attainable) but you need to be able to understand existing design on high-level and do some debugging. For example you wrote code which does some SPI to talk to some device but it does not work. You need to analyze electricity to understand what's going on in the wire.

2. Learn basics of assembly. You don't need to write your software in assembly, but you need to read it and write some little snippets if necessary.

3. Learn to read data sheets.

Modern MCUs and devices are really like libraries. You're using some interfaces, calling some functions and get some responses. Data sheets are library documentation.

4. Learn C, learn build tools (at least make), learn debugger (gdb), learn linker.

Then it's only matter of time and experience. Most vendors supply their terrible libraries that you're supposed to use. Most vendors support some bad IDEs that you're supposed to use. Often you're forced to use Windows because not everyone supports Linux or macOS. It's not fun part and sometimes you can avoid it, but sometimes you can't.

AlexandrB
0 replies
1h38m

3. Learn to read data sheets.

Learn to read documentation in general. It's shocking how many people seem incapable of finding answers that are in official documentation but not on Stack Overflow.

lumb63
0 replies
4h14m

The most humbling part is, there’s always another level down. I thought programming code for the Linux kernel was low-level, until I worked on a team where there was an entire separate MCU on the same package underneath the primary cores running Linux that booted and controlled the whole system. I thought that was low-level until I worked for a team building a similar chip and had to participate in the design and validation efforts for it. There is almost always a whole world beneath the level of abstraction any of us operate on. Beneath the software world are IP blocks, which are composed of digital logic circuits, which are composed of transistors, which are governed (if you get small enough) by quantum effects… reaching the bottom is nearly impossible; it’s very humbling.

This is especially true from a security standpoint. Many analysts are worried about XSS attacks and other such high-level techniques. C has an entire different class of vulnerabilities such as buffer overflows. And beneath that, there are countless vulnerabilities by exploiting properties of the physical hardware. Most industries choose to ignore these problems, because they’re very expensive to mitigate.

fredley
2 replies
8h10m

I do this too. Making games for the Playdate has been the most enjoyable programming I've done in years.

anonzzzies
0 replies
8h0m

Yeah, programming used to be excellent and that’s not nostalgia as I still write MSX, Amiga and Delphi (win/lin) software. Now, with modern stacks, I just hate all of it really. I do it fulltime for work with nextjs (and all the du jour stuff that literally changes every few months and makes life easier: secret it doesn’t at all) but we are transitioning everything to my Common Lisp dsl; in one year even my work software will be a pleasure again. Stuff I should’ve done 20 years ago but I drank this modern tooling koolaid; it’s more akin to the layers of hell.

tsunagatta
0 replies
19m

stuff for 8 bit systems etc.

Seconding this; I recently wrote a game for the GameBoy Color in C and it was one of the most enjoyable things I’ve done with coding in a while.

withinboredom
9 replies
8h46m

Supporting software is the hardest job, IMHO. People ask some really dumb stuff -- not out of stupidity, but of ignorance; they just don't know what they are asking. To them, the "why is this broken" is "100% your fault and 100% fixable but you are too lazy to fix it."

It's maddening, annoying, and 99% of the time, not worth dealing with if you can help it.

mavamaarten
5 replies
8h34m

Absolutely. People nag our customer service until they get redirected to us (software engineers). When you finally spend expensive time looking into their issue, finding the root cause on their end, take the time to explain it in detail, more often than not the answer is among the lines of "couldn't be bothered to read your response, it still doesn't work, fix it!".

I love software development. I love building both simple and complex systems. But users often suck, and honestly sometimes even the people you're making software for suck. I just want people to be grateful for what I'm doing and I honestly find that lacking a bit in our field.

MyFirstSass
2 replies
7h51m

Same in many industries.

I have friends who are restaurateurs and people are often extremely ungrateful, demanding and straight up mean.

Most don't earn a lot, margins are slim and people are late, you have to perform 100% for each dish, then people don't show up, get mad when arriving late, want well done when they say rare, or think the chef can just magically change the recipes to accommodate bizarre allergies or lifestyle choices when juggling 20 dishes at a time with a kitchen that off course has been prepped to the max and a few dollars on the brink of bankruptcy.

Ie. people are just people. Better get used to it, same with employees.

I have so many insane stories about this personally.

I once made a PDF processing tool for a company that saved them a lot of time, was pretty expensive and worked brilliantly until it "definitely broke" and i used 1 stressful month back and fourth figuring out why until i saw it was an employe that always "personalised" the PDF's with cute emojis, saved it before sending it further up the chain actively corrupting it so TOC and links were destroyed because of an old version of Acrobat Reader - this was after i asked 10 times if anyone tampered with it in any way.

It's always some human process, organisation, idiosyncrasy or politics taking up 80% of the time while 20% is spent on the actual work.

Aeolun
1 replies
7h21m

I find that after about 15 years of it I have a pretty good intuition for when it’s a ‘me’ problem versus an external one.

MyFirstSass
0 replies
3h57m

Definitely a problem on my end sometimes, but usually i'll figure that out if i just grind hard enough, the crazy time sinks are almost always from miscommunication somewhere in some org.

qiqitori
0 replies
8h17m

It's the same with many things. Hotel users suck sometimes, restaurant users suck sometimes, even museum users suck sometimes. Some people are grateful, some people think you're the hostile one.

peteradio
0 replies
4h40m

Customer service for software should be high skilled and paid correspondingly. They should be able to take a customers project and reproduce the issue and likely answer the issue without involving software dev. I worked under a place that operated like this and thought that the issues we did see were legitimate and it fostered a desire to help the customer rather than resent them. Customer service was not easy there.

surfingdino
0 replies
7h49m

I stay away from "civilians", i.e. companies that do not already have an IT department tasked with software development. They do not know how software works and refuse to meet the most basic requirements for learning how to use software or for entering data.

ravenstine
0 replies
7h45m

That and there's essentially no respect for the need to make existing software better. Product owners want feature upon feature and usually aren't interested in actual UX polish as long as the design looks pretty enough. Software engineers usually either don't have much power to push back against this or, if they do, they tend to be spineless.

By and large, we are not doing a good job, and we are not often allowed to actually do a good job. Modern software frustrates me to no end, and in the last few years I've been noticing more non-technical folks getting frustrated. Everyone expects apps and websites to randomly fail in stupid ways or do things in ways that are not intuitive. I barely want to tell anyone I'm a software engineer at this point because it's embarrassing.

pb060
0 replies
5h3m

Agree, the thing I hate most is people saying that it's "not user friendly", not realizing that it might be a subjective thing, and it's a very generic way of putting it, and how hard it is to satisfy hundreds of idiotic conflicting requirements. And most of all that it's them not wanting to put any effort in learning a new tool and asking developers to smoothen every possible use case, which is impossible.

bmj
9 replies
7h24m

I went through those stages too: when the Agile meetings at my last job got so absurd that we were being asked to estimate JIRA task time in T-shirt sizes

Oh, boy, I can relate. Every three months, I think our program increment planning meetings can't get more ridiculous and, yet, they do. Most recently, we were told that we should just treat story points as days of effort.

IshKebab
5 replies
5h56m

I don't think t-shirt sizes is absurd. It's one of the few good ways that really conveys "we have only a very vague idea how long this will take".

Story points are dumb because they always are just a bad proxy for time.

Really though, the right solution is time plus confidence. Instead of "4 days" it should be "1-8 days" or whatever.

Unfortunately a large number of people simply can't comprehend this, and also no tools support it, so I've never seen it actually done. I imagine management wouldn't like it either because then they can't pretend they have a perfect plan with no uncertainty.

conductr
3 replies
5h4m

I feel like if that task took 8 days you’d end up having to explain everything that happened and why it couldn’t be done in 1.

IshKebab
2 replies
4h49m

What would you rather - it took 8 days and you said it would take 1-8 days, or it took 8 days and you said it would take exactly 4 days?

In any case, there should be absolutely no problem explaining why it took 8 days if it really did.

ruszki
0 replies
3h50m

I never understood this sentiment. It seems to me that the communication is broken, when a developer has problems with delays. It’s not their decision, and it’s not their risk. If developers report uncertainties properly, even during development, when a previously unknown unknown appears, or a known unknown takes longer than it was estimated, it’s not their fault. If this doesn’t happen, it’s obviously difficult to explain. Otherwise, I never had problems with even delays 4x the original estimation, because every party knew even from the start, that we had no idea how the end result would look like.

conductr
0 replies
3h32m

if it really did

The fact you even had to say that part points to the management problem at hand. Not only are you trying to keep idle time low, you're trying to estimate essentially unknown timelines, and you have to think about whether people are even telling the truth or padding hours where they feel they can.

I just think the range is too wide. Sure anything can be a 1 day task (potentially just an easy solution to add in, or some variables/settings to change, etc). And any 1 day task could be turned into an 8 day task (anything from refactoring unnecessarily, all the way to just walking the dog too frequently). I'm left wondering, how long should this task have taken?

Kon-Peki
0 replies
1h4m

Really though, the right solution is time plus confidence. Instead of "4 days" it should be "1-8 days" or whatever.

It's a half-assed reimplementation of PERT charts, which were invented in the 1950s and used successfully for many decades, until everyone decided that everything old is terrible.

bengale
1 replies
6h56m

At least there is some honesty there. Everywhere that does estimates, even if they make the devs think its complexity or some other nonsense, is translating that to days somewhere down the line.

swader999
0 replies
5h55m

I spit my coffee all over the table when they ask for days. And they look at me like I'm crazy.

rvense
0 replies
6h33m

We should call them fairy tale points.

mattgreenrocks
7 replies
8h37m

software dev as we know it is about to disappear soon

Pushing back on this a bit. We see promises and people working on this. But I haven’t seen anything definitive yet, and LLMs have their own existential threats around amount and quality of data. Recent article involving trying to get LLMs to reason about law required very fine task decomposition to get move forward. What we don’t know is whether doing this and then handing it to an LLM is as beneficial to humans in speed/quality/feedback as simply doing it yourself. Have already seen people saying that copilot’s interaction loop short circuits actually thinking about the problem.

Regardless, hobbies outside of work are absolutely essential in this absurd time. The author made some beautiful things.

anonzzzies
5 replies
8h31m

Hobbies outside work can still be coding. Code is not the same as it was with LLMs but it’s more effective for work and outside work. The LLMs just help but for me they don’t make coding less enjoyable outside modern web crap that is.

jstanley
4 replies
7h4m

Why do LLMs make working on modern web crap less enjoyable?

anonzzzies
3 replies
7h0m

Too many hallucinations because changes in fast changing libraries. It makes up functions that were removed and libraries that have been deprecated. With robust stuff that doesn’t happen. It is frustrating. Even copilot regularly includes some react lib that doesn’t work anymore for the past 3 years because it depended on old stuff that is full of security issues, bugs or doesn’t work on a new node etc etc. So then I spend more time on finding what is the newest (greatest … cough) thing to replace it than I would have done just searching google.

mattgreenrocks
2 replies
4h47m

It’s funny because a big draw of React is the sizable user base and library count, but that ends up being a double edged sword when using LLMs for codegen.

evilduck
0 replies
3h12m

RAG and large context sizes mitigate this well enough for me. Ingest the library's docs (and maybe a sizable chunk of your codebase) and use that to get better LLM output that isn't out of date or hallucinated.

anonzzzies
0 replies
4h31m

Well, if they are not up to date I guess with the latest; it changes so fast and there are so many examples of all different flavours of how to do something... I guess they will find a mechanism which will make newer info more relevant and older info more forgotten in some cases and also a way to draw in the latest all the time. My problem is more the not built/designed etc here issue; when you have a react WidgetBlah library and someone else also wrote one, there are reasons you rolled your own (often also not but ok), but why didn’t you keep the api the same. People talk about features here as a reason for breakage but when I compare a breaking feature change (for instance, a react component sig changed from one version to another) then I hardly ever see a reason why that was not made backward compatible. I have complained about this in many GitHub issues and the answer is usually ‘this way is better, just refactor it: it’s easy’. Sure it’s easy but it’s work and this happens a little too often. Sometimes I would like Java standard bodies and voting about api changes and this is one of those.

devwastaken
0 replies
7h55m

It doesn't matter, it was never about LLM's, it's that tech holds special political powers across nations. Big tech can break laws and destroy people's lives and nobody is ever punished or regulated.

Software is in a race to the bottom because users have little market choice. LLM's are just the excuse, but in reality late stage capitalist economics demands that this happen somehow. Wether it be in the form of cheap labor or automated labor. You need to have political and physical leverage over the corps to force them into being sustainable.

jeromenerf
6 replies
8h30m

You can find all the problems of Software in Woodworking, except that sometimes, using an axe is a legal and well-suited move.

asddubs
4 replies
8h28m

You would basically never use an axe in woodworking. It's widely considered bad practice, produces unstable results, and there are better tools available

peschkaj
1 replies
7h24m

Well, I mean you could use an adze or a froe. Axes are really common in green woodworking (chair making) and they’re great for getting wood to split along the grain.

raddan
0 replies
5h37m

I second the green woodworking comment. An axe (and wedges) are a good way to hand-split logs into boards. And easier than doing it with a saw in some cases. Hand tool woodworking really makes you appreciate the multitude of weird old tools you find in antique stores and how clever people were when using human power before power tools.

swader999
0 replies
5h50m

I use an axe and a draw knife on logs. This closes the pores and helps preserve the wood longer than if you put a sander on it.

marcuskaz
0 replies
3h17m

You can find all the problems of Software in Woodworking

Including the questioning of the tools you use, and people telling you "you're doing it wrong".

logrot
0 replies
8h18m

No.

skeeter2020
5 replies
2h57m

Nothing destroys your love of a hobby, even one that you are passionately (or even obsessively) dedicated to, like making it your job. I LOVE riding bikes but all the BS of working in software is preferable to trying to support my love of bikes within the broader industry of bikes.

The word "amateur" has negative connotations, but should really be interpreted as "not your primary pay cheque", not that you suck.

throw0101b
3 replies
2h47m

The word "amateur" has negative connotations, but should really be interpreted as "not your primary pay cheque", not that you suck.

The negative connotations is a more recent development:

The meaning "one who cultivates and participates (in something) but does not pursue it professionally or with an eye to gain" (as opposed to professional) is from 1786; often with disparaging suggestions of "dabbler, dilettante," but not in athletics, where the disparagement shaded the professional, at least formerly. As an adjective, by 1838.

* https://www.etymonline.com/word/amateur

It comes from the from the Latin amatorem, "lover": someone who does something not for any practical reason, but simply for the enjoyment / love of the activity. How well one does it does not necessarily come into consideration, as long as there is enjoyment.

lolinder
2 replies
2h8m

How well one does it does not necessarily come into consideration, as long as there is enjoyment.

Indeed, the Olympics is technically supposed to be an event for amateurs, while also being generally perceived as the peak of competition for each relevant sport.

hervature
1 replies
1h13m

The Olympics were originally meant to be an event for amateurs but that shift happened a long time ago. The IOC in 1986 let the individual sports federations make a ruling on whether pros were allowed. I think the only sports left for amateurs are wrestling and boxing.

isametry
0 replies
2h54m

Isn’t “hobbyist” the exact word you’re looking for?

tmarsden
4 replies
31m

I think this all boils down to what Ted Kaczynski talked about in "Industrial Society and Its Future." Specifically "The Industrial Revolution and its consequences have been a disaster for the human race" because "in modern industrial society only minimal effort is necessary to satisfy one’s physical needs." I would say 99.999% of all modern work is "surrogate activity" (an activity that is directed toward an artificial goal that people set up for themselves merely in order to have some goal to work toward.)

It's no surprise you can end up feeling empty and unfulfilled in a career like software development, or any other modern career, you are putting energy and emotional involvement that you would otherwise have put into the search for physical necessities. I think this is particularly acute for those in software development because it is so abstract and disconnected from the physical world. Biologically speaking fulfillment should come from satisfying your physical needs (i.e. surviving) not from the pursuit of some made up goal.

jayd16
1 replies
19m

What about attracting a mate and social status. Those are fairly ancient goals that are relevant in the modern world. How does that impact the conjecture that we're wired for survival only?

tmarsden
0 replies
9m

Attracting a mate and reproduction easily falls under "satisfying your physical needs" and I would argue is a deeply wired survival instinct.

In his words "the pursuit of sex and love (for example) is not a surrogate activity, because most people, even if their existence were otherwise satisfactory, would feel deprived if they passed their lives without ever having a relationship with a member of the opposite sex."

freedomben
1 replies
8m

It really is a shame that he ended up getting violent, because "Industrial Society and Its Future" is one of the most interesting, insightful, and fascinating things I've read. I recommend it to everyone.

IMHO it's a classic example where "the author is excellent at identifying problems, not good at identifying solutions." Unfortunately almost nobody reads the first (identification) part because the solution part is so unpalatable and unacceptable. For anyone who doesn't know, Ted Kaczynski was the Unabomber and his solution to the problem of technology was basically to destroy the entire system by wiping it out in a way that leaves no ability for humans to resume technological progress, and violence was his way of beginning the societal destruction part. From a purely theoretical/philosophical view it makes logical sense, but for most people who have a sense of compassion and empathy the costs are extremely unpalatable.

tmarsden
0 replies
6m

Completely agree, his ideas could stand on their own there was no need to push them with violence.

dekhn
4 replies
1h55m

My woodworking often uses absurd software; for example, the tool I use Fusion 360 is one of the most extraordinary programs I've ever used. It embeds so much engineering and technology in service of making my life easier. The end result is a static "program" that I send to my CNC which creates art that could be made by an extremely skilled woodworker- but I just sit here waiting for the machine to do the work. I actually enjoy this much more than spending the hours to carve the same work with my own hands, but I also do enjoy the visceral experience of using analog hand tools. I mostly start with STL meshes sold on etsy.

THere is a programmatic aspect, too: Fusion360's modeller has a Python API that lets you programmatically build and evaluate designs. I rarely use this, but it does come in handy. For one project, where I wanted to make a 3D topo-style map of California (basically this: https://www.youtube.com/watch?v=LZkQ8pA_TLY) it was a great opportunity to learn geo (using the great GIS package, "OS4Geo", especially QGIS), turn that geo info into a mesh, and then render it in wood.

Stay-at-home-for-COVID made my life a lot easier, as I could start a carving in the morning and let it go all day while sitting nearby and programming.

ToucanLoucan
3 replies
1h52m

What CNC do you use? I've been into 3D printing for a bit and was debating getting into CNC as well.

dekhn
2 replies
1h48m

I have a Genmitsu 4040 Pro https://www.sainsmart.com/products/genmitsu-4040-pro-semi-as... with the upgraded XZ (if you experience chatter, you can send support an email with a photo and they will send a replacement part; I just installed it yesterday and it's greatly improved my results). I haven't really accessorized it, other than to replace the included spindle with a Dewalt 611 router.

Before that I had an XCarve but it was just too big and not rigid enough. I owned several early Shapeokos, which were simply not rigid enough. The 4040 pro is the first router I've had that's actually worked the way I expected (and even then, it clearly has some issues) in the cost window I care about.

CNC brings challenges (and joys) that 3d printing does not have. You have to spend a lot more time thinking about the tools and their paths, mounting the work in the CNC, dealing with dust, etc, etc, but it's really reawrding to hand somebody a carving and see them blown away by the results.

ToucanLoucan
1 replies
1h42m

That price is not bad at all for that kind of machine, especially if it's stable. My dad had an XCarve for a long while but he eventually just gave up on it. He was going to give it to me but I was reading about it and it just seemed like more bother than it was worth, especially given the physical space required.

dekhn
0 replies
19m

yes, the xcarve was nice but took up a big corner of my garage and honestly I wasn't cutting stuff near 1m x 1m and the ~400 x 400mm of the 4040 pro is more reasonable. It's stable (rigid) but not extremely so. You will not be able to make cuts as deep as you want, and aluminum will be challenging. But it's great for carving up a hunk of figured maple into art, as well as many other workflows.

There are things like the MPCNC ,and building your own design with OpenBuilds, but I don't recommend them unless designing, building, and maintaining is what you want to spend your time doing.

WillAdams
4 replies
5h55m

Interestingly, Glenn Reid also escaped from making software (Touchtype.app, PasteUp.app, wrote "The Green Book", _PostScript Language Program Design_) to making dovetail joined furniture by hand.

That said, I've always described the "Maker" movement as "Geeks who missed shop class", and have argued that the world would be a better place if the Sloyd system of woodworking as a basic constituent of education was prevalent:

https://rainfordrestorations.com/tag/sloyd/

Students may never pick up a tool again, but they will forever have the knowledge of how to make and evaluate things with your hand and your eye and appreciate the labor of others.
jimbokun
3 replies
3h0m

Isn't it more Geeks who enjoyed shop class, but went into software because it paid more?

(I'm the Geek who hated shop class, and thank my locking stars I can make a living writing software, decades later.)

WillAdams
1 replies
1h58m

No, given the naïveté with which "Makers" approach things, they don't seem to have had real shop-class experience, or at least not a sensible class which actually taught anything meaningful.

JR1427
0 replies
1h1m

What?! You mean 3d printing is not always the right answer?

Shocking!

hinkley
0 replies
2h37m

Being reductive af and a little sardonic: I couldn’t think of a job that involved LEGO before I encountered my first programming class.

t43562
2 replies
7h59m

I have to laugh because I find almost all programmers are like this. They are almost always people who like making things. A lot of them are musicians too.

I find DIY to be similar - you get a physical result, you use your hands to make something, the satisfaction is almost always about pleasing your own sense of what you want. Ok there's the wife too but ....

I also like feeling that I can cope with certain jobs even if not well. Also you do get better. Baking and cooking can be like this too. When you learn the "tricks" that make your bread turn out better or your skirting boards line up properly or whatever then it's a super feeling. :-)

xandrius
1 replies
7h36m

Yeah, agree!

I also find cooking (not necessarily baking) to be quite similar to programming: you follow steps and if some bug happens in production (too salty, too thick, not flavourful enough) then you go in and try to debug it and fix it (I guess the simile breaks down here).

But if someone is good at breaking down IT tasks, I believe they will be able to prepare a large meal with multiple courses, as I find it requiring a similar mindset to releasing a feature.

anal_reactor
0 replies
7h17m

I love baking! I purposefully don't try to optimize my recipes so that there's always a bit of art, magic, randomness, individual element to it. It's so much fun compared to corporate job!

jnsaff2
2 replies
8h34m

when people started coming with so many unrealistic and absurd expectations and demands about what my furniture should do

There, fixed it for you.

People are the same just pay sucks way more.

I wholeheartedly endorse woodworking as a meditative hobby to forget about your day work but as a career path you are going to have some very rude discoveries.

Looking at their projects it's mostly basic carpentry level as well. Fine woodworking, the projects where you can charge five figures for a dining table (and you spend a few months making it full time), needs much more design vision and years of practice. Those 10k hours required to master a skill seem about right.

Been through a burnout 20 years ago, had to take a year off and then discovered that if you place correct boundaries and don't let people mess with you, our trade can be pretty enjoyable.

criddell
1 replies
4h56m

projects where you can charge five figures for a dining table

The best way to avoid turning a meditative hobby into a job is to resist the urge to monetize it.

Your basic carpentry diss is unwarranted IMHO. I enjoyed reading about and seeing the projects produced with simple tools and some work. The author is clearly very creative and resourceful and I bet this inspires a few people look for a creative outlet of their own.

jnsaff2
0 replies
3h17m

The best way to avoid turning a meditative hobby into a job is to resist the urge to monetize it.

This is exactly what I meant. However OP started off talking about switching careers.

As a hobby they are doing great, producing stuff they need and having fun doing that. No-one can criticize this.

Your basic carpentry diss is unwarranted IMHO.

If it's a hobby sure, absolutely. I think the stuff they are doing is fine.

But as a new career this is going to be very tough if they don't up their game into some direction that is either very efficient volume production or high quality design and craftsmanship. There are obviously also education and youtube paths but both have also tough requirements.

Even famous fine furniture makers are complaining that it is very tough to live off commissions.

austin-cheney
2 replies
7h20m

Last year I abandoned my JavaScript career of 15 years. I made a promise to myself that I will NEVER go back for less than $500,000. Yes, the number is large enough to reach absurdity, but that’s the point.

I am currently happy at my current job that pays well enough writing proxies. The team and leadership are great with tremendous internal training. It just feels military, which is fitting since it’s at a military organization.

If this line of work doesn’t work I will still not go back to software. I would rather be unemployed and lose my house.

cyberlurker
1 replies
6h33m

Either you should speak with someone or you’re not being genuine. Sorry that your experience led you to believe you’d rather be homeless.

austin-cheney
0 replies
3h21m

It would be hard for some people. I am well conditioned to live on less by my part time job.

whartung
1 replies
3h59m

I used to (actually I still do) quip about if, back in the day, I spent the money I did on computer equipment instead on woodworking tools, not only would I have a shop that could probably compare with Norm Abraham’s, but id still have a majority of them and they’d still work.

cityofdelusion
0 replies
2h40m

Woodworking is insanely expensive from my experience. I saved way more money when computers and electronics were my hobby. Some software is like what $50-70 max? A full 3d printing kit is $1000. Buying mere wood to start a project is in the hundreds, minimum, and the tool equivalent to a high end Ryzen processor _starts_ in the thousands.

trey-jones
1 replies
4h15m

I reached this point after the small company that I work for had a terrible 2023 and I realized I hadn't been having fun or looking forward to going to work for probably years. Now I'm actively looking to get out of the industry. I haven't had an interesting problem to solve since I can remember, and all the other absurdities mentioned in this thread apply. I turned 40 in December, maybe that has something to do with it. Early midlife crisis or something.

threetonesun
0 replies
3h45m

Similar age. Got let go from a job last year after a few years of being burned out by what I was working on. Looking around for a new role there was a lot of positions where all I could think was "why does anyone even care about this", let alone how could they expect me to care enough to be some sort of super supporter, available all hours to work on it.

I dunno that it's a midlife "crisis" per se. I think the older you get the more aware you are of the time that's left, and you ask "why are we doing this" instead of assuming there's time to do anything.

sesm
1 replies
6h29m

There is a talk 'Programming With Hand Tools' by Tim Ewald, where the author explains why he uses hand tools (as opposed to electric tools) in his woodworking hobby and how this might be reflected back to programming.

raddan
0 replies
5h31m

I haven’t seen the talk but I think about this comparison all the time. Knowing how to use hand tools makes you keenly aware of your material. I was recently surprised to learned exactly what “against the grain” meant while trying to plane hard maple. This awareness translates into a more nuanced understanding of power tools and has made me a much better power tool woodworker. Understanding programming tools all the way down to bare metal has the same effect. I teach a computer security course where we look at a number of classic control flow attacks (eg, stack smashing). Students are simply unable to explain the behavior I show them until they get all the way down to raw memory dumps of programs.

The only downside to seeing this connection is that you’re constantly tempted to use idioms from woodworking to explain programming problems, which just confuses most people.

koonsolo
1 replies
6h41m

I don't think the difference is between software vs any other endeavor.

I think it's working for a huge corporation vs a tiny one.

If you feel drained by all the bullshit of your current development job, I'm guessing you work for a huge company. Start work at a <10 employee company, and see if you can find more job satisfaction there.

mym1990
0 replies
3h28m

There are tradeoffs too though...large corporations can offer large problems to solve too, even though they will often be behind a bunch of red tape. Some people are well equipped to deal with that. Some people are okay with encountering the red tape, and waiting the 3 months for it to resolve...in the meantime you focus on other things, still get paid, and then go home and focus on hobbies/family/whatever. For the people that want to "move fast and break things"...yeah don't join a fortune 100/500 company.

knighthack
1 replies
1h51m

As a lawyer, I find the law (which is supposedly 'logical' and 'rational') to be highly absurd at times. It's unavoidable, given that the law heavily involves humans.

I am in part drawn to software development and programming, because it's logical and comparatively rigid (at least programming itself is, if you take away the environment/ecosystem/cults that develop around the idiosyncracies of different languages). I find programming very far from absurd.

I am therefore surprised to see software programmers claiming that software development is absurd - and that woodworking could somehow be less so.

The grass is always greener on the other side. (And I still can't accept that programming itself is absurd.)

taysix
0 replies
1h40m

You are correct to a point. Programming is not absurd until you involve the humans! Your end users will end up driving you crazy.

hn72774
1 replies
2h36m

Having interests outside of work is important for me. When I get too focused on any one thing, work or whatever, I start to lose the forest from the trees. It also helps me keep my identity separate from my job. There is no company loyalty to employees anymore.

A hobby gives me enough distance from work problems to come back to them with a fresh perspective and more energy.

hackernewds
0 replies
2h22m

That is a great perspective. I've learned the importance of diversification of my identity.

Often when people are asked who they are, they respond with their job titles.

helpfulContrib
1 replies
8h17m

I've recently started gardening as an alternative to the near-daily exhaustion I feel as a result of hacking just too hard on things.

Let me tell you, there is nothing more joyous than going outside 3 days after planting new seed varieties in a recovered-soil hügel-bed, and seeing brand new leafy life reaching for the stars. I get the same sort of buzz out of watching seedlings push dirt out of the way, as I used to get from checking for PR's on some of my repo's, lol ..

Its at the point now where I have to have a desktop garden, or else I just don't feel complete as a human being. Lucky, there are tons of things I can take from my new hügel-bed's to plant on the desk, herbs, spices, salads and things .. its just so rewarding.

So yeah, garden, programmers. Garden. Its so good for you. And you can get a buzz from the methods, just like you do with code, too ...

RaoulP
0 replies
7h3m

Vouched for this comment. I’m not sure why it was dead.

esarbe
1 replies
6h14m

I recommend gardening.

It's really satisfying to see stuff grow, to learn how to tend to plants, how they compete and cooperate.

It helps me to preserve some sanity.

mym1990
0 replies
3h26m

I tried out hydroponics over the pandemic and it was fantastic! I stuck a pepper plant into a cup of water, made sure the nutrients were right, and watched that thing go off, I was an extremely proud plant dad.

cyberlurker
1 replies
6h37m

Nothing wrong with finding a new hobby but this is a stereotype of tech workers. If it isn’t woodworking, it’s beekeeping or some other perfectly fine side quest.

I have a small issue with the way the people who get into these hobbies are so bitter. Every job has stuff like this, we aren't special.

jebarker
0 replies
5h8m

Every job has stuff like this

And many jobs have much worse stuff like danger, filth, hard manual labor, no social standing etc

TacticalCoder
1 replies
4h56m

It s not software that s absurb, it s society at large that is. Starting with the insane pointless bureaucracy then trickling all the way down into every single aspect of our lives.

I love coding. And I love woodworking too: there are so many videos out there to help you get started. Learning to use dowels was quite the revelation for me.

Still very scared of the table saw (Don t have one yet).

erellsworth
0 replies
3h53m

I think a little bit of fear is a good thing when it comes to power tools, especially those that have spinning blades. That said, if you have the budget a SawStop might help you overcome your fear enough to start using a table saw.

softwaredoug
0 replies
3h12m

I’m not sure what’s actually absurd: software or a software career.

I enjoy the former. I enjoy collaborating on my craft and doing something fun and cool. I like the people I work with and enjoy helping grow and build other people’s careers.

Then there’s the reality of navigating a workplace - the “career” has the silliness of managing narcissists aspiring to be the next Steve Jobs. It’s generally lucrative, but that money attracts its own absurdity and egotists, putting more into advancing their status in an arbitrary org structure than building. The older I get the less energy I have for these sorts of politics.

simonsarris
0 replies
4h16m

I don't understand why it has to be exclusive or comparative or even complimentary.

I do a lot of programming, some wood working (a little fine stuff but also timber framing), stone work, and (ornamental) gardening. I find all of these things very similar. Building, guiding things that I don't quite control towards an end I want. Open-ended and creative. I find all of them very relaxing.

software dev as we know it is about to disappear soon

circa 2006 my father begged me to not pick Computer Science as a major. He was certain by the time I graduated there would be no jobs left.

And I got so tired of everything being online, immaterial, ephemeral and lonely, like indie development tends to be.

Ah well, it's good he's not gardening!

readingnews
0 replies
6h22m

Replace woodworking with "any hobby you want to pursue".

I find that a lot of people go to work thinking they enjoy it, and wake up later and realize it is just "work". This leads them to go off and figure out what they really enjoy, and they start doing that (they call it a hobby). Some of them ruin their hobby, by turning it into a full time job, where once again, it just becomes "work".

rcarmo
0 replies
5h43m

s/woodworking/3d printing/ and yeah, I feel ya.

rambojohnson
0 replies
3h32m

~ from the absurdities of corporate. not software.

pojzon
0 replies
3h5m

I like how everyone talks here only about how much spare time they have on prpeuctive things.

Some ppl simply dont have money to start:

- woodworking

- sailing

- skying

- buying motors

- building boats

- renovating cars

Be happy you are in 1% of the richest ppl on the Earth.

Most of my friends are happy when they can get by in given month.

peteyPete
0 replies
3h17m

I've found myself doing this in the past 5 years as well. After decades in development, I decided to bite the bullet and buy a house. I've since then slowly been converting the garage into a woodworking shop. Most of the projects I've completed are for the workshop itself. I've spent way more time on what I've built than any sane person should but I'm using my shop furniture as a learning experience and nitpick everything.

There's definitely a different type of satisfaction/reward you get from finishing something you put a lot of time in when you can feel and see the thing. I guess it aligns with why I enjoyed front end dev more so than backend enterprise stuff. Its visual.. With woodworking, its not only visual but a physical object. You see every inch of it, every corner, every joint, everywhere where you fixed something, where you took the time to perfectly sand a surface to ensure it looks just perfect in the end.

I also usually put on an audio book or music in my buds. Its a great way to disconnect and immerse yourself into something that isn't tied to anything else at that moment. No deadlines, no PRDs, no tests, no dependencies, just you and what you're working on... Its relaxing..

Sorry.. I lied... there's tons of dependencies.. Those happen to be all the right tools for the job that you don't yet have and every time you do something, you have to decide whether you'll invest the money to buy said tool, or build said thing to help you get from A to B, or if you'll go the other way around and wing it by hand, taking much longer and hopefully not too much of a worst result..

pawjast
0 replies
7h0m

I like coding and don't feel like burn out yet.

But it's great to have other passions outside of it. To get away from your main occupation. To reset and to get a perspective.

And woodworks seems like a good choice. You're still making things, physical ones and you can hone your skill.

I've made a handful of things in my life (e.g. two simple custom beds for my home) without any prior knowledge of wood working at all. They weren't great, but good enough. And I couldn't have been prouder.

So thanks for sharing your story. I might get back to tinkering in my garage more often!

nobody0
0 replies
7h2m

Like painting or architecture, woodworking have a finished state, after that, you just ship it and not worry about it again. whereas in software, everything is so malleable that a rewrite is often going to happen again and again.

mym1990
0 replies
3h31m

I have seen a lot of my coworkers go into woodworking since 2020, and I can certainly see the appeal. Software is often so abstract and never truly tangible(in the sense that I can sit in it or hold it in my hands, and I mean the actual software, not the hardware its built on top of). It is extremely satisfying to build something out of a piece of wood and hold it/use it. To get started you really only need a hand plane, some chisels, clamps, and something to measure with...and add to your arsenal from there. On the flip side...my manager has been working on the same chest of drawers for what seems about 3 years now...so its a journey!

mberning
0 replies
6h5m

Quite a bit of romanticizing goes on with this fantasy, but I think it does illuminate why software jobs tend to pay so well. It’s usually not very fun, hard to learn, hard to keep up with, and if it weren’t for the pay many people would not bother with it.

maptime
0 replies
8h9m

I made my son a floor bed, it's really true that when you work with code all day having something tangible that you can touch helps.

It took twice as long as I thought. It cost double what it would have cost to buy one of Etsy but it's still one of my favourite things I've done in ages. My son still gets excited when he see's it sometimes

manesioz
0 replies
4h8m

I feel this so much. Woodworking, gardening, anything outdoors and with your hands

manchmalscott
0 replies
2h55m

I’ve recently started learning to sew, and instead of working on programming in my spare time I’ve made a few button up shirts. It’s nice to create something that the other people in my life can understand.

johnwheeler
0 replies
4h9m

What a beautiful post

indymike
0 replies
6h58m

This line from the article may be one of the saddest descriptions of modern "success" I've ever read:

"When you’ve been conditioned to believe rightly or wrongly that your value as a human being is derived from the economic value you provide to those around you and all barriers to producing work have been removed by an unprecedented upheaval to social norms, it felt like there was only one path forward and that was working as hard as possible every day."

hinkley
0 replies
7m

I was at my second job as a lead dev. I'd been consolidated into another team to improve our burn rate, and because my product was being asked to squeeze blood from stone and we were starting to arrive at the end of the quantity of blood I was likely to be able to extract. It is still some of my cleverest work.

I'd been on the new project long enough to fix a couple major logistic issues with code-build-test cycles, and to get a page that took 30 seconds to load down to 3 seconds with five lines of code, and they were starting to trust me.

One day I'm in a conversation with the architect where we are about to spiral airing the things that suck and he starts talking about how some of these seem to be intrinsic. He ends a sentence with "and the only way to solve these problems is to open a flower shop. If you sell someone flowers they don't come back in five days telling you they were the wrong flowers."

From then on, every time the outlook got dark or just spicy, we would joke about opening a flower shop together. What's the best month to open a flower shop? Most of the sales are for Valentine's Day, but how long do you need to be open for brand recognition ahead of VD?

egypturnash
0 replies
4h30m

It's just nice to make physical shit with your hands, I've been a professional artist for a quarter of a century but it's been pretty much entirely digital. I've been fucking around with some canvases lately and I am making so many mistakes as I try to dredge up what I learnt about the physical process of painting thirty or forty years ago, but it's fun to get my hands dirty for a change.

And it's not just "it's more fun when you're not doing a thing for money", I certainly plan to try and sell these things when they're done, and I've relentlessly optimized the way I work for being fun to do. It's just really nice to be able to look at a physical thing and know that you made it.

detourdog
0 replies
6h26m

The absurdity I see most is based in culture. Technology development is awesome the business plans and machinations are the absurdities. Any job that does not have a manager with a business plan or an org chart is a breath of fresh air.

datadrivenangel
0 replies
5h42m

"The first monk asked: “Master... what has the bridge-builder learned from us?”

Said Kaimu: “Nothing yet. But when I touch a lit candle to the oil I sprinkled from my lantern during our crossing, he will learn the reason to plan for the absurd, the virtue of rebuilding in stone, and the wisdom of not insulting your customers.” - 0

0 - http://thecodelesscode.com/case/154

cranberryturkey
0 replies
4h26m

My dad used to do a lot of woodworking when i was a kid, he worked his entire career at IBM. I started doing some pen turning when I split with my ex and got a lathe and a little tv in my shed. It was a lot of fun and a great way to relax.

conductr
0 replies
5h34m

I recently stumbled on a saying that resonated with me and is on this topic, “work with your mind, rest with your hands”

cityofdelusion
0 replies
2h27m

Woodworking (or any interesting manual labor) as a hobby is fun. Doing it as a job though is brutal, repetitive, boring, and dangerous. The client relationship is even worse —- at least most devs have insulation through the agile system from the direct force of clients. Selling in the trades is rough, rough work, and probably more than half the job.

ceving
0 replies
6h32m

I would say the bookshelves are a bit too thin. But I like your approach. I am doing the same, although a bit less consequent.

anthk
0 replies
8h16m

There's too much fun software to play with. Even the old ones as an exercise of nostalgia.

AdrianB1
0 replies
5h24m

My godfather turned to woodworking after commanding an AA missile regiment. He moved ~ 50 km (30 miles) from Alin and spent about 20 years sculpting in wood, he became quite good. I was a kid when he started, not paying attention to that, but when I was in my thirties I talked to him about it; he said it was relaxing and very enjoyable.

I grew up further North in a region where every house had some tools for working wood. It was natural, some people were really good at it, some mediocre, but using a manual wood planner or a wood chisel was almost routine for any man or kid. I am no longer living there and I am not working with wood, but I find it escaping to do some work in the garden, put some pipes for irrigation or fixing something on the vise. It is a different world than the craziness of the software industry, especially in the corporate world.