Surviving Disillusionment
spakhm.com
spakhm.com
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.
It sucked.
From that, I decided I'd never do webdev again, including so-called backend. The web as a medium is not where I'm supposed to be. I can't stand the culture, the churn, the faux openness, the re-invention of things that already exist. I don't care. In fact, I'd rather do another job entirely than webdev. And I considered that for a long while. I took a long, winding journey away from software and eventually back into it, through things like LLVM, Haskell, Rust. Slowly, I began to discover people with whom I shared a technical aesthetic actually existed, and were much smarter/capable than I was. This was humbling and exciting, as it started to paint a picture of what I wanted to work toward.
One priceless realization: the people with the technical career I wanted weren't the ones always featured on HN or elsewhere. HN's startup focus tends to suck all the air out of the room of other interesting domains.
Professionally, I started seriously investigating domains that weren't web/data-related. (I also decided I wouldn't tell anyone about this, because Smart People like to say things like, "but then what job would you get? Every job is a web job, Jeff Atwood even said so!!!") I'm doing quite fine now.
Focus, in both the moment-to-moment attention and long-term vision sense, is a superpower. Without disillusionment, I don't think I'd have it.
I’m not sure where I’ll find more focused environment but I’m sure I want little todo with the constant “hustle” mentality.
I'm not really well compensated for my work, but am somewhat paralyzed by the fact that I just don't know what to look for in a job anymore. I considered looking for a devops role in a company that prioritizes ownership of their systems (i.e. implementation of their own pipelines on their own metal rather than aws or similar), but it seems like the likelihood of finding a company like that which also values good infrastructure practices is pretty unlikely. I find that when I ask about whether finding such a role is realistic in chat rooms or forums about devops work the responses range from confused to derisive.
Did you find the crowd that resonated with your sentiments through contributions to open source? I've been thinking about looking into open source meetups in my area as a way of expanding my understanding of what I want to do.
That's interesting. Conflicts of values like those can be deep and hard to reconcile. It becomes a sort of paper cut you can't quite get away from, because everyone's too invested in perpetuating the status quo.
I have to imagine there are companies that care about that, however. (There have to be those that aren't magnets for the hyper-competitive, too.)
> Did you find the crowd that resonated with your sentiments through contributions to open source?
A bit. I had a nice side quest through OSS, where I learned a lot about shipping, customers (e.g. users), and using it as a way to try out other domains/technologies. Ultimately, it was more something to help me pivot than a place to stay, mostly because I need to make money. But I am grateful for those that build those communities.
You got my curiosity! Can I ask you in which field are you working on?
if this were all i did i think it would be really bad for me. but i am a musician and over the last year or two, starting to lay the foundation of an electronics recycling plant. so those two things are both very meaningful to me and fill the hole. but sometimes i worry a little bit about how stupid i think what i do for the majority of my money is.
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.
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.
30 years later, after ~25 years in tech and a major clinical depression, I totally understand why he did that. He seemed happy, too.
He noticed that doctors can get through the bullshit because they have contact with patients. It's anecdotal of course, but it seems common in caring professions. Why else would anyone be an underpaid grade school teacher?
But Slava doesn't come up with an exact parallel for programmers. He suggests studying the history of technology, and reacquainting oneself with the sheer fun of building things. These are maybe good, but he doesn't seem to be telling a story of how he recovered from disillusionment. At best he's speculating that these are things that might work. I suspect they won't, because they miss something important.
Nobody is sincerely thanking us for doing these things.
Unlike doctors and grade school teachers, if programmers had more contact with end users, they'd probably get burned out faster. The things we build rarely make anyone happier.
There are ways you can justify the work - creative destruction ideology, or maybe you can delude yourself into thinking that mashing together APIs is somehow getting the world closer to some better future. And maybe they are even right.
But are people really meant to work this abstractly? This detached from outcomes? There's nothing to propel you through the bullshit.
You can look for meaning elsewhere, not all professions are fulfilling, and yes medicine is one of the few professions where there is a direct tangible correlation between effort and reward. You see your patients getting better.
But it's endlessly taxing to be a good doctor, you can't really have much of a life if you are truly a good doctor.
My parents were doctors, ran a hospital and really passionate ones at that, but they had no time for anything else. So if you are dedicated like that more power to you. On the flip-side I've seen more doctors who were into it only for the money than ones who were true to the Hippocratic Oath.
Depends on the business and users, but in many cases I agree with you. But I didn't mean to extend the doctor analogy to individual people. Personally, I'm very slightly aspy. I didn't get into computers to help people, I got into it because I loved programming, science, and tech. Unlike doctors, I don't need to see my work save people's lives. I'm in it for a totally different reason.
TIL that I live in an ideal world.
The one time that this was not the case was a wonderful time in my career. I worked on software for photographers who worked in a studio down the hall from my office. They’d stop by in the morning with a suggestion or bug and I’d walk over at lunch with a solution.
One idea from “agile” that has resonated with me is that programmers should work closely with their customers. The most miserable projects have multiple layers of PMs refracting the idea away into nothingness.
I mean most web developers nowadays work in a glorified version of manipulating users, spying on them, and / or shoving ads into their face.
I've yet to meet anyone who would feel happy to meet the person that sells them out to advertisers online. I'm sure there are users that love all of their YouTube recommendations and that check their Facebook feed hourly. But those are probably the people that make you question humanity when you meet them...
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.
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.
Before I switched to CS, I saw behind me years of unused education and experience and in front of me low paying jobs I didn't enjoy outside my field of expertise. I chose CS because it was interesting enough and paid enough to have a job. I realized in the process (which was a difficult one) that I could still have all the things I wanted originally, but just split up into different baskets:
- A job where my minds engaged (learning, problems solving, etc) and pays well.
- Outlets for my creative endeavours (music, writing, etc)
- Outlets for community (church, sports leagues, even work)
- Outlets for helping others/finding meaning (for me, being involved in my church)
And the interesting thing is, by splitting all these things up I am actually much more resilient to failure in any one area. I enjoy the sense of wonder from my job when it strikes me, but, so far, the drudgery hasn't spoiled the work for me because I can scratch that itch elsewhere. I also feel free to leave my future open and transition to something else if I happen to feel otherwise without abandoning that sense of identity.
The compartmentalization strategy is disastifying like polytheism.
I'm more curious why you failed or discovered it wasnt for you to become a minister?
Insulating one's life against risk is natural and we all have that instinct to grind out a simple life.
Why do you value identity so much? There's a big world out there without grasping at wind.
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.
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.
There is an unfairness that is so hard to see if you're not a minority in tech, that leads to lots of minority men just saying 'fuck it, this isn't worth it' (there's even an article about this https://www.usatoday.com/story/tech/news/2017/04/27/toxic-wo...), and recently I've been finding myself on that same path ... at least till my fortunes changed and I got a different more understanding manager.
But the bitterness of my experiences with previous managers, the powerlessness you feel in the face of being treated so differently never leaves you. It really sucks to find out that the whole idea of it just being about the code, meritocracy blah blah blah ... isn't really true. And worse still, that quite a large group of people, don't really buy that this stuff really happens.
Have you considered starting your own company so you have control of how employees are treated?
More generally, this seems to me to be a potential solution to the disillusionment problem described in the article that is not often considered. Bad management and bad treatment of employees should be bad business; but for that to be the case, companies that do those things have to face competition from companies that don't.
Have you considered starting a venture capital fund that does a better job of investing in businesses that existing capital allocation underinvests in? Again, failing to invest enough in businesses that are worth the investment should be bad business, and companies that fail in that way should face competition from companies that don't.
Also where are their initial customers going to come from? If you don't attend the right schools or network with the right people from early on in life, why would people go out of their way to attach themselves socially to someone who is unproven?
Yes, just start a business...if only it were that easy!
In addition, being a minority founder doesn't mean funding is automatic. Investors still like seeing the right credentials, even for minorities.
While I can to some extent understand how being a woman might be difficult, I am not quite sure what aspects of being a racial minority affect your performance at a tech job.
If you could enumerate some of those blindspots, I'd really appreciate it.
The USA Today article is helpful for seeing aggregate statistics, but I don't really get how these kind of biases played out in real life. Does it look like explicit, unapologetic racist comments? Or micro-aggressions that where the speaker may not realize what they are doing? Or that and everything in between?
I am not asking for your personal examples, as that would be prying. More along the lines of anonymous stories to better understand other people's experiences.
People will be quick to remind you, both overtly and implicitly, that your skin color is a political tool.
So I took a huge pay cut to go works as an electrical and control systems engineer (zero experience). I love every minute. After 5 years I've significantly overtaken my tech salary and I'm solving real problems for real people instead of the bullshit work that is 90% of software "engineering".
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.
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".
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.
I don't know if that's true. Eurostat has these "proof of concept" statistics that try to look at how many people with a particular kind of degree are or are not working in a relevant field, and while I do seem to remember that STEM was a bit worse than other fields, the overall message is that there are an enormous amount of people who do work that is unrelated to their degree, whether that's an art degree or a teaching degree or computer engineering.
(https://ec.europa.eu/eurostat/web/experimental-statistics/sk... if you're curious.)
Anecdotally, too, I've definitely heard of teachers who pursue other careers even though they love working with kids, architects who became brewers, physicists who became writers, lawyers who became journalists, farmers who became coders, and so on.
Perhaps tech is worse, but I think there's something universal about throwing everything you have into your passion (which is also your career) and burning out when it turns out to be a total slog with zero impact on the world, then pursuing a second career in which you are much happier because you got a fresh start but more importantly because you acquired a more relaxed attitude to work and life that comes with age.
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.
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.
This article gives me the inkling of a way back to get back to there. Thanks to whoever shared it.
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.
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.
This really hit me. I've been thinking for a few years now that it's insane that something I liked as a kid that no one cared about now runs the world. The work can seem so detached from the things I'm actually good at, things that actually create value. Corporate culture seems to be designed to squash my ritual and my morale. The thing I loved has been corrupted in a way that doesn't even serve the host in the best way. It tries to make sure I'm replaceable.... but inventors rarely are. All they ensure is scope creep and an increase in my desire to say fuck it to all of this and become a farmer.
https://news.ycombinator.com/item?id=22862570
https://news.ycombinator.com/item?id=21645117
https://news.ycombinator.com/item?id=16483241
Going to bookmark this one too :)
Home-baked bread is amazing and worth the 15-30m of your daily life every now and then. In America, it's inconvenient/expensive to get really good bread. Brewing beer is more effort, but I bet people find the process and reward fulfilling and wholly worthwhile.
If one has a moment to pause and reflect on life as it seems to be, one surely must be utterly disappointed and disillusioned.
In fact, the term itself is (ironically) illustrative - disillusionment. To stop seeing the illusion. So either life is pointless and hopeless, or we are seeing some illusion that hides a completely different reality. It is impossible to prove with certainty whether this apparent existence _is_ real existence or if it is some illusion.
If in fact what we see now is all that is, then frankly everything is doomed and humanity (and all other life) is pointless. We can distract ourselves with TV, social media, politics, money or power gains, sexual conquests, or even humanitarian successes. But the logical conclusion of the current apparent reality is complete destruction, and therefore pointlessness.
>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.
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.
That's the thing, after 15 years of doing this as a job (and after a few illuminating books on the subject) I found out that there's not that much "romance" about this industry, and more than that, I often ask myself "are we the baddies?" (like in the famous YT video [1]). For my current peace of mind it helps that my present job is nothing big, nothing that wants "to change the world" through technology (presumably for the worst).
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.
I cringe when I think about the prospect of my funeral ceremony.
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!
The joke was twofold: first was the things the author discusses here, but second was enough of us had come from farms to know how little doing that would actually improve things. Schedule drudgery is nothing like the work of getting up at the crack of dawn to tend a farm. Pivots and rescheduling is nothing like the uncertainty of losing two-thirds of your crops to a bad season or half your cattle to a disease outbreak. if you hate corporate bureaucracy, try dealing with the EPA or the farm subsidy programs.
still 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.
At first, I decided to have a degree in a STEM field in order to have in the future a dayjob that would finance my artistic/philosophical aspirations, then I started to be really interested in some specific fields and was studying/working out of mostly intelectual curiosity and now (especially due to this COVID situation) I'm again seeing it as a way to survive in this rotten late-stage capitalism era but now without almost any kind of artistic aspirations (that's the way the passage of time destroys things).
Maybe I should take up one of the examples in the TFA and just dedicate myself to run a brewery.
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.