Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login
Ask HN: Why did you leave the tech industry? (b'') similar stories update story
472.0 points by PirxThePilot | karma 280 | avg karma 12.17 2020-04-15 10:33:51+00:00 | hide | past | favorite | 496 comments

What's your story? What do you do now? Any regrets? And how come you still follow HN?


view as:

I turned 40, so they took me out the back and shot me. As is tradition.

I'm 55 but so far they haven't noticed! I guess HR can be as disfunctional with mandatory executions as they are when they present us with coding puzzles during the hiring process.

My first mentor was about the same age I am now, and still one of the best I ever had.

Staying sharp and engaged is tricky. It's easy for a person to become apathetic upon realizing how much churn and mis-spent energy there is in the industry, and when you're old and apathetic they assume that means it's time for the glue factory.


Mainly the grammar.

Didn't leave I just went out for cigarettes.

Not actually left yet, but at age 48 I certainly want to. The trouble is it's all I'm good at...

yep same. Golden handcuffs. I am working on my ski instructor certifications though, because you know being ski instruction is where are all the big money is ;)

I haven't left, but I'm thinking about it (despite still being early in my career lol). For me, it's the frustration of "nothing really matters." I value helping people, and building software actual people will use is one of the ways of doing that. Unfortunately, I have not had that opportunity. I've had to work on multiple projects that served no real purpose. It's extremely annoying.

This!

I feel exactly the same. I’ve had a great career within web development and UX design, in pretty significant ways, but it’s still not fulfilling and I’ve lost purpose in it.

I’ve turned my UX interest towards city planning, and I focus more on nature, farming, exercising. Whatever energy I have left I spend on a few startups.

Also, I’ve gone through all the medical and psychological steps to be a helicopter pilot (old dream) and I’m applying to schools at this very moment.

Looking to make the switch more permanent soon, I still have a day job as frontend developer.

Purpose and intention is all.


> be a helicopter pilot (old dream)

Careful with that, its one of "those jobs" that people flock to, but very hard to make a living in. A relative of mine did that, started rich, got his own helicopter, isn't rich anymore.


But is he happy? That's the big question (I used to be a fixed wing flight instructor, poor but happy).

I have found myself with a similar issue. Haven't been in the industry for too long (been working for over 3 years), but the constant shitshow that is FE development is really taking a toll on me. No matter what you do, people keep changing things, sometimes for the better, other times for no particular reason other than to work on new shiny things. If what I am writing right now will be thrown out soon or rewritten anyway, then why bother? Same goes for some BE stuff, Go language seems to be the new hip thing to do stuff in, repeating the cycle once more.

I have begun trying to find things I truly care about as a countermeasure to this fatigue, so far it seems to be moving in the direction of just helping with repairing and refurbishing used computer hardware. I know how to do it for my own purposes, it's less mentally taxing, you get to save useful stuff from going to the landfill and you will also help cut down on consumption. It probably helps that the results are immediate (broken device -> working device), but going this route will have a minuscule impact also on a larger scale.


> but going this route will have a minuscule impact also on a larger scale.

I think people trick themselves into thinking that "changing the world" is their ticket to happiness. I think looking more locally is the key to happiness. Make your community better in some way and the results are immediate, and you get to be a part of something meaningful and present. If you become the local guy that fixes people's old computer hardware, then you'll be genuinely impacting people's lives for the better.


So, rather than maybe help lots of people a tiny bit (hard to see the impact), help a small number of individuals a lot.

Same here. I start feeling anxious any time I think about it. I think we spend a lot of energy to serve commercial purposes. I am on a huge project, that uses a lot of modern technologies like AWS, Angular, etc... just to sell products.

It is boring. So like you said, I just try to find an opportunity that could help, but it's hard to find.

A reason why I could not leave my job right now, is that it's well payed. That's a high risk when you have a family with kids.


There is tons of help needed in Medical software, I made the jump to work in Radiation Oncology in 2014 after working at a large travel website and I do not regret it at all. The key is to find a company that maintains high security while still being "agile". That way the work is meaningful, and still similar in pace to working other programming jobs.

I find my work far more impactful, knowing millions of patients are being treated by my software in some way.


Thanks! I will look into those types of jobs.

Look into working at a university, "research programmer" is the title to search for. It won't pay well, but the benefits are usually world-class, the environment is incredibly fulfilling, and you can take courses for free.

I wonder if you pick a company that is both small (<20 people) and doing something you believe in if you'd have a different experience.

At a startup, you get to have a large impact on the company so it definitely can feel like you're making a difference.


Are you planning to leave and looking for some suggestions?

I haven't left but I'm trying to figure out something else to do with my life.

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.


I've been on a pilot track in my former life, but got out due to bad eyesight, which made it risky to invest more. Now I've been a software developer for 20 years, but it doesn't make me happy. It's an ok job and provides food and shelter for my familiy, but I wish I could get back into aviation...

Meanwhile, if you ask a pilot today on advice... They will say, get a university degree and look elsewhere than aviation

We always think that grass no the other side is greener, but not really. It's yellow :(

It's the same with how a lot of tech folks idolize farming. In reality it's a tough job with long hours and cold weather.


I know a family that did that. We're not really in touch any more but he was a tech worker in London in the mid 00s and she was in corporate purchasing or something.

A few years ago they upped and moved to Wales and operate a cattle farm, they also home-school their kids. Mostly now I see their ads for pasture-fed beef on facebook. They seem happy.


Everyone seems happy on facebook.

People romanticize all sorts of things, welding, nursing...

My grandfather was a farmer and died after an accident cleaning something with gasoline. Sounds dumb (I don't know the details) but farmers tend to have accidents like that because the whole job is working with dangerous machinery, chemicals, and animals, and a "family farmer" has an incentive to take risks someone working for a corporation doesn't.

I remember a news story about a farmer who passed out from breathing something toxic, so his oldest son goes to get him, he passes out too, his wife goes...the whole family died like that one after the other.


Well, most of them love the flying part itself. Problem is everything else. With software development it's just the opposite. The perks are great, but the actual work can be very boring...

Sounds like you need a hobby. Work to live, don’t live to work.

Software Development can be mundane and repetitive. Stupid users cause most of my headaches but I use my hobbies as an outlet.


Can you try specializing in a different niche? There are so many different types of software, and it sounds like you already have the basic skills.

Might need to tailor your resume a bit but if you like coding it doesn't sound like you're at the point where it's time to leave everything.


> 100% of the problems are caused by people acting stupid in different ways

I moved from being employed to being a contractor/consultant (somewhere between the two). In the last 8 years I've worked with 8 or 9 clients and each one had serious issues (all bar one * , I would say). There were either individuals with power or small groups who were holding everyone else back by making consistently poor decisions, and there were upper managers too blind to see it or remove the offending parties, despite being informed by their staff what was going on.

It grinds you down, but I feel very similarly to you - it pays damn well and I can't see another way to achieve the lifestyle I want.

(* that one was a huuuuge corporate, and a department with incredibly low productivity and systemic issues with working practices. However they produced quality software to a schedule that was clearly OK with them, so .... that's OK I guess)


contact me pls psmithsf gmail

A mix of the fact that most companies I've worked for don't value their workers (they say they do, but their idea of valuing workers is buying fizzy drinks in the office and giving you "unlimited vacation" which just means they pressure you to come back after a few days and don't have to pay out accrued vacation time when you leave), and because they don't care about what they're building or how much it hurts the customer as long as they can increase their bottom line a few percentage points.

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 got into facilities management. I get to create / manage construction projects for my "company" from planning all the way to final acceptance. In my area, the whole industry is quite behind technologically. Using tech has helped me excel.

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.


My father-in-law retired from facilities management and he absolutely loved it. Worked for a major manufacturer and built factories and clean rooms around the world. Somehow lived in Vietnam for a year and didn't know what banh mi is but we all have blind spots.

I worked as a web developer for a couple of years after teaching myself ruby and javascript. I got into programming because I found it intellectually interesting, but unfortunately commercial programming is mostly mindnumbing. I got bored of creating CRUD apps over and over again for boring business applications. I considered upping my CS and maths skills to get more interesting jobs, but decided to pursue more of a nonprofit strategy/research path instead.

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.


Can I ask what your job title is? This sounds like an area i'd be interested in but having only experience with tech i'm not sure of any tips or tricks to finding these hybrid jobs.

My title is just 'researcher' - it's not a well-defined industry so titles are not standardised. Here's where I work in case you're interested: https://www.science-practice.com/teams/good-problems/

My route in was pretty idiosyncratic, and I think that's true of many people in these kinds of jobs. A more standard way to transition into this kind of research/consulting/policy work from tech might be go for jobs in technology or innovation policy. If you're in the UK I can point out some orgs that do that kind of work but in any country there will be various think tanks, policy consultancies, etc.


Unfortunately i'm in the USA, but thank you that gets me started!

I'd be interested in hearing about tech and innovation policy orgs in the UK. Currently I think I either want to work in the civil service or in such an org. As you say, it would be nice to have a positive impact on the world.

I was tired, stressed and bored of tech so I learned how to sail, sold my stuff, bought a boat and sailed around in the Caribbean on a budget.

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.


That sounds like the dream. Is there anywhere you document the other 6 months?

I have an instagram account with beach pictures in it but that's about it. https://www.instagram.com/2marinsdeaudouce/

What's your story?

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.


> Because nothing is as fucked up as I.T.

In all different companies that I have worked with, the finance department seemed to be consistently the most stressful, fly-by-the-seat-of-their-pants part of the company. I am curious for people to tell the horror stories that they had to go thru.

Should I do an Ask HN on the finance dept?

(edited formatting)


My employer has no finance department, just an accounting department. The staff in the accounting department have their quirks at time, but in general are very easy to deal with, and grateful for help.

I left it before I really got started, and looking back at it now, I don't regret it. In my mid-twenties I decided I'd rather be an electrician. I don't sit on my ass all day. I get to meet new people, and see new places all the time. Some places that few ever get to see. Power plants, clock towers, police stations, homeless shelters, church attics. All sorts of stuff. Not all of it equally exciting, but a lot of it interesting. I get to build physical things that people will use for many many years into the future.

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.


In a parellell universe, this would've been me. Electrician seem to be the perfect "manual" labor - not a lot of heavy lifts, work with your head a lot, good mix of in- and outdoors.

Ps. Love the username/post combo.


This is anecdotal, but when I was younger and still figuring out what I wanted to do, I joined a 1 year course that was supposed to prepare people with HS diplomas and other people with practical jobs like electricians and such to study engineering in college. Surprisingly, the vast majority of the men in my class were electricians that had regretted their choice because it was such a dull job with a lot of menial labor, like crawling through very tight areas and otherwise being on your knees a lot and in awkward positions.

I wonder if they realize that’s most jobs?

I always laugh whenever TechCrunch or someone runs a story about some hot shot university winning a programming competition because they implemented an algorithm the fastest or created yet another new app.

When in the real world, most programming jobs are making changes to a really large code base trying your hardest not to break other things. Not nearly as glamorous.


"I won all these hackathons!"

"That's great, kid. Now figure out why this build works on everyone else's machine but not yours. And then once the build works why the test suite throws a series of errors, one at a time, each new one appearing as you fix the last, when everyone else tells you it's green (though at some point you'll figure out they're all passing flags to disable parts of it, but forgot they're doing that). Oh we have some other things for you to do that are actual programming but you can't do those until you fix that. Oh and when you're halfway done Fred over there's gonna tell you you need to pull master because he just updated all the dependencies. Oh hey what do you know about code signing and app store distribution?"


You might be surprised by how strenuous electric work can be: pulling a cable bundle through a long conduit run, nailing staples at arm's length overhead, and finishing outlets at knee height.

Find your way into Industrial Electrical work if you can. You get a strong mix of tech and electrical, moreso than Residential, can't really say the comparison to Commercial work though...

My company (Automation & controls) is partnered with electricians for all the jobs we bid on. Having electricians that know wiring for specialized bus networks, how to do basic troubleshooting on control circuits and all that is amazing to have.

Alternatively, for those reading this in the tech side, the job is super engaging. I get to work on programming machines the size of my bedroom. I get to travel and see equally interesting locations (Dam spillways, Agricultural facilities inland and at port, underground mines, etc.). The fact that I get to get out of my office a few days a month is a big reason I've stuck with my job for as long as I have (7+ years now)

EDIT TO INCLUDE SOME PICTURES (Both the Cool and the Ugly):

https://imgur.com/5uOWDGB https://imgur.com/oJozMBr https://imgur.com/95HSxlx https://imgur.com/yhrPUC3


I recently became kinda intrigued by PLCs and even consider buying one just to play with it (idk maybe it's the novelty of it) and the various programming languages for them and how they can be so different. What kind of education do you need to work on this kind of stuff?

I commented to another user, my background is a Software Systems Engineering degree but the majority of my coworkers are Electrical Engineers or some style of Electrical Technician.

As long as you understand digital logic well enough you'll be able to grasp the concepts. Having more formal education helps but is one of those fields that isn't strictly necessary unless you're working in a specialized sector. My personal take is that Software is still playing catch-up in this domain to the rest of the world but its coming. Up until the last 5 or 10 years the software was mostly just running the facilities but now integration to the business environments is becoming a bigger and bigger requirements of my clients.

I've mostly become hands off on the PLC/SCADA systems at my company now because the requirement for software utilities to function within the control system for data collection, trending, reporting, etc. has become so so much bigger. I have clients that want to use OCR to track shipping containers throughout their yard, clients who want me to integrate their invoicing systems to the operations so staff can see the scheduled daily loads coming, designing unmanned kiosks for customers to key through when coming to site and a whole lot more things.


Could you get started with Arduino? (Disclaimer: I don't know a lot about what PLCs actually do -- maybe that's too basic for you.)

Right now I'm trying to hack my treadmill with an Arduino unit so I can control it with software, and I'm learning a ton. Plus it's not a huge investment.


I had come across Building Arduino PLCs: The essential techniques you need to develop Arduino-based PLCs when i was looking for something similar a while ago. You might find it a good starting point.

I don't have a ton of PLC experience, but you really don't need much of an education to create basic PLC programs. I wouldn't personally recommend PLCs to anyone who enjoys programming, but I understand the appeal of trying one out.

The programming languages are all defined in IEC 61131-3, and you can more or less use them interchangeably. You can use structured text for (clunky) text-based programming, ladder logic if you want to feel like an electrician in the 70s, or functional block diagrams if you like flowcharts. They each have pros and cons, and being able to use the different languages (with different paradigms) in a single application is one of the more interesting things about PLC programming. There are probably good textbooks for this, but I don't know of any.

PLC programs execute in a constant loop (scan inputs, execute program, set outputs), so basic programming problems (e.g. delaying execution of some function) often require some re-thinking on PLCs. Having a basic understanding of how a PLC actually executes your code is pretty critical. Again, there are probably textbooks for this, but if you buy a physical PLC, its datasheet might also explain this.

You'll need to connect the PLC to some hardware for it to do anything meaningful, so having a basic knowledge of electronics would be useful. If it's just a hobby, you probably wouldn't need to know any more than you would if you were working with an Arduino.

There aren't that many major PLC vendors, so to get started, you could by an entry-level PLC from one of the big players (e.g. Allen-Bradley Micro800 series). Admittedly, I haven't looked at PLC options in 5+ years so there might be better options these days. Unfortunately, PLCs are pretty pricey, and even a small one will probably set you back a few hundred bucks. There are probably simulators available if you're just curious about PLC programming languages, but I don't have any experience there.


Check out some kit at defineinstruments.com - lightweight and more accessible versions of PLC but also bridges between industry and internet.

You uh...built a better mousetrap I see.

Heh, speaking of mouse traps, while working at an inland grain terminal I met a guy who was using arduinos hooked up to what's essentially a highly pressurized central vac system as a pest control system. Against the walls were small little "tunnels" the mice would run through, trigger an optical sensor then get sucked into the vac system at something like 500psi and their goop put into a holding tank for them to clean-out on routine checkups.

Incidentally, I am a Software Engineer that owns an Electrical Contracting business too and I would love to learn more about your company and your requirements for electrcians, what is the best way to contact someone to learn more?

Hmm, I apologize for not wanting to give away my explicit employer. We have like... 13 engineers/techs, rest of our staff are admin or panel builders so I'd pretty much be doxing myself to give it away.

I'll just say that my business was started by the owner in his farm's shop rebuilding/selling motors. When he expanded to doing controls they were like 3 employees and his friend was the electrician who they hired on. Since then the Electrician partnered with his Son-in-law and they train the majority of their guys right from their apprenticeship.

As much as I keep using "My company" throughout these posts I'm still just a guy in a programming/integrator role.


For someone with a MS CS what would you recommend for transitioning to such a field?

Likely just find a system integrator in your area and apply.

The guy who got me my job was a MS CS, my employer sought him out because they needed a guy for internal software projects. I did a hackathon with him and he hired me as his replacement when he moved to the gaming industry.

My degree is Software Systems Engineering, most of my coworkers are Electrical Engineers or some form of Electrical Diploma.

As long as you have a decent foundation in Networking and Digital Logic you'll be perfectly suited to program PLC/SCADA...


Can you explain what to expect from a "system integrator" company or job? I did a quick google for those in my areas and they seem all over the place, not one mentions "PLC/SCADA"?

Hey, not the parent but I'll write my views

So, "systems integration" job involves making systems interoperate as seamlessly as possible, by doing so adding new features, or reducing weaknesses, like for example vendor lock-in (sadly this is not always possible in industrial automation, see below). So the concept applies also to other sectors - and there are indeed non-industrial automation SIs - you might want to add terms like "PLC", "SCADA", "ICS" (industrial control systems), "industrial automation", "controls" to your search.

As for my own experiences in the (industrial automation) system integration industry, in Italy:

As I said before, and said elsewhere by TheCapn, vendor lock-in (in the form of employing equipment by one company, and their tooling, and their services, etc.) is a thing. But at the same time, your job is to make heterogenous systems interoperate! So most certainly you'll have to work not with your usual tools. Personally I have found that the most successful companies rely on some vendor (and their support, and their expertise), but are very open with working with, and know, the others. Obviously the more you can develop autonomously the better; it is a trade-off between freedom of action and access to more credible (branded, battle-tested, supported by big company etc.) solutions.

Knowing when to add one part to the system, or where you can just expand one of the already existing parts in order to accomplish the task is fundamental. Too often I have seen superflous parts added where it would have been enough to extend one of the existing parts a little (This is often due to vendor lock-in, you cannot work on some equipment, so you put another device by your vendor of choice).

Another thing I love about my job is the "Jack-of-all-trades" mindset required. Also human skills are important, especially here where the industry is mostly composed of little shops: sometimes you just have to understand enough to call the right specialist and contract that part of the job to them. I started as more of a computer person than a engineering one, but I managed to gain some expertise over time thanks to this knowledge transfer.


Now that more IT is entering the shop floor, many places are adopting some solutions (for diagnostics, data collection etc.) with more "computer" content than the past; for example all the predictive maintenance platforms big vendors are developing. Or you can concentrate on the "upper" levels, like SCADA, MES; of course working with these tools is not super CS rocket science, most of the time. You can start from positions more akin to programming, then work your way into process sensors technology, electrotechnics, etc. That's what I did.

Edit: System integrators as sibling says, I second that!


Controls aren't much different than other industries who rely on vendor product solutions either imo. You can talk to your SCADA vendor to see what their Historian / MES solution is and look at integrating that or develop a custom solution. Each obviously have pros/cons. What you might gain in rapid development using the Vendor provided solution your client will probably lose in steep licensing fees. Vendor solutions are typically set up in a way that anyone could configure them using only the manual and a few tutorials but giving any joe the ability to set up a system always has the drawback of the system being very "one size fits all" and customizing it to work in certain scenarios is difficult.

True! Hence my, "most of the time". I recently had to heavily customize a SCADA event engine with my plugins due to the particular requirements of the system; come to think of it, I might have as well rewritten the whole thing, but I had some "non-technological" limitations. :)

Can confirm!!

Especially

> Find your way into Industrial Electrical work if you can. You get a strong mix of tech and electrical, moreso than Residential, can't really say the comparison to Commercial work though...

Avoid residential electrical work if you are technology oriented! Yes, yes, home automation and all that, but that pales in comparison with industrial work. Commercial in theory has the same potential, but (at least here in Italy) the jobs are ..hm.. dodgy (very poor project management, tasks scattered across sub-sub-sub-contractors so nobody has really a clue of the global picture ..stuff like that)


I'm very interested in pivoting toward electrical engineering from computer engineering (for all the reasons mentioned above). Do you have any advice on how to do this? I don't even know where to begin, but I imagine there's a lot of certification and/or educational requirements.

Be warned, EE jobs are drying up. I think they had negative job growth recently

"because software issues can piss me off like no other thing is capable of."

This in reverse is part of why I am a programmer; it can take two or three days before I'm really pissed at a software problem, but physical stuff really annoys me in mere minutes.

Why? Don't really know. I know a bit of it is that I know how to get myself into trouble in software and then usually get back out much better than I do in the real world, but even so, I had the patience in software to develop that and I really don't for real things.


Yes, it's much easier to hit Undo than it is to remove that bolt that you just snapped the head off, but you can't see because it's elbow deep in the engine bay.

On the other hand, a screw-up can have bigger consequences when your buggy code is used by thousands of users a day.


Also, with code, you generally don't lose the pieces when you disassemble something, and if you take a break, you can pick up right where you left off...

I got into software mostly for the money so I can fund some extended travel, and when I get back from that extended travel I don't plan to go back into software.

My BF's dad owns an electrical company, and I know BF will most likely end up working there - I've considered in the past joining him. This post is encouraging because it seems like I could get all the movement and outdoor time that I'm missing with coding, and also be building stuff that's useful to people.

Do you see many female electricians? I suspect there are few - any ideas as to why? Is there a lot of heavy/difficult physical labor that I would be unable to do?


I was working as a SWE for a large defense contractor on some pretty neat projects, and I felt like I was good at what I did. It was 40 hour weeks, good benefits, good pay, but I was bored and miserable. I lived in a town with no friends, and was so desperate for a change and some adventure, that I left the industry to join the military.

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.


I think the warning here is that most people will drop out of the pilot program and/or aren't qualified for it in the first place (eyesight, blood pressure, age, fitness to a lesser degree since it's "fixable" within 6 months). There's always army rotary, I guess.

True - but a lot of people self-disqualify because of rumors and urban legends. Make them tell you "no" if it's something you want. There are waivers for many medical issues, but if you don't ask you'll never get one.

Right. Don't you have to have a letter of recommendation from a Congressman or something? It always felt completely inaccessible to me, much more so than SOF, where you might get by on being fit alone.

It's probably a lot more accessible than you think.

The congressional recommendation is for entrance into the US Air Force Academy, which is a 4-year university.

If you already have your degree, you can apply for OTS (which is your initial officer training - I think it's 3 months long now) and a pilot slot directly.

Another option a lot of people overlook too is getting to pilot training via the Reserves or ANG. Those units can interview and hire you directly, and you'll go through the same training and do the same job with a lot less red tape.


I suspect someone joining the military after being in college and private industry has a higher chance of completing the pilot program than someone 18-20 years old which make up the bulk of the military recruits. (Assuming they both meet all physical requirements.)

Pilots are officers. So, they’ve at least completed an undergrad degree. It’s competitive to get into flight school.

You are basically competing with George Bush.

The real lesson I take from that is not that you should do X or Y, but that you should constantly be trying new things in life.

If you don't let yourself explore, you're not going to be happy long term. (Eventually, you will hit that fabled mid-life identity crisis.)

Perhaps it's less that any one situation is preferable, but more that you need variety.


I haven't left myself yet, but at almost-55 I know a fair number who have. Here's what I know of what their answers would be.

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.


What is a full time parent? I remember as a kid that I was always encouraging my mom to take up hobbies so that she's leave me alone so I could get on with my own stuff. I can't imagine putting all your identity into being a parent. Kids grow up extremely fast.

I presume GP doesn't mean someone with no other identity, just someone who is doing it instead of a FT paid role. I could be a full-time plumber and still have an identity outside of plumbing

It's the gender-neutral, unpaid-work-respecting equivalent of a "stay-at-home mom" or "housewife"

If a couple decides they want four kids, the numbers can work out, for 10 years or so - especially if childcare is expensive.


Yup - the "numbers" can work out with even one kid, particularly if your equations value time spent with the child.

All the more reason to be a full-time parent. You get a return on your investment extremely fast. When you're old, you have adult kids that care about you, and hopefully grandchildren which are basically just children but free because you're not the primary caretaker anymore. All the fun with much less fuss.

> I'm tired. I'm tired of the artificial deadlines

I think the ephemeral nature of software really plays poorly with the artificial deadlines, and the artificial importance of some projects in general.

Eventually you recognize the pattern, and there's no logical way to justify it, so it's harder to motivate yourself. You know the deadline isn't real, and you know the software will be rewritten next year with some new technology. You may even be rewriting last years right now.

Tooling churn hurts here as well, because eventually after enough iterations, new tools are just in the way of getting real work done. You know it's not gaining you anything by putting in the effort to learn Toolchain X, because arbitrarily different Toolchain Y is about to become the new industry fad, and will make all that prior arbitrary knowledge pointless.

Some of my favourite years in software were when I worked at an eCommerce agency that served only one framework. Learning I invested directly impacted my work for the coming years. I began to master the tools, which feels amazing. I could also see the real world effect the software had. Sure, it was simple, selling products to people. But commerce is an interesting problem space, and a fundamental part of society, so it was neat to be a part of it and see real companies I worked with grow because of my software.


> the ephemeral nature of software [...] it's harder to motivate yourself

It's been a few years since I left the industry, and I'd be surprised if any of the code I wrote professionally hasn't been superseded by now. Even worse, plenty of it was scrapped before it was even released.

Of course, I knew this would be the case when I was writing it - that does indeed affect one's motivation.


I doubt if more than 25% of my work-hours as a developer have gone toward any kind of program or product that went on to provide enough benefit to have been worth the effort and expense. It feels like being one of the monkeys in some kind of million-monkeys Shakespeare project. Like the system just tries random shit and sometimes something works but mostly it just wastes everyone's time (lives).

> code I wrote professionally hasn't been superseded

Well, the state of New Jersey is looking for programmers to update COBOL programs that were written 50 years ago, so you might be underestimating the sheer power of inertia in software development...


It also really depends on in which corner of the field you work in (and of course practices of the specific organization you work for)

The code I wrote in my first job out of college is still running in thousands of locations 25 years later. But then, it was Windows software for a particular industry, not a website. Most stuff I've written since then has been replaced or will be soon.

I can tell you that working with legacy turd (that will probably run for another decade or more) isn't necessarily much better.

Again the deadlines and lack of planning ahead bites. Look we just need this little feature now, it can't take long? And again, and again. You never get enough time to take a step back and re-evaluate design decisions (or, God forbid, plan ahead and do it right in the first place) and fix what wasn't done right. No, it's always this little feature that needs to be quickly hacked in, another branch, another special case, how it interacts with other past or future special cases is anyone's guess, and the code base that was already full of hastily hacked together barely-functional crap grows more and more poorly thought out crap. Tests? What tests? No tests, so if you dare go back and try quickly fix some poor design.. well, someone is eventually hopefully going to find out what you broke and give you a completely uninformative bug report. Updates? Well there's no ticket for that. And besides, something might break, because there are no tests. There's no ticket for tests.

Sometimes you might even wish that the whole thing would be discarded and done from scratch..


I prefer working with legacy turds over steaming hot new shit, but I have a hard time finding companies who will pay me for that work. Everybody wants the steaming hot new stuff.

This is why open source software at least is good -- it tends to have much longer lifetimes, so chances are decent that your code will still be running decades down the line (so long as you picked the right project).

For example, one of the open source projects that I contributed to most heavily, PyWikiBot, has been around for almost two decades now, and most of my contributions were made ~13-15 years ago, plus some minor maintenance since then, and most of those features I wrote are still in continuous use to this very day by me and many others. And that's just some random tooling library for Wikipedia stuff; imagine how much long-term impact your work would have if you were editing MediaWiki itself, or the Linux kernel, or gcc, or any number of other incredibly widely-used things.


I am in the same shoes and would add the reason of no pride or sometimes shame. Not only in the many marginal products I am forced to squeeze out rapidly and in parade but of belonging to this group of profession. Basically both stems in the pretentious design of incomplete products making people more miserable than successful or satisfied. Phones, 'smart' appliances, revolutionary technology, software and OSes promise the world and beyond (twice!) bringing tons of 'dream' (sometimes nightmare) functionality but f*k up even the most elementary function (repeatedly!) while being unreliable to the extent that it needs to be updated in the frequency of watering your plants, to no avail. Despite the mounting problems the industry takes itself very seriously with infant obscure practices considered rock solid fundamentals and with robotic approach to human resources and processes. Talking to recruiters feels like they expect not thinking humans but custom programmed organic mechanisms able to type and can be judged by ticking checklists in a couple of minutes. In seeking satisfaction in self and results I left several places for something assumedly better, sometimes leaping into unknown, but my bitterness just mounts with each position. Financial limits forces me to seek engagement in something I am experienced in but I am afraid my lethargy shines though of my smiley and optimistic face I wear for interviews. I have little trust in those sitting in front of me. I hope I can figure out something better, meanwhile trying to make money for living.

You know, people worry about age discrimination a lot because there aren't a ton of older programmers around. But when the discussion comes up, people don't talk much about the reasons you describe.

Sure, bad programmers age out because they were never great at programming in the first place. But I would assume the HN crowd falls in the top half of competence because there are so many people here who seem smarter about programming than me. If you're good, you don't have to worry.

Maybe good programers age out because the technical side gets too repetitive, their jobs become more about politics, and they have enough money to change tracks later in life.


> But when the discussion comes up, people don't talk much about the reasons you describe.

Which people you're talking about? The survivors who are still working in the field? Or those who had heart attacks at their desks at 50?


Dead programmers don’t commit code much less talk, now do they?

The changing nature of the job is definitely part of it. When you're on the steepest part of the learning curve, that makes up for a lot. I still learn plenty, but less than I used to. Instead, I spend a good deal of my time correcting mistakes made by those who hadn't learned yet. Mistakes happen, that's OK, but it's still less fun than learning new things myself. At my age/experience there's also an expectation that I'll do more "force multiplier" work - for me it's often fixing broken infrastructure - so that others can stay more productive with straight coding. Again, nothing wrong with it, but still less fun.

When it gets downright tiresome is when being the project janitor puts me in conflict with young "tech leads" who denigrate those contributions because they've only ever worked on that one project where other people took care of those things for them. It's like the difference between living in a college dorm where everything's taken care of for you, vs. having a house and kids and bills of your own. Being a strict individual contributor with no cares beyond the one piece of code in front of me is just a fond memory.

Unfortunately, few companies will hire someone with 30+ years' experience just to write code, even for a salary appropriate to that role. Companies want to pay those lower salaries not only for direct work product but also for growth potential. The worst part is, I know they're not wrong. The only way to do the kind of work I really enjoy, and only that work, is as a hobby.


This is one of the saddest yet truest things I've read here on HN. Really hits home.

Same.

> If you're good, you don't have to worry.

You don't have to worry about keeping your current job, but getting a different one becomes a lot harder. Your 27 year-old interviewer might be thinking "You're my dads age, and my dad is crusty. No way you can wrap your head around lib-of-the-week.js"


> You don't have to worry about keeping your current job

Depends on the job. There are employers who recognize the value of somebody who has broad experience, and who can/will do things that are necessary but not fun. There are also employers who only measure hands-on-coding skills, and/or who insist that everyone should be on a "growth path" even if they're already at a higher level than most will reach. Good people don't have to worry at the first kind, and very much have to worry at the second.


> The first simply had another passion - travel.

I thought engineering enabled travel. I met countless "digital nomads" traveling the world, doing 20 hours of work a week at cafes. Making bank and getting to travel all they want.


In this particular case, it was adventure travel - savannahs in Africa, mountains in South America, icebergs in Antarctica. It was also 25 years ago. The "digital nomad" thing wasn't an option for this person.

I had a coworker at BigCo who would disappear for a month every summer. I wasn't paying attention to other PTO days through the year so I assumed that extra PTO for work anniversaries added up faster than I thought.

Turns out they were just taking a leave of absence, every year, to travel, and just eating the pay cut.


When you're at $500k/yr, losing <$50k/yr isn't really that big of a deal.

And most countries would give you 4 or more weeks annual leave

I believe the person is taking that extra month off /in addition/ to taking the standard PTO. (Which is around 3-5 weeks with holidays at FAANG)

Very very few people earn $500k/yr at FAANG

Perhaps very few make that year after year, but that's a totally achievable total compensation anywhere in the top half of the individual-contributor range if they get two good evals in one year. I work at one of those companies, and I'm sure I talk every day with people who have hit that level at least once.

> 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.

A couple years older than you. I was working a nice gig at a startup until November. Nice because the owners were nice, the coworkers were nice and it was an interesting embedded application involving renewable energy - so not the run-of-the-mill web app. They ran out of funding in November but there was the possibility (prior to covid-19) that they would get more funding so I didn't look around much hoping I could just go back to work for them when they get more funding and avoid having to interview again.

Of course, that's not likely to happen at this point given where the economy is at. And I still can't bear the thought of interviewing again. So I'm effectively out of tech at this point. If someone comes along and offers me a gig without the arduous interview process I'd take it, but otherwise, I think I'm done.


I keep getting laid off after criticizing upper management. I don't see any reason to regret my choices; they made their choices, too. I'm only here to share links, to show people how they are wrong, and to follow the Prime Directive.

>I keep getting laid off after criticizing upper management.

OK nice it's not just me!


Meetings took forever, goals and budgets limited my creativity, have been getting fat on business lunches and life is simply too short to spend it in the office. Couldn't breathe with recycled air.

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.


Thanks for sharing your story. What is very little, and how do you make this very little? How do you learn new skills, and what keeps you motivated?

Well I am learning the old way - take a laptop and try something new, starting with small and then the project grows. Always enjoyed bottom up learning and discovery. I mostly do that in winter as in summer I prefer outdoors.

Edit: I have been blessed that despite two engineering degrees (financial math and electronic engineering) I have never worked as a programmer for living.

Since I have learned by trial and error 6502 assembler to hack strategy games on C-64 programming have always been unspoiled free time, pure fun activity for me. And 19 programming languages later it is still so.

I live in small summerhouse, eat simple food, cook, own old, small car that I use only when necessary. I prefer biking whenever possible. Buy most clothes and stuff used or heavily discounted. Buying used stuff is also good for the planet. Learnt a lot of DIY which is both cool and satifying.

I despise urban enviroment but have to visit the city cause I take care of older parents. So the summerhouse and living in the forrest is both a choice and a way to spend less on rent..

In a way I always wanted this but given the opportunity I had been chasing money, opportunities, new experiences, following the rat race etc. Now as this is over I feel less conflicted which makes me happier.


How much did you have saved when you set out? Have you worked at all in the last ten years?

No, I haven't been working in the last ten years. For seven years I have been mostly traveling and drifting, mostly in SE Asia. Long story.

You need way, way less money then you think you do but the expectations adjustment process on the mental level is very slow. But of course it is good to have some savings.


I have lived in SE Asia for about seven years.

In case anyone is curious, I've been able to live well on about $6000-8000 a year. I certainly eat like a king, since fruits and vegetables are amazingly cheap here. Otherwise my hobbies are inexpensive, e.g. exercise and sports, writing software for personal projects, making digital art, etc.

It's not for everyone, but I would have really struggled on a more conventional path. It's been my experience that working for someone else is really degrading, although I'm sure some companies are better than others.

I consider myself extremely lucky, as most of my neighbors here lead very difficult lives. In the poorer half of the world, life is extremely brutal and arduous for most people. It's very sad and I've seen things here that are shocking and appalling (and I am not faint of heart, after spending many years "hustling" in the US). The behavior of other expats here also leaves something to be desired, although at least it's not as bad as Thailand...


Are you worried the cost of living will increase over time and price you out? Singapore and Korea were once cheaper too though I suppose most countries aren't on that trajectory.

Fortunately now I'm able to make enough as a freelancer that I'll be able to increase my income if necessary, but that's almost entirely due to having a lot of time to spend on learning web and software development while I've been here so far.

Cambodia is developing rapidly, but somehow I doubt that the kleptocratic government here will manage to turn this place into the next Singapore or Korea :)


Just can't get any respect for it, I was trying to quit smoking, a friend who I did some projects with asked if I could do this boring thing in a language I don't know, 3 times I politely declined the job, got angry and lit a sigaret in my living room, so I took his make shift astray and threw it the garbage, he left after that saying I wasn't a team player, all the other contract I helped to secure he took with him saying he'll find some other autist.

That sound like some shit from the Silicon Valley series.

I'm currently on month 18 of a sabbatical. I tried to bootstrap a small lifestyle business with my own money and that didn't pan 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?


Yes the timing is good, the Artemis program is heating up and needs to disperse grants for the 2024 moon missions. You will have a much better supply of labor to choose from than our previous unemployment rate. Capital is cheap right now and banks are still lending. Aerospace is a long-term investment and you'll deliver a product when the economy is back.

I realized that I was only a so-so programmer. the real ninjas were so passionate and knowledgeable; I was only successful because of brute force and overworking. I moved on to a career in the law - which is a much more natural fit for me.

> realized that I was only a so-so programmer. the real ninjas were so passionate and knowledgeable; I was only successful because of brute force and overworking.

I think I'm starting to feel this. I'm neither talented nor educated enough to work on things I truly find interesting and my ability to learn feels like its completely flatlined these days. Unfortunately, I feel trapped in what I do rn, because it's really one of the only decently paying careers I can get.


As I age I feel the opposite. I can't work out whats going on as quickly as I used to but when I do I am far more inclined to refactor stuff so that its easy for the next person.

As you age, you just can't bring the same focus and stamina to bear on a project - which is ok, because experience, wisdom, and efficiency can actually make things easier.

That's why I am forced to refactor it. I'll do worse in interview questions but write nicer code.

Are you a lawyer or are there jobs that you find stimulating without the overhead of getting accredited/years of school?

I'm a lawyer, but talented paralegals (typically just a college degree) can do very well. Especially ones who can master ediscovery - the production of documents stored electronically.

how do you find the hours in law compared with working hours in tech?

There's not the 24H grind with programming to a deadline. There can be long days, especially when preparing for a court appearance or a trial, and law firms notoriously work their associates very long hours to cover their significant pay checks. Attorneys at firms bill by the hour, so there's an incentive to work lots and lots of hours to be at the top law firms - but there are lots of more human jobs at companies as in-house counsel, or with the government or with a non profit or NGO.

I left (mostly) when tech became a tool for greed and scummery. Was asked too many times to participate in completely legal yet morally abhorrent actions.

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.


> pump out change for the sake of change and let the end user do quality control

So true! Saying both as developer and user!


> 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.

The worst part is how this leads to more on-call and an increase in working off-hours.


Oh, exactly this! First I get lectured about how delivering a solution fast is more important than getting the technical details right... and then I get assigned for on-call duty. Because "move fast" means someone else gets a bonus, and "break things" means I have to fix the bugs over the weekend.

> Because "move fast" means someone else gets a bonus, and "break things" means I have to fix the bugs over the weekend.

This is a great quote, I'm going to steal this from you!


> 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.

This is why I quit being a software engineer as well (I didn't leave the tech industry altogether tho, just switched career trajectories a bit).

I spent years trying to talk some sense into the people pushing that and trying to explain (it's as much art as science) but in the end the Scrum people won. So, I moved over to devops and consulting where most of the time I'm helping people with stuff, and the long death-march sprints to satisfy an arbitrarily deadline that nobody cared about until it got put on paper two weeks ago, and still doesn't matter except it will turn some spreadsheet field red that draws the Eye of Sauron from higher ups, are mostly over now. I get my coding fix by working on open source projects, and it's way more fulfilling.


I left after over 25 years. I love programming and love working with Linux, but the jobs always came down to "help us steal peoples personal information so we can slam them with spam for products the neither want or need." It was unfulfilling. I went back to school and got an MA in history. I teach humanities though I still teach a couple of programming classes. I miss it a little. I would go back in a heartbeat for the right position, but I am through getting mauled in tech interviews which turned into combat trivial pursuit. I love technology and I still create applications mostly for myself or to help automate my school. I get new ideas from HN.

> tech interviews which turned into combat trivial pursuit

Excellent phrase. Thank you.


> I am through getting mauled in tech interviews which turned into combat trivial pursuit. I love technology and I still create applications mostly for myself or to help automate my school.

This. Something has definitely changed in the last ~10 to 20 years since the end of the dotcom era of interviewing in the tech industry. Before it was as simple as reading the AUTHORS file in an open-source project like Linux to vouch for a programmer applying to somewhere like Red Hat or Mozilla. But now we are expecting them to write a proof of quicksort's worst-case runtime complexity or to explain the Diffie-Helman public key exchange mathematically on a whiteboard to "see how you think" and "prove programmer ability" which is unnecessarily academic and they either don't use it directly or search on Google for it anyway.

That's just the onsite interviews, pre-interviews are riddled with Leetcode, Hackerrank and Codility tests which can be cheated or the solution can be found on Google. What a shame that these flawed tests still exist.


Interviewing is going to drive me from the industry. I'm skilled - I've consistently provided high value at my jobs - but I'm not formally trained (don't have a CS degree) and I don't have the time anymore to sit around grinding leetcode just so I can land my next gig.

That or waste a day or two of your weekend on some trivial app to be nitpicked on some nonsense not in the spec.

I had a go at our manager recently after letting two people do our tech test then say they were too inexperienced. We could have worked that out before wasting their time.


the #1 reason i think about leaving is due to the interviews as well (also not formally trained). im about 6 years in and its just getting worse and worse. the thought of spending my free time studying for interviews is so miserable. on top of that, i realized recently i have a lot of childhood trauma and interviews are very triggering due to the often combative, critical nature.

it's kinda depressing in a way, because coding was at first, something that pulled me out of the slump i was in due to a shitty upbringing. i really like writing code, but the industry sure does know how to suck all the fun out of it.


wow, I plan to study history at some point. Is it possible to study part time, do you think?

Depends on the program, but certainly. Don't expect finding a job with it will be easy and even if you do, don't expect the pay to be great.

I've been thinking of leaving for the past several years. But as the primary income for my house hold, I need the higher pay of 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?


Ive not left yet but have all but resigned myself to a different field, likely EMS or nursing. Eight years in (health and ed tech) and its become project management with little actual engineering work. Im only 27 but I regret waiting this long. I started to see signs that my interest was waning a few years ago and figured I just needed a change of scenery...three changes later and I think the message is clear.

Making 6 figures to play and create all day if just awful. Boo hoo. I feel like the luckiest guy alive to get paid handsomely to do what I love.

I would love to be so closed-minded as you, not realizing that other people are different than you.

Ignorance is a bliss.

Some people are in tech because its a job, not because they love it. Some people got burned out. Some people discover other things that they love more then what they doing currently.


Programming would be the worst job in the world if you didn't love it and weren't naturally good at it. I don't know why people would get involved in it otherwise. You either have an aptitude for it or you don't. It's completely obvious within days of trying it out. If you don't you honestly shouldn't pursue it.

Same as doing accounting, teaching, doctoring etc. Yet people still do it. Because some people have families, mortgages and can't just flip table and do entry level job in completely different industry.

Not every programmer is 10x programmer who has side projects that they work on after work and dreams in c++. Same with any other profession. I'll bet there are skydiving instructors who don't care much about it anymore but still do it for monetary reasons.


> I don't know why people would get involved in it otherwise.

Money. Its probably the best paying career in terms of how much you have to put in to get a good return.


Your comment has little empathy. You may have started out loving it and was naturally good at it. But, as life goes on, you change, your circumstances change. It's one of those phrases that mean little until it happens to you.

There are a lot of ways to make 6 figures.

It's not playing if you don't enjoy it ;)


I love computers since I can remember, and started learning to code when I was still in basic school. This lead me to think that the tech industry was the obvious career for me. During my time in the industry, I felt miserable. I would say that the main reasons for that were:

* 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.


What did you end up switching to?

> 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

So much this.


there's no way it would happen. The powers in place will descend on you kicking, screaming, and lying to keep the status quo. It happens to any country tries to get rid of central banking or switch to a gold standard.

wars aren't started over human-rights, they are fought when you f%%k with someone's money.


> 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.

Most of the "creative nerds" I have encountered in this industry are arrogant, have grandiose beliefs about their own intelligence and have zero empathy for anybody who is not exactly like them. I don't think things would be much better if they ran the show.


+1 for this. The "business" folk might be filling your day to day with features that only improve conversion rates which is soul draining, of course, but nothing feels worse than working on something interesting surrounded by these wannabe wozniak "nerds" that instill this unspoken aura of "youre too dumb to be in the room with me." THOSE are the people that i hate the most in this industry.

I have met people who are so focused on business/money that I find them repulsive. At the same time, I know some geeks who are the most bitter and angry humans ever. Even when they consider you smart and let you in their inner circles, all they do is complain about un-worthy developers or managers. It gets draining.

I am too old to hang out with negative people, also too old for people who are only interested in making money. So I searching for a new tribe, I think outdoors people are the happiest bunch. I just don't know what can I do.


Like everything in life you need a balance between the "business types" and the "creative nerds". To think that any one personality type is far superior to any other shows a lack of understanding of the human condition.

> "youre too dumb to be in the room with me"

Had a coworker say to a client, "I could explain it you but you're not smart enough to understand it."

Absolutly ridiculous and toxic individual.


Interesting you used Wozniak as the model. I get the impression from everything I’ve read about him is that he is very forgiving of people less knowledgable/experienced than himself. I take your comment to be even more poignant in that light, since the people who might aspire to be more like him, are ignoring the value of his personable personailty.

lots of artists are like that too. yay for weirdos

It certainly need some amount of ego to be The leader of the pack, or do something different. The right amount create unique weirdo-creative genius nerd, the wrong amount create a jerk. It’s depends on your personality type as well, you can’t just suddenly want to be creative nerd and just become one. I mean, technically you can, skill and knowledge can be learn, but it will not be the same. Some people just born to be......ok now that’s borderline woo woo Lmao.

He’s not suggesting that they “run the show”. He’s suggesting that they work on the things that they think are important. The alternative is to ask them to do what they don’t think is important. Doesn’t sound like that’s worked out too well for you.

> This won't happen, I know.

Ah, don't be so negative. I'm gonna do it or die trying.


> 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.

I recently saw a video about Boeing that concluded that the whole debacle was due to it straying aware from its commitment to good engineering and to trying to please the wall street. It traced back to the source of decline as the purchase of McDonnell Douglas which was mainly done due to Boeing management feeling that they needed better "business types", which was all that McDonnell Douglas.

Slowly, but I am seeing an acceptance and respect towards the nerds/engineering instead of hype men & impressive stock figures. Wall street types are seen as the hyenas/fox in a sheep's skin that need not be celebrated and looked upto.


I'd love to see that video. I would call this "Chipotle Syndrome". It is a long-held hypothesis I have that MBAs are subjectively-motivated rent-seekers looking to pad their resumes and they do so by transient boosts in, say, profits - most infamously by sacrificing product quality (e.g. outsourcing) - leaving the future of the company poorer as they chase the golden parachute. Chipotle is a famous example of a founding team going public, bringing in MBAs, and then having to constantly appease Wall St. rent-seekers until, voila, their food quality suffers; likely because of labor cutting costs introducing unskilled labor to a relatively speaking complicated food preparation scheme.

Meanwhile Wall St. simply downgrades, the MBAs shrug their shoulders and speak about drive-thru ordering as an innovation, the Founders get ousted, and people become sick.


I think the MBAs are just the tool/symptom of the problem. The problem is Wall St, why do we need it? Why are companies so bothered about stock prices? Why do companies have to put a show for them? Let them learn the trade and understand the value that is offered by a business.

Short-terms gains at the expense of long-term losses is a fact that has to controlled by the board of directors and the ridiculous salaries of CEOs has to be stopped. A rule must be put in place that the shares they gain cannot be used during their tenure and only used 2-5 yrs after leaving the post.

Founders bring in an MBA to run the company is like parents bringing in a Consultant to raise the children. You can never expect anyone else to care of the kids as much as their own parents.

I think that Google lost its way due to Eric Schmidt. Considering that [Page was forced out in 2001](https://en.wikipedia.org/wiki/Larry_Page#Changes_in_manageme...), he was away too long and Eric did his MBA-shit and screwed up the company. Page should have returned as CEO in 5 years instead of 10 yrs, it was too late by then. Now Google is Evil.

I feel that if someone like Page was leading Google and all the tech giants where lead by nerds like Satya Nadella & Sundar Pichai. PRISM & attack on encryption would not have been too strong. We need more founders like Elon Musk & Jack Dorsey. I hope someone like Sergey Brin advices the WhiteHouse on tech-business while Steve Woz or Richard Stallman advices on tech-ethics.

Mark Zuckerberg is a disaster, so is Bill Gates, Peter Thiel, Larry Ellison & all Steve-Jobs-like creatures.

Video: "McDonnell Douglas had used Boeing's money to buy Boeing" - https://youtu.be/EESYomdoeCs?t=468


Jobs was better on privacy than most. People wanted to take user data silently and Jobs’ objection is the source of asking for permissions. Apple’s premium feel relies on that walled garden approach.

> 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.

This is how I felt about myself, I spent my early twenty working a job living frugally saving and then quitting to work on my own projects. Failed entrepreneurship was a great lesson in how hard it is build things people want and how easy it is to build things you think people want. The difference is often very subtle small details, but asking the right questions to unearth those details in incredibly challenging.

The amount of things that someone will give their time or attention to our suprisingly small


> Meaninglessness. Most of the projects are simply not necessary, they do not help society in anyway, they just exist to make someone else wealthy.

True. Right now amidst the pandemic, it turned out the farmers, medical people, janitors, delivery guys are the most essential jobs.


Great write up. What are you doing now instead?

I left when project managers tried to Taylorize programming.

Hear, hear. I find that process like Agile is exhausting, but necessary work, when you cannot trust your workers.

I miss working at a small shop where we were fully trusted to deliver. I find I am able to do very well under Agile, but it certainly makes me feel dishonest that such a measurable portion of my day is spent measuring my performance. It feels like a fractal waste of time.

But I completely understand why it exists.


I can't figure out how I ended up completing an advanced degree (one that that takes a lot of study to complete), and have decades of experience in a profession that supposedly is hard to find people for, yet still find myself putting up with a bi-weekly "end of sprint" why-didn't-you-finish-your-sprint-commitments berating from somebody with less education and less experience than me. I feel like saying that I've wasted my life would be an understatement.

I haven't left, but I almost have on a few occasions (18 years in starting at a call center, then to desktop/client support, then sysadmin, then web developer, then system engineer, now dev lead that does a lot of architecture work). When I almost quit:

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.


I started out in technical writing a little more than 20 years ago with a masters degree, which turned into building websites. I built websites for a few years, when I became involved in a lawsuit with family/community/environmental org in a really novel and interesting area of law at the time. I thought that was quite enjoyable. So I decided to go to law school and become a lawyer, which I did.

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 love your mentality checkyoursudo. I started in civil/environmental engineering before getting into software development. For the past 5 years though I have been thinking about cognitive science in my free time and all of my idols are psychologists and neuroscientists. Might I ask where are you pursuing a masters in cog sci? This is exactly what I have wanted to do but the schools offering these programs are few from what I have seen. I'm in central florida currently.

I was living in Germany when I decided to do this. I am studying at a university in Sweden.

I don't really know the programs in the US very well. I didn't look at any when I was considering the field. Do you want to try to do a masters and then get into industry, or rather then continue with a PhD?


Ah thanks for the reply, that makes sense. I'm more interested in phd and academia than I am getting into the industry. Unfortunately cog sci still is still a bit of an obscure academic track given its "interdisciplinary" nature. I'm currently trying to find a highly regarded online psychology program I can take post-bacc to bolster my resume to apply for a masters/phd in cog sci in a couple of years. (It'd be easier for me to relocate at that time as well)

Thanks for sharing your story! I work on the machine learning side of things and have recently become very interested in the intersection of machine learning and law - for ex. disputing decisions made by algorithms, usage of machine learning in sentencing etc. How did you find going back to law school after tech?

Law school was fine. Some parts of it were quite difficult, while others were super simple. I had the advantage of already having a lot of experience writing professionally, and exams and papers (and lawyering) require a lot of writing. To do it right, it also takes a lot of reading. Like, a lot.

My best courses, I think because I was already scientifically/technically-minded, were the very math and technical based topics, like tax, retirement, real estate finance, etc, while the ones that I often had more difficulty with were things like family law and criminal law, for example, which were often much less intuitive and much more arbitrary-seeming to me.

Ultimately, law school was pretty easy for me overall. Certainly, I had friends and classmates who thought it was beastly difficult, though I suspect if they looked back at it now, most would say that it wasn't as bad as they felt at the time. It's different for everyone, right? Like anything else, how much you put in is how much you get out. I think that really probably anyone who can make it through an undergraduate program can make it through law school.


I had a ten year career mostly in product management at enterprise software startups, and I left last year to open a dog boarding business (which is a whole mess right now, but that's another story).

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 had already started investing in some real estate on the side

I have a few questions, if you don't mind.

How did you get started with this? Is investing in real estate something you can do while being a salaried employee or do you need to do it full time? Also, what kind of investments were/are you making?


Funny you should ask - I actually wrote a short book about it: https://www.amazon.com/dp/B01M09FA5X.

I own two small apartment buildings in the Bay Area (seven apartments total). I honestly just saw interest rates were low and thought real estate sounded like a good way to take advantage of that. I didn't know much, so I just found an agent through my local Realtor association and started looking at buildings. From there it's not that complicated - you just build a pretty straightforward model of your income and expenses, estimate conservatively, and pay a price that'll make it profitable. Beyond that just use common sense and don't do things like buy in dangerous areas.

I employ a full time property manager, so I have been a full time employee for most of the time I've owned it.


I wish I could leave.

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.


You could always switch to a company that doesn't make its money with ads. For example I work for Snowflake and I don't feel like I'm building stuff to screw the end user at all. I just make our database better. I also worked for Siemens. There too I didn't try to screw any users, I just tried to make trains run cheaper, faster and more reliably.

>I also worked for Siemens. There too I didn't try to screw any users, I just tried to make trains run cheaper, faster and more reliably.

So I say this based on personal experience. The Siemens' sales force uses their size and influence (especially with existing customers) to absolutely screw over customers and smaller competitors with better products. Siemens is no different than many other big companies who can use all sorts of unethical (but legal) tactics to sell.

It's very possible to work as an engineer in a big company and have zero idea as to what everybody else is doing to screw people over.


Not only that. Siemens bribes people from the governments in third world countries to get the work from the government and totally destroys the local competition an the taxpayers.of those countries.

I also think B2B is a much less predatory place - most of the businesses have real money, want a real thing to help them make more of it, and are engaged in the process of making that work.

There's plenty of bad actors (like any biz) but most of the time when I ship features everyone is happy, and no one is taken advantage of.


A friend of mine works at a B2B business. Every week they have a "lead forensics" meeting where they somehow figure out which companies visited their website and then spam them with unsolicited sales calls/emails.

Business intelligence, they call it.

Indeed, there are definite bad actors as I alluded to, but just... don't work there.

If your company starts to go the route of evil, you can find another job with people who are less morally bankrupt.


If we're defining sales as unethical, then... Where are you going to work that actually makes any money at all?

Spam is not sales, and you dont get that many conversions by selling to people who didn't want to buy your thing in the first place.

Most of the enterprise sales cycles I have worked under go from 3 months to a year anyway, and the implementation time might take 8 weeks to a year+ - so drive by spamming doesnt really get results.

(Payroll, Commercial Real Estate)


I think DataDog does this. I've vowed to never advocate for their products because of their relentless salespeople and however they got a hold of both my business and personal emails.

I went to Stanford undergrad and honestly, the Bay Area tech scene (and Seattle from what I've noticed) looks unappealing to me. The culture is a turn off.

I'd much rather have a 40 hour a week job somewhere else, where everyone understands it's a job and you can be your own person at home. It's hard to articulate, and I could write much more about it, but it's almost like the identity you have to don to fit in there feels too all-consuming.

I don't want to pretend I'm changing the world instead of just installing a new social hierarchy run by the meritocratic elite. I don't want to pretend that programming is my only hobby -- I want to do other things than learn new Javascript frameworks at home. I like my nice 3 bedroom house which is just minutes from downtown and is less than 3x my annual income.

It's admittedly an outsider's perspective but the only reason I would go back is to save up money for a few years then go somewhere else.


I think you would be surprised just how many people see their job as a means to an end in Seattle/Bay Area, especially outside of the startup world. At FAANG and other big companies I think there is actually very little Kool-aid drinking compared to the smaller companies. And at a subset of those companies, people work normal hours and don't brag about things like working on side projects at home. Especially many of the parents I've worked with have been great engineers but at the end of the day just want to go home and spend time with their family, and it's fine from both a career and social perspective.

There is a lot of things that could be said here:

1) I switched from being a software engineer to a data scientist in 2010, in part because of the culture. I totally get not enjoying the culture, though I do recognize how much it varies from person to person and company to company, so I try not to stereotype. But on some level, I get it.

2) We're opposites in some way. I've been writing code since I was 8 years old, and enjoy it. I'm the type of person who loves to find a fun and challenging problem and dive in so much I don't turn off. However, people like me are rare. In the last 15 years in the Bay Area, I've only worked with one other person who fit that criteria. Everyone else treated it like a 9 to 5 job. Me, I've never been one to judge or think negatively of that. That's how people are. It's normal. I get there are problems with SE culture, but some people being super passionate about what they do, to me isn't one of them. I don't believe I've ever annoyed anyone, bothered anyone after hours, or done anything unreasonable, and if I did I would appreciate people letting me know in a 1-on-1 fashion. The last thing I want to do is bother my coworkers.

3) You're on ycombinator, the center of Bay Area tech culture. Frankly, I'm baffled you like hacker news, for the people who like this kind of stuff after work hours, yet at the same time are anti that. YC is the heart of tech passion, and if you don't like it, why are you here? Not judging. Your comments and views are valuable. I'm asking out of genuine curiosity.


> You're on ycombinator, the center of Bay Area tech culture

Citation needed. I think YC users think they are the center of tech (or the universe?).

What would be that actual proof that it was? Do we know how many users HN has? What % of VC actually spend time here? What % of meaningful founders actually spend time here? Ya the CEO of github will drop a post on a major thread concerning his company, but so what?

Honestly the more time I spend here the more I see two notable demographics: cynics trying to feel superior (like myself), and people trying to justify their own salary and lifestyles via a fat FANNG paycheck.

P.S. and college students / recent grads who know everything.


It could be trending away from that, but historically https://www.ycombinator.com/ is the center of bay area startup culture, and then those startups grew into bay area tech culture as a whole.

Ycombinator comes from Stanford which centers around creating CEOs, creating most of the companies in the bay area. Most non-yc bay area companies still have Stanford at its roots. I don't have a direct data point, but almost every company I've interviewed for in the last 10 years and have worked with, their CEO or CTO or some other c-suite "club" is strongly tied to Stanford and from that directly or indirectly tied to YC.


Well, don't paint with a broad brush. I love solving problems too, and I love learning new things. I too played with computers as a kid and my middle school friends and I built websites for fun. I wasn't exposed to real programming (beyond neat Javascript tricks) until CS class in high school.

However, science has always been my #1 thing, and programming is my probably my #3. Interesting, but not the only thing I want to do. Working 40 hours a week at it is enough for me. I still love learning new things and getting better at the craft, but when I go home, I have other hobbies.

I'm hacking my treadmill with Arduino for fun. I'm brazing metal. I'm riding my bike more. I'm reading a fiction book that just came out. I just read a book about world development. All of that is a lot more interesting to me than going home and sitting at a different desk doing more programming, you know?

And while I'm not offended by your comments and this is entirely non-personal -- really, I'm just curious as well and enjoy talking to people with different perspectives -- the attitude that if I'm not always programming, I'm "less than" than other programmers seems oppressive to me. I'm still smart, I'm still curious, I'm still good at my job. But there's still the perception that if I am not programming more, I am falling behind.

So the solution for people like me is to pretend to be someone like you, who loves programming above all other things, and it's mildly exhausting. It's great that you love programming so much and I kind of envy you. But not everyone needs to be exactly like you to be a worthwhile contributor. (Again, not personal, I just enjoy putting these thoughts into words.)


>the attitude that if I'm not always programming, I'm "less than" than other programmers seems oppressive to me.

Who says that? It's so backwards from everything I'm accustomed to in the bay area. (In the bay area I've done 10 years of data science and 5 years as a software engineer before that.) Maybe it's because I didn't go to universities out here and it's university culture? People at MIT can get very passionate about their projects.

I've had companies (many of them) advertise to me saying I should join them because they have a healthy 9 to 5 work culture. But what company doesn't? Maybe a young startup, but you sign up for that at that point.

Everyone I know who regularly works more than 40 hours a week (who isn't a CEO) is almost always because their boss asks for X quantity load of work done, which might be 50 hours of work, so they do the 50 hours instead of communicating they can't do that much within 40 hours. Sometimes it's because they're a junior and are afraid of not fitting in and are afraid of getting fired, but sometimes it's a senior who has their tech down, but not their communication skills down. It happens, and it's sad to see, because it almost always leads to burn out on their end. It's not a good thing.

I love what I do, but I do 40 hours a week. Want more? It better be a rare event (crunch times are a real thing in some industries) or you need to be paying me more, and I'm not cheap.

>So the solution for people like me is to pretend to be someone like you, who loves programming above all other things, and it's mildly exhausting.

I love programming, but it's just a tool. It's like saying you love hammering. It doesn't make a lot of sense when you take a step back. What I love is the projects I do. You mentioned hacking your tread mill, so it sounds like you do more tech hobby stuff after hours than most software engineers.

Frankly, I rarely do projects outside of work, despite loving what I do. Why? Because companies give me inspiration to do specific tasks that I love. Without working I have a hard time finding things to do. If I could find infinite things to do, I'd be a CEO, providing things for everyone else to do. The only people who truly don't turn off, end up being CEOs, not software engineers. (Unless they don't know how to capitalize, or some other edge case, of course.) So it's unrealistic to believe you have to be doing non-work tech to work in tech. That's just absurd.

Also, I can't say from country to country, but within the US software engineer culture, while it varies from company to company and team to team, is generally somewhat similar across the country. On the NYC side, working more than 40 hours a week is common (eg, quant work), where on the bay area side only working 40 hours a week and turning off (unless you're at a startup) is common.

Is it possible this has to do with too small of a sample size? It's easy to stereotype. We naturally do it unless we learn otherwise, sometimes through learning statistics, sometimes through other routes.


What do you need to learn to make the switch? I know SQL pretty well. I don't now a lot of stats, but I doubt its beyond me to learn.

It's a multifaceted question and has a multifaceted answer, unfortunately.

There is how to get into a data science job, and how to make that switch.

There is how to get into doing data science as a hobby or a skill/experience, and how to make that switch.

There is how did you make the switch to data science. That is, what is your story?

And there is the deeper dive, most people do not consider enough: "Will I like doing data science work?"

My story:

When I was a teen, I wrote a stock market bot that was pretty profitable. That may be a quant researcher job and skillset, but it is a kind of data science too, as data science is a research position, where creating models is part of the job spec, identical to a quant researcher.

So I got into it, out of hobby, not out of taking a class or reading a book, but by being infatuated with the plots I see in the stock market, seeing patterns everywhere. When I'm doing a 9 to 5 I have to put a timer on when I'm looking at plots, or I can easily spend days just taking in information. I just like it, a lot.

In 2010 I applied for a job as a software engineer, passed all the interviews, was going to do another SE gig, and then I was talking to a manager during an interview and I said something like, "With enough time and effort, nothing is impossible. That's what I love about programming." So, he threw a curve ball at me. He said something like, "We have a team of roughly 15 people classifying web sites, labeling if the site is porn, education, business, and so on. There are a little over 60 categories." This team worked on the web filter schools and dmvs all over the country paid a service for, to limit what websites people can go to.

I jumped on it, "I can automate that!" So he started a new team and put me on it. What did I do? I looked up how SEOs work and how Google's search engine worked. Certainly they were classifying websites in one way or another, so it was just a matter of research and figuring it out.

...in the end the project succeeded. What strongly surprised me at the time was how it ended up categorizing websites to a higher degree of accuracy than the people we were paying.

That's the non-business side of data science in a nutshell. It's figuring out how to do something often suspected or assumed to be impossible, and making it possible. It's not just researching how to do something, but using cutting edge research from published papers and often doing the next that no one has figured out yet.

Programming is a tool that automates thoughts. If you can figure it out you can put it into code. If it's a complex enough of a problem you can use ML to automate the writing parts of that algorithm you could write by hand. ML is often thought of as a way to generate a process, that can't be written by hand, and to some extent that is true, but only in the sense that it would take too long to write by hand. Eg, where writing by hand would need an if statement for each of the millions of hypothetical scenarios.

ML is also useful for giving insights. You have a hypothesis -- an idea of how to do a task -- and you run ML over it, and either it solves the problem, or it doesn't, and what it comes up with that is incorrect will always teach you something, so data science is often an iterative loop, where you put some ML in just to see how the data varies from your hypothesis giving better ideas in how to write a better model.

Sometimes someone will say data science is an analyst + software engineer, but that's not quite right. An analyst looks at data, plots it, organizes it, and then reports on their findings about what is to management. A data scientist looks at findings and applies predictive analytics to it, finding solutions to potential problems. Eg, "We'd like you predict future customer churn, and propose solutions that will eliminate this potential future customer churn, before it happens." This is done through identifying or classifying what the causes of customer churn are, then finding solutions to those causes (hypothesis), then writing some software that automatically enacts that solution. Then you can look at if that solution is working, and validate your hypothesis or invalidate and learn more of what is really going on. Hopefully that makes sense.

In summary, if there is a task that other software engineers can't figure out how to do but you can, regardless if you're using ML or not, it may be data science. (Keep in mind, software engineers can use ML, so while data scientists often use ML, ML is not data science.) The path from software engineering to data science is usually just that, taking what is deemed impossible by those around you and making it possible.

How to get into DS as a career: As a software engineer, your best bet is to transfer internally. It's rare for a company to higher a fresh data scientist who previously was a software engineer. Data scientists can help all companies, from startups to large companies, so you don't have to be at the "right" company to switch, you just have to find a problem that could benefit the company, advertise your hypothetical solution to management, and start doing it. Data scientists are the ones finding projects to benefit the company, and doing it. They're usually not being given projects from management like software engineers are, though ofc they can be given projects too. Keep in mind: I'm a lead data scientist, and my first data science roll I ended up leading a data science team, so my views are biased towards my own experience.


Making its money with ads doesn't mean anything anymore.

There are plenty of companies that have paid products and still do user-hostile things including stalking, spam, dark patterns, etc.

I paid full price for a Playstation 4. I still had to opt out of "enhanced data collection" and spend 15 minutes disabling every option on their bullshit attempt at a social network. Even the games themselves had their own telemetry crap I needed to disable buried deep in some advanced settings.

Spotify still insists on ratting me out to Facebook by loading their SDK even if I'm paying for the app. They also interrupt my flow every so often with in-app popovers about some stupid feature I don't care about.

A client I worked for that has a paid app had an insane amount of analytics and marketing SDKs in the app (including Facebook of course), so much that I actually refused to install the app or use the product myself even though they gave me a voucher.


> There are plenty of companies that have paid products and still do user-hostile things including stalking, spam, dark patterns, etc.

This is a good point and I'm glad we're finally seeing some pushback. I would have a problem working for a company that does unethical things and I was surprised that so many people don't care. And before you tell me that people don't have a choice — perhaps some don't, but that certainly doesn't apply to all the crowd that moves to Silicon Valley to work for Google.


The examples of paid products you used to support your point are not very good. The PS4 console was sold at a loss and Spotify is barely profitable. In short, you might have paid for them, but neither company made money from you based purely on those purchases. Both companies perform data collection to guess what, generate more ad revenue (through lots of channels).

Sony isn't having money trouble, they're huge. That's a sorry excuse.

And Spotify doesn't make much money because most of their users are freeloaders. Their poor business model should not become the problem of the paying users.


Damn, didn't know that about Spotify (paying customer too), but indeed: 8 trackers, plus it needs 28 permissions on Android. Pff, I hate that so much.

https://reports.exodus-privacy.eu.org/en/reports/com.spotify...


> You could always switch to a company that doesn't make its money with ads

I always thought that I would be able to switch to any programming job I wanted, and that the only decision would be between making a lot and roughing it up (like the GP), or working for a better cause for less money (as you propose).

But now I find it -- after 25 years of professional experience -- nearly impossible to find any job. Maybe it is due to the coronavirus, or the budding depression (or both), but I've never seen the market so slow... :(


This is my observation as well, and it was even before the coronavirus. The majority of tech jobs in London are bullshit startups chasing after AI, blockchain or the latest JS framework. It's very rare that a real company hires (presumably because they have all the talent they need and don't need to hire for the sake of "growth") and when they do it's often a bad fit for my skills (Python/Django).

Heh, to me (also in London, and struggling to find a job right now) it feels like everyone is doing Django these days... :D

All the permanent Django jobs I see also have over-engineering such as insanely complicated front-ends (that actually perform worse than good old HTML) or Kubernetes (when the entire product could be served off a single bare-metal server) or similar, not to mention they are BS startups doing user-hostile things.

Bare metal? A cheap VPS for many...

That strikes me as odd because I've found that nearly every company of a certain size has a programming team these days.

You might have to change tech stacks and rebrand yourself to appeal more to enterprisey jobs, but that's more of an issue of marketing than anything else. It will be a small transition, but once you do that you'll be fine.


Here in Boston I'm hearing that the market is still pretty strong. Lots of smaller companies are having trouble but bigger ones are hiring like crazy for senior and higher roles.

I've been at companies without ads that still screw the users. At one they had us remove the unsubscribe option, for example, to force users to call and argue their way into a cancellation. The call center was graded on how many users they got to give up.

> 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.

I've been thinking about this in relation to the concept of incidental complexity lately. Every year there is more and more tooling and configuration to do before actually coding anything.

I have always considered myself a full stack developer, but each field gets more specialized, and when issues arise I'm just not on top of the suddenly very complex nature of the surrounding ecosystem, even though the goal is to eventually write the same code in the same language I normally use.


>Every year there is more and more tooling and configuration to do before actually coding anything.

I've become increasingly worn-out from this as well. It's strange that as an industry we parrot the "premature optimization is the root of all evil" line, yet we build out our tech stacks as if we were all part of FAANG.


I am going to start showing everyone the Stack Overflow architecture, a beautiful example of scaling up rather than the monstrosities generated by scaling out. There is the promise of cheaper hardware, but the developer costs must cancel this out, no?

https://stackexchange.com/performance


And here we have the product of today's VC backed tech.

There is a whole other world of bootstrapped/profitable businesses out there where these things aren't a focus or problem. You might not even have to take much of a pay cut.


I agree with everything but your last point. Having worked on software projects where nobody was thinking about how things are done and they were only thinking about deliveries, I can say that you don't need more than 6 months to make the solution a completely unmaintainable mess.

What are the things that you think other devs would label over engineering but was instrumental in your project not becoming an unmaintainable mess?

An example I often see is database normalization. Why use 5NF when we can simply do with 3NF? Fast forward this a few months later and you end up doing pattern matching on blocks of text instead of querying indexed columns.

Ahh, it's far more uncommon for me to feel like a database is over engineered. It's much more common to find a codebase has 7 levels of indirection but the database fails to accurately and completely represent their business domain.

When I do feel a database is over engineered it is almost exclusively adding complexities to the database to handle a contrived or rare examples. With the most common being "splitting one table into 2 because a one to one relationship is actually a one to many once every 5 years", or "adding a join table because in Joe's 30 year career there was that one time multiple companies jointly sold us a single product"


I would add there is a conflict of interest in the software industry. Big companies which could invent products to (really) optimize software development would not do that because they will have less developers (business channels at the end) to sell their offerings. Most developers around the world are wasting time doing the same thing over and over instead of having good secure, robust frameworks and UX/UI builders/tools.

I think this a biased point, speaking specifically about startupish business models, there's a lot of different models around the world in a lot of places. There's work to be done with critical applications or slow paced startups, or niche applications on premises. All of them pay well too, maybe you are just saying what you are seeing, but there's a lot more options to it

I can relate to your point of view, which is why I don't work for "the tech industry", but instead have my own SaaS. This lets me stay close to tech (I love programming in Clojure and ClojureScript!), do what I enjoy, and not have my soul sucked out by evilness and stupidity of today's adtech world.

I have a product which solves a real problem and I'm getting paid by customers who appreciate that their workflow is somewhat easier with my tool. No tricks there.

So, you do have a choice. I'm not saying it's easy or quick, but the choice is there.


How do you propose finding those real problems to solve? I know that every problem I encounter in my life (or work) has already been solved 100 times over.

Yeah in honestly shocked at how many niche problems. I encounter that have ready solutions. If I ever find a truly unsolved problem, in likely to assume that its just too hard to properly solve at the time.

> If I ever find a truly unsolved problem

Why do you think you need to find a truly unsolved problem? If all you want is a profitable, sustainable business, look at what companies are already paying for, and build a product that solves one of those problems. It doesn't have to be a carbon copy of an existing product. You can differentiate by price or combination of features. Or you can target a different niche. Competition is a signal that there's money to be made in the market.

It won't be easy, and you will have to learn sales & marketing. But it is doable. If there are X companies in the market, there's likely a place for another one (as long as this isn't a winner-takes-all type of market).


So solve it for the 101st time, but better. Everything is broken and nothing works. So, build something that isn't broken and does work.

I just found out yesterday that AWS Amplify doesn't have a manual deploy button. It's only job is to build and deploy an app and there is nowhere on Amplify itself where you can press a button and kick off a build! Junk like this is everywhere now. It's a golden opportunity for people who know what they're doing.


If I were to start again, I would look outside of my tech bubble. Go see a local workshop, baker, restaurant. Look into niche industries. There are plenty of inefficiencies and unsolved problems there. I think the best ones are where you deal with physical things (e.g. not just advertising or getting customers).

There are plenty of unsolved problems.

An alternative is to look for a problem that has been "solved", but not in a certain niche. For example, inventory control and tracking production seems to be a "solved" problem, but it turned out it wasn't a "solved" problem for small/medium-scale electronics manufacturing, which is the niche I'm in.


Just find a pain point. One of my products sells just because people really don't like certain aspects of my biggest competitor. So I capitalize on that and make migration easy.

Find a problem that is un-sexy enough and work on it. Success is 99% persistence.

Joel Spolsky had good advice on that. “Where there’s muck, there’s brass.”

https://www.joelonsoftware.com/2007/12/06/where-theres-muck-...


Get out of the VC backed world then. Plenty of stodgy old enterprises that make actual useful stuff need good IT talent, and they pay well enough. These environments come with their own set of issues, but I've never felt like I'm working for companies where I am scamming the end user.

Just stop working for shit companies producing stupid shit, money isn't everything.


Even better, get out of the private sector (if you can). I'm very happy with what I'm contributing to the world at the BBC, and I'm paid 'well enough'.

The BBC might be an exception here but typically government projects always go to some BS consultancy that will take lots of money and deliver a shitty solution, or sometimes the problem or spec itself doesn't make sense but you're not allowed to talk to them and clarify/rethink the spec because reasons.

There are some notable exceptions aside from the BBC in the UK. The Government Digital Service is held in fairly high regard. I’m not sure about the states. There are no doubt examples at the BBC of what you describe, but mainly it’s pleasant smart people building useful things. There’s dysfunction, but it’s bearable.

I have no inside look and can only comment as a user, but isn’t a company like gusto providing a genuinely valuable service? As a small time startup operator I was happy to pay for their product.

Companies like that are relatively niche and usually already have all the talent they need. Not to mention, even if it looks good on the surface there could still be bad things hiding under the hood. A friend of mine works at a niche business selling network hardware, sounds innocent enough - and yet they are using creepy analytics to infer which companies visited their website and then spam them with sales calls.

> 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.

This seems to vary company-to-company. I've seen the extremes on both sides of this. I recommend finding a new company that shares your views on tech-debt and pragmatism.


Maybe join my company, or another company like us?

We're funded from customer revenue. Privacy focused. No VCs, so no moral flexibility needed on our end to meed VC expectations. We don't do any dark patterns. All remote.

There's GitLab, Wikimedia, Cockroach Labs, etc.. there are opportunities out there if you make it a real priority to work at such place.


This seems like an issue which is heavily skewed towards start ups and tech companies, which are ironically generally viewed as the most attractive companies for tech workers to work at.

The pay will be lower but there are opportunities out there where you can genuinely work towards helping people with technical solutions. Both the local research hospital and world class children hospital in my area always have data science openings and positions like that for instance


This describes a lot of software. No doubt. It's depressing and disturbing.

But not any of the systems I've worked on over 10 years. You may not get the absolute top salaries working on more meaningful projects, but there's plenty of them. Here are some examples that I worked on. To a fault, most of these places over-focused on the business and under-focused on exceptional engineering. Nonetheless, there's a lot of money to be made solving real business problems.

- Optometry practice management software

- Insurance benefits processing and customer service systems

- Professional soccer/football training iPad apps

- phone/pbx, Audio and video communcations, tie in with the web

- mapping systems to evaluate water scarcity and agriculture water use

- government benefits systems

Again, user Nextgrid isn't wrong. If you're willing to take say, up to 90% of the highest salaries available, rather than only the top 10% of salaries, there are huge amounts of non-advertisement problems to solve. Rightfully, this comment exposes the depressing cynicism which develops when building manipulative software.


Curious, how do you get jobs/contracts around these examples? My understanding is that most of these industries already have the talent they need (or have a preferred supplier they work with).

You apply. Talent is always wanting

I freelanced for a few months for a local high-end cabinet maker. I helped them integrate their online ordering system with the automated fabrication equipment. It was, by far the most I have ever enjoyed programming. Coordinating with super skilled crafts-people to help them eliminate the redundant parts of their work was just so cool.

And by weird coincidence to this post I've recently been browsing around trying to find any other type of traditional businesses looking for equivalent help. But I've mostly found boutique places that wouldn't have need for a full-time developer.

Any tips on places to look for opening greatly appreciated.


I had a similar gig where a small local business wanted to integrate their Shopify store into their existing Django app. It was very easy and no BS to deal with like Kubernetes or Javascript build pipelines.

The problem is that I find it very hard to find these businesses, and indeed most of them don't actually have enough work to fill more than a couple of days so you would need a reliable source of these gigs if you want to survive (you can't charge insane amounts to compensate either as these businesses just can't afford it).


That type of work is too infrequent for most companies to justify hiring a dedicated developer.

You should work for a system integrator if you want to do that kind of work with regularity. The integrator contracts you out to those companies as needed, and you develop a niche and maybe customers start asking for you by name. In the best cases the integrator is your employer and offers full benefits, as well as absorbing the costs of downtime.

That business model can also be abusive for obvious reasons. I can recommend a good company if you're interested.


So this is a philosophical argument, but lots of those industries indirectly screw their customers. Optometrists who sell frames generally sell brands from companies like Luxottica who have made eyewear really expensive. The entire insurance industry is one of the major reasons healthcare is expensive and ruins the experience people have with patient care. All of this various from country to country of course.

I could go on, but sometimes your choice is working on a product that either screws the users directly (e.g. ads) or indirectly. Take your pick of where you want to draw the line.


By this logic, every company screws over everyone and business is bad overall.

That’s an unfair conclusion. Those examples were pretty specific and I, at least, see no reason to generalize (except maybe the insurance one), except perhaps along the lines of “serving exploitative monopolies is bad”

In fairness, there is no ethical consumption under capitalism. If you take that to its logical conclusion, then there is no ethical software development that supports capitalist endeavors.

What I meant is that you can find an example in nearly every business of some person (or group of people) getting "screwed over", which is of course subjective. So subjectively, you could make the case that every business is "exploitative" (like the other replier who claims every capitalistic business is exploitative).

If you take what I said to the logical extreme then sure.

What I was trying to say was that it's very black and white thinking to say something like ads = exploiting users and healthcare = not exploiting users.

Since Facebook usually comes up when people talk about unethical companies, let me use them as an example. Let's say there is a team that improves ad targeting by 5%, helping to reduce the number of irrelevant ads people see. Let's say there's another team that reduces data center electricity's utilization by 5%, which helps the environment.

Is the ad team more or less ethical than the data center team if they are basically both supporting the same end goal?

I don't work for Facebook if that matters. And I have no answers to any of the questions I posed above outside of my personal preference to not work in online advertising unless I need to do it to survive.


Luxottica is an unusual case. Most monopolies aren't that durable and Luxottica has challengers now. Also, the law in the US which says you can't buy glasses unless you have had an eye-exam in the past year is an anomaly amongst nations.

The functionality delivered by products is not screwing people unless you're talking about surveillence capitalism ala Google et.al. Capitalism and the pricing of goods is how we incentivize people to bring things to market and more importantly how we allocate resources. No one, anywhere, through any scheme has ever replaced the market for performing these functions and thereby driving civilization and invention forwards.

People keep believing they can (socialism/Venezuela), or give up on the project entirely after decades of trying (communism/ China / Russia). Maybe one day someone out there qwill have a genuinely new idea which works. Until then you have a right to feel good about contributing, in whatver little customer support / feature adder / managerial capacity you do, to the forward progress of society generally and the amazing, rocket-like increase in wealth absolutely everyone on this earth is experiencing relative to the past 30,000 years.


In most all the systems I have worked on its more about screwing the user from a technical perspective than a deliberate business action, though there have been some of those too.

Either way it all comes down to some combination of mental laziness and no ethics. There is no ethical code, that I am aware of, for writing software.

Here are my experiences as a web developer:

* Frustration at the general technical incompetence of my industry: https://news.ycombinator.com/item?id=22821318

* Many software developers need things to be easy, unprofessionally so: https://news.ycombinator.com/item?id=22859326

* JavaScript developers can't interface to the browser: https://news.ycombinator.com/item?id=22740897

* People (only software developers on security) who self-admittedly have no education, no experience, no credibility, and no practice of the art find themselves subject matter experts and cannot understand why an actual expert would disagree with their hastily formed opinion: https://news.ycombinator.com/item?id=22868620

* Hiring software developers is still somehow an arcane mystery few people can objectively figure out.


IEEE Code of Ethics: https://www.ieee.org/about/corporate/governance/p7-8.html

ACM Code of Ethics: https://www.acm.org/code-of-ethics

There are incompetent people in every industry. So what.

Hiring is an arcane mystery in every industry where productivity can't be quantified. So what.


Those are nice. Thanks for sharing that!

I have never seen anything remotely close to that in a place of corporate employment ever. I have been doing this in the corporate world since 2006, but if you count my time as a security analyst in the military than I could push that date back to 2001.

The military does force feed you (memorization verbatim) ethical standards, though, at a huge contrast to the loosey goosey corporate world:

* https://www.army.mil/values/nco.html

* https://www.army.mil/values/


I had a similar shock, after 10 years as an analyst in the Marine Corps. It's a strange country we live in.

Those are not ethical standards or concepts. "Loyalty" and "duty" don't help evaluating if an action is good.

The values are vague intentionally so that they can be broadly applied. They are not a code of ethics but a guiding set of virtues.

The NCO Creed, however, absolutely is a code of ethics.


Hiring is hard even in places where everything is quantified, such as baseball! Only a few teams have consistent success signing good value contracts even with all the statistics available.

Baseball is a bit different because there is only one winning team. Those people can still all bat (or whatever) much much better than the average qualified electrician can wire. But the point is that the average qualified electrician can wire. Whereas with the average programming interview candidate it seems to be a bit of a lottery.

As someone who worked in the frontend space, and now doesn't, I think this has much to do with the fact that "anyone can learn to code" but often don't have any formal background. Lots of bootcamp grads, lots of people hearing about fat programmer salaries trying to get into the industry, people completing udacity courses and throwing buzzwords on their resume.

My experience in frontend feels like everyone learns ad hoc without digging deep into basics. Overall, I felt if you have aptitude or real passion for the work, you would just get a computer science degree and be attracted to other parts of the stack or other problems to solve.

This obviously doesn't apply to large tech companies which make it a point to hire talent (frontend, backend, whatever).

> Hiring software developers is still somehow an arcane mystery few people can objectively figure out.

This is actually one space where I feel the frontend world shines. Almost every frontend interview question has been very practical.


JavaScript developers can't interface to the browser

I'm not sure I've worked directly with anyone recently who could pass a DOM test like that. Everything is React and and Axios and the browser (and HTTP, TCP, DNS, etc) is a mystery.

Edit: mystery isn't even the right word really, if you mention any of the other layers I've seen people get actually hostile.


From that particular post, this line stuck out to me:

Only 3 candidates were able to pass this code filter. The people that did pass either did well enough to pass or extremely excellent. The people that failed, maybe 19 of 22 people, all failed epically.

In practice I highly doubt that the population of candidates is actually this bimodal. It might lean heavily below the hiring bar, but I have trouble believing that it's bimodal. My own personal experience has been that it looks a lot like a normal distribution where the hiring bar is just two standard deviations above the mean (which would imply that you give offers to about 1 out of 25 people who apply, which sounds approximately in the right ballpark).

As a consequence, if your question is producing bimodal results, I can't help but wonder whether it's a good interview question, because knowledge tests exhibit much of the same type of distribution of outcomes.

In my experience, if you give the candidate only one hour, access to documentation only helps with recalling past experience, because one hour is too much time pressure to actually calm down, pick through, and digest documentation on something you haven't seen before. If you knew the DOM functions existed and just needed their names, it'll work, but if you're unfamiliar with what the DOM already offers, even if you could learn it fine on the job, you won't learn it fine under time pressure. I recently adjusted one of my interview questions specifically to reduce the need for looking up documentation because I noticed exactly this phenomenon.


> but I have trouble believing that it's bimodal

It surprised me just as much. I cannot speak to the capabilities or thoughts of any given candidate. Ultimately the test was a test of using a single standard API that is based upon a standard model. If it were just a matter of instructions or syntax I suspect a candidate would gotten over that by either asking the right questions, trial and error, using a reference of whatever. I think what really destroyed people was a complete inability to perceive the page as a series of nodes all interconnected with various relationships.

> In my experience, if you give the candidate only one hour, access to documentation only helps with recalling past experience

That is only partially true in this case, because the candidates knew coming in they would have a code filter accessing a page using vanilla JavaScript. I cannot remember if I specifically mentioned refreshing on the DOM methods or not. I might have. This was 8 years ago. But they had at least a day prior notice to catch up on how to interact with a web page using JavaScript using only their code. The time pressure would have applied to the specific tasks asked of the candidates.


I think what really destroyed people was a complete inability to perceive the page as a series of nodes all interconnected with various relationships.

Fair enough. :) I've experienced a similar issue with interview questions where they often floundered on the question because they hadn't ever spent time digging under the surface. For example, I notice that a lot of (typically junior) developers seem to only think of JSON as a representation for hierarchical objects but never really spent time thinking about the typed-ness of its keys/values or the limits of what JSON can actually represent. An interview is a bad time to be confronted with that realization.

I cannot remember if I specifically mentioned refreshing on the DOM methods or not.

Well, it was a long time ago, so I'll give you the benefit of the doubt and just talk about what I've experienced. I go back and forth about how specific I should be about the type of questions I might ask. On the one hand, it seems kind of foundational that someone writing web frontends is aware of the DOM and how it works, even if they never directly interact with it. On the other hand, I think questions need to control as much as possible for the "preparation" factor because some people simply interview better or have more time to study.

It doesn't seem too crazy to me today that a competent FE dev these days might have spent their whole career in React, and therefore they don't really have a strong grasp on the DOM. If you had asked when I first started doing web FE development, that would have been crazy! But frameworks got a lot better and a lot more comprehensive since then.

I recently had an interesting experience asking a question involving dealing with UTF-8 encoding. I figured "everyone knows about UTF-8 right?" I retired the question pretty quickly once I realized that bit manipulation is not actually something you have to be even remotely familiar with in order to be a functional developer today in the vast majority of programming tasks, and therefore it wasn't even a good fizzbuzz-type test.


Yeah, I have an in-depth knowledge of the imperative DOM APIs, but I can't remember the last time I actually needed to use them in my day job. React provides a very good abstraction that one doesn't need to break out of very often for a lot of work.

You've done well to stick with these things, and I do agree with your point, but I think almost any company can fall afoul of these practices...

- Optometry practice management software... targeted at maximising in-store sales with prescriptions that are difficult to use elsewhere, encouraging dark-patterns in sales tactics, etc.

- Insurance benefits processing and customer service systems... that attempts to minimise payouts, potentially by adding burden on the customer through the customer service process.

- Professional soccer/football training iPad apps... arguably sports doesn't bring as much benefit to the economy as equivalent spending elsewhere.

- phone/pbx, Audio and video communcations, tie in with the web... for premium rate phone lines that users with little choice are forced to use, such as those installed in prisons in the US.

- mapping systems to evaluate water scarcity and agriculture water use... for Monsanto.

- government benefits systems... that optimises to minimise payouts or contains unnecessary checks and hurdles.


These are great points. I'm reminded of a comedy TV show, The Good Place, where it turns out nobody has gone to "heaven - the good place" for a long time because there are too many unintended consequences of a person's actions. Buy an organic bamboo T-shirt? The company dumped waste into river. Vegan? You produced a bunch of single plastic plastic packaging.

It highlight the need to be diligent in daily decisions day-by-day. And when working somewhere that's doing something borderline, or totally unethical, working to move it in the right direction. I hope I can be aware enough to create a net benefit. The problem is knowing enough of the consequences of any action to evaluate if it's a net benefit. That's really hard, but I have to believe that toiling away _trying_ to make net positives happen will _actually_ result in net positives happening. Doubting I could ever make net positives happen leads to cynicism and ensures nothing good will come of my work.

(and thank you for bringing up point about benefit systems - that's the next gig for me, I will work to not be part of the problem)


Nice one. Just think about the user/consumer in any of these things. Does the thing I'm building help them, or only help the company I'm working for?

Be pragmatic. If the company provides a good service but doesn't survive, then that good service no longer exists! Some amount of optimisation for sales is likely necessary, but I think there's a line where things turn user-hostile, even in subtle ways.


“Up to 90% of the highest salaries available”? I’ve worked on one of these and you’re more likely to get 60-70% of what you could otherwise be earning in some mediocre fintech company, let alone top salaries. Which is a much harder sell for most people.

>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.

And yet, some kind of new and improved framework gets upvoted to the top of this website every week.

Seriously though, it truly disgusts and depresses me to browse Github and see projects which could have been accomplished with (literally) a single file being split into 10, 15, 20+ files, all wrapped up in some god-awful package managers.

No, developers; your JavaScript snippet does NOT need to be accompanied by two dozen .grunt, .yaml, .composer, .gulp, .jenkins, or .fellatio files.


I half-jokingly suggest that we need package managers for Javascript package managers to abstract them away too.

I have been dealing with this at work today. Docker on Google cloud with a VPN. A two line change took at least half an half an hour to test out. Then log into the container and I can't even run less on the logs to try and work out what was wrong. I can't even remembr the problem that docker was supposed to be solving but someone added it in.

> we no longer use engineering as a means to an end to solve a business problem. Instead, engineering became its own thing

I hadn't though about why we over-engineer things this way. But I agree

I might add, based on the over-engineered (and, in general, badly designed) software I have worked with, that it usually comes about because it's never possible to change any aspect of the underlying architecture with the purpose of simplifying things.

We wind up with over complicated 'solutions' because we are simply unable to go back to simplify anything ever for any reason. The 'stake-holders' just don't think it's priority.

So all that's left is keep stacking clever solutions on top of bad decisions such that every new clever solution makes it even harder to go back to simplify.


In my case the problem is less about changing things because the product became over-engineered after several years, and more about products starting out over-engineered because some idiot wants to put React and Kubernetes and "managing a large team" on his resume when the business problem at hand could be solved by a handful of PHP files sitting on a shared host (not saying you should go to such extremes, random PHP files and shared hosts are bad for other reasons).

"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."

Antoine de Saint-Exupery


IMO you should be spending time on refactoring and simplifying code without asking permission for it.

Improving the code-base is part of the job and you should be setting aside about 20% of the time you estimate for new features to do so.

There's no need to ask management for permission, your estimate is simply 20% larger.


all the top responses seem to be ppl who haven't actually left but speculating why ppl might leave :\.

Moralizing that, scumbag vcs this, screwing users that. Unfortunately although everyone else is terrible and I'm a victim, I'm not willing to stop any of it because I love the money!

Two threads from replies here that are helpful: look at B2B SaaS or join enterprise IT. There are a lot of companies that are trying to modernize their tools and adopt agile ways of working, and if you're coming from a startup background you will bring a really valuable perspective and set of skills.

I know Fortune 500 developers who are working on super cool DevOps enablers and internal libraries using modern tech. The good places are not your dad's IBM WebSphere configuration shop anymore.


I worked for a good B2B SaaS, and while I was able to tell myself I'm not doing anything unethical or immoral, and while some of the customers were indeed very valuable (in terms of value to their customers) Fortune 500 companies - a large chunk of customers were adtech, dodgy mobile gaming, etc.

So you're still just providing infrastructure for these guys and not really contributing anything useful to the world, you're just one level removed from that, and hopefully you have enough customers who actually do good.


If the bar is "I don't want any code I write to be used for purposes which I do not personally endorse" then yes, it's probably a good idea to go work for a mission-driven non-profit and never make open source contributions to anything ever again

Or just work in a company that is ethical and provides something useful. I'm just saying working for B2B SaaS is not necessarily covering that base.

You have a choice. These companies pay so well specifically because of all of the terrible practices you mentioned. You're currently choosing to prioritize your lifetime earnings over these other priorities, which IMO can be a fine choice to make, but it is a choice.

SRE/ops especially feels like a huge job security grift.

Every cloud provider is wrapped in HTTP REST APIs but the cloud era version of a UNIX neckbeard has a DSL or CLI tool to peddle.

Sorry, gang. Doing just fine with a monorepo of JS, Python, and Go packages that wrap the APIs for a variety of providers. New infra is just a new language dependency file away, and I don’t have to learn your semantic wank.

So glad you had a job at FAANG, but outside ITs reality distortion field, we’re plenty productive and you’re just another human.


any tips for managing a multi language mono repo like that?

My outfit has five separate teams to protect us helpless devs from SRE/Ops cloud CLI's and dashboards: devops, appops, SRE, infosec, and IT technology. The things is cloud providers and cloud wrapper companies all pay bribes to managers. The company becomes all about SRE/ops instead of app development. The infosec team is currently running the company's cloud strategy, lol. App developers are not even allowed to deploy code. Naturally though, on-call pages still come to us. I just look at the errors and think, "that's nice, whelp I can't deploy anything so I will close this." I would quit but Covid-19.

I fully agree - but the problem is not just in the tech industry.

Everything you describe is about capitalism: putting profit before any other priority.


I'd argue that it's also contextual. The previous generations were probably helped a lot by the capitalist lever, but it seems that since the 90s we're putting the lever first and the needs second, trying to find growth beyond anything else, which leads to the equivalent of p-hacking at the economic level.

Time to regroup on other domains. There are probably a lot of things that could benefit from good tech but not through mainstream channels and trendy ideas.

Your points remind me of something I've been saying for a while: We don't have a shortage of developers. We have too many developers and so they are all working on the same things for different companies, or on boondoggles.

(Also, I would really, really encourage you to invest some time and effort into living below your means. It's easier to retire or take a more fulfilling job when you only 'need' 75% of your salary and you already have a big chunk of the surplus sitting in an account somewhere. On the flip side it's made me complacent wrt to demanding raises I deserve)


Maybe take a look at https://www.spacex.com/careers/list?field_job_category_tid%5.... (We don't screw our users, because the users are us. And all that counts is solving real problems.)

But if your criterion is zero pay cut to make the move, then you're placing zero actual value on all those things you complain about.


There's tons of good tech work out there - go into the B2B and less B2C.

You neglected to mention screwing the company workers, and screwing the company partners.

> 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

I think you're overstating it. This is true of much of the industry, maybe even most in certain bubbles like San Francisco, but it's far from all.

> 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

I think there's more truth to this, although I still think it's far from all of the industry. There's also a little bit of a good reason for it: tech companies have figured out that when you let engineers work on things they find interesting or exciting, they tend to work much harder and longer. In some sense this isn't a bad deal for those programmers either, if they're getting to do something they love instead of something they hate.

What it does lead to is a weird situation where doing something in a way that's only 80% efficient in terms of effort because of over-engineering, may still end up being economical because it leads to 200% effort from the people working on it. I think this is the root of a lot of the technology decisions being made today. Which, again, is really weird and seems questionable, but it also seems to work out pretty well for all parties most of the time.


> The tech industry nowadays is no longer about solving real-world problems and making the world a better place

Your complaints are legitimate problems with the industry, but it should come as no surprise that a free market does not always make ethical decisions.

> Unfortunately there's just nothing out there that pays as well so I have no choice but to tough it out.

You always have a choice. Nobody ever promised that a choice which "makes the world a better place" would necessarily be the one that's best for any individual's own wallet. It usually isn't.

As long as tech workers continue to choose to do work purely based on salary, even when it "screws the end user in every single way possible", employers are incentivized to continue to pay them to do so. The job market works both ways.

It's hard to muster much pity for someone who uses "toughing it out" to describe making a great salary and (by their own admission) screwing their customers.


> there's just nothing out there that pays as well

Tech pay will flatten out/drop in the next decade.

Skill requirements are diverging. Tech skills are being commoditized by influential, huge, monopolistic companies. There is no licensing body to keep supply in check (like doctors, lawyers do) and there isn't one likely to be either. Put that together and you have a recipe for excess skill supply, replaceable talent and incredible effort required to switch roles.

One effect of that is lower pay.


Never enjoyed it. I knew from the second day of my first tech job that it wasn't what I wanted to be doing, but I blamed the job itself rather than the industry. Moved on after a year and tried other tech jobs (different size companies, different types of software), but they were all essentially the same.

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.


This is resonating with me. I'm still working in the tech industry but considering a change. To which industry did you switched?

My personality changed around my early 30s in a way that meant I found it very hard to align myself with anything less than the highest quality leaders in the company.

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.


As a kid, I aspired to be a programmer. As an adult, I succeeded, and I stuck around for a good long while. There are a lot of reasons to like working tech, obviously: the salary, the flexible working environment, the prestige, the opportunity to build products that real people use, the chance to play with new technology, and of course working with occasionally brilliant colleagues.

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.


This sounds a lot like toxic work culture, but unfortunately there’s a lot of that in tech

To me, it sounds like their problem is they aren't introverted enough for the job (which is totally fine, but just an observation).

All jobs will have x% of nonsense and y% of what you actually really enjoy doing, and I think as long as y >= 10% then you'll do okay.

Honestly, I like sitting by myself and grappling with tech problems. It's nice that I'm allowed to sit inside my own head and think all day. Maybe it's because I'm young enough that the problems I'm facing still seem somewhat novel. But perhaps it's true that OP is more extroverted and doesn't enjoy that nearly as much.

Good on them for finding a better career fit. If I had to interact with people all day, I would die.


You may be right. When I was younger, I was a lot more willing to focus on purely technical problems. I'm still an introvert, but let's say that I'm "extrovert-curious."

>If I had to interact with people all day, I would die.

I have some bad news for you. As you become a more senior developer you will spend most of your time interacting with people, and a lot less time just "sitting and thinking".


I don't think it's just a pattern that's imposed on people arbitrarily, but that most people find as they get older they want and need to do more of that sort of thing.

I'm happy to talk tech with people all day, and if it's over Slack it's great. I just don't like meetings and superficial interactions.

I relate so much to this!

That's where I'm headed. I was lucky enough to land a part-time teaching gig (US equivalent: adjunct?) at a local University through my own academic studies there, almost completely by accident (they were short-staffed and kept asking until I said yes). I love it. I am planning to make the jump from my rather depressing current tech role as soon as I'm done with my doctorate. I can apply for (and hopefully receive) research funding, or join in on others projects. Or I can teach as much as I like, or both. I can help people. The pay cut is substantial - around 40%, personally - but it's the best job in the world.

> 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.

That squares with my experience of software development. It's like being a furniture maker but spending 80% of your time fixing your goddamn hammer because it keeps breaking and no better hammers exist, or consulting glue-drying tables because they keep changing your glue on you every hour or two and for no good reason every single glue performs differently while accomplishing the same thing.

... and then most of the remaining 20% is meetings and communication, which would be fine if you had more time to do the thing you're actually trying to do.


And when you're doing woodworking and has to do some repetitive task you make a jig or a template for your router.

This is something that you're supposed to know on the first day after you finish apprenticeship.

In the modern tech industry you need authorization from your product owner/manager and engineering manager just to build a new tool or abstraction to automate or speed up your own job, because god forbid you do anything that's not in JIRA.


I have to manage infrastructure, but I'm not allowed to manage user accounts or permissions. I have to send a ticket to IT, and then wait 3 days for a response... Or I get no response from them, and find out 5 days later that they did the job and closed the ticket with no notification. All because their manager requires tickets for every little change... But they don't put any information in the tickets about what they did, so there's no point whatsoever to the ticket.

at the other extreme, everybody does whatever the day requires and JIRA is just an annoying after thought that for some reason (the agile coach tells us to?) we have to keep up to date and yet is always outdated.

It's my opinion that coordinate-work-among-the-team and communicate-work-to-management should not be functions performed by or in the same tool, and that most of the team should never need to touch the latter tool.

Or wait for $oracle to change

It's the same for all kinds of work outside of academia.

I studied aerospace engineering and day-to-day it's exceedingly rare to need any math beyond basic trigonometry. 80% of the time it's useless meetings, emails, paperwork; only sometimes it's actually useful or fun. Some people study business for years and end up splitting their days between sitting in meetings and updating Gantt charts.

That's just how work is.


Which makes me wonder how much faster we'd be seeing progress in the world if companies were better managed.

I suspect we were far too quick to get rid of secretaries as actual job-performing useful people rather than just status-signaling living perks. Also I think much of our workforce is wildly over-qualified and over-educated for what they actually do. I suspect there are more people than ever in the proverbial "mail room" that are plenty capable of rising to CEO or President of a region or division and doing a fine job without taking time and money to qualify for then attain an MBA at a top school, but we just don't really do that anymore. 500 people with the education and smarts, given a tiny amount of coaching, to do jobs two notches up the "ladder" for every such position that exists, but several HBS grads applied so we're taking one of them anyway.

I agree completely. I miss having a Department Administrative Assistant who was expert at the things I shouldn't need to be expert at. Like "I need to go to San Francisco next month; please take care of my travel arrangements." Or, "how do you use this Excel feature I never heard of and will never need to use again?"

Our AA saved us countless thousands of hours each year. She was worth her weight in platinum.


That’s not some law of the universe, though, that’s a result of our specific culture which is itself the result of individual values and decisions.

Experiences like this are one of the major reasons I decided to keep my focus on iOS development rather than pivoting to full-stack as I was considering doing.

The iOS dev experience is far from perfect, and while YMMV, I definitely found I spent _much_ less time fixing my hammer when I'm building for a single platform using a single language in a (largely) excellent IDE.

Sometimes I think there must be engineers out there who enjoy the hammer fixing and glue-drying that comes with the rapidly changing full-stack development landscape.


I’ve been thinking about pivoting into iOS dev. swift seems perfectly fine, and the restricted eco system seems paradoxically liberating

I am much more productive on iOS than when I do web development. Unfortunately I want my games to be cross-platform, so sticking with Swift isn't much of an option for me. I did have an iOS only project to learn modern Swift again (with SpriteKit), and it's been an extremely smooth experience for the most part. Most of the time I'm just thinking about the logic of my game.

Nowhere near as many headaches as juggling all the moving parts in the Javascript web app ecosystem, which I'm doing for work right now (currently stuck on something right now).


My attraction to tech is the certainty of digital. In a messy analogue world, it provides a semblance of predictability.

But my PC has recently started crashing for no obvious reason. The analogue has crept into the digital. Every error message is different. Parts work when tested in isolation. The whole is less than the sum of the parts.

It's really quite annoying, and I'm enjoying walks in the park more these days than typing on a keyboard. I put up some shelves the other day. They are still up. An update won't break them. Reliable.


My wild prediction: digital systems will officially reach analog level of noise requiring everybody to learn the "old" ways for pre-discrete computing systems.

I'm a PhD drop-out, and I'm reticent to give it another shot. Is it easy to find teaching jobs at the university level without a PhD?

If you have a masters and are willing to be a relatively low-paid adjunct, my impression is "yes," particularly in CS, where relatively few people want to be adjuncts.

I don't think it's easy to find jobs that pay at middle-class levels in many larger cities.


Again, just my two cents, but in looking for full-time, contract-based, permanent, non-tenure-track teaching positions in the northeast of the US, I found no shortage of schools eager to make offers to someone with the right background. Here, "right background" means previous teaching experience, good evaluations, and extensive work in industry, as well as a killer demo lecture.

In my experience, in the job market right now in the US, universities are positively salivating at the chance to hire experienced tech people into teaching roles. This is because lots of students want to study CS, and not a lot of people want to teach it (being that qualified people usually either go into industry, or go into research).

The salary may not be great, if you have experience and good student evaluations, you are in a strong negotiating position.

Some caveats: getting a university teaching job is a lot easier than getting a university research/teaching job. Previous teaching experience is a big plus, as is previous industry experience. PhD is nice, but not required (I don't have one).


US or Europe? If Europe, would any of them hire a filthy American? ;)

I have experience teaching in eastern Europe as well. It's been hit-or-miss. It's best if you're flexible and don't fixate on any particular location.

If you need a visa and work permit, it really complicates matters: I highly recommend acquiring European citizenship if at all possible. (I did, which had the side-effect of immersing me in genealogy as a hobby.)


Can you elaborate more on how you got into the teaching position? This is a path that intrigues me as well but I also had mediocre grades and I never even tried to go to grad school. However I have been quite successful in my career (worked for the NYT and currently for a FAANG) but like you I am getting burnt out by the daily realities of the industry.

It was by chance. First, I started teaching English as a foreign language in Europe: that provided a useful background in pedagogy, although has nothing to do with computers. Second, I was offered an adjunct position at a university where I was a student, which gave me a taste of teaching CS.

You'll probably need at least a Master's degree if you want to teach, but a strong industry background might be enough. You might try approaching a local university (don't discriminate, even community colleges need teachers) about teaching one class a semester. If you like it, you can try a better school or go for a full-time position.


> Fundamentally, the problems I'm solving are not technology problems, but human problems.

This is what we’ve lost in our industry in the last 25 years, and to the worlds detriment.


There's a scene early in "Halt and Catch Fire" (IMO the best tech-focused fiction show, basically a Mad Men take on the early breakthroughs in computing from personal computers through to the internet) where Joe the salesman tells Gordon the engineer, "Computers aren't the thing. They're the thing that gets us to the thing."

That's been my motto since I heard it there.


I looked into teaching programing once. What I found has horribly designed classes teaching in poor ways and I could tell the likelihood of me being able to re-write some of the curriculum was close to zero and I'd have to deal with tons of school politics.

Have you somehow avoided this stuff?


That doesn't correspond to my experience at all. Where did you find that situation?

I imagine it might be different in secondary school education, but at the university level, I find that no one really cares what I do, as long as the students don't complain. I always redesign the curriculum to suit my tastes and interests, and I've never gotten any pushback from admin.

Basically, the department assigns me classes to teach, and after that I'm on my own. Once a semester a senior faculty member observes my lecture, mostly to make sure that I haven't shown up drunk. The only politics I'm exposed to is on the hiring committee.


What advice do you give your students in handling work-life balance?

They don't ask. If they did ask, I'd say that tech employers are designed intentionally to subsume as much of your life as they can. If you want to have your own life, you need to stake a claim.

More controversially, I'd say that any labor relationship is necessarily exploitative, and doing any work beyond the minimum means that you are giving more than you're getting and thus being abused. But that's not advice for having a prosperous career. :)


> wrestling with package managers, version conflicts, obtuse configuration files

The top answer also mentions this. Yours is currently second-top.

I hope developers get the message.

I'm SO tired of trying to navigate around the mountains of pure garbage every time I want to work on a new project.

I long for the days when adding new functionality to your project was as easy as including a single external file, and when code repositories didn't automatically come with ten different utterly useless metadata files.


In a way I think it's the current trend of rejecting GUIs. It certainly helps with automation, but I'm afraid we've thrown the baby out with the bathwater.

Does anyone remember Borland's VCL, Rox desktop or Acme from Plan 9? All vastly different, but all enabling great workflows. I would like to dive in GUI programming more, but I'm too picky regarding technologies. Closest to my ideal is Tcl/Tk and Lazarus it seems.

I say it as a guy spending most of his time in terminals for 15 years, mostly by choice.


I think it's a little unfair to blame developers.

I see the problem that our tooling is diverse and assembled from parts. You can pick a compiler from column A, a version control from column B, and GUI framework from column C, a message queue from column D, etc. And somehow, it's is possible to make them all work together. We love having that flexibility and choice.

But we pay a price in the added complexity of making all the pieces play together. A sibling comment mentions Turbo Pascal, as a contrast to today's programming environment. Yeah, Turbo Pascal was great, but it was also an all-in-one kit: you couldn't even use your own linker, you had to use the built-in TP linker. In a sense, it was a walled-garden Apple-style development environment. But it worked, it was easy, and it was fast.

The closest we have to that today is Visual Studio. I'd argue that the (mostly) all-in-one nature of Visual Studio and C# relieves a lot of the headaches of the more traditional open source toolset, at the expensive of less flexibility.

This is not an argument in favor or against the Microsoft world, just an observation.


Wrapping my head around modules, packages, and libraries while learning Python a while back was the biggest roadblock and most discouraging part. Trying to figure out why certain things wouldn't be installed was a slog. At the same time, this struggle definitely taught me much more than I would've learned otherwise. One topic it pushed me into unwillingly was containers which was definitely a benefit in the long run.

> I hope developers get the message.

> I'm SO tired of trying to navigate around the mountains of pure garbage every time I want to work on a new project.

It sounds to me like you are also... developers? :)


> 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.

I can totally relate to this.


Thanks for sharing this. What you described in your past is EXACTLY how I feel now, and how I have felt over the last couple of years. Especially the line "I should have just found a better job, and I did, several times" is EXACTLY how I feel too. You've even nailed exactly how I feel with "I was spending more time wrestling with package managers, version conflicts, obtuse configuration files, pointless deadlines".

I really enjoyed teaching guitar and talking to people when I was younger so I've slowly been creating educational content on LinkedIn and YouTube for software engineers. The main thing preventing me from taking a jump is my immigration status (I'm not American and I'm working on my green card right now). I'm glad this is working out for you!


A couple years ago I nearly got the opportunity to teach at a Bootcamp (one of the non-scammy ones). I got turned down very late in the process mainly on lack of experience, but I really felt strongly that I would enjoy it, and be good at it. One of my strongest skills is articulating concepts, and there's something enticing about forever remaining adjacent to that part of the journey where code is really exciting, before it becomes a drudgery.

Anyway. I hadn't really thought about it in a while, but maybe I'll try for that again in the future. I don't hate bit-slinging quite yet ;)


> I just don't really like tech people, despite the fact that I obviously am one of them.

Wow, this resonates with me. I have never liked my colleagues at any job, and I hate talking about tech with people outside of things related to work. I find tech people difficult to get along with and the conversations don't interest me. I say this knowing I could very well fit the same description but here's the thing:

I find that often tech people replace an entire personality with video games / following the latest tech releases / anything related to their job. Almost all "water cooler chat" at tech companies is what game they played on the weekend, what the latest steam sale is, what the latest tv show is, what new programming language they're learning. Like, please. Can we talk about something else?


I can handle the shop-talk, but what bothers me about tech-guys (I've never had problems with female co-workers) is that they have their self-worth tangled up with their being the most-correct. They just can't handle being disagreed with.

> I find that often tech people replace an entire personality with video games / following the latest tech releases / anything related to their job. Almost all "water cooler chat" at tech companies is what game they played on the weekend, what the latest steam sale is, what the latest tv show is, what new programming language they're learning. Like, please. Can we talk about something else?

Interesting. I've worked at plenty of companies and I rarely met people like that. Maybe it's an American quirk (I've mostly worked in Europe) or perhaps it's specific to tech companies? I've mostly worked in non-tech (government, banking, telcos, with some simple web startups) and people there are fairly well-rounded. It may be that big tech is selecting for the biggest brainiacs in their hiring process, and being a brainiac correlates with having a one-dimensional personality? I've certainly meet a couple of people like that when interviewing at some of tech's household names.


> entire personality with video games / following the latest tech releases / anything related to their job.

Sounds like me if you throw in anime :) But, what's wrong with that? Other people do the same thing but with sports or music or raising kids or "hanging out with friends" or whatever else they fancy, but one is no more a "real personality" than the other, though, people with other interests always seem to have no real personality and be all about that lame thing they like, don't they? :)


Honestly, I don't know if there is such a thing as the perfect job.

I suspect the daily grind becomes apparent regardless the career choice.

I can imagine how doing the same thing for 20+ becomes dull and uninteresting, especially if you have arbitrary deadlines, superiors to report and so on.

The way that I personally cope with this is, accepting the fact that my job is a job and at the end of the day, the only thing that really fulfils my life are good health, exercising and spending time with loved ones.

Whilst I try to enjoy my job as much as I can, it's just a means to an end.

I think a trap that some of us fall into is letting our careers define who we are and once that happens, it becomes very easy to lose the sense of self.


I second the package managers hell It just makes my life miserable when working with NodeJS or any JavaScript library, or the number of Framework libraries out there that makes every choice an endless debate.

I don't know if I really "left" if I never joined in the first place. I'm almost a doctor, now, but I studied computer science in college and became pre med in my third year of college.

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.


Engineers who work for companies like Google, Facebook, Amazon, Microsoft... They aren't getting paid for engineering. They're getting paid to increase employee head count which gives corporations political leverage. Also, they don't want smart people to be thinking about the economic system in an objective way - Hiring smart people and giving them massive salaries and bonuses is a good way to keep those people focused on ideas which are aligned with the existing corporation-friendly political order.

It's not just those four, rando startups have started to do it as well.

It's the third time in my career that I see a company making the developer head count jump from 10 to 100 only to ask all the newbies to rewrite the software from scratch in the most disorganized manner possible.

I'm becoming allergic of rewrites, but I'm pretty sure that I'll land into another one if I switch companies again.


I got a 2 year network admin degree and realized the kind of people I had in class were the kind of people I would have to work with. At least the skills didn't go to waste. Knowing how to operate Linux over SSH comes in handy running a blog for the things I do now.

I left before I got into it. It seemed like the whole field went to web & mobile & saas, none of which I care for. And interesting things like OS research got largely killed by excessively complex hardware & software stacks and bloat that must be supported or nobody will look at the thing. Freedom got attacked (saas, centeralization, nat and other efforts to kill p2p, drm, browser & web apps to enslave you instead of user agent and desktop software to empower you, portability and choice got killed for "our way or the highway", list goes on) quite hard, hackers across the board dropped principles for "pragmatism" or whatever. None of the job ads I saw had had anything in them that resonated with me. So I got depressed, dropped out of high school and gave up on going to college.

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.


> None of the job ads I saw had had anything in them that resonated with me.

I occasionally see ones that resonate with me, but either require an education I can't afford to obtain, or want over a decade of experience working in similar roles.


I stated my career early - while I was still in high school. I went from bagging groceries and doing checkouts at a grocery store to programming for a local company my senior year of high school. I continued doing this for my first couple years of college.

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.


Wow, what a story.

> 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.

This feeling of 'feel' for a thing, its what I miss in tech personally. Companies offer a service, want a happy customer and make money that way. But a 'feel' for the actual goal and way its done usually lacks. Too many egos...


Agreed. People so rarely bring passion to the job. In fact, they often react with hostility when encountering someone who is genuinely passionate about software (to my mind, because they feel it reflects back on them poorly).

I think the industry is totally wrong about the type of activity that programming is. It's a creative endeavor, not a mechanical one. The best people are the ones who derive joy from it, not just a paycheck.


Like most people here, I developed myopia fairly soon after starting a cubicle job, and I can’t even see the stars anymore. It’s just a memory now. Even with glasses it’s not the same. Whether staring at a acreen was the cause, or just the thing I wasted it on, it’s gone.

I developed myopia in grade school. Then, in my late 40s, I developed cataracts. When I got replacement lenses, I had one of the eyes set to focus at infinity. And now I can see the stars again.

What town were you closest to? I grew up in Bozeman and spent a reasonable amount of time in the west side of the park.

I was stationed out of south entrance (Snake River district). Closest town was Jackson, Wyoming. There was a small convenience store at Flagg Ranch about 4 miles away, but anything you couldn’t get there required driving to Jackson.

About once a month I’d go to Sams in Idaho Falls, which was usually an all-day trip.

I’ve been up through Bozeman before. Beautiful area!


The rpi started me on electronics, rabbitholed into manufacturing of all kinds... material science, applied chemistry.

I end up looking at nature with both my old eyes and the cold scientific ones. A piece of wood, pale shades, smooth, is also a matrix of nanoscopic sugar fibers. It's odd to confront the two point of views. Same goes for butterfly wings, or flower petals..


Did not quit yet, but slowly moving away.

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 haven't but what really disgusts me is the so called "marketing", which is in 100% of all cases composed of incompetent idiots who have 0 knowledge in any field, including marketing. If you want good marketing, hire a psychologist with side interests in the field of your product, not someone who thinks they can sell a product because they've spent most of their lives in shopping centers and bars.

I previously worked in cyber security. Great job as a PM for a start up in the space. Great industry, for the most part. I loved the tech. But it just got boring.

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...


Could you please share a bit more about the environmental focus of your tech (non-profit) company? Really interested in tech with environmental applications, hence curious about your story!

The workplace and managers made me so miserable I would drink every night and be sick every morning. Vomiting was routine.

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.


its now a side gig instead of my main focus. i left because i hated selling ownership of my mind. also because the products i worked on were all stupid. absolutely no regrets, that industry brings out the worst in people. i do recycling and music now, and do random occasional software gigs when im running out of money. i keep following this website because its occasionally interesting, but also to kind of marvel at the bullshit and hypocracy. its not entirely healthy

This is going to turn into a debate about the definition of the tech industry.

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?


Why did I leave? I retired after programming for over 40 years.

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 left the tech field just a year out of college. I worked in cybersecurity. It was a lot of fun for a tech job, with lots of travel and interesting problems to solve. The pay was decent even fresh out of college like I was.

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.


10 years into my career, after being under high stress, I quit my job with no plan.

What did you do afterwards?

Lived off savings, studied new programming languages, deep learning, leetcode, etc.

hows that going?

It was fine for a while; I'm definitely the best at solving algorithms problems than I've ever been, but I want the structure of a job now.

What is "tech industry" really? Companies selling tech? Or using tech?

Very good question. Most companies that started out from being supermarkets, fashion or restaurants who then have an app on the App Store and use tech made from FAAMNG companies now call themselves "tech companies" which they clearly are just are using them; thus are "tech-enabled".

Companies involved with both creating, producing or contributing to actual "technology" like CPU design, OSes, SDKs, compilers and toolchains which most of the FAAMNG and semiconductor companies do fit the definition of a "tech company".


Wikipedia has a good article on this.

https://en.wikipedia.org/wiki/Technology_company


My dissatisfaction, aside from the usual foolishness one has come to expect from one's employers like a weekly viewing of Brazil, stemmed from this kind of engineering cruft that has seeped into a very small shop. The cruft looked like this kind of enormous parasite that had battened onto programming, slowing it down, draining it. I don't doubt that very large projects with tons of developers and enormous LOC counts, with a few million users need that kind of thing, but it does not seem to scale down very well. What might have been a symbiotic relationship with a larger host organism became like a lamprey fastened to a guppy. Now artificial deadlines had their own artificial deadlines inside them, ad infinitum.

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.


I haven't left yet but i do less and less programming work.

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've kinda had similar realizations to what you mentioned, althoughI can still kinda enjoy programming occasionally. Any idea where you're gonna go from here? Personally, the most realistic path is to just remain an enterprise code monkey unless salaries get massively deflated, and then move to tech adjacent business fields (management, etc.). I'll absolutley loathe the coming decades, but there isnt a ton of well paid options for an uneducated person that doesnt depend too much on luck.

If i did not have my startup that's starting to go well and hopefully i will be able to live of it. I would be an enterprise code monkey, there are still plenty of directions away from programming you can go from that direction and still make an middle class to upper middle class salary.

That is if you still can deal with the people who work in tech. I rather work with normal people who knows what they do is just an office job, other then people who believe they will cure cancer with their CS degree and CRUDy mobile app they are developing on their free time.


About to start med school, I looked around in the tech industry and never found a role model and found that distressing. I never met a single person in 10 years in the industry and said "I aspire to problem-solve like him/her" or "this is the career trajectory I want to take". I also never wanted to be in tech, was a premed in college, but after taking 1 CS class before the twitter IPO and getting internships at a string of popular companies I somehow became locked into the CS degree.

I’m 38 and working as a developer at a well-known investment bank. I’ve been thinking of running my own specialty coffee shop. Been working as a developer for my whole life (front-end primarily). The day to day work is okay, and the problems are challenging. Definitely not working on mundane CRUD apps, but still it isn’t as fun as it used to be in the past. I started with programming because I found it rewarding to build things, to master the art. But programming today has switched from being a “master of tools” to “master of change”.

What do you suppose would happen if you started bringing specialty coffee in to work and to technical events?

I haven't left the tech industry per se, but have had a good career using my programming skills without ever being employed as a programmer. I work for a company that makes measurement equipment, and am in kind of an "architect" and R&D role, so I use programming for everything but actual code that ships to a customer.

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've made a few rules for myself regarding working in tech:

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.


> 2. Work for a smaller company. Your work is so much more impactful when you are not part of a mega-machine.

That depends. If you work for a small company working on a product few use, then what's the impact?


Impact meaning my impact on the product, not my impact on humanity as a whole. I get more satisfaction from a larger impact on a product that affects less people than less impact on a product that affects many more people.

For me nothing beats the feeling I get when I read a heartfelt message from a user who's happy about something I decided / did personally.

I guess I'd rather be the town baker than work at Wonder-Bread.

One way of looking at it is your_impact = your_contribution * number_of_users. If you work for a mega corp chances are your contribution is small so you would be better off in a small(er) company.

The more I work as a programmer the more I agree with points 1 and 2. With Coronavirus I'm having the change to work remote 100% of the time and I'm enjoying so far. It's likely that's something I'm going to pursue in the future.


I work for a small company where tech is elementary for the primary product, and even has become a (small) product of its own. I used to work one day per week from home, which suited me well, but since the bloody Corona crisis, I've been working from home full time, and I don't like it, at all, and video conferencing even less. Although I am nerdy-ish and introvert, it seems I do need to connect to physical people from time to time.

Improvised, forces wfh is not the same as being remote at a fully remote company though.

Got sick of dealing with assholes. One weekend, a director said that we all had to come in to finish the last features for a Monday launch, so we all came in ten hours both days and finished the parts necessary for the feature. He never showed up in the office. Monday rolls around and we find out that he knew on Thursday that the launch wasn't going to happen.

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 left employment in the tech industry for freelance work. I really dislike Agile/Scrum/Kanban or whatever the new thing is that lets middle management put pressure on developers. I don't like the stress of open offices, meetings to tell everyone how soon I'll be done, or working around many people who are literally sociopaths and sycophants. I love to code though and find enormous enjoyment in writing software, its very soothing in itself. So now I do freelance and spend the extra time to make things right and try to improve at my craft. Still reading HN because lots of cool stuff pops up on here. Zero regrets on the move, I really knew I didn't want a career path that kept me in an office after the first year. I just stayed around until I had the skills I wanted and then went out on my own.

I worked in the industry for over 10 years and I have a PhD in Computer Science. In my last job I felt miserable from Day 1. I had reached a point where coding brought me no joy. In all of my job, at the end of the day, I was serving ads to users. I was also an average developer and part of that is because I never found the motivation to keep improving. I was only so much interested in getting things done and never interested in going deep and figuring out how it’s getting done at lower level.

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.


Wow what a career change! Congrats and thank you for sharing your story!

Thanks!

Did you have to do any training for that? I’ve been contemplating leaving tech and have always been interesting in your area.

I am avid movie buff. For training, I would highly recommend reading Story by Robert McKee and look up information on how to do script coverage. There are plenty of information on that. I am happy to answer in more detail through email. saby83 at gmail

LEAVE the tech industry? Are you crazy? Who else is going to pay me this much money for this little work? And in this economy, I'm happy to have a stable job I can do from home...

Academia is just so much more relaxed for the employee. Especially in Europe.

Open offices and the extreme micromanagement known as "agile".

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.


May I ask what the specialized role is? Management? Sales Engineer? Business analyst? Data science?

I did independent consulting for a while and currently back with a larger company in a roving architect/advisor role so it is similar to consulting. It is nice in that I get to work with all the engineering teams but I greatly miss owning a product and doing hands-on development.

Huh. I guess the grass is always greener on the other side. Consulting looks like the holy grail when you're stuck doing staff enhancement freelance work.

I'm half way out the door. Several very bad managers. Pointless and often boring work. A shift in the tech community from iconoclastic but brilliant people to ideological conformism.

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'm trying to leave, but I'm having a hard time finding a replacement. People that have left, did you know what you were going to do next before you left? My partner suggested a career counselor of some sort, but that feels strange to me for some reason. I'm in my mid-thirties and I side income that takes care of my families living expenses along with savings for a few years as well.

I want to make software development so simple that cost of entering the software industry and competing with current companies (except infrastructure) will be close to nothing.

I really want that normal people would be building functions on their computers which today are startups.

If everyone is super, no one is.


People already do this in Excel.

After I sold my company to FAANG, I moved back to my hometown and bought a house. Don't plan on ever going back.

7 years in the industry here. Did not quit get but looking for a way out. My experience in the industry (France) is that I never met a company that seemed to know what they were doing. I feel like there is this whole industry of mediocre skills building software badly again and again and again. Same mistakes same "great ideas", same maturity as High schoolers. I mean I've worked with aircraft engineer, the difference in maturity and skill is astounding.

Well my case is biased of course by my limites experience but that experience really bums me out.


Worked as a Frontend engineer. Now a hotel owner.

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.


How much money did you need to start your business ?

It depends on how big/small/location.

I invested roughly $600k. Typically, if you buy in rural or small cities, you get a 25-30% YOY return.


I've worked in tech for about 25 years now. I dropped out of college and into the first dot-com boom. I dearly wish I hadn't these days, as I've never completed my degree. But, it's part of my story.

I joined an aging software company first, not a shiny dot-com. I learned a great deal here. I was 19 when I started. The place was staffed with amazing engineers and some of the worst management I've ever encountered. I was pretty unsure of my path at this point and was willing to do anything they asked of me. So when I showed a little aptitude for system administration and fixed several glaring issues, they asked me to join that team. My joining made it a team of two. Over the course of the next week management determined that I was a better fit for the job. They asked me if I could do it solo. I wasn't sure but they seemed ok with it. Everyone in the office knew, including me, that the guy I was slated to replace had cancer. At a small company, everyone knew everything. The guy was literally family. Like many there, he had several other family members on staff. They fired him. While he had cancer. He lost his insurance. When I questioned this, I was told: "that sounds like his problem".

I left that job and moved on because I was rather disillusioned. I went looking for a job that was "fun" -- and ended up in the music industry. I immediately found solace for my low point in the form of drugs, booze, etc. I lived like a rock star for a couple of years, and my employers were more than happy to let me. It was the music industry, and it was flush with cash -- just before Napster! These were mind-boggling decisions at every level here, all of them motivated by greed, all of them tainted by cocaine. It was rough. Eventually, the drugs and booze caught up with me. I took some time to dry out before going back.

My thought process at the time was "ok, lets make some fast money and get out of this field", so I took a job on Wall Street. In hindsight, incredibly foolish. My drug problems returned, my work suffered, I moved on.

I spent the next several years doing private consulting work. I made more money than I ever had, but it always felt tainted somehow. The disillusionment of my earlier years was hard to shake. All these years later, I still haven't shaken it.

I've had many jobs at this point. There are several common threads running through them:

- First, profit above all else. The human toll is meaningless. - Second, and highly related to the first, are compromised ethics. I don't think I've ever worked for good people. - Third, incompetence is the rule. I've worked with "senior software engineers" who couldn't use an editor. Who didn't know how to use variables -- and not some weird syntax issue. I'm talking "thousands of files duplicated with hardcoded values where variables should be" - Fourth, generally no consequences for bad actions. Ignore user security? "Not really our problem". Not meeting SLAs because management refused to properly staff/equip your project? End up the scapegoat because "we weren't aware". You SIGNED THE CONTRACT. Didn't you read it?

My most recent job was focused on correcting my personal physical health issues. Spending a long time behind a desk made me sedentary. I took a job doing datacenter operations work: racking, stacking, running cable, etc. Loads of fun, and for the fist time in ages I actually liked my day-to-day coworkers. Our clients were trashy though: spammers mostly, porn sites, and so on. As a customer of a huge datacenter, the business was deemed "essential", when clearly it was not. But that didn't matter to the company! They are more than happy to sacrifice their employees to COVID-19. Gotta protect those profits! I left at the end of March. I've subsequently learned that people have died. Because they show up when they have no other choice. Can't lose those benefits!

So that's my story. Neat, isn't it? It's a fair critique to say I've made bad decisions. I most certainly have, and I gotta own that. But at every step of the way, there's been a corporate vulture ready to pick the meat off my bones. I have so many regrets -- the biggest being my naive optimism where I take people at their word. A huge mistake that I constantly regret.

For these reasons, I plan to leave, or... I have already? But not leave tech. I do enjoy the work. I don't enjoy "the rest". One thing I've learned though, across all the industries I've worked in is this:

The problem isn't "tech". The problem is the culture of the United State of America. A "me first" culture. A culture that promotes races to the bottom at every level. A culture that glorifies ignorance. A culture that is based on lies, near as I can tell. But who can really tell anymore? What is truth these days, other than an anachronistic notion shared by the naive?

So I am leaving the United States if this pandemic ever ends. Because our culture is abhorrent. I won't support it any longer.

Oh, and why do I keep coming to HN? It's like driving past a traffic accident. I can't help but look at the destruction man creates. It reminds me of how NOT to be. How NOT to exist in this world. I hope, with any comment I leave, and I'll be honest I'm all on throwaways like this one, I hope that if I can change one person's mind in this field it will have a positive impact somewhere. Even if it's just one person that decides "hmm, maybe profit above people isn't the best idea" ... well, I'll take it as a win.


I sometimes want to leave the industry because I can't seem to find a job dealing with interesting problems. I enjoy Rust and C, working with OS and machine details, but there don't seem to be any such jobs that pay as well as busting out features for a SAAS web app in a dynamic language. And it consistently blows my mind how everyone else seems to be so enthralled with "providing a positive customer experience," i.e. making as much profit as possible with whatever product necessary. I've felt like the only cynic at my last several companies, and feel guilty for not being able to give more of a shit.

I'm somewhat surprised you were able to snag this username! Aside from the pop star, it reminded me of Britney Spears' Guide to Semiconductor Physics[0], which was super helpful back when I was in college. Any connection?

[0] http://britneyspears.ac/lasers.htm


No connection. I just made this account last week. I've been around here for a while, but my old account is my real name, and I'm not so sure that's a great idea always. If I ever post some super serious "Show HN" type stuff, I'll probably use that, and save this one for regular internet arguments.

Since the account has since been renamed, I detached this subthread from https://news.ycombinator.com/item?id=22877193.

I'm in it as a self-taught engineer mostly for the easy money, but honestly I am finding that I don't really thrive any more. I managed to get myself into this industry and four years later I'm a senior software engineer making decent buck. However, it really isn't satisfying at all. I feel like I'm only in it because this is the easiest six figure job in the world and I'm just in it for the health insurance.

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.


I am ready to leave.

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?


It sounds like you have an awful boss or lead.

So much of our mental state in programming has nothing to do with the code or our work and so much to do with the people we work with. I think regardless of whether you stay or leave the industry, you've gotta leave any jobs where the people are that toxic.


He is a bit of a nightmare work wise. Aside from work he is actually a fun person, but he has built most of the monstrosity and takes any suggestion for improvement way too personally. Its a shame as I like the people, but not the work.

"How to avoid deadlocks in Java"

I'm curious, this is not something I've needed to know, but what would be Java specific to an answer?

If I was asked about deadlocks, I would say "always acquire resources in the same order".


It was a Java job. They said that it didn't matter that I do Python most of the time, and as I say threading isn't something that has come up since university for me.

I imagine it would take half a day or reading to remember it again.


> If I was asked about deadlocks, I would say "always acquire resources in the same order".

I don't think that's the correct solution, unfortunately - see e.g. the dining philosophers problem.

Edit: or rather, you have to be very careful what the "order" of resources is.


I will tell you when I can get back in. I quit my job in January before the economy crashed. Took a month sabbatical which is looking like it will an indefinite sabbatical.

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.


I have 10 years experience, no degree, and yeah, submitting my resume online seems like throwing it into a black hole. And I have always been one of the top performers at my previous jobs. I did get about 20-25% interviews though, so I guess I just need to apply to a large number of jobs and I'll eventually get through.

At 25, I quit my job at Google to join a Bay Area mayor's office (~$30K pay cut). My new job is intellectually stimulating, fast, and challenging in ways that tech was not. I get to work with every type of person from firefighters to economic development specialists. I love spending 100% of my time on public interest projects and was never inspired by large corporate motives. I have nothing against tech, but I'm so much happier in government.

I left and came back, and honestly it was a 100% financially motivated. Everything else that interests me requires basically being in poverty. I enjoy coding, but i enjoyed working with people in the non profit space more. I have this fantasy that I’ll find a way to merge the two worlds but so far i haven’t been able to do so. On a positive note, I have made so many more friends working in tech than at basically any time in my life. I gave mostly loved the people I’ve gotten to work with in the industry

We opened a hostel ( https://www.hostelofmaine.com/ ). No regrets. I have always intended to get back into tech in some capacity, and just identifying how that will work and when is the best time is the trick. Still follow HN because some of the content is really good, and keeping an eye on tech's big picture changes is important to me.

Worked in IT for a dozen years doing network administration. I felt alone and irreplaceable. The job was nice enough to afford me time to study nursing for a career change. I hired my replacement as I started school assuming quick termination. As luck would have it, they gave me a raise when I went part-time and I no longer had to do any projects I didn't care for.

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!


I just left. I was an iOS dev for years, and ran my own (failed) startup before that, but now I work in politics. My friend ran for parliament, I was his campaign manager. He won a seat in the election, and he asked me to leave my job to come and work as his parliamentary assistant, and I said yes. Politics and software aren’t so different - they’re certainly both messy behind the scenes. I miss cranking out code and being in the zone, but like others I don’t miss the Taylorisation and faddishness of the sector. I took a big pay cut with my new job, but I don’t regret it. I’m still on HN because after a day of reading about politics and policy it’s nice to read people arguing about different things!

I think I might be out of the tech industry. I'm 55+ and had a really nice embedded gig that ended in November because the startup ran out of funding. They held out hope that they could get more funding and promised that they'd hire me back right away when they did. So didn't look around much because I liked working for them and I hate the modern interviewing process. Now with covid-19 I don't think it's likely they'll get funding. And I'm just done with the whole arduous tech interviewing process at this point. If someone comes along and offers me a gig without having to go through the arduous interview process (it's happened, that last gig was like that) I'll take it. But otherwise I think I'm done.

The right answer should be: I've build capital and started my own business.

I couldn't handle the isolation. My first job had me working in a basement pretty much by myself for 12 hours straight. In retrospect the job really wasn't so bad but I was there for four years and never really got used the lack of socialization. I'm now in a wet lab that, while still in a basement, has me on a standard 8 hour schedule and working with people semi-regularly. My long term plan is to pivot into healthcare because I have found that I really enjoy working with patients and take a lot of satisfaction from teaching people about their bodies/conditions.

I have always loved computers. I'm a millennial, and a child of the internet. I remember with fondness the day my parents upgraded to DSL in the early 2000s and what effect that had on me. Raw excitement like little I'd felt before.

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.


> I remember with fondness the day my parents upgraded to DSL in the early 2000s and what effect that had on me.

You would have loved 2400 baud after using a 300 baud modem.

> Turns out, while I love programming, I hate JS and the world that node has given us.

Thank you for this. I have long suspected that this crud is bad enough to actually drive people away, right out of programming.


I am going to pursue farming. im tired of having to deal with something breaking at any point in time due to the pile after of complexities built on top of hardware, which is also built on top of more complexities. I am just tired at this point.

Isn’t stuff always breaking for farmer?

if its large scale mechanized farming yes. since tractor companies are removing your right to repair. but that doesnt stop farmers from being ingenious.

I'm kind of shocked at the amount of people here saying something like "all of tech is just finding ways to get people to click more ads". I mean yes, that's a part of our industry, and because of the dominance of Google and Facebook it's a pretty big part.

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.


Been in tech (hardware) for about 8 years now. I've been close to leaving several times due to all of the reasons listed in this thread. Unfortunatly I'm still here. The right opportunity hasnt presented itself yet - so I will keep searching/waiting. Its inspiring to read that people have managed to get out and do interesting things after - thanks for sharing your stories!

I got old and retired.

I've been programming since I was 9, and I love and continue to love programming as a hobby, but the industry itself is a whole lot different than programming as a hobby. I haven't left but I've been considering it. My reasons for wanting to leave are:

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)


I'm an asshole with bi-polar disorder. Despite 25 years of therapy, drugs, and everything else you can imagine, I've never been able to get control of my emotions.

Earlier this year I was fired from my 20th job in 22 years, and said enough was enough. I sold my meager 401k, deleted all of my social media accounts, said some goodbyes, and left.

The work sucked anyways. When you're crazy, you cannot really learn or improve, the best you can do is find an angle. My angle was to find start-ups which weren't going out of business, but had failed to launch. I could usually talk my way into being hired and keep my temper under control for 8-12 months before the stress / depression got the better of me and I got fired.

When Garry Tan said "Don't hire assholes", he might have actually been speaking about me directly, I pissed him off once or twice.

Now I'm quarantined at a Hostel in Croatia where I work in exchanger for room and board. This is what I'll do until I die in a few years.


How do you find an interesting career to pursue outside of the tech industry?

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?


Try many different things. Or think what excited you when you were young.

I am about to quit tech (being a programmer) in a couple of weeks. I mostly tell myself it's due to improved mental health.

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.


How did you make the switch to Systems Programming? How did you train yourself and what technology stack I (perhaps mistakenly) would think between the front-end, back-end and devops jobs, Systems programmers are a dying breed.

I'm so glad that this thread, although meant to be something else, uncovers all the wrongs in the tech industry from meaningless tech interviews to shitty stand up meetings. Thanks to probably the best people with the best life philosophy!

Legal | privacy