Therapy is the answer here. You have to un-brainwash yourself from the notion that your job is your life and figure out what really matters to you. Then focus on that, and use your job to fill the boring hours in between.
I agree that you need to push yourself and discover who you are -- but the answers to those questions aren't going to be found at work. This sort of mid-life crisis is pretty common for career-focused people in their late 20s - early 30s and the solution is to find interests and friendships outside of work.
Come back and say this after you’ve had to fix concurrency bugs or had to maintain some overseas contractor’s terrible codebase with no documentation.
It takes a certain kind of mindset; attention to detail and an ability to visualize and work at high levels of abstraction.
To do it well, that is. Copy-pasting framework cruft until it sort of works is simply boring and the world would be a better place if we stopped doing that.
That's interesting, I've never thought of it this way. I'm bored out of my mind at work more often than not due to not having full access to a monolith where it's actually possible to understand/work on the whole thing. Instead, I have to work until I hit a black box/3rd party and I have to either work around it or knock on the black box and ask the proprietors for help. I know that's a generalization, but it's a real cost of componentization of everything into services and the like, at least in the web world. It's _super_ fucking easy to get like 95% to a solution to almost anything on the web, but that last 5% where you spend the most time is like a constant root-canal.
I think you could almost say: if those things aren't hard you are working to slow and if you are bored you could benefit by raising your own expectations for yourself?
Vast majority of software engineering is tedious and boring. Almost no developing cutting edge optimal algorithms. Occasionally interesting design/architecture problems but the majority of the time spent on those is on writing docs, consensus building/communication, and implementation. It’s hard to find the motivation and force yourself to spend week after week chasing down bugs through poorly written code, but almost no task itself is challenging.
It's the equivalent of building a bridge, watching it fall apart, then figuring out how to artfully tie a rope around the bridge to keep it upright, rather than just designing a bridge that can stand on it's own. Most practical knowledge is therefore about artfully wrapping different ropes in clever ways around various problems, rather than fundamental theory on how to build the best design.
As a result of these thoughts, I doubt my code, I doubt everyone's code, and I've lost that naive optimism about technology. Good enough is good enough to ship, after all.
You’re going to spend more time at work than doing almost anything else during those years of your life where you work. Why not do something meaningful with those hours if you can? And if OP can get a job at Google they almost certainly can.
Contrast with teachers, doctors, nurses, social workers, etc., almost all of whom I think would say they do something meaningful.
I have no idea what proportion of software engineers consider what they do meaningful but the team who work on Google Scholar have done a great deal for me and I’m not even an academic. The drivers at Uber and Lyft and their riders have almost all had their lives improved by their existence. Amazon has made the experience of buying books so much better it’s ridiculous. Lambda School is taking 1000s of people from basically useless as programmers to a new career. Those are all pretty meaningful, at least as meaningful as your list, which seems be about displaying caring as much as actually effecting people’s lives.
If you build something people want and it isn’t harmful you’re having an effect.
And what they've done to the publishing industry is a whole nother beast.
The next recession is going to be a bloodbath for a lot of low-income people when the demand for the gig economy dries up.
Can you really blame Amazon for destroying community centers because they put bookstores out of business?
Bookstores aren't the only viable community center, after all. Most cities and counties have a public library that's supposed to exist for the community's benefit. Additionally, in rural parts of the US, the only real community center you used to find was a church, not a library or a bookstore.
Personally speaking, my community centers exist on Signal, WhatsApp, IRC, Mastodon, Slack, Twitter, Telegram, and Facebook. (And I neglect half of those entirely.) I don't see any need to have a physical watering hole.
Also, I'm from rural US, and those places do revolve around churches, but the pockets of enlightenment revolve around bookstores. IMO, a healthy community has a strong group of intellectuals. Intellectuals tend to gravitate to bookstores.
And yes, you can definitely blame Amazon for putting bookstores out of business. I'm too lazy to find stats to support that, but there is definitely evidence that Amazon is to blame.
And sure, libraries are for the community's benefit in an ideal world, but I'm talking about the real world.
If communities die when bookstores die, sure, you can blame that on what killed the bookstore. But regardless of blame, whose responsibility is it to ensure communities continue? (This isn't the same thing as blame.)
My point isn't "bookstores are the wrong answer". My point is "bookstores aren't the only correct answer". Diversify.
Software developers invent the tools and environments that enable other people to do more efficient work. Sometimes it enables entire classes of meaning work that weren't possible before. How can that not be meaningful?
For better or worse, everything is driven by software these days. All work is, directly or indirectly, powered by software. Being in software is like the most meaningful thing you can do.
In addition that study notes that teachers are more likely to work a second job, something a Google engineer wouldn't need to do to make a decent wage.
> The average salary of public school teachers in 2017 – 18 for the State of California was $80,680. [2]
Teachers make a perfectly decent wage as is, more than the average household .
[1]: If anything, I think teaching is more meaningful, using the same argument: do software engineering and you can do one human's job of software engineering. Teach 10 software engineers and you are by extension doing software engineering as 10 humans.
On a side note: if anyone here hasn't tried tutoring/teaching natural sciences/programming in a one-on-one setting or very small group, I seriously recommend it. It's surprisingly similar to software engineering; in many ways, it's wetware engineering! You get to debug the logic in people's brains as they work through problems.
1) I agree that this is often true! Code can be pretty boring. That doesn’t mean there are no interesting problems that you can tackle with programming. It just means most people work on incredibly boring stuff and think that’s all there is and totally fine. Find something that’s a better use of your time.
2) There is more and less difficult software engineering. If yours is really boring why wouldn’t you try something more challenging? It doesn’t always pay as well but it can be a lot less terrible to experience on a daily basis.
3) Most of the hardest problems in making interesting technology that touches the world isn’t in exactly how the code is written. Learning this is the first step towards starting to be equipped to tackle the actually hard problems in our field. Which you could work on directly, if you wanted.
None of this is to say that anyone has to do this. You don’t have to have fulfillment in your job. Though you and most others should frankly probably look around and make sure the code you’re writing is doing actually good things in the world rather than bad ones, that’s an ethical obligation but one that is pretty orthogonal whether or not you’re working on interesting problems. (If people optimize solely for money though, they bend towards writing code that makes that empowers companies over people and generally makes the world a worst place. People have a responsibility to evaluate this and try and avoid the ones that don’t.)
Mostly: it’s fine to make the choice to not work on something fulfilling. But stating that there’s nothing fulfilling to work on in this world is just nonsense, defeatist and mostly means you’ve resigned yourself and everyone who takes your advice to unfulfilling, boring and miserable work that doesn’t grow you worth a damn.
And that probably sucks. So why take that approach?
Tech has a nasty age bias once you hit 40, and I've seen people fall apart when they get laid off and finding a new job is hard for reasons that aren't exactly fair. Finding meaning in your life outside your job is how you keep sane when economic circumstances aren't working in your favor.
(Also like, to be clear these roles aren’t all high paying if you’ve adjusted your life so that without 300k/yr you can’t function then like, I agree you have boxed yourself into a harder corner. That said, I currently have found a combination that is both impactful and lucrative. So that’s super cool when it works out. I am desperately trying to structure my life so I’m not boxed into needing this to be true in the future because meaning in my work is still more important to me than money from my work.)
You’re right. I don’t know what it’s like to cobble together work during a downturn like that if I were to lose my primary job and be unable to find another. I would likely take the most fulfilling work I could find. Then when times were good I’d resume more fulfilling work. Just like I’ve done through out the time I’ve been in the field so far.
Given that we have been in a 12 year period of one of the largest tech expansions in the history of our industry, I don’t see why it makes any sense to argue that people shouldn’t be seeking fulfilling work now.
But there are a lot of folks like OP who were focused hard on getting a job at Google and making boatloads of money and never took the time to figure out what they wanted in life besides a high paying job. For people in that position, I would say keep the unfulfilling job, let it be unfulfilling until you know what drives you, and figure out what you want in life. Then you'll be in a position to decide whether to seek meaning at work or not. I personally chose to find it outside of work, which has made the career bumps a lot easier to handle because my identity isn't wrapped up in my job.
Yeah, but where is the guarantee that therapy really un-brainwashes instead of re-brainwashing you to just be content with a comfortable middle-class lifestyle. I guess it is a totally rational strategy if you want to maximize happiness (whatever that means) but it still feels like a cop-out.
Surely that depends on the problem being solved, right? Some problems are harder than others. The variety of knowledge domains presented though the lens of engineering here at HN always surprises me.
I find doing it well constantly really hard.
If you're ever feeling this way, move to a games company. Plenty of hard programming problems...
That doesn't even make sense. Software engineering is using software to solve problems. How hard software engineering is depends entirely on the problem you are trying to solve.
This hit me very hard.
This is every job after you've mastered everything you need to be successful. The key is to keep learning more or just completely find a new challenge.
" ... find interests and friendships outside of work."
100% agree.
Work is work; it doesn't necessarily have to be the most satisfying or fulfilling experience ever. That's always going to be the case if you're working for someone else. Earning a boatload of money (and saving it) to retire early isn't anything to scoff at.
This also assumes one can find a more fulfilling job elsewhere (with ideal compensation). Which is just that, an assumption. If, and only if, such a job were lined up, then it might be time to move on.
Edit: I think maybe I didn't communicate well. I just mean that being fulfilled at work can be _very_ significant because work is such a huge part of our lives whether we like it or not. And so not _seeking_ fulfillment in work can be a huge blind spot.
I didn't mean to imply it should be prioritized above all else, or that it's shameful not to have the luxury to achieve this to a high degree, as the OP presumably does.
There is only so much interesting work to go around, and you're usually not going to be doing it. You can seek fulfillment at work, but you also have to be prepared not to find it. Seeking fulfillment elsewhere is the secret to not burning out.
The Reality that most people live in is that we need money to pay the rent, like right about now. This limits the opportunities available to us because we simply cannot wait to find a fulfilling and justly compensated job.
I simply will not work for low(er) income just to satisfy my need for fulfillment (at work). You know what's better than that? Financial security. Retiring Early. Owning my own house instead of renting.
I would rather get paid a lot of money and not really work on very interesting things, if that meant I could retire a lot earlier and then do whatever I wanted for the rest of my life.
When work ends for the day, I work on my personal & open source projects, or engage in other intellectually stimulating activities like learning a language, etc.
I think the only exception at this point would be me taking slightly lower pay if it meant living and working comfortably abroad, because I want to live abroad for an extended amount of time, personally, so that tradeoff would be fine for me. In all likeliness that's going to be exactly what I do after I own my own house (at 26yo), and work under my own consulting business.
A lot of exciting opportunities open up when you don't need to care about money. You can do experimental, innovative stuff just because it's worth doing, and not just because a VC investor wants another cash-out.
Although, given Google's policies towards employee IP, that alone might be a reason to look for another company to work at -- keeping in mind that you almost certainly will be accepting a drop in pay if you leave.
I miss this every day.
??? I thought that middle age was where you still had the energy and the brainpower, but also had a bunch of hard-earned experience to bring it all to the highest level.
Oh, wait. I forgot. You slacked off when you were in your 20's and 30's so you don't. Never mind.
I agree with this, but it's not going to happen with any job. You'll never discover yourself sitting in an office. If you look at jobs as a means to an end to let you live you're real life I think your better off.
At this point in my life, an "exciting" software job is for suckers
AND, I am not a sucker.