4 ms·
In addition to the sitting on your rear or day just schlepping code for a company, there's also this perception that other people have of programmers just not r
by racl101 2y ago
In addition to the sitting on your rear or day just schlepping code for a company, there's also this perception that other people have of programmers just not really producing anything tangible and/or the profession just being something you do if you are weak and/or afraid to do labour.
I gotta admit, that on a day where it's just about chasing some elusive bug or bugs, even I say to myself: "What the hell did I do today?" even though I might have spent 8-10 solid hours actively working. If the bug is hard enough to find I feel like I accomplished nothing nor have anything to show for it.
And sometimes, when you add to the fact that as devs we have all these perks in the office like free snacks, being able to go out for lunch, free sodas, free coffee, or WFH etc. and for what? We accomplished nothing!
Conversely, you might meet blue collar workers who has to, absolutely has to commute to a job site (no WFH for them), busts their rear to get something real and tangible done. Like for example, setting up electrical, or building a frame, or fixing a major plumbing issue, or doing drywall, or painting an entire house, or doing an entire roof in the heat etc. And sometimes these people barely get their bathroom, lunch and/or coffee breaks. It really makes us seem spoiled in comparison.
And yes, I know that it's kinda denigrating to use the word "real" to describe anything but software, but, what I mean, is that most non-software people only understand finished and shipped software as real. They don't that understand DB schemas, software specs, MVPs, for example, etc. is also real as well. And they certainly don't understand time spent on thinking about data structures and algorithms as anything real or tangible. Especially if you spend most time planning properly before you code.
Anyways, we want to prove, at least to ourselves, that we can actually create something that everyone can see, touch, feel, pick up, eat, stand on, sit on, etc. And we want to prove that we can have same high standards and craftsmanship this kind of work that we have for code.
Yeah, some of us have a chip on our shoulder about that.
- morleytj 2y agoI've definitely struggled with that feeling in my work as well. When I was growing up, the metric for having done something were things like: All the hay is baled and we moved it all into a loft, or we finished shingling the roof. Working in a technical position, it feels much vaguer. Maybe I finished a project, but then again, maybe there's a bug, and I'm back working on what I thought was done. Maybe I made a tool accessible online, but now there's a new tech stack and my tool is irrelevant unless I update it. It feels very Sisyphean at times I suppose, in a way that making a physical product and then seeing someone use it or eat it really doesn't. It's interesting that it feels like that though, because I certainly didn't have to throw hay only one time, and I didn't have to scrape paint from a wall only one time. I suppose I'm interested in why it feels more real and less repetitive, and maybe part of that is what you point out, that people outside of the field just don't understand what the work that tech workers do consists of in actuality.
- racl101 2y ago> It feels very Sisyphean at times I suppose I feel this every time I touch CSS. Sometimes I spend hours just fiddling with it, and my code commit is a few characters. And what's worse, it's the thing I stumbled on in the first 10 minutes of debugging, but that, for some reason, never worked that I tried again out of desperation, after not getting anything else to work (an hour later) and that I'm now trying again for some reason. Yet, for some reason, it works this time. CSS makes me feel stupid.
- andyferris 2y ago> It feels very Sisyphean at times I suppose, in a way that making a physical product and then seeing someone use it or eat it really doesn't. An ex-manager had a phrase that stuck with me, that we are building the factories. Ultimately software gets used to do something, there are lots little "products" being emitted each time it is used. If you are looking at physical products on the shelf, people don't normally think "who fixes the factory that built this when something goes wrong? who makes the factory more efficient so the producer doesn't go bankrupt? who changes the factory when a new design needs to be produced?". This kind of work is rather ephemeral and Sisyphean by nature, so sometimes I like to remind myself that there are these tangible products people rely on but they are just a layer removed. (Nowadays I'm two layers removed - I build a factory to build factories, i.e. compilers and platforms and such). (This particular business line essentially processed data - it was much more complicated than that but fundamentally was remote-sensing -> data-in -> data-out, so the "data factory" metaphore kinda made sense in that setting).
- piotrpdev 2y agoThanks for sharing, I've never thought of it that way.
- mfuzzey 2y agoWhile non software people certainly don't understand data structures etc themselves I'm sure they get the idea that software has to be designed, just as they get that most buildings (like larger than a shed) have to be designed by an architect before construction people actually start building it. Most / all of software work, including coding, is actually architecture / design (at varying levels of zoom) the equivalent to construction in buildings is fully automated in software (compilation etc)
- rTX5CMRXIfFG 2y ago> I'm sure they get the idea that software has to be designed You’d be surprised at the number of people who don’t. The rise in popularity of vibe coding won’t do our industry any favors.
- deleted 2y ago[deleted]
- tonyedgecombe 2y agoJudging from the questions I've received from clients and managers I think the average person has no clue what our work involves. They certainly don't know that software has an architecture, that someone had to create that architecture. All they know is I type on a keyboard and the result is software that probably doesn't do what they want.