top | item 28622669

Quitting your dream job twice

154 points| purgator | 4 years ago |t3.gg | reply

67 comments

order
[+] angarg12|4 years ago|reply
I like the point that your dream job of today might become your professional prison of tomorrow. But at the end this was the entrepreneurship porn that HN loves.

I got a different take on the topic. I work as a ML Engineer and many people I talk to (particularly students) say that they'd love to work in ML. When I ask why, few people can give an articulate answer other than "ML is cool".

What I try to convey is that work in ML can be as dull and unfulfilling as any other domain, and conversely other jobs can be thrilling and fulfilling. People let great opportunities go by chasing their "dream job", just to realised when they get there that it wasn't as brilliant as promised.

As a parting thought, some of the happiest people I know work a 9-5 job that gives them a reasonable living standard, and have rich and vibrant personal and social lives outside work.

[+] andrew_eit|4 years ago|reply
"work in ML can be as dull and unfulfilling as any other domain"

I love this statement.

A while back, when I was trying to figure out what I liked, was good at and should do with my career, I realised that I can't select things based on how much I liked the good parts (because I like so many things) but rather, how annoying I found the dull parts.

It's like, if you find a profession or hobby, where even the annoying and dull parts you can say "meh, it's not great but like I'm not too bothered by this", then you'll probably manage to survive a 20 year tenure with it. Since that's where most people would tap out.

It's easy to like the fun parts. Like when you are coding and everything is working fine. But are you also fine with the nitty gritty of debugging, refactoring and all the in-between bits that round up the profession? I see this in many professionals across the board.

Those who understand the significance of the mundane, the small and boring tasks as a integral component of the wider vision of the profession, develop a special bond with that, that is longer lasting and truer.

Not too much unlike relationships I would say. The good times can be great. But if the small day-to-day stuff is slightly annoying, it starts to get under your skin, and grows over time, like chipping away at a tree trunk, eventually felling the tree. Lasting bonds happen when each person understands and isn't too bothered by the mundane and annoying, human side of their partner.

All this being said, please excuse the philosophy. I'm in Europe, it's 11am, I've had my 3rd coffee and ironically I'm supposed to be refactoring code right now.

[+] wayoutthere|4 years ago|reply
> As a parting thought, some of the happiest people I know work a 9-5 job that gives them a reasonable living standard, and have rich and vibrant personal and social lives outside work.

This is the secret. Don’t work in your passion; find a specialization that you don’t hate but also don’t love and set reasonable boundaries on work. If it’s not something you’re passionate about, you will respect those boundaries and the drudgery becomes bearable.

I absolutely love tech and tinkering on code. So much so that I had to stop doing it and actually lean into the managerial battles described in the article. Turns out I’m pretty good at that job, and I like working with people all day, but it’s a career rather than a calling. I also don’t feel compelled to keep pushing to finish a problem and come up for air to see it’s 9pm.

[+] r00t4ccess|4 years ago|reply
I can echo this sentiment, I work as Senior SRE at a FAANG, I always though I wanted to work at a FAANG because it would be exciting, high pace, and use lots new technologies. Well most of the time it's incredibly boring. The only difference between where working at a FAANG and a regular old fortune 500 is that people who don't work at a FAANG think my job must be amazing.
[+] cableshaft|4 years ago|reply
I got asked to help on an ML project and right now it seems dull as dishwater. Having a hard time being productive because I can't get interested in it at all. That might change in time, it's still really early, but I'm starting to think I'm glad I didn't chase this particular rabbit hole.

It's about product sale forecasts, by the way.

[+] snarf21|4 years ago|reply
Well said. Since work takes such an out-sized amount of our lives, we often assume that this is where our purpose is. At parties, people ask what we "do" and we almost universally reply with our vocation. We assume this is our definition. If that works for you, great! But sometimes, a job is just a means to sustain life. Find a cause, find a hobby, find a purpose that truly fills your soul. The search for such a thing is another joy in life. And when you find it, you can experience it without the business concerns and unrealistic deadlines. I've read countless stories about people who had a dream and once their dream was attached to making rent and having food, it was no longer their dream. Make your job the thing you dread so your passion remains for your dream.
[+] kuroguro|4 years ago|reply
I think the "x is cool" part is necessary. Even if the actual steps to do something are mundane or tedious, it's usually the concept of "doing the cool thing" that gives motivation to persevere.
[+] merrywhether|4 years ago|reply
Part of the “appeal” of some of these tech areas is the supposed status of working on something that is perceived to be hard. But then people get into them and realize that, unless you’re the ones doing the actual research (which itself is frequently a slog in a different way), for most part the day-to-day is the same as anywhere else: occasionally solving small challenges amidst a lot of “boring” work and maintenance. Some “cool” tech alone is not what makes a job fulfilling over any appreciable timespan.
[+] skeeter2020|4 years ago|reply
>> I spent a week putting too much time into a web game about Dogecoin. ... I can go from concept to product pretty damn quick.

I hear this pretty often, typically from very talented developers who have never shipped traditional commercial software as a product (which is definitely a dying breed). I don't care how good you are, you shipped a PoC in a week, not a product. It's great that your self reflection has identified what you're both good at and want to do, but a lot happens outside of writing code to create a product and this can take a long time. I've built a few in my career where I had involvement in the entire process, and typically the difference between when we're "done coding" to when the product is completed is 4x. I'm slow so maybe you can get this down to 3x, but I'm not convinced.

If I had one dream for software development the field and craft it's that we would build less, better.

[+] sweetheart|4 years ago|reply
The majority of the article is about how the author spent significant time working on mature products, not just doing little green field apps. It sounds like they definitely know the difference between a proof of concept and an actual product.

Besides, the only difference between the two is whether it has customers, it’s not engineering milestone that makes a POC a product.

[+] nexuist|4 years ago|reply
> never shipped traditional commercial software as a product (which is definitely a dying breed).

And why might that be? Isn't it because people realized they make way more money charging for PoCs shipped in a week than "products" polished over several years?

Nobody cares what your engineering methodology is like if it doesn't print money.

[+] AlwaysRock|4 years ago|reply
Sounds like classic gatekeeping to me. Do you get to decide what is a POC and a product? What qualifies something to be one over the other? Tests? Some other technical aspect that feels "producty"?

While you are busy building slowly entire companies are being built quickly. Perfectly? No. But your product probably isnt either.

[+] smoyer|4 years ago|reply
Ah to be young again!

I'm afraid the OP is going to find that starting a business will NOT let you be a full-time developer. You're going to spend a lot of time learning aspects of doing business that didn't even know were happening. This can also be fulfilling if you look at growing the business as a development process but if you're really looking to code for 40 hours a week I'm afraid you'll be disappointed again.

I think part of your problem is the idea of a "dream job". Jobs are contracts that lead to you getting paid in exchange for hours. It sounds like management was wasting some of those hours but that's their perogative. My advice is that your identity is NOT your job and that if you feel the need for the zen of 8 straight hours of writing code then you should have a side-project.

[+] merrywhether|4 years ago|reply
> if you're really looking to code for 40 hours a week

Seems like a founder can definitely do that, but then _also_ spend 40 hours a week on the business side. (Only kind of a joke)

[+] clipradiowallet|4 years ago|reply
> your identity is NOT your job

This didn't sink in until my 30's, it's true though.

[+] orzig|4 years ago|reply
Thinking back to the 10x developer discussions from a few days ago, the OP seems like an exemplar of one of the stereotypes (not necessarily bad or wrong): Very fast, very quickly frustrated, potentially not great at communication/politics.

The speed at which he puts things out just seems like a different planet to me. I've always been valued by my employers in concrete ways, so I'm pretty sure that I'm not a 0.1x developer, but both my skills and ambitions appear to be quite a bit more modest. That said, I was the only one keeping two teammates (one quite like the OP) from strangling each other, despite not being in a formal leadership role, so that's worth something. Anyway, it's fascinating to read something by someone with such a different brain.

[+] thrashtitan|4 years ago|reply
It is good that the author is in a good space. I quit my dream job last October due to failing mental health arising from being forced to work inside a SCIF for a year.

It was the most exciting job I have ever had. I did work with real world impacts. People literally lived and died based on the things we accomplished in there.

Returning to the 'real world' outside of that realm, and I have never been as excited about work as I was then. Sure, I have gotten help and my mental state isnt in crisis anymore. But its not quite the same being on the 'outside' as it is when youre in the middle of above top secret projects that stretch every part of your capabilities.

It is through the help I received I know I can never return to that world; it was what literally caused the issues I was having. I do regret quitting my dream job quite a lot.

[+] burntoutfire|4 years ago|reply
> People literally lived and died based on the things we accomplished in there.

IMO thinking that "having an impact will make me happy" is a fallacy, one of which bored corporate office drones often fell prey to.

As a counterexample, I present a biography of Jozef Czapski - an artist by calling, who became involved in setting up the administration for helping Polish citizens released from Gulags after 1941 (that's when Stalin became part of the anti-Germany alliance, and thus had to release Poles he put into Gulags earlier). It's interesting that his work never had greater impact (he was literally saving lives of thousands of people, who came to him starving, ill, without any money or a place to stay), but it was also the only time when he was seriously depressed. The work just didn't agree with him, he much preferred doing paintings, even if they had zero real-world impact.

[+] hibbelig|4 years ago|reply
> I quit my dream job last October due to failing mental health arising from being forced to work inside a SCIF for a year.

What's an SCIF? I tried acronymfinder.com but that didn't help me to understand.

[+] strix_varius|4 years ago|reply
Your "Round" product claims "<100ms latency from San Francisco to Tokyo."

Given that even fast connections between SF and Tokyo average around 110ms (1), is < 100ms an arbitrary goal that has been pulled out of thin air, or are you deploying new technology that's faster than a typical fiber connection?

1) https://wondernetwork.com/pings/San+Francisco/Tokyo

[+] mohn|4 years ago|reply
Your source says its numbers are "generated with the unix command line tool ping", which reports round trip time.

In fiber, with light traveling at about (2/3) * c, the minimum latency from SF to Tokyo would be about 42 ms.

[+] sho|4 years ago|reply
> I had spent almost half a year justifying code that took under 10 hours to write.

I mean... sometimes it's better to beg forgiveness than ask permission. If there's such a big win sitting so close within reach, sometimes you should stop asking and just do it.

I forget the source but there's a good quote about how in the beginning you're learning the rules, as an intermediate you know the rules and how to work within them, but a true senior knows when and how to break the rules.

[+] zqna|4 years ago|reply
You can not beg for forgiveness if you don't have a formal approval to allow your changes into the product. In multi-team environment it's impossible to push your code into production if you aren't aligned with the rest of organization. There are all types of gatekeeping and quality checks that prevent from any cowboy action. Most of the time that's for good, and sometimes it hurts, because of different views, mindsets and experience of people who are taking those decisions.
[+] soinus|4 years ago|reply
While I completely agree with you that asking for forgiveness in these situations is probably a better strategy, I definitely know the feeling that OP had.

My take on why it's hard is that I want to be a team player and I generally want to do good for the company and especially the team. If I go and do something else, which I believe in, but which is not what we agreed upon with my team, it feels awkward and I either have to do it in my spare time (this strategy wears thin with time) it "sabotage" something else that I'm doing.

So I definitely see a structural issue at hand here. If anybody has a suggestion of how these situations could be addressed - I'm all ears. How can we tackle situations where the time to write code is much much less than the amount of time to discuss if we have to write this code? How to skip to writing the code quicker?

[+] theobr|4 years ago|reply
Honestly I expected it to take at least a week or two. The team that owned the backend made it seem like there was a lot of "super tough magic going on here", which was a lie on its face.

Lesson learned for sure - spend a few hours hacking at it before trusting someone else's claims of inherent complexity

[+] nudpiedo|4 years ago|reply
By experience, the social aspect of working in a team and being right and proving it by breaking the rules, is a risky business as it may cause the eternal hate of some peers, who in other aspects are themselves as technically strong as yourself and will stay around forever.

Just don’t forget all mammals before being rational are emotional animals.

[+] villasv|4 years ago|reply
> This was a huge win, but I had become disillusioned by the process.

This fucks me up really bad too. I made significant progress in very expressive KPIs and my answer after a promotion was “I quit”. It’s very little rewarding to pick up low hanging fruits, specially if they’re there as result of bad decision making early on by other people, even though it’s so rewarding career-wise.

Good luck, OP. No matter the end result, enjoy the journey.

[+] theobr|4 years ago|reply
Oh man no way I wrote this!!! Thank you for sharing, happy to take questions
[+] TedDoesntTalk|4 years ago|reply
The reason for your twitch and TTFN departure, red tape as you called it, are everywhere. It’s not red tape. It’s persuasion, collaboration, compromise, and leadership. You clearly have all of these skills. But still, It’s easy to get frustrated by these things when all you want to do is build.

Unless you work alone, you will always have these interactions. You will always need to persuade and collaborate and yes, compromise.

Honing these soft skills is the other part of advancing your career and becoming a great engineer. The next time it happens, see it as an opportunity to grow, learn patience, compromise, and to practice your persuasion techniques.

What would you have become if you stayed at twitch another 4 years? Maybe director of engineering. Or CTO. You’ll never know. And maybe those aren’t your goals right now since those roles don’t build. That’s ok.

Thanks for the post. Enjoyed reading it. Good luck with the new endeavor.

[+] librish|4 years ago|reply
It seems really niche but I like that, it allows you to really perfect the product for a singular use-case. Do you already know if/how you're planning to expand after this?
[+] suzzer99|4 years ago|reply
We had a similar problem my last startup job. The back end was a complete house of cards. I spent months trying to convince leadership we needed to shore it up. I could have done it myself in a week if they let me. But they kept pivoting from one concept to another on the front end and weren't interested in fixing the back-end.

I convinced myself that if we got institutional funding as they hoped, the cavalry would come in and tighten everything up. But then I asked around and found out that institutional investors don't do that. I started just collecting a paycheck instead of trying to build something, got discouraged and left.

[+] burntoutfire|4 years ago|reply
The words "dream" and "job" don't really go together. A job is a means to make a living, and thus always a compromise. It's a never the dream.
[+] redshirtrob|4 years ago|reply
Many of my dreams are weird and don't make sense in the cold light of day. So...
[+] merrywhether|4 years ago|reply
Wow, what a 2021!

It’s definitely never fun when increasing front-end engineering complexity becomes the band-aid for back-end shortcomings. Especially when things are still small enough where everybody should reasonably be able to contribute to anything if they can make improvements.

Sometimes you just want to be able to make choices based on instinct, forgoing deep analysis when you need to move fast and fully accepting that the wrong direction could be the end of the road for the project. But maybe the right choice would have been too; that’s the adrenaline rush of starting things and seeing what you can build. Good luck on this next step.

[+] LurkingPenguin|4 years ago|reply
> Sometimes you just want to be able to make choices based on instinct, forgoing deep analysis when you need to move fast and fully accepting that the wrong direction could be the end of the road for the project.

I've come to believe that this is why a lot of people are attracted to starting something of their own. While "bureaucracy" and "red tape" is indeed excessive and detrimental in many organizations, some amount of it is inevitable when an organization gets large and successful enough.

I think a lot of engineers never fully appreciate this. Listening to stakeholders and getting buy-in can make the process feel too slow, but the human components of product management and software development are important. Success usually isn't just about pushing code; it often depends on having listened to stakeholders, obtained buy-in, etc.

Of course, every entrepreneur is forced to understand this if their baby takes off because there are very, very few organizations that don't become slower and more bureaucratic when they achieve a certain level of success.

[+] theobr|4 years ago|reply
I really need to do a follow up post on this: "building safety nets"

If you plan ahead, risk can be contained to small enough spaces to make big experiments much safer. Had surprisingly good luck with this over the last year. Round is practically a ship of Theseus with how many parts I've gutted

Love seeing you here man, let's catch up soon

[+] Zababa|4 years ago|reply
> Realizing that I had outgrown my role was a long, painful process. My last year was particularly rough. I saw so many points that hurt both creators and users. I wanted to destroy, rebuild, and improve everywhere I could.

That's interesting, I always thought that those feelings were a normal thing when you join a organization, and disappeared with time when you "get used to things". I would love to hear what other people think about this.

[+] glanzwulf|4 years ago|reply
Sometimes a dream job becomes just that, a job. Slowly and slowly it eats you up and you either grind it out for that paycheck or go find something else.
[+] xet7|4 years ago|reply
In this article is this paragraph:

"It took a while, but they listened. We replaced our monstrous 7,000 LOC socket server with a minimal, maintainable implementation under 350 LOC. This was a huge win, but I had become disillusioned by the process."

How can I replace my current 48,395 LOC of Javascript + dependencies with something more maintainable? Can it be similarly be replaced with 350 LOC ?

[+] theobr|4 years ago|reply
When you say "+ dependencies" do you mean the package lock file? I measure written-by-humans LOC.

This particular rewrite happened to drop about 14 unnecessary deps in favor of vanilla Node.js, Typescript and Socket.io

[+] dwmbt|4 years ago|reply
as a skate/music nerd, this was cool to read. i'll be fresh out of uni soon, and hoping i can stumble upwards as well. good luck to OP, round looks rad!

edit: looks like OP wasn't the author, oops! good luck theo!