I tried to convince myself that these advantages made it worthwhile to sit alone in a dark room for >10 hours a day, but in the end I couldn't. I was spending more time wrestling with package managers, version conflicts, obtuse configuration files, pointless deadlines, egotistical colleagues, and almost zero time solving interesting problems on products that I care about. You might argue that I should have just found a better job, and I did, several times, but I found that no matter how much enthusiasm I had for a job at the beginning, eventually it got bogged down in software engineering detritus. I didn't much care for my colleagues: no offense to those present, but I just don't really like tech people, despite the fact that I obviously am one of them.
Through a series of coincidences, I found myself with an opportunity to teach programming at the university level. It was a lot of fun: I can talk about problems that interest with me with people who want to hear it. I operate with very little supervision. I still get to learn new technology, but fortunately I can ignore the rough edges and focus on the benefits. Meetings are minimal. The salary is adequate for my lifestyle. Best of all, I get to interact with real, live human beings. (Although at the moment, of course, we're doing everything via Zoom.) Fundamentally, the problems I'm solving are not technology problems, but human problems. At this stage in my life, this is more interesting.
I never imagined I'd end up a teacher, partly because I was a terrible student. Over the years, I had gone back and forth between industry and academia but now I think I'm in academia to stay: there's nothing I miss about slinging bits for a living.
Ironically, I'm helping my students enter a career that I left, but I let them make their own life decisions.
The first simply had another passion - travel. Work was just a way to pay for that. Eventually went to work for an agency, been there a long time and AFAICT couldn't be happier (despite being less well off materially). I've known a couple of others who fit this pattern. One left the industry to raise goats and make cheese instead.
Multiple have left to become full time parents. I hope they don't regret it, since this group includes my wife. ;)
Several others have left the industry but have not necessarily left tech. Some do light consulting. One's writing a book. Most are working on long-deferred personal tech projects.
I just about joined this third group before my savings took a 15% hit, so I might as well say why. I'm tired. I'm tired of the artificial deadlines, and processes that slow people down more than they improve quality, and the omnipresence of coworkers who exhibit every kind of bad engineering or interpersonal behavior (even though others are awesome). I want to enjoy making things again, and the moments when I can do that within the industry seem all too fleeting. Even the best of my dozen jobs stopped being fun, or just stopped. The thought of going through a modern tech interview process yet again so that I can do all the rest again just fills me with dread.
I get to play with lots of tech still, except it's more of the layer 1 stuff. Doing fiberoptical backhaul work, or installing DSL in peoples homes.
I'm still interested in both hardware and software. I run Gentoo Linux on my machines at home, and I have a DO VPS for "cloud things", but I'm glad it's not my job, because software issues can piss me off like no other thing is capable of.
I took what I call a 12 year sabbatical from tech. I became an officer, went to pilot training, learned lots of new and useful skills, met lots of very good and interesting people, some of whom are my best friends.
Taking off from a short airfield in a blizzard, at night, wearing NVGs is an experience I don't care to re-live, but I'm glad I have something to talk about at parties.
A quote that affected me greatly during the time I was thinking about leaving: "if somebody wrote a book about your life, would anybody want to read it?"
After getting married (to somebody I met during one of my training courses), settling down, and having kids, a quieter, 40-hour-a-week lifestyle started to sound pretty good again. I had always been a hacker at heart, and realized that I was getting to the age where it was probably now-or-never if I wanted to re-enter the industry. So I went back into tech! It's better the 2nd time around.
Zero regrets.
* Meaninglessness. Most of the projects are simply not necessary, they do not help society in anyway, they just exist to make someone else wealthy.
* Tedium. The intellectual challenges aren't there after a while. There are countless intellectual challenges in the field of computing / computer science, but they are usually precisely the ones that industry has no interest on.
* Micromanagement. "Agile" and similar management practices (yes, I know, you're not doing it right, blah blah blah) are downright humiliating and infantilizing. Almost no other highly skilled professional has to tolerate such level of intrusion on their day-to-day activities. I love deep thinking and creative expression. The modern corporate setting prevents this by design.
* Open-spaces. See above.
* Idealism. I was so excited about the possibilities that the Internet opened for humanity. Now we have ad-tech and horrible exploitation of "gig-economy", warehouse workers and the like. This is definitely not what I have in mind when I started.
* Conformism. The tech industry is extremely conformist. Monetary consideration always wins. Deference to power always wins. "Hacker" used to mean something completely different. Almost opposite to the current definition.
I realized that what I always loved about computing was the endless creative and intellectual possibilities allowed by the medium. This is more or less the opposite of what the industry values, despite what they might advertise endlessly. There is nothing cool about it. It is stale and anti-intellectual.
I don't need a lot of money to be happy. You probably don't either. Time on this earth is the most valuable thing we have, and I would rather spend it waiting tables than enduring one more stand-up meeting.
I think creative nerds are the life-blood of the industry, but they tend to be shy and not assertive, so they have their life controlled by the "business types". I honestly believe that if the nerds told them to fuck off and started spending their time working on things they think are relevant, the world would become much better quickly. This won't happen, I know.
But then dot-bomb happened and it looked like the party was over. I looked down at the job opportunities after graduation. I didn't really want to spend the rest of my life wearing a tie, writing bank software and sitting in a cubicle every day, so I decided to try something different.
I became a seasonal park ranger. And it was awesome.
Like most jobs, I got it through knowing someone. My grandparents had volunteered for the NPS and were able to connect me with the right people. I became a seasonal park ranger at Yellowstone.
It's not for everyone. The pay is not great, but you do get lots of good benefits because it's a government job. And you're often living in remote areas (the nearest grocery store was an hour and a half drive from where I was stationed). It's also not conducive to family life if that's your thing (again, the closest school was 1.5 hours away and everyone around me was my coworkers). And the days are long, helping tourists, checking permits, etc. Permanent jobs are also incredibly hard to get - you usually have to do years of seasonal work to accrue enough seniority to get considered for a permanent position.
But the benefits? Being able to crack open a drink after a long day and look up at more stars than I ever thought existed - I spent many nights on the front porch of my cabin looking up at the Milky Way. Hiking, camping, boating on the weekends are easy because I was right there in the park. Clean air, clean water. A good group of coworkers (for me) who legit really care about protecting these astounding natural resources. And a feeling that you're really making a difference and reaching people.
I did this for a few years and they were among my happiest years prior to my marriage. Ultimately, I ended up going back into tech after things recovered. But there are days that I really miss the outdoors and wearing the uniform.
That being said, I haven't left but have been wanting to for ages. I'd be more interested in staying if I could find a unionized work place (when Delta cut salaries by 20%, the pilots union was able to negotiate for profit sharing after the hard times were over, when my company did that, they refuse to even discuss whether we'll ever be bumped back up to normal… even if we get paid well already it doesn't mean we shouldn't work together for better working conditions and more of a stake at the table) or a worker owned co-op to work for, but so far that hasn't materialized.
I've been doing customer projects for the last 8 years and it has been horrible experience. 99% of the things you're building are the same thing all over again (CRUD apps and various integrations) and pretty much 100% of the problems are caused by people acting stupid in different ways. It all just feels so pointless.
I wish I could come up with something else, but currently this is all I know. At least it all pays well. So golden handcuffs of sort I guess.
1. Do not work for a company where tech is not their primary product. If you are only a cost center, you will be treated like a second-class citizen.
2. Work for a smaller company. Your work is so much more impactful when you are not part of a mega-machine.
3. Work only remotely. The quality of life increase that comes with working remotely is massive, and I am not willing to give that up.
Of course this is not always going to be realistic. For one, working for a company that sells tech does not mean that you will be treated well, but it is more likely. Smaller companies, and remote only tend to pay a bit less (and definitely less than a FAANG), but still more than plenty to live a great life.
Who knows where life will lead me, but I will try to stick to these points.
Also saw that programmers were starting to be treated like factory workers where attendance and metrics like keystrokes per minute were more important than good well written and documented code.
The final straw however was "move fast and break things". Basically pump out change for the sake of change and let the end user do quality control.
One could argue that app stores have also played a significant role, basically taking thirty percent gross while depriving the developer of direct contact with the end user.
Bottom line, I’d rather be sailing.
Which is a euphemism for “I turned into an obnoxious punk” but I’m fine with that too :)
It feels like as the years pass and ones sense of autonomy as a human being overflows the brim, it gets harder to tolerate not being your own boss.
I took five years off work and was complete master of my destiny, which finally wore off, and I now work at a private boarding school that is recognized globally as being a center of excellence for teaching and learning.
The summary is it’s completely different and challenging to switch careers like this. It’s also been fantastic because (1) I am naturally a very gifted teacher (2) but I am completely unqualified, very raw, and full of newbie naivety which is all very humbling (3) and yet very liberating as once again the expectations on me are low and I have room to learn and grow, and (4) I am surrounded by people who actually know what they are doing and are committed to helping me get better.
The best part is that I can approach the day to day of the new role and the skills it requires with the mindset of someone who has been through one career already. I may turn into a punk again but for now I’m enjoying being a level headed journeyman surrounded by masters.
I like building things for people to use, but as a programmer found myself very isolated from users (even at small companies). It felt like I was doing the hard work of building a product but then someone else got to do the fun part of showing it off, while my reward was just... more programming.
Also, I found the job extremely boring at times, extremely difficult at others. I decided that the stress wasn't worth it, especially when my work was having a limited impact.
Finally, I'm not in the USA so tech jobs had no "golden handcuffs". Many other jobs were available that paid as well as a Software Engineer.
I still work on personal programming projects, where I can be much more involved in the whole product and not just the code. I can also choose to only work on things that I really care about and/or that I feel can make a real difference.
So I quit. I decided that movies is something that I have always loved and it’s what brought me most joy. I researched different career options and I came across creative development and producing. It resonated with me. Read movie scripts, give notes to improve it, work with writers, directors and identify the best strategy to get a movie made. One doesn’t need need money to become a producer. So I left the Bay Area and moved to Los Angeles and interned at two companies. The second company was a great fit for my interests (genre, etc) and I am now in full time Role and absolutely enjoying every minute of it.
I earn a quarter of what I used to make but I am much happier. But there are things about technology that I still like. And I am always curious about new developments. So I still enjoy reading Hacker News everyday.
Since then? I did stints in various unskilled & skilled blue collar jobs. Can't say I had much passion for any of them. So now I'm back, without education (mild regret but I can always study more myself; I think education should be increasingly on-demand and lifelong), but at least the pay is better and I get to work in a clean office while listening to music of my choice. I think the field still sucks (well, I imagine there are jobs I would really like but the chances of finding them, without leaving my country and family and everything behind, is probably quite slim), the grass wasn't very green on the other side.
Of course, I'm still a hacker at heart and I hope to create something nice one of these days. Probably nothing commercial.
I had been at the company for over a decade, and had gotten quite lucky in the RSU lottery & thought, wait, I have enough money to last forever, so why do I do this to myself?
My health was bad, I was overweight, smoked, was depressed. I felt like it was going to kill me if I stayed another decade.
So I quit. In the years since, I stopped smoking, lost 1/3 my bodyweight & really got my shit together. I dink around on personal projects and learn new things. I follow HN because I'm genuinely interested in tech & now I can pursue what things I want, rather than those I need for $JOB or $NEXT_JOB.
I miss the good people I used to work with, but this is almost completely offset by how much I don't miss the assholes and the hassles (annual review, recruiting, meetings, explaining basic math to MBAs, etc).
I started with Fortran while in the US Air Force (yay CDC 6600 and VAXen), got my CS degree, got out, worked in C/C++ and TCP/IP in the early '90s (yay SunOS), got married, moved to a big buy-side investment manager (meh Solaris), more C++, then Java. Lots of Sybase (yay JDBC).
7 years ago I quit after our big company was bought by a bigger company (yuck Perl).
Took 6 months off for a sabbatical (yay Rome. wow Bernini), then entered my "encore" career at a public safety agency. Introduced Python to that org, of which I am slightly proud. As always, plenty of RDBMS (Pro tip: don't run Oracle on (yuck) Windows Server 2008).
Regrets? Just that it's a shame programmers tend towards philistinism, and that office culture and beer culture overshadow any appreciation of history, philosophy, and the arts.
I now work for a small consultancy company doing research and designing funding programmes for charitable foundations. It's great because I get to do lots of research, writing, and thinking and have a positive impact on the world. No regrets, I'm very glad to have made the transition.
Still follow HN out of mild addiction and because there are interesting articles.
Both are so toxic to mental health that I had to move away.
I haven't really left the industry itself but I've moved away from a pure engineering role (which is my true passion) to a more specialized role which is ok but not as enjoyable. But, I don't have to deal with open offices nor agile, so it's a win.
The other aspect that makes me sad is that what we call tech companies today, aren't. Their product isn't tech. Netflix is an entertainment company. Google and FB are advertising companies. And so on. Very few actual tech companies in SV today.
18 years experience. My Current job the tech lead is a diva, doesn't listen to anyone else and just add more and more to our enormous codbase. There are now 3 devs. The other two just basically clean up behind him as he builds technical debt. Trying to discuss is likely to end up in an argument.
I have had a could of technical test recently and failed them both. Today I was given a number of reasons, for example was missing test x,y,z, when the spec said if you were pushed for time, write down the test you would do (which I did - along side that I actually provided the most complex test to implement, to check the timing of the cache refresh). I was advised I should have provided mocks (which would have taken ages to set up for example). They preferred a REST API to the HTML that I gave as output despite the specs asking for a "page". A couple of whitespace errors that made pylint complain. I hard coded some URLS rather than make them configurable (it's a test, not a production application) and didn't provide a setup.py (which was never asked for). Am I expected to be a mind reader? "It should only take you two or three hours"
Before that was a computer science fundamentals quiz for an hour and a half where I had forgotten thing from a couple of decades ago. How to avoid deadlocks in Java (I haven't done threading in years, I said I would need to reads up on it again) and what happens when hash tables have a collision. Again, couldn't remember off the top of me head as it was 20 years ago.
Does no on value the art of trying to keep code simple and maintainable? How do I demonstrate to prospective employers that I am good at this and stop wasting my time with nonsense described above?
Then I was a lawyer for around 15 years, and now I am moving on again. I am currently pursuing a masters degree in cognitive science, and I am planning to see if I can get into working on human cognition and AI/machine cognition in some interesting ways. (If anyone is doing anything like this, then hit me up. I am really interested.)
I do not regret my path at all. It is entirely likely that I could have made as much or more money if I had stayed with building websites and then gone into SWE or something, but a career in law was fun and challenging. And you can leave what you are doing at any time. I think a lot of people could stand to learn the lesson that you can, you really can, just say "screw it" and go do something else. It'll be ok, as long as you are even a little self-motivated.
I still follow HN because it is still one of the best online communities I've found, and it produces some of the more interesting and thoughtful interactions online. You know, it still has its faults, but overall I like it. HN is the primary way I discover new and interesting tech-related news, which still greatly interested me as a lawyer.
I got cancer and when I got better I have never wanted to go back to the office.
I have spent last 10 years travelling the world, reading, learning to live on very little. Never looked back. Life is not a bliss but I am happier in general and satified with tradeoffs I have made.
I still do some projects for my own satisfaction. Still enjoy programming and learning new skills.
I didn't work for a year and now I'm working on contract 6 months a year and try to maintain my boat/sail the other 6 months It gives me time to refuel and enjoy working in tech again.
Incompetent leadership: bosses and leaders that are seemingly nice people, but have no clue as to what's going on in their organization. Typically managers that aren't technical at all, but they just "fell up" in the organization somehow.
Relatively low pay: speaks for itself. It's easier to deal with hard problems and difficult people when you're also not worrying about which bills to pay this month, and seeing your peers in other companies do a lot better than you. This was especially true when I was in academia.
Toxic work environment: This unfortunately has happened a couple of times, once in a small family-run shop (13 people) and once in academia (a different role than the aforementioned one). There was a common denominator with both - the person at or near the top was a nasty combination of incompetent, bitter, and pit their employees against each other. In other words people that were truly pathological. All in all in my career I've reported up through dozens if not over a hundred people total through the various chains of command, but these two stand out. With one in particular there's a bit of PTSD (in the small shop the CEO would threaten jobs for minor things - this was ~2010 when the economy was still near the bottom where I live, and his COO would do equally vicious things).
I work for a great company now with some of the most awesome leadership you could ask for. I'm glad I didn't quit.
Something I kind of like about the hardware side, is that you're forced to keep at least one foot on the ground. Real physics problems are a good source of real business problems because you can't wish them away, and mother nature will tell you if your stuff works or not.
Granted, I'm not rich. I'll never see the kinds of salaries that get thrown around for programmers at the big five.
I've read a lot of the posts here, about the headaches of programming in a modern setting, and the ethical issues spanning a large swath of the "tech" industry. At one time I thought that I'd encourage my kids to get into coding, and I'd still do so, but they are aware of what the culture is like these days, and I'm not sure the money is a big enough attraction for them to jump through the hoops. Also, I can't honestly say that it's career worthy, given the level of attrition and the specter of age discrimination.
One of them is easing her way into coding anyway, because it's fun, and I always guessed that she might have a bent for it. I'm inclined to let her do it as a hobby without pushing her to make a career of it.
I used to be a business consultant and made a career pivot because I got burned out from working 60-80 hours a week and flying 100k+ miles each year. I loved all the projects I worked on, and many of them were very large scope (50m to 300m+ USD) with tremendous impact. I got to work with people in the senior leadership positions at multi billion dollar multinational corporations, and we were understanding their problems and coming up with solutions. It was so much freaking fun.
I barely feel that at my current work, where I'm just working on a CRUD app lol. It is so boring. I don't really care anymore about code juggling, because anyone can figure it out if they have a little dose of motivation. At first it was fun to be a "problem solver", but not like this.
I'm not really that interested in becoming a specialist. I look around at work at some of my colleagues who have years of experience in their specific subset of work, and they only know and care about that thing. These are highly qualified experienced people, but I really don't want to be like that. I like to get a low-level understanding of things I am personally passionate about, and I love learning so I try to get a high to mid level understanding of everything else. I'll fuck with dev ops, database performance, product strategy, marketing, sales, mobile app dev, whatever else that I find interesting.
Being a software engineer at a larger company does not satisfy me one bit, and it really sucks when you realize you're only in it because it is easy money.
I'm working on my own ideas now, and I'm learning as much as I can during this COVID remote time to make it on my own.
When I started my nursing job at the hospital I continued to work with my old company once per week. Now that I'm super busy as a nurse and continuing my nursing education, I fear my old tech job will really end soon. I kinda like it once per week!
I love my new career. I get to work closely with people and help them through tough times. It's very rewarding and my new colleagues appreciate my tech background. I've gotten 2 raises since I started 6 months ago and now make more than my old job working only 3 days per week. The job is not easy, but when I go home, someone else is doing the job so nobody is calling me urgently to get something done.
At the same time, I moved from a small company to a large company. The benefits are good and the perks are complete. Since I started my job as a nurse I have received almost 200 hours of professional development training. Useful classes that apply towards making me better at my job. In my old tech job, I went to an annual trade show and that was about the extent of training.
Anybody else have a job like I did in tech? I had infinite projects to do and unlimited time to do them in. It was weird and not conducive to productivity. Now every day I go to work, I know I will do something important. My patients will be grateful and my employers will support me. Yeah, no regrets here!
For the most part I liked the companies I worked at (which tended to be ~50 people when I joined) and my coworkers. The problems were interesting, though largely not things I was especially passionate about (I spent a couple years making software for call centers, a couple years on enterprise videoconferencing, etc.).
I decided to go my own way for a few reasons. First was financial - I had already started investing in some real estate on the side, and it wasn't a leap to see how much of a financial advantage you can gain from owning and running an operating business vs. being a salaried employee. Second was just that I really like to be in control. Even in a 100% self-owned small business you find that you're not really in control on a lot of things (getting permits from the city for stuff is exhausting, plus you've got a landlord, bank, etc.), but from a day-to-day perspective, I am the one who makes the call on everything.
Last was that it was a good way out of SF. I'm engaged (would've been married in three days... sigh), and I just have no desire to have kids anywhere in the Bay Area. This allowed me to move to San Diego, a place that I love and that is also perfect for this business.
Edit: To answer the last couple parts of the question, no regrets (I mean I guess in theory I would've kept working a steady job and started the business post-pandemic, but I believe all my choices were sound at the time that I made them). Also I still follow HN because I'll always be interested in tech.
I've gone to a number of career counselors. Trying to find something else to do. I have a number of other passions/interests. Just not sure how to turn them into a career? How did other people determine an alternate career to get into?
Well my case is biased of course by my limites experience but that experience really bums me out.
Few reasons why I left:
- Wanted to try something different.
- Incompetent management (Biggest reason), and politics at the workplaces.
- I am not good at expressing my self. Not good at kissing asses. Political correctness and all the stuff/
- Getting old (40)
- Single earner in the bay area with family. I couldn't afford a house in the area that I was living in. I didn't want to drive far for a job. I had the money for a downpayment, but paying $4000-6000 in a mortgage + taxes seems scary. I end up buying a rental property.
- The majority of the family is in the east coast.
So far, no regrets. I am not sure how this COVID-19 will affect the future.
I love writing frontend code (don't like react or other frameworks). Whenever I am bored/feeling down, I write code. I write my own utilities that I needed to get stuff done for my business. I was using JS for theming in one of my 5 years old PWA. Yesterday, I updated to CSS variables.
After all, technology is the future. Not sure any better place then hacker news.
It's all I ever really wanted to do, so yeah, regrets. Feels like I got to the party ten or twenty years too late.
I left to be a pilot. Spending time traveling, watching the aircrews and staring at airplanes taxi up got to me. I put my time in flying small planes and just finished training for my first airline job on Valentine’s Day this year. The work is amazing, and I’m still very solidly in the “I can’t believe they’re paying me for this” phase of my job as I eat breakfast and watch the sunrise from up high.
I’m not sure if I’ll still have this job by next week, much less October. Oh well.
Programming off and on for over 40 years. Left several times. Because nothing is as fucked up as I.T.
Did sales, consulting, several small businesses, and writing. Kept getting sucked back in. Because no one else digs as deep into things as us programmers. Became frustrated because we were always "skimming on the surface" of everything instead of deep diving into the cause instead of the effect. Besides, nothing turns me on more than watching something I built from nothing working for the first time. I haven't found that feeling anywhere else.
What do you do now?
Back into enterprise programming. Should be having a ball, but I'm more miserable than ever because of the total fuckedupness of management. Planning my next one-person business now.
Any regrets?
No. I had choices but picked programming. I often wonder how my life would have been different if I had become a mathematician, teacher, writer, artist, musician, or something else. But every time I talk to friends who went in those directions, I realized they had their own shit to deal with and I followed exactly the right path meant for me.
And how come you still follow HN?
Because my "Delete Programming from my DNA" button returns a stack overflow.
The reason is simply that i realized that i was not as good at problem solving as i thought, i also dont find joy in sitting for hours solving problems.
I used to be passionate when it came to programming, but i realized that the reasons i thought it was fun was mostly because i thought i was better at it than i actually where. I was the only kid in the entire school to program and all that.
But after starting a startup and working with other developers i realized that am pretty crappy at it. I also don't get enough joy to try to become better and on one level i can kinda see where my limit will be.
I always been extremely bad at maths and logic solving, i always had problems with sitting down and being focused on doing something like writing, playing video games or coding. I never will be able to solve problems fast enough to be a productive programmer.
It just is not for me, and its just a burden now when i have to do some coding.
Also other people in tech are just annoying, people who only brag about how smart they are. CEOs who are bullies and try to mimic steve jobs. Managers and other people seen tech as a burden for the company etc etc.
I really want that normal people would be building functions on their computers which today are startups.
If everyone is super, no one is.
Not only was it an awful workplace, but I was capable enough to work alone, and therefore did, so I had no colleagues to build strong comradery with.
We tried to hire myself a senior developer to mentor me and make me happy, but to put it simply, if you were capable of doing that you were simply overqualified for the company in the first place.
Imagine that, hiring your own boss...
Edit: I'm talking about 1 job because thats as many as I got through in this industry. All my applications are custom made, so after a couple dozen with no responses, I've kind of given up and have stopped looking.
I did a Ruby bootcamp 4 years ago at the age of 18, because I always liked computers and hacking around a bit. 4 years later I don't regret doing it, I learned a lot, but I have to motivate myself too much to keep on going with programming.
I find more joy in doing activities where I get to use my hands and body, being active all day. Last year I started working at a bakery which was so much fun and these quarantine days I have been starting repair an old house and painting artworks.
I guess I'll have to find out how to turn that into a living, but it gives me more joy then chasing the money that is in the tech industry. We'll see how it goes!
I'm now ~7 years removed from active development and am finding it increasingly more difficult to find time to make a side project to show off while trying to raise a family. I miss development and keeping up with all the new stuff. It'd be hard for me to take the pay cut to return as a junior dev- so now I feel stuck.
9 years professional experience, four year Computer Science degree, multiple reviews of my resume and cover letter by trusted friends in the industry. Stable work experience where I am not hopping around a bunch. Important position at a successful start-up. Resounding success at every job I've had.
I've been putting my resume out. Radio silence. I have heard NOTHING back from anyone. People don't seem to like my start-up experience.
____
Why I (might) leave if I get back in?
* Infantilization and Micromanagement: Agile is a plague. I hate being micro-managed and forced into meetings all the time. I hate the constant pressure to sacrifice code quality for expedience of release ( when bugs will be much more expensive to detect and fix ). I just want to do my job but anymore that entails being harassed by middle-managers who can't take "no" for an answer when their boss's boss sets an unrealistic deadline.
* The people. I've been saying over and over that one of the best things you can learn in programming is how to lose an argument. I am done with the divas and the control freaks. I am done with the 0 training, three-years of experience clowns that show up and work extra hours ( thus creating an expectation for the rest of the team to work extra hours ), who suddenly know everything and think you are now their bitch ( management loves these people for some reason. Probably because they are cheaper. )
These two things were what I experienced at my last role. Though, I suspect these people exist in other careers as well.
Why do I want back in?
* I have had good jobs before. Jobs where the team is in sync and everyone just wants to do a good job. I think if I can find a team, I can create that environment around myself.
* I have learned a lot of lessons from my previous gigs. I think a layer of indifference is important for a developer job and I am ready to embody that role with kindness and mindfulness. I can deal with the people if I keep them on the other side of the bell jar.
* I love writing code and I am good at it. I even enjoy drudgery like writing a bunch of unit tests or writing documentation.
At the same time I was running an environmentally focused project on the side that I really enjoyed and was starting to take off commercially.
One day I just decided to jump into it full-time.
Now I must stress, I am incredibly fortunate 30 year old, no massive student debts, large mortgages, kids, etc. In some ways, this was one of the biggest contributing factors in the decision. Sure, doing good is nice, but we all need to survive.
The reason I'm posting though, is that the project went full circle, and is now what I brand as a tech company (non-profit) with an environmental focus. I put this down to my background in tech.
Moral of my story (I think), is that most humans all long to do something new and different, but typically head back towards what we are good at. I'm just hoping I don't get bored this time around...
I realized I didn't really want to be a cog in the wheel without human interaction, and I wanted the perspective one gets in medicine to be able to come up with solutions that help people. That evolved while in school to building software/hardware that increased access to medical care, and it's been a cool ride trying to figure out how to actually come up with studies that prove my ideas work (or don't). It's also extremely gratifying to treat patients and make them better, even if it's at the micro scale.
But that's still a drop in the ocean compared to all of the other tech out there!
Literally every system you can think of, both good and bad, had to have someone build it. Systems for managing schools? Someone built those. Systems for managing your local restaurant? Someone built those. Systems for internally managing some niche organization no one's ever heard of? Yep, someone built those too.
Those kinds of things are numerous, and super important.
I always assume that 95% of programmers have some mental disability to do what they do. Nobody with a sane mind can sit in front of a black screen with white text for 8 hours each day solving weird shit.
I started as a CS student and totally sucked at programming, wanted to quit. I finished my Bachelor and started at a StartUp. I totally loved it. I could build things they way I wanted, had a great CTO who helped me along the way.
But of course, you are getting ambitious, so you move on. Next company, higher pay, more complex problems. At some point I switched to freelancing and did 3-6 months gigs for several companies.
Now I taught myself Systems Programming, got a job at a really high paying and interesting company - so it seems.
What I figured out: No matter how high the pay was, the problems were always bigger. I quit a project early despite them paying me 20k a month and I was basically sitting my time up, nobody cared. I couldn't do it.
Now I realize, the ones who are really good at programming have some mental disability which lets them focus on this one thing for hours day in and day out. There is no way you can compete with someone further on the spectrum then you.
Then, what's the point?
You are either wanting to improve, but the better you get, the more challenging the environment. And the problems don't stop. The higher the pay, the more shit you got to eat. That's the whole point.
So you either give up, accept your situation and have a life outside of work, or you switch careers.
My problem is that I just can't seem to find the right company with the right people. Both smart, interesting but also ambitious. You either have super smart introverts who don't want to talk and socilaize, or you have fun people who can't code shit.
I had my first interview at a semi-technical role and boy this was the first time a job interview was fun. People talked, cared about how you present yourself and just didn't want to get as much money out of your mind as possible.
Programming is great, but a too big of a power for smart people not to make use of.
The tech industry nowadays is no longer about solving real-world problems and making the world a better place, instead it's all about screwing the end user in every single way possible, whether it's ads, stalking and privacy violations, spam ("marketing" as they call it) or just plain fraud where the company is happy to take the money but can't make it right if things don't go to plan and the customer is left holding the bag.
Most tech products nowadays aren't there to solve a real problem and aren't funded by customers buying them because they are good; instead they're funded by some VC scum and they're there to capture the market (or rent-seek) and prevent a legitimate business from starting (nobody can compete with free or below cost).
Technology-wise, we no longer use engineering as a means to an end to solve a business problem. Instead, engineering became its own thing and most companies encourage and reward those who opt for over-engineered solutions, which means you spend more time fighting with dozens of layers of abstractions and chasing the latest JS framework instead of actually delivering functionality. This is mostly a symptom of the previous point where showing "growth" and bragging about your (over) engineering is more important than actual profit.
Unfortunately there's just nothing out there that pays as well so I have no choice but to tough it out.
I really don't want to return to tech, because it simply is not my passion. I'm going to try to start an aerospace startup instead, which is my passion. Perfect timing right?
I have no standout passion or interest, like many in this thread I am tired of the industry in general and the job itself.
I am considering doing a part-time horticulture degree to dome something different. How did you find your passion?
1. The interview process
This is my biggest gripe. Imo it's a hazing ritual that pretty much doesn't tell you anything about the candidate -- I think companies have it because they had to go through it, so why shouldn't you have to?
I really wish I knew that this was a thing before I got into this profession because I most likely wouldn't have gone into the field if this were the case. If I knew that I'd be asked arbitrary questions on literally everything I learned over the course of my CS degree + 3-4 years of professional experience on virtually every programming topic, language and tool imaginable, I'm not sure I would've entered the industry.
It used to be all whiteboard questions of leetcode, for which I would consume many hours a week just practicing even though it has nothing to do with coding unless you're writing C/C++ code, and even then, you'd probably use already existing libraries for algorithms. Some say it's a proxy for an IQ test, but I'd argue that's BS: it can be easily gamed, and I know a lot of smart people that butcher those because they're introverted and/or don't do well with on-the-spot performance tests with someone watching over their shoulder.
This now got replaced with often arbitrary coding projects that have nothing to do with the job and often take up considerable amounts of time to write. 3 hours? sure if you want to deliver the bare minimum, but then someone else who wants the job more will do way more, so you do (a lot) more if you want the job. A lot of them are now at the screening stage, before you ever even talk to anyone. I've often been ghosted on coding projects: I'd say I've dumped maybe 100+ hours and been ghosted on those projects. It really wears me out. Some places started to add time limits to the projects, which helps, but I'd rather have a 1 hour whiteboard interview on a project than several hours with a considerable amount of time spent setting up the tech stack instead of working on the problem because you're building it from scratch. You could game this somewhat by setting up a ton of template projects over a wide variety of tech stacks to save time, but it's all just a time sink (tooling fatigue).
2. It's always > 40 hours/week
Related to #1. The pay is high, but if you consider the fact that you need to:
- Have a decent open source portfolio to stand out from the crowd
- Constantly learn new tech and show that you know it (learning on the job is apparently out of the question), usually as part of the open source portfolio or a blog. The new tools usually aren't interesting -- they're usually a rehashed version of the older tooling with maybe one very small kind of useful improvement on the old tooling, and possibly 1+ drawbacks, but requires you to have to relearn a whole new api/way of doing things.
- The interview process is incredibly time consuming now that everyone is doing screening tests with several hour-several day coding projects, often which never gets followed up or read
- Meet arbitrary deadlines and create a bunch of technical debt because 'move fast and break things', and then be expected to come in after hours to put out fires that you have no control of preventing or didn't even start, because feature creep trumps sound technical decisions
Then, considering all of this, the pay is actually quite low when you realize you need to put in 60-70 hours/week to stay ahead. Unless you work for a spyware company (unless you get into netflix), see:
3. Detrimental to society: automate or spy
Most of the apps out there either don't actually improve society in any way or are actually actively detrimental to society. You're often either writing spyware (probably backed by some govt), or you're writing software to automate away some white-collar job that society desperately needs as the middle class, the backbone of a healthy society and economy, is continually shrinking and politicians are doing jack about it (to be fair I'm not even really sure what they can do about it...). Modern day spies are basically all in the tech sector, so there's plenty of spy shit. I'm from an eastern european country working for western companies, and I'm sure trust plays into whether or not I'm even considered for positions. Same deal as #1: I really, really wish I knew this as well before going into this field because I probably would've stayed well away
4. You're not a software engineer
There's very little actual engineering involved in the day-to-day work. It's really like 70-90% debugging (repairman) and 10-30% development (white-collar construction). Maybe like 1% is actually engineering in most jobs. I thought I'd get to be an engineer, and it's the aspect I liked the most out of my classes. I like developing stuff but not if it's detrimental to society (#3) and only with a reasonable amount of tech debt. Sound engineering practices would reduce repairman down to like 10%, but tech goes in hype bubbles and is often crap, and the best pieces of engineering are utterly unpopular for some bizarre reason
5. It's all getting automated away
There was a time when having strong linux and networking chops gave you a lot of street cred. Now those people are obsolete as more and more people are switching to cloud companies to save on costs (#3). Open source has killed the engineering aspect as jobs are now all about slapping libraries together and debugging (construction repairman). It used to be a white collar job but it's increasingly turning into a blue collar one (bootcamps?), so I think it's not surprising that the industry is treating it's employees increasingly like replaceable code monkeys (we probably are, and soon to be obsolete) and making us jump through all sorts of arbitrary hoops to get a job.
I've been thinking of getting into teaching + research and becoming a professor, but I'm not sure because:
1. I might just run into other issues in academia that I didn't know about before entering the industry, just like with the tech industry
2. There's also the aspect of bad luck/making your luck -- there are companies where none of this stuff applies, and so I could try to find/target those kinds of companies. My earlier experiences at companies were different. And the culture could probably change on a lot of this stuff, like how interviews are done, though some of it is probably inevitable and unavoidable (like automation + spy shit)
Despite that, I studied Economics in university. It fit my personality as being a lover of data and 'business' but a lot more of the human side of it. I'd always loved business, and while I started out in business school, I found quickly I didn't like 'business people'. So I switched into Econ. Halfway through my economics degree, I took a course on the history of labor markets. This course made me realize I needed to learn to code to stay relevant for the rest of my life. I didn't have aspirations of doing a trade and the course and further research made me realize how vulnerable my skill set was to automation.
So I finished school and then learned to code. I did a bootcamp, and became a very junior full-stack dev. I absolutely loved programming at this point. But I still missed 'business', so I decided to mix the two and start my own software development company. I quickly figured out there is little money in building businesses websites, but plenty in building custom applications or add-ons for e-commerce businesses and focused my efforts there. I made good money, got to live and work in Europe (I'm Canadian) and overall enojyed myself for a few years.
All the while I was perfectly content in the back-end world of web development, working mostly in Ruby, Elixir and PHP. But the front-end started sneaking in. JS has a way of doing that. Soon I found myself spending more time fixing broken node packages than I was coding. Someone above me said it felt like being a carpenter, while spending 80% of the time fixing your tools. That couldn't have described how I felt any better.
Turns out, while I love programming, I hate JS and the world that node has given us. If you want to work on the web, sadly, you're often faced with dealing with it at some point or another.
At this time, I was also discovering that while I always knew I loved interacting with people, that managing remote teams and having occasional video conference calls was not enough to satisfy my extroverted personality. I was becoming lonely in my work.
So I quit. I spooled down my business, going into maintenance mode only. I've since switched into the finance industry, doing underwriting for a small private bank. I love it. I still write code. I spend a decent portion of my time optimizing our company (we're small and the board is happy with any of my tech proposals so long as I explain the value added) with technology wherever possible.
Programming is now only a small portion of my day, but I treasure it now. I still program in the evenings (Elixir Nerves is super cool!) for fun, and of course at work. But it's not my primary role. I will still get paid, even if Yarn breaks something that day.
I've since discovered that .asdf handles 90% of my dependency problems, and that the finance industry doesn't care if your app uses webpack or any javascript for that matter. Removing the need to follow or even keep up with the latest trends in web development from my life has been a breath of fresh air. I couldn't be happier.
Despite being an incredibly small shop, we "leaned in" to the Agile thing in a way that was completely foolish. Scale was irrelevant, we had some services that were hit an average of seven times a day, sometimes spiking to ten. You will have to trust me when I say that they would never go viral. Ever. We did not have teams of programmers working on one product, we had a few programmers constantly bouncing from one little project to another as management demanded. This "pivoting," (and I guess you have to be Agile to pivot so often) resembled nothing more than Brownian motion from the ten thousand foot view. Management would shift in and out, old work was looked at with "why did we build that?" while never asking if the hotness du jour was similarly unnecessary. Meanwhile, backbone processes were neglected and began to crumble.
Ah, but the churn, that was huge. We kept switching from one platform for engineering issues we didn't have before to another platform. We had this, now we are going to Trello. Then it turns out that our parent organization was going to switch to something else entirely in six months, but let's take a little detour from Trello to this other platform just for fun before we go to what the parent organization will mandate. This was most likely to be just another bullet point on the old resume for the lead, to say that he had done it, on his way out the door to somewhere else; if I had to guess, he had figured out what ecosystem his target job was using and picked some items out of that for us to purely temporarily migrate to.
People would buy wholesale into services that simply were not going to last. I would smell the stench of impending death upon them but no. And then later, into the Google Graveyard or the like it would go. So much jabbering about frontend frameworks when almost no Javascript was required, only to have to then keep those frameworks current.
The churn was there in other ways. I had never used a particular backend framework before, in fact had little experience with them. I was forthright about this, so I bought some relevant books, set up a test machine to dabble with, and was ready to go with a tiny little "get my feet wet" project that would still have some minor value. The other "contributor" had agreed to all of this, and when I was set up and ready to learn, somehow everything pivoted to Django. No "buy-in," as the lingo I had to learn goes, from me. Time, effort, money: wasted. Update update, migrate migrate.
I remind people often that nomads never left great architecture behind. If you are constantly migrating, you are not building anything to last.
I switched to something tech-adjacent. I still program. I still use technology to solve problems. Now, when I program to solve a problem, it stays solved. I do not have endless meetings fractally interspersed into my schedule like some kind of stuttering hardware interrupt all to talk about solving a problem.
I follow Hacker News because I am interested in some trends, pet projects, and the like. On a purely cruel level, watching people simply tear into one another again and again over what looks like religious differences (Agile in particular is a fantastic example, makes top-posting vs. bottom-posting thing look tame) reminds me of why I left.
For example, are you in tech if your employer has been around for 20 years and your employee number is five digits? If the business model has nothing to do with technology, or are technology companies like microprocessor manufacturers inherently disqualified because their business model is technological as opposed to financialization? Can you only be in "tech" if you live in SV? Or is it just voting for Democrats that makes one a tech worker as opposed to a typical engineer?