TILs are like little gardens you can visit regularly, great to browse through everything you learned over the years (think skill-trees and backflashes in RPGs)
This is why I blog and livecode. Some of it makes money from infoproduct sales, most of it is an excuse to dive into new things (and then infoproductize if I like what I find)
Funnily lots of this has helped at work. Current job hired me in large part to push them towards new technologies.
This is an escape, a cope: the issue is that you are working on things that you hate.
If you'd started to programm something that you like + would make you money you'd be back programming in no time rather than pivoting to otherstuff.
Eg most people go into game-dev because they want to make a game but then get stuck programming some shit backend interfacing system for ads and they have zero creative decisions. Obviously they will start to hate their job. But you cannot just stop programming if this is the case: you'd most likely still want to make your own game.
My family's first computer was an Apple IIGS, and I used to use Apple IIe computers at school. I don't own either model, but I play with an emulator from time to time, and that's enough to remind me of how far we've come. In particular, blind and visually impaired people can use a way larger proportion of programs now than we could with the primitive accessibility solutions available back then.
I struggle with this and I am only two years into my career. I look back on my CS education and miss it so much.
About three months ago, I started a ritual where I would spend 60 minutes before work every morning reading books about the internals of popular software or programming languages, histories of technology, etc. It rekindles my love for computing that brought me to CS in the first place.
Instead of constantly fearing another day of drudgery, I now wake up every morning excited to learn more about something that I know piques my interest. The attitude change has been pretty profound.
Currently reading: The Elements of Programming Style by Kernighan and Plauger (1978)
Depending on your employment terms, I would argue that the daily hour of 'indenpendent study' should be billed. (after all, it's in you employers benefit that you keep up and continue learning, isn't it?)
Interesting. For me it's the opposite. I hated university with a passion. The synthetic problems, the fake currency of citations, the dogmatic and first-principle free way of learning.
It took me all of quitting, years of depression and accidentally restarting my career through a tech support gig to rediscover the massive joy I had solving problems with code.
I mean, I thought it would be a walk in the park and fun to boot. Computer Science - the computer part was cool. Science was cool too, so a Computer Science course would be amazing!
Except... it's not really about computers. And it's not about science either. It's a complete misnomer. Only after the sunken cost fallacy had taken full hold I realized that it was actually a math course.
If you took most of the Computer Science curriculum back in time, to a monastery hundreds of years ago, with no physical computers, it could still be taught in the exact same way! That's great, but not really what I thought I had signed up for.
Was it useful? Yes. Was it worth 4 years? No. And, for a while, I had a very dim view of myself, as I didn't excel like my peers did. This had negative and long lasting impacts. Took a long while to realize that it had nothing to do with my ability, just my lack of interest.
For sure; I found it pretty stark how a given Computer Science curriculum doesn't cover much of what you actually need to be successful in the field: architecting, engineering, planning, testing, wiring services/api's together, etc.
> I've met many engineers with extraordinary talent who decided to stop making software. They wanted to program computers all their lives. They were born for it. After spending six, eight, ten years in the industry, they quit for good. Now they're running breweries and hydroponic farms, with no desire to ever again touch a compiler, let alone get back into the fray.
Are these people who also made a ton of money via RSUs or Stock Options? If so, the answer is clear, right? They simply... don't have to work on things they don't care about. They have the money they need.
Slava mentions doctors later on as a contrasting point, and I think that case is the same. If they became overnight millionaires, lots of them would stop putting up with the daily drudgery.
Would they though? I think that's a shallow outlook, the importance of saving lives doesn't lessen once you become wealthy. Everyone has to watch their friends and family get old and sick eventually.
Compare that to a lot of technology jobs. I think my friends and family will be fine if the schedule at Netflix slips and they have to wait a few years to watch sitcoms in 8K. (Edit: I don't mean to disparage anyone working on this type of problem, but I personally would find it hard to motivate myself to care deeply about that)
A doctor can be fairly certain that a healthy, smiling patient is unequivocally a good thing. A thing to feel proud about.
An engineer is often tasked with moving a metric they don't personally believe to be meaningful, or worth while.
If I'm told that "We're prioritizing new user activation and engagement" and my team's quarterly review will be based on how I move that metric, it's soul sucking to realize that the optimal way to engage new users happens to also be objectively worse for our existing users.
There is no unequivocal "Good" for me to do. I'm not really doing "Good" at all, I'm just making bank for an employer that:
A - Won't return the favor in any meaningful sense.
B - Is of questionable business acumen (Is trading old customers for new customers a viable strategy? Maybe. Maybe not. I don't get to see the discussion and understand the trade-offs that were discussed).
C - Clearly values metrics that correlate to profit over any real pride in their product.
----
Once you dispense with the idea that you're actually helping people with your profession, the only real motivator left is money. Money certainly matters (anyone who says otherwise is lying) but every dollar has a diminishing return on motivation.
If I can pay mortgage/utilities/food and still have enough cash for a night out or a nice drink every now and then, I no longer want more money - I want more fulfilling work.
That might mean making smiles.
That might mean having more control.
That might mean working on a task that judges excellence more objectively than "Making lots of profit".
I think that paints an overly romantic picture of being a doctor. In reality you have to work with a bureaucratic health system where there's never enough time for each patient. Also patients might not be as willing to cooperate as you wish (as an example I recently read about cholesterol medication where many doctors advised a healthy lifestyle opposed to medication but many patients just weren't willing or able to change theirs but prefer medication). Getting patients to smile is certainly satisfying but it's also not that easy.
That is a pretty optimistic view of the medical world. Almost all doctors also have to deal with massive bureaucracy, endless budget shortages, 16 hour workdays, night shifts and people under their care dying despite their best efforts.
How many doctors would still do the job if they got paid a middle class salary? It's pretty clear, to me at least, that very few would even bother. Veterinarians are a good comparison - there's very few, low salaries, passionate about animals, and high suicide rates due to unending debt.
Yes - some doctors end up volunteering with Doctors without Borders & similar non-profit groups. Some engineers have gotten more political as time goes on.
But if the money isn't there, doctors will definitely not be there either.
In Poland, being a doctor paid a pittance up until around 2005. Your only shot at a decent income was taking bribes (the medicine is socialized, so doctors are in charge in state's resources and, when bribed, will direct them at you) or starting a private practice, but for that you'd usually have to be 40+ years old.
And yet, people did become doctors and worked hard. It was still a respectable profession, and hard to get into. Maybe Poland is (or was) just less materialistic than the US.
For those questioning this, see [1] for a decent list by state. The median doctor makes less than a FAANG employee, and that's after many more years of debt-fueled education and residency.
You mean if they still made more than most public school teachers? I’d be willing to bet a lot. People who choose professions that directly help people tend to be motivated by more than money.
> Are these people who also made a ton of money via RSUs or Stock Options? If so, the answer is clear, right? They simply... don't have to work on things they don't care about. They have the money they need.
Eh, no, the answer is not clear. He is clearly writing about people for whom software was something more than just a means to make a lot money and retire. They used to care and now they don't. A large chunk of their soul is gone. And yes, they can now wipe their tears with $100 bills, but this isn't always a good deal to get.
20 years in, I stay because of alimony, not because of heart. This article is sooo spot on. My question is, what can we, the collective, do about it? Do we have to become the leaders we wish we had? Or will we fall into the same traps of illusion? Deep Thoughts for a Monday morning.
One of the chief causes of my perennial suicidal ideation is the inability to even take care of myself, let alone be a leader of an actualized life or anyone else for that matter.
>I've met many engineers with extraordinary talent who decided to stop making software. They wanted to program computers all their lives. They were born for it. After spending six, eight, ten years in the industry, they quit for good. [...] Something had to have gone wrong for them to abandon their first love.
>But sitting at a mandated retrospective or mindlessly gluing APIs together doesn't put me over the moon. It makes me feel the opposite (whatever the opposite of being over the moon is).
I like Slava Akhmechet essays but this theme of disillusionment doesn't resonate with me.
As background, a relevant wikpedia article when thinking of personal change: End-of-history illusion[1]
I used to think I became disillusioned because the industry was "getting worse". But I changed my mind because it's just too convenient that my peak of creative excitement and wonder about technology just happened to coincide with the "good old days".
My opinion changed when the new iPhone came out in 2007 and I noticed I was not excited about it. How can that be? How can I spend all-nighters messing around with less powerful 8-bit and 16-bit toy computers and not also be obsessed with the idea of playing with the new Apple gadget that's 1000x more powerful?!?
I had to dissect this strange contradiction. I finally had to admit that it's because I simply got older. As another extreme example, as a little boy I used to be excited about hopping on escalators and elevators because they were like fun little amusement rides. But now, they're everyday boring. Escalators didn't change; I changed.
I remember being a teen at a loud rock concert and thinking about no old people being there and being confused as "how can anybody ever stop going to concerts?" Well, it turns out I stopped too. I won't blame disillusionment. Instead, I just got bored of it. I still like live music but not enough to go out of my way to buy expensive tickets and deal with the traffic jam to get back home.
I used read lots of fiction. I don't anymore. Fiction author Philip Roth also stopped reading[2] others' fiction when he got older. I'm sure today's fiction is just fine. But my motivation to read it isn't there anymore. I won't blame the book industry and I'm not disillusioned about fiction. I'm just a different person now.
Is it disillusionment or just getting older? There are confounding variables.
I think getting older is part of it. I used to love learning about different assembly architectures and spent lots of time on it, but as I got older a couple things happened: one, other things take up more of my time. Two, I already know a lot about assembly, so I don't get much from learning a new architecture that is probably only marginally different from one I already know.
I remember discovering HN around 2008 when I was a teenager. I hardly understood anything on the front page. I knew how to program a little bit, but only at a superficial level. Now, it's rare for me to come across something I don't understand unless it is very specialized or about some scientific topic. But I think Slava is right that if you want to stay motivated and stay interested you have to find a way to remind yourself of the bigger picture. Otherwise you get bored no matter how interesting the work is. I know a guy who left a job working on rocket guidance systems because after a few years it got boring to him.
I agree with his point though, and I could have written that post myself. Its not that you fully understand everything on here, its that you are familiar enough that it removes the magic of it. I have been grappling with the same issue, in the past I could read manuals on distributed databases, but now I know enough about how those distributed systems work under the hood, its boring for me
If everything is boring to you I am pretty sure it is because it is trivial to you so it's possible you may come up with more interesting applications. I think a better explanation is that you are not as enthusiastic about CS as you think you are. When I see guys like Brian Kernighan, David Paterson or Andrew Tanenbaum still excited about stuff I cannot share your POV.
Hey, I appreciate your feeling for intellectual humility, but please don't express it as a personal attack. That just turns a noble feeling into a nasty one. Plus it's against both the rules and the intended spirit of the site: https://news.ycombinator.com/newsguidelines.html.
iPhones are boring compared to 8- or 16-bit computers, if what you are interested in is how the thing works. Every aspect of the iPhone's design is meant to conceal anything other than exactly what Apple thinks you should be able to do. It's maddening... if you're the type to be fascinated with the nature of systems. That's not age speaking. They are just two fundamentally different things.
>iPhones are boring compared to 8- or 16-bit computers, if what you are interested in is how the thing works. [...] That's not age speaking. They are just two fundamentally different things.
The iPhone was just one example. It doesn't matter whether the new thing is Android, or Raspberry Pi, Arduino, or latest FPGA from Xilinx/Altera. Even though all of those can do much more advanced things than the toy computers I used to play with, none of those spark me with the same excitement. I could pass it off as being too worldly-wise (i.e. disillusionment) to play with Raspberry Pi and Arduino -- or I can just admit that the best explanation for my apathy about new tech is that I'm simply older and lost interest.
With a TI-99 toy computer, playing a primitive Space Invaders game and typing BASIC code like "10 PRINT "HELLO"; 20 GOTO 10" to giggle at the "HELLO" infinitely scrolling up the screen was fun. Today, I can type Javascript by pressing F12 in a web browser and it objectively has more power than TI-BASIC but it's not as fun. That contradiction of power-vs-fun just means I simply older. There are lots of folks out there genuinely having fun exploring what Javascript can do and it would be silly for me to claim that I previously had fun because TI-BASIC was "superior" to Javascript.
I don't think it's strange at all to claim a less-powerful system can be more fun that a more-powerful one. There's something to be said for systems that are simple enough that you can, with some effort, hold the whole machine in your head, so to speak. That was the feeling I got with my C=128. Anything much past that, and you have to resort to simplifications. Which is fine, but may be less satisfying, depending on what you were getting out of it in the first place. Getting really in to the edges of JavaScript on its own is a very different feeling than getting in to the edges of the system-as-a-whole, right? Barry Schwartz' The Paradox of Choice gets in to this to some degree, and is an interesting read.
This is a tale as old as time. You get into something because you're passionate about it, and lo and behold doing it for work saps all the fun out.
Pick anything creative at all and this will hold true - the more expressive the more challenging it is to find the work not be draining as it competes with business requirements.
There's no real suggestion here other than simply recognizing that only a lucky few in life get to actually just do the fun part while also making a living at it - in fact I can only count on one hand people who I know are doing that.
I have a suggestion, it involves realizing that any job involves a variety of diverse activities, naturally some will be more enjoyable than others, but all of them will have to be done.
This realization allowed me to focus and enjoy the fun stuff while also being able to put up with the annoying bits.
A simplistic example with cooking (a favorite hobby) involved realizing that the activity of cooking as a whole involves a whole lot of cleaning and doing dishes.
Once I re-framed 'cleaning' as 'an indispensable part of cooking' then doing dishes (which is annoying) became less annoying somehow.
> If brewing paid as much as programming, it still wouldn't have been their first choice. Something had to have gone wrong for them to abandon their first love.
I found this in bad taste. Believe it or not, you're allowed to enjoy something more than engineering.
Fully agree — growing a tomato from a seed to food or making a brew that makes you feel dizzy is just as ”magical” as fiddling a calculator to display text on a screen.
The attitude that the quoted passage displays is in fact one of the more disheartening aspects of programming for me.
> ... running breweries and hydroponic farms, with no desire to ever again touch a compiler, let alone get back into the fray.
Reiterating the point of the article: it doesn't need to be this way. Whether tech is your passion, your hobby, or your job, it does not need to feel like a "fray".
This website is one of the worst offenders, since it relentlessly, breathlessly promotes new shiny things every refresh. It's a social network. It's addictive. It is only good in moderation.
Here's another idea (in addition to the bolt action rifle and the old computer on your desk): hang out with people who are not in the tech industry (it's a lot easier to do this outside the Bay Area). Revel in just how little they care about JS frameworks.
But people who get disillusioned with tech are not people who don't want to talk about "JS frameworks" or similar tech topics. Quite the contrary, they want their view to win, broadly speaking, in the conversation or the deployment. It is the lack of agency, not the conversation, the problem for the tech-frustrated.
No, you invented that argument in your mind and no-wonder, easily won it. Most people who get tired and disillusioned dont belong to any "Language/Framework evangelism task force". They just want some stability, substance over form, hate silly hype, hate self-proclaimed gurus, hate clueless HR managers. Give them a solid set of tools (no matter much which), sane working conditions, sane managers, a reasonable development strategy and they will more than happily come back. Cut back the ageism and leave political activism for the after-job hours, that will help too.
"They just want some stability, substance over form, hate silly hype, hate self-proclaimed gurus, hate clueless HR managers." - Why, following your description, my mind goes to grumpy folks who cannot understand how other people don't do and say the way they (the grumpy folks) are 100% sure they should?
As an open source developer who enjoys coding, a lot of these thoughts resonate strongly with me but this article is overly pessimistic. It's OK to be pessimistic but that doesn't mean you should stop trying to make things right because otherwise it becomes self-fulfilling.
Also, we shouldn't look at fiat currency as the only form of achievement, especially given the artificial economic environment of the past decade.
Many smart people know that Slava co-founded RethinkDB and realize that it's one of the best databases in existence.
That genuine brand value is way more valuable in the long run than worthless fiat paper or company stocks whose earnings are denominated in that same worthless fiat.
It's important for millennials to realize that the past 10 years of monetary policy which contributed to significant centralization of wealth and power is not normal and it won't last.
I think this suffices as a summary, "The other reality is the frustration and drudgery of operating in a world of corporate politics, bureaucracy, envy and greed— a world so depressing, that many people quit in frustration, never to come back."
Some of us just aren't cut out to work in a big corporate environment. From what I've seen, large technical companies are made up of two sets, the technical set and the manager/business set. Unfortunately, it seems that the manager set yields a disproportionate amount of influence and power and therefore is "valued" more. I'm sure there are smaller companies that could make the folks leaving stick around the industry. But, if they've been successful and are mid career they may have priced themselves out of those opportunities.
"Some people aren't cut out for it" explains nothing and is an unfalsifiable statement. It's simply restating what's happening, but in a way that removes empathy.
As someone with 10 years of management experience at big corporations, I encourage you to consider the possibility that managers are not valued more and this attitude, itself, is evidence of the beginnings corporate burnout.
There is another essay on that series from the same author (and linked at the beginning of that one) about this question. Is called how to get promoted but slap converts what you’re talking about regarding managerial vs technical value.
> If you leave your love of programming and the feeling of the computer revolution romance on autopilot, the industry will burn through you. It’s your responsibility to know exactly why you’re doing the specific job you’re doing, what your long-term goal is, how to develop a credible plan to achieve it, and what you need to do (and not to do) to keep your underground spring of creativity alive. Don’t outsource this to anyone else, and don’t neglect it. No one can do that job except you, and the job needs to get done. Unless you want to spend the rest of your life growing hydroponic tomatoes.
This is something that I think about often, but it's difficult to find a path that is creativity-sustaining. In practice it hasn't worked for me. Alternatively, I have considered seeking tech jobs that are not demanding and have fixed hours, leaving time to explore passions outside of work.
This is spot-on for some of us here. I told my friend last week that I'd like to come work construction with him and will be quitting my decently-paying programming job to go do so in 3 weeks. I'd started to interview at another tech company and realized that I couldn't bear the thought of programming for someone else again. I burned out so hard at my current job I can't conceive of working anywhere as a programmer and enjoying it. So I'm going to go pour concrete and frame walls and hope that someday I'll sit down at a computer and want to tell it what to do again. I do remember that magical feeling. I just can't feel it anymore.
Resonate with this alot. I often found that when I was doing labor work at home or helping someone else, I easily find myself focused and in the zone of whatever I'm doing. I often find myself thinking as I drive by construction sites or watching tradesmen/contractors work, that I should have gone into that line of work.
There's a great deal of satisfaction in a blue-collar career. Some months I live on the edge of one, and just building physical things and using simple tech to solve real problems is fulfilling in a way that some neat code running on a server in relative isolation has never been for me.
I had an "alternative" start to my coding career. Before that, I worked all sorts of different unskilled jobs. In one of them, warehouse picking in a supermarket chain, I met a guy who had burned out of tech (and this was ~1990). I couldn't believe that someone who had a career writing code, working for IBM, all of that, would just walk away from it to become a warehouse picker.
30 years later, after ~25 years in tech and a major clinical depression, I totally understand why he did that. He seemed happy, too.
There was a post on HN a couple days ago about a loss of tech optimism. I've been searching for a bit and unable to find it for linking. It (and the associated comment thread) had no answers. This feels like as close as you can get to an answer.
My advice to anyone struggling with disillusionment in tech: get a job doing software at a non-tech company with a mission you care about. You'll remember that technology is in service of something. My years in entertainment are some of my favorite in my career to date.
While i somewhat agree with your advice, i think the solution you propose is incomplete/omitting (not on purpose) some important parts.
I would rephrase it as "find a software job at a non-tech company that works in the industry or with the topic that you enjoy/care about". Otherwise, you get all the negatives of working for a non-tech company with none of the benefits, since working a software job at a non-tech company, you don't get much respect/recognition and you are treated as a cost center, not profit center. We complain a lot that at tech companies, management doesn't listen to our suggestions or acts however they see fit by disregarding engineers' opinions, but it gets much much worse in that aspect at non-tech places. Of course there are tons of positives in that arrangement too, but I think they are pretty obvious and there is no need to discuss them.
Which is why, I believe, the best of both worlds (if you are tired of working in tech) is working a software dev job at a non-tech company in an industry that you are into. My guess is that, for you, it was entertainment. For someone who is into music and sound synthesis, working at a DAW company (like Ableton) or at a small company working on VSTS and synths would be a great idea. For someone who is interested in physics, working as a software engineer at some college research lab would be great (e.g., Georgia Tech has GTRI, which employs a lot of software engineers who assist research teams in various disciplines like bio, chem, physics, any kind of engineering, etc.). For someone who is into neuroscience, working at something like Paul Allen's Brain Institute would be fun, I imagine. For someone into avionics, [...], you get the idea.
What I am driving at, it isn't just a binary tech vs. non-tech. Writing code in tech, you are aligning the work (tech) with the industry/interest (tech). With non-tech companies, you are aligning the work (tech) with industry/interest (non-tech). And imo, your enjoyment and just overall happiness would be much better at a non-tech job that works in the industry/within the topic you are already passionate about, rather than just some random non-tech company that pushes papers. There is a lot of learning and happiness to be found in working cross-disciplinary jobs like that.
P.S. Just to clarify, because I know this tends to irk people in a wrong way at times, I use terms "software engineer" and "software dev" interchangeably (both throughout this comment and in general). I don't make a distinction, even though I know some people get very passionate about this topic.
Much to the chagrin of many of my fellow career programmers, I’ve always tried to operate slightly against the grain to keep things interesting. I do so not gratuitously, but because I know I’m in this profession for the marathon, and so I need to compromise instantaneous velocity to maintain {energy, sanity, motivation, ...}. I get made fun of and occasionally lambasted for it, but I also frequently outpace my organizationally distant colleagues before they say ‘screw it’ and hope their next job will be more fulfilling.
I’ve been an adamant user of Common Lisp in the workplace, and I strive to carve out an environment for my fellow peers which allows them to reasonably work toward making creatively simple solutions to complex problems. Despite the continual pressure to (re)write in {C++, C#, Java} and now {Rust, Julia, Python}, my choice continues to pay dividends to myself, my colleagues, and most the organizations I’ve worked for. You can get away with it if you both deliver and manage healthy short-term and long-term expectations.
As an engineering manager, I would hold little computer science challenges every Monday morning. 45 mins to think about the problem and code a solution, and 15 minutes of “lecturing” by either myself or somebody who solved the problem. It took a lot of work each Sunday night to concoct a good problem.
Engineers invariably fell into two camps. The first were folks who didn’t want to participate because “this isn’t my job nor what I’m paid to do”, and the second were folks who reveled in the challenges, as if they were a paradise-like escape from the more mundane aspects of day-to-day coding. It would stir up conversation for the week and occasionally inspire participants to imbue the skills they learned into day-to-day coding. One of my proudest achievements was a coding challenge on combinators, which opened a big window of fresh air to individuals who didn’t understand closures or high-order functions. Lo and behold, they adopted the practice of using them to simplify some production Python.
It wasn’t compulsory so if people wanted to log into JIRA and toil away first thing Monday morning, they could. But if you felt stimulation from learning new things that may or may not actually tangibly help you, the exercises contributed a positive environment, a positive collegial interaction, and a positive following work week.
This is wonderful, thank you for sharing it. Were there any obvious differences between the two camps in terms of performance, career satisfaction, tenure at the company, etc?
The sample size is about N=18 for the anecdote so it’s hardly definitive. The ones who didn’t engage typically left after 12 months, maybe 24 tops. It’s not a perfect indicator. Some people in the morning are stellar performers but also want to sit and enjoy a cup of coffee and read the news instead of grinding out computer-realizations of discrete path integrals or whatever other Monday morning shenanigans.
Maybe so. It depends on the business, as well as the management culture. If the business demands 100% attention 9–5 (or more) and is at risk of failing otherwise, or if management is gung-ho about “getting their money’s worth” out of programmers, then it can’t happen. Where I worked, it was understood this was an avenue to higher productivity, and it paid itself off many times, not the least of which was the contribution to higher retention.
We do "book clubs" and we are doing a Hackathon soon where I work. I think these things do keep you motivated. I am not ready to use lisp! But I do like to have a side project going at work. Often I merely get to think about the side project an maybe do a tiny bit of research, but it's motivating. It usually of the form "what would disrupt our app" or "why don't we just X". By side project I mean for work, not me competing!
How does the "Book Club" thing work? By briefly observing it at my pre-Covid work-place, it seemed that (somehow) a book was chosen, people would buy and read it within about 30 days, and then sit around the lunch table and discuss their impressions or feelings or something.
I read about 5 fiction and 2 non-fiction books per week, so the reading is not the challenge for me. The challenge for me is that I feel that I will be judged if I have a non-consensus opinion about (for example) what everyone else thinks. On tech-stuff, I hold my own (Because I'm always right! Ha!), but with some of these more touchy-feely books, I'm not sure I won't be excoriated (and I don't enjoy that, and don't feel like fighting battles I don't care much about), I just don't share. And I'm not the only one in the group that does exactly what I just said. We want to have a convivial group and grow, but, isn't a Happy Hour slightly more inclusive (esp. with Hors d'oeuvres and Ginger-ale or whatever?)
"Touchy-feely" doesn't really explain to me what potion you hold that would be criticized. What is it you usually read? Why would your comments on the emotional content on a book ostracize you?
I guess it depends on workplace culture? I have worked and/or consulted at places where I would not have been (in general) afraid to be bold.
Books like "Think" by Simon Blackburn don't bother me to comment on. They are pretty light treatments of the underlying topics, but (as philosophy), they are framed as rational discourses. (Whether they are or not is a different topic).
Topics about things like emotional intelligence (EQ) or persuasion or even nudging or race-relations in the 20th century can trigger a fairly rapid group response (primarily amongst the younger co-workers), and then you get to feeling piled upon (and even cancelled) pretty quickly.
It's a new world, and I'm pretty old, and as a sit-at-my-workstation-and-code engineer, I'm guessing that I may have allowed myself to get behind the curve on normative (allowable?) social opinions.
It certainly does feel like people (in the US at least, which is my exposure) are quicker to categorize you than before. It doesn't matter if 95% of your beliefs are similar, if you happen to be in a situation where that other 5% are relevant and express them, it certainly seems like there's a good chance the people around you that are less acquainted with you are going to assume you're part of whatever group generally expressed those opinions, and categorize you as such. That can have repercussions at work, where there are often many people you have a passing acquaintance with, but may individually or together have an impact on your work life.
I think what this really means is that the more moderate you are, the more likely you are to feel stifled. Whether you're a liberal or conservative, the farther you are to one side the easier it is to know when and around who you can speak. Either you're in a stronghold for your respective group, or you wait until you're within the safe-haven of like-minded people in that area. As a moderate, you hold some views of both sides, and all you ever want to do if discussion comes up is explain how there are reasons why you hold these views that are you believe are rational, but to do so risks people categorizing you as "the other" from both sides. You learn to keep you mouth shut at all times, not just in one place or the other.
1) I have for a long time. Now with Kindles, I don't have to load 10 paperbacks into my computer bag every time I go on a global jaunt. A lot of time in airplanes and hotels gives you a lot of time for this (on average - which is why I said "per week", not "per day"). But, most under 250 page non-fiction books can be polished off in less than two hours. A lot of people spend two-hours/day watching some Netflix movie - this is the same thing.
2) I guess the ones that are based on subjective interpretation instead of objective fact (whatever that is today). There is a book called "How we know what isn't so" (https://www.amazon.com/How-Know-What-Isnt-Fallibility-dp-002...), and it talks a fair amount about humans can clash by developing different interpretations of reality that they think are really real. I guess this isn't "touchy-feely"; I guess it is just that the reason I got into engineering is that machines are a lot more predictable and understandable than humans (to me). I did not mean to denigrate anyone's choice of book; I just didn't have a better term at hand (I still don't!)
I've spent a long time trying to speed read and I'm still much slower than where I'd like to be. How are you able to read through 2 pages per minute and still have context on what's going on? Do you have any advice for learning to do that?
While there can be advantages to reading a lot and reading fast, I would also suggest that there is value to reading less (but still consistently) and letting your brain mull things over. Some thoughts really do require time.
My father expected me to do so, at the age of 7, so I did. I don't think of it of speed reading - maybe it is. I did lose half my speed when I lived in Japan for a decade (learning to read in Japanese slowed my English input speed,
I suspect a lot of it has to do with the kinds of books one reads.
Many years ago a friend claimed to read a book a day. She was referring to cheap paperback fantasy books, her preferred genre. She could read them very fast because she already knew what was in them. She told me she mostly read the dialogue, which would definitely cut down on the time spent reading.
So perhaps the OP is reading mostly books they're already familiar with -- novels in a genre they like and nonfiction on topics they already mostly know. If so, you might be able to do similar things.
Maybe. I would say that for fiction, this is almost certainly true, but for non-fiction, a lot has been molecular biology, or nonlinear economics. Which are neither native to me. YMMV.
IME there needs to be a purpose to be worthwhile. Is it for entertainment or professional development? There are lists of books that people make, e.g. Bill gates, the singer Noname, Obama's. This way the effort of selecting a book can be outsourced or the group can democratize it. Pick a theme, nominate books, then vote. Call it what you want, happy hour or book club, but meet online and be ready to have a discussion of your and others' ideas.
Also, the discussion should not be a battle. If the group cannot appreciate considering opinions or thoughts on a piece of literature then it might not be a good group to be a part of. Do you judge people for holding non-consensus opinions? inb4 moral relativism, so it's a function of company culture.
Sounds like you have either experienced a bad book club, or have contributed to a bad book club. Touchy-feely things might feel awkward in the workplace so its probably beneficial to avoid books of that nature and stick to subjects where everyone has a valid opinion.
I'm thinking that maybe small projects: "Hey! Let's build this together" would be more productive. The book club(s) where I have worked have been more cross-functional, which I think is good, but a lot more divisive than group development projects. I'm still trying to get my head around how it is all supposed to work. (I used to be a founder/CTO of a fairly large (in the 90s sense, not the 2010s sense), fintech company and on the board, and you would think I would have figured it all out by now, but the culture, it keeps changing! :-) )
The main thing I see in your experience (and also from other comments here), is that having a community is important, and having something fun or exciting to do at work, with that community, goes a long way to keep ourselves motivated.
An analogy to this is most people have chores to do at home, and if that's all they did at home and always by themselves, they'd probably burn out pretty soon. But if they could play video games with a couple friends, or have some people over for lunch once or twice a week, then the chores would be a lot easier to bear.
I used to run a "recreational computer programming" meetup once a month, (back when I lived in a large city with a nice hackerspace attended by people who weren't laser-focused on some sort of "startup mania") which was quite rewarding. I tried to steer away from the sort of "computer science" aspects and more towards the "art project" aspects, as this suited my own interests more, and I think the audience as well (a more computer-science-centric approach was tried before with poorer results, ymmv). Once this COVID nightmare is past, or managed, I may try to start something like this again, for now, it seems impossible, or at best pointless, as the best part of it was meeting with people.
The reason I got into tech/coding as a teen was the diy punk rock ethos. I remember spending weeks trying to figuring out if I could break drm in the latest video game ('tricking' starforce in splinter cell 3 was such a cool thing). Then I moved on to academia where I felt the ethos extended. Academia was life consuming and by the end I just had to leave.
Now that I'm job hunting post-phd, I'm trying to rekindle that excitement in something...and I don't feel it. Grinding leetcode or memorizing some companies 'leadership principles' has been the antithesis of creativity. Everything feels like marketing. I wish I had kept up with old friends instead of spending my weekends in the office.
Funny enough, I've been brewing beer/kombucha and cheesemaking as a distraction.
You will find there are still a lot of companies that value people and broad skills. Some company leadership principles are even anti leadedship principles and factory pop-out leet coding developers.
This. They're out there. I had to go through a lot of them to get to where I am now and the journey has been worth it. Also, there are lots of little tricks that you can use to make the journey more comfortable. Some of it is technical and some of it is EQ-related/interpersonal. It's very important to step outside the box and think about what kind of work you could be proud of achieving, and then you can take steps toward honing the skills that will get you there.
For instance, an example of little things that make your job related duties more streamlined will surprise you with how much of a difference it makes for making the daily routine more enjoyable. It really adds up.
The example: We have to fill in timesheets every 2 weeks. Well I sat down one day and spent an hour writing a bookmarklet in js that autofills the timesheet, hacking through the silly event handlers so I don't have to manually click and type on 20 cells. I even had to come back to it a few months later to add in logic to handle PTO and Holidays... I'm so glad I wrote it. Shared it with my coworkers too, which greatly increased its return on investment.
You loved being a maker. Being creative and making thinfs you care about. Jobs want you to be a machine. Reliably and mechanically creating things they care about. It’s not tech, it’s that your motivation is internal and not something they provid
I think the author misdiagnosed the problem. It's not Corporate that's the real problem, it's the fact that what you're working on is probably just not that interesting. Plus the fact that you have to keep slugging away with it whether you like it or not. No-one gets excited about writing accounts packages.
It reminds me of an anecdote a pro photographer gave to someone thinking of entering the field: if you love photography, really love it, then don't do it professionally.
Be an amateur. Fun fact: the word "amateur" derives from Latin "amatorem", meaning "lover, friend".
While it sometimes has the connotation of a lack of skill, the contrast is the motivation: The amateur's labour out of love, as opposed to the professional who labors for practical gain.
My monastery is Lisp (mainly Clojure) and the ritual is functional programming. It keeps me sane and in software.
But today, and for the next two weeks I have to deal with the hell-hole that is the JavaScript/NPM/Webpack ecosystem and it made me want to quit my job.
This is why I warn people about Lisp: it can ruin you and make you unproductive for a long time if you are forced to use inferior tools.
As someone who walked away from programming two years ago, reading this stirred something in my heart that I honestly haven't felt since quitting. I've been frankly surprised that I haven't had the desire to code in that time, but it turns out I am nostalgic about the times when coding was a fun process of self discovery.
This article gives me the inkling of a way back to get back to there. Thanks to whoever shared it.
This is a tricky topic to write about accurately, even just thinking about myself, much less when trying to say anything with more universal appeal, but the author does very well here.
One of my favorite parts of programming work is the opportunity it affords for letting my mind wander. I'll often be (re)learning all sorts of little tidbits while working on more mundane tasks, just by letting myself be curious and pulling on loose threads inspired by whatever I'm doing. To the untrained eye, these tangents might seem fruitless and wasteful, but as the author implies, over a longer timescale, it is anything but.
The problem for me occurs when the management caste thinks they know better how I should be spending my time, sometimes right down to the minute. There is a lack of trust which manifests in the need for constant communication, lest a teammate veer slightly off course, or, heaven forbid, become temporarily stuck on some problem. The solution, all too obvious to the manager, is clearly a top-down error correction process, and everyone must participate because it would naturally invite accusations of bias otherwise. And pretty soon instead of working away quietly at your desk, conferring with your peers when you need to (via pull request and code review perhaps), you are now forced into regular, maybe even daily, meetings that follow a formula derived at some business consultancy back in the 80s. The team moves slower, and every little thing that comes up now commands the full attention of every individual, who must listen and parse N points of view on a range of mostly trivial topics. Then come the elaborate handshakes and buzzwords and head bobbing mating displays and you start watching nature documentaries to learn what you can about the birds of paradise so you'll be ready for Monday morning.
But don't worry, you'll still be expected to do code reviews, only now they are yet another data point to be tracked by managers, and the meta discussion of your code discussion will itself become the topic of a separate, emergency meeting convened as a result of a process snafu involving multiple stakeholders who would each like you to explain how it's possible to deliver value with the correct prioritization based on the governance model that I thought we adapted after all the estimates were done for the tickets we decided to keep during the backlog meeting last Thursday, no wait it was two weeks ago, but regardless we need to get to the bottom of the requirements gathering so we know what kind of lift we're likely to encounter going forward so that expectations can be set among the VPs as to which communications outlet they should plan to engage with leading up to our next all hands because the overall direction will depend on the outcome of whatever you're about to say right now please open your mouth, no not that far, ok swish with water and spit if you need to, have you been flossing? Well try better next time, and please feel free to take a usb-c to hdmi dongle on your way out see you tomorrow!
“Develop a routine to keep drudgery away and the romance of technology close. Practice it religiously. Physical mechanisms and analog circuitry are better than digital; used hardcovers are better than Kindle. Know your long-term goals.”
This is so hard - even waking up the same time everyday is rough because you never know if you are going to pull a late-nighter, you know?
I’ve heard this from psychologists as well... something I need to work on... thank you for the reminder.
Many people are attracted to software development because of compensation. But not everyone. Some people are developers because they like to develop software.
Software development organizations can be a good place to work, but the taker mentality in software engineering makes everyone miserable.
And the more money there is in software, the more takers join the industry: people that truly hate development and see it as means to an end.
They want to stop being developers as quickly as possible because they hate development and see it as a lowly way of life. They feel entitled to manage others despite not caring about what they do. They resort to business excuses even when their contribution to the business are code deliverables.
And some organizations are dumb enough to indulge into that.
And from there, it is a downwards spiral. You want to hire the best, but at the same time you have entitled managers that hate development and punish people that care about what they do and make feel demoralized instead of inspired.
For a developer, the code you work on is a mental place. And if that place is chaotic, developers will be unhappy because their working conditions are inadequate, unless what truly makes you happy is clocking out at 5pm instead of getting to work in the morning.
There are people out there telling developers that messy chaotic codebases are normal and they should adapt to chaos and tech debt instead of trying to do something about it. I do not think that is the answer.
Maybe people are failing to understand that work is often uninteresting. The expectation that it will be and must be can itself be a cause of despair.
From the economic perspective, no one cares whether you find your work interesting. You don't either when you buy a product or a service. Someone is paying you for some product or service, not to make your life fun. That's your problem. You think everyone else is having lot of fun at work? You want to go tell them how uniquely awful your life is? How you thought work was supposed to be a 24/7 orgasm? How your jobs is about _you_ and _your_ jollies and not the client or the user?
Perhaps a maximum 40hr work week would be a better industry benefit than free snacks and the other goofy gimmicks that companies like Google like to ply people with. That way, you can spend the extra time on your hobbies.
To the first order this is correct, but don't forget that people are much more productive when the work is engaging. As a contrived example, suppose you waste a third of your time on some wacky things to make your work life more fun and become 5x more productive as a result. From the economic perspective it is a bargain! OTOH, if a lot of capable people are leaving the industry or operating at 0.2x capacity as a result of burnout, it is a massive economic inefficiency.
Agreed on the goofy gimmicks part though. They get old very fast.
This reminds me of the psychologist Daniel Nettle's assertion that there are 3 levels of happiness. The most basic is the immediate feeling of pleasure, like what you get from having sex or watching a sunset. I think you're right that some people naively think work should be like that day to day and their own intellectual stimulation is a primary concern for anyone else.
But there are also other forms of happiness. One is a generalized sense of well-being. Another is a sense of growth or flourishing and fulfilling one's potential. I think it's sort of natural that people associate these things with their careers (especially the latter). And I understand why it's disheartening to feel that at the end of the day you're a cog in a machine, that your work may actually be damaging to your well-being and distracting or sucking away time and energy from things that would allow you to flourish. Worst of all for many people in tech, you may feel that the work you do is actually net harmful to not just yourself but to your coworkers and your users.
I think you're right to call out people to take responsibility for themselves and to realize the world doesn't owe them anything, but I also think it's a more nuanced issue and there are some easy traps to fall into out there.
178 comments
[ 3.2 ms ] story [ 209 ms ] threadstill early but it is a start: https://github.com/tosh/til
TILs are like little gardens you can visit regularly, great to browse through everything you learned over the years (think skill-trees and backflashes in RPGs)
Funnily lots of this has helped at work. Current job hired me in large part to push them towards new technologies.
If you'd started to programm something that you like + would make you money you'd be back programming in no time rather than pivoting to otherstuff.
Eg most people go into game-dev because they want to make a game but then get stuck programming some shit backend interfacing system for ads and they have zero creative decisions. Obviously they will start to hate their job. But you cannot just stop programming if this is the case: you'd most likely still want to make your own game.
Yes, sadly those almost seem mutually exclusive.
About three months ago, I started a ritual where I would spend 60 minutes before work every morning reading books about the internals of popular software or programming languages, histories of technology, etc. It rekindles my love for computing that brought me to CS in the first place.
Instead of constantly fearing another day of drudgery, I now wake up every morning excited to learn more about something that I know piques my interest. The attitude change has been pretty profound.
Currently reading: The Elements of Programming Style by Kernighan and Plauger (1978)
The current one I'm reading which I really like is The Art of Doing Science and Engineering by Richard Hamming.
You can find it on Stripe Press: https://press.stripe.com/
Right before that I read The Making of The Prince of Persia (also stripe press and also good).
It took me all of quitting, years of depression and accidentally restarting my career through a tech support gig to rediscover the massive joy I had solving problems with code.
I mean, I thought it would be a walk in the park and fun to boot. Computer Science - the computer part was cool. Science was cool too, so a Computer Science course would be amazing!
Except... it's not really about computers. And it's not about science either. It's a complete misnomer. Only after the sunken cost fallacy had taken full hold I realized that it was actually a math course.
If you took most of the Computer Science curriculum back in time, to a monastery hundreds of years ago, with no physical computers, it could still be taught in the exact same way! That's great, but not really what I thought I had signed up for.
Was it useful? Yes. Was it worth 4 years? No. And, for a while, I had a very dim view of myself, as I didn't excel like my peers did. This had negative and long lasting impacts. Took a long while to realize that it had nothing to do with my ability, just my lack of interest.
Are these people who also made a ton of money via RSUs or Stock Options? If so, the answer is clear, right? They simply... don't have to work on things they don't care about. They have the money they need.
Slava mentions doctors later on as a contrasting point, and I think that case is the same. If they became overnight millionaires, lots of them would stop putting up with the daily drudgery.
Compare that to a lot of technology jobs. I think my friends and family will be fine if the schedule at Netflix slips and they have to wait a few years to watch sitcoms in 8K. (Edit: I don't mean to disparage anyone working on this type of problem, but I personally would find it hard to motivate myself to care deeply about that)
The engineer gets to see some metric move by a tenth of a percent.
A doctor can be fairly certain that a healthy, smiling patient is unequivocally a good thing. A thing to feel proud about.
An engineer is often tasked with moving a metric they don't personally believe to be meaningful, or worth while.
If I'm told that "We're prioritizing new user activation and engagement" and my team's quarterly review will be based on how I move that metric, it's soul sucking to realize that the optimal way to engage new users happens to also be objectively worse for our existing users.
There is no unequivocal "Good" for me to do. I'm not really doing "Good" at all, I'm just making bank for an employer that:
A - Won't return the favor in any meaningful sense.
B - Is of questionable business acumen (Is trading old customers for new customers a viable strategy? Maybe. Maybe not. I don't get to see the discussion and understand the trade-offs that were discussed).
C - Clearly values metrics that correlate to profit over any real pride in their product.
----
Once you dispense with the idea that you're actually helping people with your profession, the only real motivator left is money. Money certainly matters (anyone who says otherwise is lying) but every dollar has a diminishing return on motivation.
If I can pay mortgage/utilities/food and still have enough cash for a night out or a nice drink every now and then, I no longer want more money - I want more fulfilling work.
That might mean making smiles.
That might mean having more control.
That might mean working on a task that judges excellence more objectively than "Making lots of profit".
It’s like projects under my care dying despite my best efforts.
Except that, you know, nobody dies and the only thing wasted was my life.
Yes - some doctors end up volunteering with Doctors without Borders & similar non-profit groups. Some engineers have gotten more political as time goes on.
But if the money isn't there, doctors will definitely not be there either.
And yet, people did become doctors and worked hard. It was still a respectable profession, and hard to get into. Maybe Poland is (or was) just less materialistic than the US.
Nearly all of them. The most common specialties do pay middle-class salaries.
The very highest salaries (almost all in surgical specialties) skew the mean quite a bit, but the median is not as high as you think it is.
It hasn't been a lifestyle profession for 20 years.
[1] https://www.ziprecruiter.com/Salaries/What-Is-the-Average-Ph...
How many doctors would there be if the salary was 60k?
Eh, no, the answer is not clear. He is clearly writing about people for whom software was something more than just a means to make a lot money and retire. They used to care and now they don't. A large chunk of their soul is gone. And yes, they can now wipe their tears with $100 bills, but this isn't always a good deal to get.
In many specialties doctors could easily retire after 5-10 years of practice and live an extremely comfortable life, but they don't.
I sure don't.
One of the chief causes of my perennial suicidal ideation is the inability to even take care of myself, let alone be a leader of an actualized life or anyone else for that matter.
>But sitting at a mandated retrospective or mindlessly gluing APIs together doesn't put me over the moon. It makes me feel the opposite (whatever the opposite of being over the moon is).
I like Slava Akhmechet essays but this theme of disillusionment doesn't resonate with me.
As background, a relevant wikpedia article when thinking of personal change: End-of-history illusion[1]
I used to think I became disillusioned because the industry was "getting worse". But I changed my mind because it's just too convenient that my peak of creative excitement and wonder about technology just happened to coincide with the "good old days".
My opinion changed when the new iPhone came out in 2007 and I noticed I was not excited about it. How can that be? How can I spend all-nighters messing around with less powerful 8-bit and 16-bit toy computers and not also be obsessed with the idea of playing with the new Apple gadget that's 1000x more powerful?!?
I had to dissect this strange contradiction. I finally had to admit that it's because I simply got older. As another extreme example, as a little boy I used to be excited about hopping on escalators and elevators because they were like fun little amusement rides. But now, they're everyday boring. Escalators didn't change; I changed.
I remember being a teen at a loud rock concert and thinking about no old people being there and being confused as "how can anybody ever stop going to concerts?" Well, it turns out I stopped too. I won't blame disillusionment. Instead, I just got bored of it. I still like live music but not enough to go out of my way to buy expensive tickets and deal with the traffic jam to get back home.
I used read lots of fiction. I don't anymore. Fiction author Philip Roth also stopped reading[2] others' fiction when he got older. I'm sure today's fiction is just fine. But my motivation to read it isn't there anymore. I won't blame the book industry and I'm not disillusioned about fiction. I'm just a different person now.
Is it disillusionment or just getting older? There are confounding variables.
[1] https://en.wikipedia.org/wiki/End-of-history_illusion#:~:tex....
[2] https://www.theatlantic.com/culture/archive/2011/06/philip-r...
I remember discovering HN around 2008 when I was a teenager. I hardly understood anything on the front page. I knew how to program a little bit, but only at a superficial level. Now, it's rare for me to come across something I don't understand unless it is very specialized or about some scientific topic. But I think Slava is right that if you want to stay motivated and stay interested you have to find a way to remind yourself of the bigger picture. Otherwise you get bored no matter how interesting the work is. I know a guy who left a job working on rocket guidance systems because after a few years it got boring to him.
> Now, it's rare for me to come across something I don't understand
And here I was, reading you thinking you were Donald Knuth, I think you vastly overestimate the breadth and depth of your knowledge.
The iPhone was just one example. It doesn't matter whether the new thing is Android, or Raspberry Pi, Arduino, or latest FPGA from Xilinx/Altera. Even though all of those can do much more advanced things than the toy computers I used to play with, none of those spark me with the same excitement. I could pass it off as being too worldly-wise (i.e. disillusionment) to play with Raspberry Pi and Arduino -- or I can just admit that the best explanation for my apathy about new tech is that I'm simply older and lost interest.
With a TI-99 toy computer, playing a primitive Space Invaders game and typing BASIC code like "10 PRINT "HELLO"; 20 GOTO 10" to giggle at the "HELLO" infinitely scrolling up the screen was fun. Today, I can type Javascript by pressing F12 in a web browser and it objectively has more power than TI-BASIC but it's not as fun. That contradiction of power-vs-fun just means I simply older. There are lots of folks out there genuinely having fun exploring what Javascript can do and it would be silly for me to claim that I previously had fun because TI-BASIC was "superior" to Javascript.
Pick anything creative at all and this will hold true - the more expressive the more challenging it is to find the work not be draining as it competes with business requirements.
There's no real suggestion here other than simply recognizing that only a lucky few in life get to actually just do the fun part while also making a living at it - in fact I can only count on one hand people who I know are doing that.
This realization allowed me to focus and enjoy the fun stuff while also being able to put up with the annoying bits.
A simplistic example with cooking (a favorite hobby) involved realizing that the activity of cooking as a whole involves a whole lot of cleaning and doing dishes.
Once I re-framed 'cleaning' as 'an indispensable part of cooking' then doing dishes (which is annoying) became less annoying somehow.
Many of us have independently revised this to:
Find the thing you love second-most, and do that for a living.
I found this in bad taste. Believe it or not, you're allowed to enjoy something more than engineering.
I say this as a hobbyist only - I am not a professional programmer, though I have done some small programming tasks at work when it was useful.
The attitude that the quoted passage displays is in fact one of the more disheartening aspects of programming for me.
Reiterating the point of the article: it doesn't need to be this way. Whether tech is your passion, your hobby, or your job, it does not need to feel like a "fray".
This website is one of the worst offenders, since it relentlessly, breathlessly promotes new shiny things every refresh. It's a social network. It's addictive. It is only good in moderation.
Here's another idea (in addition to the bolt action rifle and the old computer on your desk): hang out with people who are not in the tech industry (it's a lot easier to do this outside the Bay Area). Revel in just how little they care about JS frameworks.
Also, we shouldn't look at fiat currency as the only form of achievement, especially given the artificial economic environment of the past decade. Many smart people know that Slava co-founded RethinkDB and realize that it's one of the best databases in existence. That genuine brand value is way more valuable in the long run than worthless fiat paper or company stocks whose earnings are denominated in that same worthless fiat.
It's important for millennials to realize that the past 10 years of monetary policy which contributed to significant centralization of wealth and power is not normal and it won't last.
Some of us just aren't cut out to work in a big corporate environment. From what I've seen, large technical companies are made up of two sets, the technical set and the manager/business set. Unfortunately, it seems that the manager set yields a disproportionate amount of influence and power and therefore is "valued" more. I'm sure there are smaller companies that could make the folks leaving stick around the industry. But, if they've been successful and are mid career they may have priced themselves out of those opportunities.
As someone with 10 years of management experience at big corporations, I encourage you to consider the possibility that managers are not valued more and this attitude, itself, is evidence of the beginnings corporate burnout.
This is something that I think about often, but it's difficult to find a path that is creativity-sustaining. In practice it hasn't worked for me. Alternatively, I have considered seeking tech jobs that are not demanding and have fixed hours, leaving time to explore passions outside of work.
30 years later, after ~25 years in tech and a major clinical depression, I totally understand why he did that. He seemed happy, too.
My advice to anyone struggling with disillusionment in tech: get a job doing software at a non-tech company with a mission you care about. You'll remember that technology is in service of something. My years in entertainment are some of my favorite in my career to date.
I would rephrase it as "find a software job at a non-tech company that works in the industry or with the topic that you enjoy/care about". Otherwise, you get all the negatives of working for a non-tech company with none of the benefits, since working a software job at a non-tech company, you don't get much respect/recognition and you are treated as a cost center, not profit center. We complain a lot that at tech companies, management doesn't listen to our suggestions or acts however they see fit by disregarding engineers' opinions, but it gets much much worse in that aspect at non-tech places. Of course there are tons of positives in that arrangement too, but I think they are pretty obvious and there is no need to discuss them.
Which is why, I believe, the best of both worlds (if you are tired of working in tech) is working a software dev job at a non-tech company in an industry that you are into. My guess is that, for you, it was entertainment. For someone who is into music and sound synthesis, working at a DAW company (like Ableton) or at a small company working on VSTS and synths would be a great idea. For someone who is interested in physics, working as a software engineer at some college research lab would be great (e.g., Georgia Tech has GTRI, which employs a lot of software engineers who assist research teams in various disciplines like bio, chem, physics, any kind of engineering, etc.). For someone who is into neuroscience, working at something like Paul Allen's Brain Institute would be fun, I imagine. For someone into avionics, [...], you get the idea.
What I am driving at, it isn't just a binary tech vs. non-tech. Writing code in tech, you are aligning the work (tech) with the industry/interest (tech). With non-tech companies, you are aligning the work (tech) with industry/interest (non-tech). And imo, your enjoyment and just overall happiness would be much better at a non-tech job that works in the industry/within the topic you are already passionate about, rather than just some random non-tech company that pushes papers. There is a lot of learning and happiness to be found in working cross-disciplinary jobs like that.
P.S. Just to clarify, because I know this tends to irk people in a wrong way at times, I use terms "software engineer" and "software dev" interchangeably (both throughout this comment and in general). I don't make a distinction, even though I know some people get very passionate about this topic.
I’ve been an adamant user of Common Lisp in the workplace, and I strive to carve out an environment for my fellow peers which allows them to reasonably work toward making creatively simple solutions to complex problems. Despite the continual pressure to (re)write in {C++, C#, Java} and now {Rust, Julia, Python}, my choice continues to pay dividends to myself, my colleagues, and most the organizations I’ve worked for. You can get away with it if you both deliver and manage healthy short-term and long-term expectations.
As an engineering manager, I would hold little computer science challenges every Monday morning. 45 mins to think about the problem and code a solution, and 15 minutes of “lecturing” by either myself or somebody who solved the problem. It took a lot of work each Sunday night to concoct a good problem.
Engineers invariably fell into two camps. The first were folks who didn’t want to participate because “this isn’t my job nor what I’m paid to do”, and the second were folks who reveled in the challenges, as if they were a paradise-like escape from the more mundane aspects of day-to-day coding. It would stir up conversation for the week and occasionally inspire participants to imbue the skills they learned into day-to-day coding. One of my proudest achievements was a coding challenge on combinators, which opened a big window of fresh air to individuals who didn’t understand closures or high-order functions. Lo and behold, they adopted the practice of using them to simplify some production Python.
It wasn’t compulsory so if people wanted to log into JIRA and toil away first thing Monday morning, they could. But if you felt stimulation from learning new things that may or may not actually tangibly help you, the exercises contributed a positive environment, a positive collegial interaction, and a positive following work week.
Also if there was free time to be put to puzzles, I’d rather remove my mind from programming entirely to refresh when I return.
I read about 5 fiction and 2 non-fiction books per week, so the reading is not the challenge for me. The challenge for me is that I feel that I will be judged if I have a non-consensus opinion about (for example) what everyone else thinks. On tech-stuff, I hold my own (Because I'm always right! Ha!), but with some of these more touchy-feely books, I'm not sure I won't be excoriated (and I don't enjoy that, and don't feel like fighting battles I don't care much about), I just don't share. And I'm not the only one in the group that does exactly what I just said. We want to have a convivial group and grow, but, isn't a Happy Hour slightly more inclusive (esp. with Hors d'oeuvres and Ginger-ale or whatever?)
Books like "Think" by Simon Blackburn don't bother me to comment on. They are pretty light treatments of the underlying topics, but (as philosophy), they are framed as rational discourses. (Whether they are or not is a different topic).
Topics about things like emotional intelligence (EQ) or persuasion or even nudging or race-relations in the 20th century can trigger a fairly rapid group response (primarily amongst the younger co-workers), and then you get to feeling piled upon (and even cancelled) pretty quickly.
It's a new world, and I'm pretty old, and as a sit-at-my-workstation-and-code engineer, I'm guessing that I may have allowed myself to get behind the curve on normative (allowable?) social opinions.
I think what this really means is that the more moderate you are, the more likely you are to feel stifled. Whether you're a liberal or conservative, the farther you are to one side the easier it is to know when and around who you can speak. Either you're in a stronghold for your respective group, or you wait until you're within the safe-haven of like-minded people in that area. As a moderate, you hold some views of both sides, and all you ever want to do if discussion comes up is explain how there are reasons why you hold these views that are you believe are rational, but to do so risks people categorizing you as "the other" from both sides. You learn to keep you mouth shut at all times, not just in one place or the other.
It seems that this favor is not returned.
But I don't understand. What do you mean by "touchy feely" book, and why are you afraid you will be ostracised by your opinions?
2) I guess the ones that are based on subjective interpretation instead of objective fact (whatever that is today). There is a book called "How we know what isn't so" (https://www.amazon.com/How-Know-What-Isnt-Fallibility-dp-002...), and it talks a fair amount about humans can clash by developing different interpretations of reality that they think are really real. I guess this isn't "touchy-feely"; I guess it is just that the reason I got into engineering is that machines are a lot more predictable and understandable than humans (to me). I did not mean to denigrate anyone's choice of book; I just didn't have a better term at hand (I still don't!)
(Not disagreeing at all, btw)
My father expected me to do so, at the age of 7, so I did. I don't think of it of speed reading - maybe it is. I did lose half my speed when I lived in Japan for a decade (learning to read in Japanese slowed my English input speed,
Many years ago a friend claimed to read a book a day. She was referring to cheap paperback fantasy books, her preferred genre. She could read them very fast because she already knew what was in them. She told me she mostly read the dialogue, which would definitely cut down on the time spent reading.
So perhaps the OP is reading mostly books they're already familiar with -- novels in a genre they like and nonfiction on topics they already mostly know. If so, you might be able to do similar things.
Also, the discussion should not be a battle. If the group cannot appreciate considering opinions or thoughts on a piece of literature then it might not be a good group to be a part of. Do you judge people for holding non-consensus opinions? inb4 moral relativism, so it's a function of company culture.
Sounds like you have either experienced a bad book club, or have contributed to a bad book club. Touchy-feely things might feel awkward in the workplace so its probably beneficial to avoid books of that nature and stick to subjects where everyone has a valid opinion.
I'm thinking that maybe small projects: "Hey! Let's build this together" would be more productive. The book club(s) where I have worked have been more cross-functional, which I think is good, but a lot more divisive than group development projects. I'm still trying to get my head around how it is all supposed to work. (I used to be a founder/CTO of a fairly large (in the 90s sense, not the 2010s sense), fintech company and on the board, and you would think I would have figured it all out by now, but the culture, it keeps changing! :-) )
An analogy to this is most people have chores to do at home, and if that's all they did at home and always by themselves, they'd probably burn out pretty soon. But if they could play video games with a couple friends, or have some people over for lunch once or twice a week, then the chores would be a lot easier to bear.
Now that I'm job hunting post-phd, I'm trying to rekindle that excitement in something...and I don't feel it. Grinding leetcode or memorizing some companies 'leadership principles' has been the antithesis of creativity. Everything feels like marketing. I wish I had kept up with old friends instead of spending my weekends in the office.
Funny enough, I've been brewing beer/kombucha and cheesemaking as a distraction.
I guess I'm getting older?
This. They're out there. I had to go through a lot of them to get to where I am now and the journey has been worth it. Also, there are lots of little tricks that you can use to make the journey more comfortable. Some of it is technical and some of it is EQ-related/interpersonal. It's very important to step outside the box and think about what kind of work you could be proud of achieving, and then you can take steps toward honing the skills that will get you there.
For instance, an example of little things that make your job related duties more streamlined will surprise you with how much of a difference it makes for making the daily routine more enjoyable. It really adds up.
The example: We have to fill in timesheets every 2 weeks. Well I sat down one day and spent an hour writing a bookmarklet in js that autofills the timesheet, hacking through the silly event handlers so I don't have to manually click and type on 20 cells. I even had to come back to it a few months later to add in logic to handle PTO and Holidays... I'm so glad I wrote it. Shared it with my coworkers too, which greatly increased its return on investment.
It reminds me of an anecdote a pro photographer gave to someone thinking of entering the field: if you love photography, really love it, then don't do it professionally.
Be an amateur. Fun fact: the word "amateur" derives from Latin "amatorem", meaning "lover, friend".
But today, and for the next two weeks I have to deal with the hell-hole that is the JavaScript/NPM/Webpack ecosystem and it made me want to quit my job.
This is why I warn people about Lisp: it can ruin you and make you unproductive for a long time if you are forced to use inferior tools.
This article gives me the inkling of a way back to get back to there. Thanks to whoever shared it.
One of my favorite parts of programming work is the opportunity it affords for letting my mind wander. I'll often be (re)learning all sorts of little tidbits while working on more mundane tasks, just by letting myself be curious and pulling on loose threads inspired by whatever I'm doing. To the untrained eye, these tangents might seem fruitless and wasteful, but as the author implies, over a longer timescale, it is anything but.
The problem for me occurs when the management caste thinks they know better how I should be spending my time, sometimes right down to the minute. There is a lack of trust which manifests in the need for constant communication, lest a teammate veer slightly off course, or, heaven forbid, become temporarily stuck on some problem. The solution, all too obvious to the manager, is clearly a top-down error correction process, and everyone must participate because it would naturally invite accusations of bias otherwise. And pretty soon instead of working away quietly at your desk, conferring with your peers when you need to (via pull request and code review perhaps), you are now forced into regular, maybe even daily, meetings that follow a formula derived at some business consultancy back in the 80s. The team moves slower, and every little thing that comes up now commands the full attention of every individual, who must listen and parse N points of view on a range of mostly trivial topics. Then come the elaborate handshakes and buzzwords and head bobbing mating displays and you start watching nature documentaries to learn what you can about the birds of paradise so you'll be ready for Monday morning.
But don't worry, you'll still be expected to do code reviews, only now they are yet another data point to be tracked by managers, and the meta discussion of your code discussion will itself become the topic of a separate, emergency meeting convened as a result of a process snafu involving multiple stakeholders who would each like you to explain how it's possible to deliver value with the correct prioritization based on the governance model that I thought we adapted after all the estimates were done for the tickets we decided to keep during the backlog meeting last Thursday, no wait it was two weeks ago, but regardless we need to get to the bottom of the requirements gathering so we know what kind of lift we're likely to encounter going forward so that expectations can be set among the VPs as to which communications outlet they should plan to engage with leading up to our next all hands because the overall direction will depend on the outcome of whatever you're about to say right now please open your mouth, no not that far, ok swish with water and spit if you need to, have you been flossing? Well try better next time, and please feel free to take a usb-c to hdmi dongle on your way out see you tomorrow!
This is so hard - even waking up the same time everyday is rough because you never know if you are going to pull a late-nighter, you know?
I’ve heard this from psychologists as well... something I need to work on... thank you for the reminder.
Software development organizations can be a good place to work, but the taker mentality in software engineering makes everyone miserable.
And the more money there is in software, the more takers join the industry: people that truly hate development and see it as means to an end.
They want to stop being developers as quickly as possible because they hate development and see it as a lowly way of life. They feel entitled to manage others despite not caring about what they do. They resort to business excuses even when their contribution to the business are code deliverables.
And some organizations are dumb enough to indulge into that.
And from there, it is a downwards spiral. You want to hire the best, but at the same time you have entitled managers that hate development and punish people that care about what they do and make feel demoralized instead of inspired.
For a developer, the code you work on is a mental place. And if that place is chaotic, developers will be unhappy because their working conditions are inadequate, unless what truly makes you happy is clocking out at 5pm instead of getting to work in the morning.
There are people out there telling developers that messy chaotic codebases are normal and they should adapt to chaos and tech debt instead of trying to do something about it. I do not think that is the answer.
From the economic perspective, no one cares whether you find your work interesting. You don't either when you buy a product or a service. Someone is paying you for some product or service, not to make your life fun. That's your problem. You think everyone else is having lot of fun at work? You want to go tell them how uniquely awful your life is? How you thought work was supposed to be a 24/7 orgasm? How your jobs is about _you_ and _your_ jollies and not the client or the user?
Perhaps a maximum 40hr work week would be a better industry benefit than free snacks and the other goofy gimmicks that companies like Google like to ply people with. That way, you can spend the extra time on your hobbies.
Agreed on the goofy gimmicks part though. They get old very fast.
But there are also other forms of happiness. One is a generalized sense of well-being. Another is a sense of growth or flourishing and fulfilling one's potential. I think it's sort of natural that people associate these things with their careers (especially the latter). And I understand why it's disheartening to feel that at the end of the day you're a cog in a machine, that your work may actually be damaging to your well-being and distracting or sucking away time and energy from things that would allow you to flourish. Worst of all for many people in tech, you may feel that the work you do is actually net harmful to not just yourself but to your coworkers and your users.
I think you're right to call out people to take responsibility for themselves and to realize the world doesn't owe them anything, but I also think it's a more nuanced issue and there are some easy traps to fall into out there.