I've been in all kinds of jobs, from start-ups to massive corporate companies. I'm forever building my own side projects as I love it, as well as love the idea of making my own living but as you all know, side hustles don't make money over night.
I'm currently in a great job. By great job I mean, the money is really good, there's room to grow and the opportunities are endless... Yet I can't bare it. I can't bare the devs that go out of their way to work weekends without being asked, I can't bare the endless meetings, constant micromanagement, bringing the stress home to my family.
I don't know where or who to turn to. Can anyone relate?
When it comes time to negotiate, negotiate HARD. And not just for money, but especially time. Ask for so much that you think they will laugh or be scared away. If they say no, you lose nothing. Eventually the right opportunity will appear. I didn't think anyone would say yes to a 4-day work week, but I kept asking. Eventually someone said yes.
The one worry I am having these days is how long this strategy will remain viable. As SaaS and low/no code solutions proliferate, it makes little sense for non-tech companies to build when they can buy. This is especially true as engineer compensation continues to rise. Engineers who congregate at SaaS companies can build better products than a handful out on their own who are building a solution for just one company. Increasingly, the only engineers that non-tech companies need are people to manage their data, people to glue the SaaS APIs together, and maybe some frontend people to put a custom interface on it.
Also, there are definitely better and worse companies. I'm currently in the best job of my life (well paying, fully remote, very little meetings, no micromanagement, using interesting and cutting edge technology), but it took me 15 years to get there. The catch is that such companies don't have to hire that often (because people don't tend to leave them), so most openings at the market in any given moment are from shit companies where average tenure is 18-24 months and half of the staff has low-grade depression. The job market is essentially a market for lemons, unfortunately.
My personal hypothesis is that we’re increasingly being treated like assembly line workers. We’re not paid to think but to implement the poorly thought out hare brained schemes from the higher ups who have no clue about programming. This externalizes all the cost of poor quality software onto the developers (unmaintainable code, constant outages…) while reaping the short term benefits for themselves (promotions, raises).
Programming is one small aspect of software development. It's an absolutely essential part, and it's the part you probably enjoy the most.
But despite being an essential core part, it's also a part which only occupies maybe 20% of your time.
Some software developers declare that to be a problem, and fight tooth and nail to change their company culture with the idea that if they were just left to program for most of their time they'd be better software developers.
That's actually the wrong conclusion, and a very self-limiting approach.
You aren't employed to just program. You're employed to develop software, and that other 80% is actually where you can make a huge difference to your company and add value over your fellow software developers.
If you start taking pride in the state updates, the endless meetings and approach that part of your work with the same pride you would approach coding then you may find some of the stress disappears as instead of always fighting the system you flourish within it.
For example you might look down upon a programmer who seemingly never takes pride in writing good code, just copy-pasting from stackoverflow with the minimum of understanding, just hacking away until something compiles.
If that's the energy you bring to these "endless meetings" then you risk that being how the rest of the business sees you from outside the software department.
Unpaid overtime and working weekends isn't really a thing in my culture, so I can't relate there. That legitimately sounds frustrating, but be sure to set your own boundaries and stick to them.
One approach to dealing with what you see as problematic behaviour from colleagues is instead of getting frustrated with them, consider what effect it has on you. If you're not actually badly affected by their overworking then try to relax and recognise they have a problem, but that it's their problem, not yours.
I've been a coder, manager, director, CTO and one thing I have learned the hard way is "You are responsible for your own happiness".
Yes this industry is full of fakes and scoundrels and clueless biz people but don't let them steal the joy you have in creating software
I’m going through it again now, and honestly am pretty miserable. It has a large negative impact on the rest of my life and my mental health. When I was younger it was manageable, but the fact you have to do this even mid or late career every few years is insane to me.
Wish I had gone into literally any other career now, despite it being my passion early on in life.
Programming is a tool. Computers are tools. You're not getting paid to program. You're getting paid to solve some problem for your employer by programming.
So I can related. I think we all can. But all that other stuff that you hate doing is really what you're getting paid for. Some jobs will have a lot of it. Ohters will have less. But you'll never get away from it except for possibly the most junior jobs where you're literally given tasks to complete by other engineers.
For me, I enjoy understanding and improving systems. YMMV.
Perhaps you'd enjoy something lower-level more? Fixing Linux kernel bugs is by its nature going to be more technical than, say, developing an ad revenue and reporting system. But even more technical projects will get large enough that you have to deal with other people.
Neither. He loved computers, loved programming, but when he took the classes and imagined the jobs, he found it revolting. So he switched majors, and software became his hobby instead.
He seemed very happy with the decision.
I've been developing professionally for almost 30 years. I still love making software and I'm good at it.
When I started in this industry, being able to do it at all was the barrier to entry. The processes were light; "here's what we need it to do, go figure it out." Responsibility (and impact) were both high.
Somewhere along the line that changed. Teams blew up to be dozens of people. Process fads weighed things down with tons of meetings, silly ceremonies and other things that actively slow down productive developers.
Add to the mix the hell that is tech interviewing now. If you're interviewing for anyone that will pay well, you're going to be subjected to "leetcode" style puzzles under pressure and stress scrutiny. If that's not how you best think and solve problems, tough!
So yeah...I can absolutely relate. I still love building software and I hate the industry.
The only escape is entrepreneurship or possibly consulting, both of which I am actively looking to do.
We often worked overtime so we could write the code we were assigned to write. We couldn't do that during office hours because office hours were for meetings, answering email, and fixing bugs in the crappy code we pushed out last week. Because last week's code was counted as "done," fixing it didn't count as "progress." We weren't getting anywhere unless we produced something new, and that only happened after hours.
A few years ago, I started working at a university in the US, where things move much more slowly. I started having the time to properly architect software, to rewrite chunks of code when necessary, and to write much more thorough tests so I'd have fewer surprises when we got to production. The saner pace and the ability to be thorough made the work enjoyable again.
The academic world in general tends to move more slowly and cautiously than the start-up world, and that academic mindset creeps into even the non-academic parts of the university. The go-slow-and-be-right attitude is good for designing and building complex systems.
That said, universities are a mixed bag. Get into the wrong department, and you might find yourself maintaining crappy software that no for-profit enterprise would ever run. You might find yourself in even more meetings, with more politics, about things that matter even less.
But if you manage to find a decent project with a decent manager, the university can give you back your work-life balance, along with some of your sanity. You'll even find a little extra energy to put into your side projects, because the job hasn't wrung you dry.
Sometimes I want to say fuck it all and program enterprise systems in gambas or love2d, cause that seems to be much more adequate choice of a platform.
Have you considered just changing jobs? Not all places work weekend/have tons of meetings/micromanage. Maybe take time to assess what you like and dislike about your job and try to find a less stressful environment that fits your expectations.
This is especially easy if you have some experience in the industry. As for:
> bringing the stress home to my family.
You can work on yourself to help with this. As my girlfriend puts it "at the end of the day it's just a bunch of computers, no-one is dying". You can still have a sense of ownership while understanding that everything is not actually urgent or important.
In the last 10 days I made more progress than 10 years combined before.
Why? Because I realized that the problem is inside of my mind. What is causing me to not finish/doubt my own projects?
There are many reasons, each unique to each persons's mind.
One must brutaly focus in on the specific reasons and resolve them.
The solution that is working for me: sit in front of PC, close my eyes, focus on the problem.
I am NOT talking about regular meditation. You have people who mediate hours for their entire life and get nowhere.
What DOES work is to bring and hold the problem in your mind and just let it "hover" there. Eventualy you will start getting random thoughts/ideas which will show you details about this thing and your reactions to it that you have never seen before.
Note that this can take anywhere from 5 to 30 minutes. But very often I get many insights in a single 30 minutes session, many more than just one. But it's a bit random.
Basicaly it has to be active meditation.
I hold the problem in my mind and after 5, 15, 30...minuts solutions start popping in.
Listening to Jiddu Krishnamurti is what "pushed me over the edge" to realize that sitting down alone in a quite room and examine your mind is the only way forward.
Your problems will be specific to you.
In short, you need to figure out what is preventing you from monetizing and finishing your side projects.
This thing that is preventing you is in your mind.
You are uncertain. Uncertanty creates a "choice" in your mind.
You will then pick A over B, but because the uncertanty will still be there you will forever cycle between A and B, never commiting to each.
Address the source of the uncertanty. When you do that, the choice will dissapear and never bother you again.
The problem with this advice is that I cannot give you specific advice since you will have to figure out what is causing resistance in your mind against monetizing/commiting to your side projects.
I survive by trying to get the highest pay possible, giving just over the minimum so as not to appear lazy, and playing musical (job) chairs until I find a company with good/bad tradeoffs that don't irk me.
If it didn't pay "retire-early" money, I would be doing something else.
Now that I'm a more senior developer I try to go out of my way to make these good examples. Not just in how I code and how I review their code, but in how handle my work life balance.
I always make sure I take my holiday throughout the year, so they realize that taking two weeks off is fine.
While I start work early in the morning, I always finish early as well. Showing them that they don't need to work crazy hours, and also giving some of those with less confidence implied permission to leave for the day.
While I'm not their line manager, and so can't stop others from trying to micromanage them, I have certainly interrupted people trying to do so and picked apart their attempts (micromanagers very rarely understand the full repercussions of what they're telling someone to do).
I have no answer. Maybe my situation isn't even the same as OPs, since I tend to overwork myself, get disillusioned by feeling that others are not pulling their weight, and then I get burnt out and it sounds like OP is in a situation where they are surrounded by jerks like me. But I can relate to the struggle of work stress, and trying to prevent it from spilling over into personal life.
I work at a science institution that sits between NASA and the .edu sphere of influence. While we also have our own frustrations, it's generally wonderful and I'm a cog in a machine that is enriching the human experience. Are we a little behind on all the spiffy trends? Yep, but we're also not under constant pressure to adopt/adapt to spiffy trends. Do we make a little less than market? Yep, but it's still plenty and the benefits, including retirement and vacation, are amazing.
Of course startups are going to grind you down - you're tasked with rapidly deploying and optimizing someone's business baby and they're on the hook for copious, tenuous funding. Check out USAJobs or similar and find something with a human pace and good benefits.
If you care about your craft, spend time learning and cultivating your skills and want to do the right thing, once you try to put things into practice you'll find a bunch of people along the way that hate programming and don't care about quality.
You will also find people that will try hard to game the system to inflate their productivity metrics at the expense of ruining long term collective productivity by incurring massive tech debt. They make the coding experience draining.
You'll know who they are when you try to talk with them about technology and they'll start avoiding you and cluster around people that talk about sports, cars, travel, wine or some other thing that has nothing to do with tech.
If all those people suddenly decided to go do something else the industry would be so much better.
People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines."""
Zed Shaw. Advice from an Old Programmer. Final chapter of "Learn Python the Hard Way"
Artificial numbers. Grand sounding words like spike, velocity, scrum, bandwidth etc which don’t mean anything to anyone, other than middle management. Using 10 different fancy tools/products when a 100 line script would do the same thing. Endless meetings (I can’t get a 4 hour block to concentrate on a task). These are the things that suck the joy out of actually creating something, to help users do their jobs better.
Above all else, dudes (mostly dudes) that work 14 hour days without being asked, without being requested. I remember doing that myself as a young man. Now that I am old and a bit less stupid, I can see how this is the most negative thing in a team.
I don’t know what the solution is. Maybe freelancing? I dunno, it has its own problems. Maybe ask in interviews how much time is spent on meetings, before accepting an offer? That might not work either, interviewers aren’t obligated to be honest.
I also feel like I’m daring them to fire me given I literally cannot be reached outside 9-5. They don’t even have my correct phone number on file. And I have to bite my tongue when thinking about some coworkers who basically work for less money given they put in 60+ hours.
It’s weird. I believe, almost romantically, in my current company. They’re the real deal. But I’m still so sour and jaded because of my last company.
Like any other industry, there are good employers and bad employers; there are comfortable working environments and stressful ones; there are good teams and bad teams. If anything, compared with every other industry that I've experience in or friends working in, software generally seems to be way better in almost every aspect.
YMMV, but I suspect your question might be more "would anyone prefer to work on their own ideas rather than someone else's" which… yeah, I think most people would.
I've found companies that tend to focus on lower level products (compilers, graphics, systems programming, etc) tend to have a much better chance of letting engineers do what they do best and staying out of the way. In some sense the work I do kind of chose me, because that's where I've gravitated.
I used to be lead dev and CTO of startups, and now I do part-time IT work for a law firm and spend the rest of my time working on my own projects, which are code and music and writing and some inventing and puttering. It's nerve-wracking because I make jack shit and my wife and I live in poverty in England, where my Yankee paycheck doesn't go very far.
But when I apply for better gigs and get hit with the code quizzes and the "culture fit" nonsense and the bullshit, I just can't, man. I'm 44 years old, I don't care about having a free IPA fridge in the office and SCRUM and sprints and learning an entirely new framework du jour every six weeks and all that shit. I work for money, period. The stuff I really care about (like climate issues), nobody is gonna hire me to do. And I've spent enough time trying to turn my own projects into actual businesses that I know I'd rather gnaw my own arm off than have to put up with another meeting with some VC asshole where they want to gut everything that's interesting about my ideas and shoehorn in NFTs or some other stupid goddamn thing.
You gotta decide whether you value freedom or financial stability. Some people find both, but I think it's rare. Most people just decide what they can live with. Me, I'm still trying to figure it out as the first gray shows up in my beard.
Vaya con Dios, man. I don't have any answers for you, but at least know you're not alone.
We call it "Write the Right Code", and I'll shamelessly drop the post since I'm curious if this is the same pain you feel. https://cosmonic.com/blog/write_the_right_code/.
Maybe software engineering can be better if more people speak up to the culture that many engineers just get used to.
Find a better company to work for.
Then alea iacta est, you have thrown your dice, and must destroy it before it destroys you. You must "take back tech", by building and working against all that you see around you. Welcome to the exhilarating challenge of being a real hacker and entrepreneur.
Wait... You love programming but you can't stand those that code during the week-ends?
Corporate America doesn't believe in multi-month sabbaticals. But we're several years into a minor apocalypse and almost everyone is burnt out. Something will likely have to give. It will probably be us the laborers that break first because Corporate America says they care about labor but aren't incentivized/regulated to actually care., Smart companies should be thinking about sabbatical culture if they want to survive that because if they don't plan for it they are just as likely that a lot of their laborers break at the same time. I don't know if there are any smart companies left in America.
https://www.lloydatkinson.net/posts/2022/my-thoughts-on-what...
https://www.lloydatkinson.net/posts/2022/one-teams-eight-poi...
I would love the good old days back too. I think now it's only vestiges left in some niche shops. Definitely not faang of course, small shops and that doesn't mean startups. Problem is those kinds of solid productive non-parasite business model, staff treated like humans shops nowadays just get sold by the retiring owner to one of the suck holes.
Maybe it will come back around after a while, after enough people suffer long enough for some of them to become the new bosses here & there and try to run their shops with at least a little dignity.
And if you are sucked into the drama, you’re billing $250/hr for it!
But what I find worst is that the job will probably never get along with my own ideals or principles. I often have to solve problems at work in a way that I myself don't agree with. But it's not about what I want or think, but what the team and the employer wants. That's what annoys me the most.
Now I am keenly aware that there are plenty of workplaces where this isn't the case. Where employees get their life force sucked out by perpetually unreasonable deadlines, expectations of long hours, etc. I've been in those situations. They're miserable. You say you're in a great job. But then you go on to describe something pretty unpleasant. My recommendation would be to engage in a job search for a better environment while you're securely employed at this place. Take your time. Don't be in a rush. You might want to consider branching out to a completely different segment of the industry. Some domains in the software world (things like games and finance are the big ones that come to mind) have a well known reputation for demanding long hours and sucking the life out of you. You should probably make a conscious effort to avoid those. When you're interviewing, ask questions specifically with the goal of figuring out what kind of a culture they have. Use indirect questions that don't make it obvious what kind of answers you're looking for. It's a sellers' market right now. Good engineers are hard to find. It's a good time to be looking.
You might also want to filter the places you interview according to the type of atmosphere you're looking for. I've been in fun healthy workplaces that were pretty high pressure. This could be because it's a small startup company with limited runway that has to deliver or die. This could also be because you're doing things that are inherently high consequence such as, say, a space shuttle launch or ER doctor (to use a non-software example). I've also been in fun healthy workplaces that were pretty low pressure. Research-y work is ofter like this in my experience and it can be at both large and small companies.
There are people who love their jobs and have healthy work environments in both high pressure and low pressure workplaces. So I'd recommend thinking carefully about what kind of an environment you're looking for before you start interviewing and use those characteristics to choose where you're going to look.
My issue with the industry is dealing with sensitive people who get upset at everything. I don't know what it is about tech that attracts such people even though programming was supposed to be fun.
Unfortunately, the best thing to do is to not work at tech companies and use your skills to serve the non-tech industry. For example, I enjoyed working as a contractor in the medical industry because building things to help nurses and doctors work more efficiently is way more fun than building useless apps to steal people's money.
I left my job and now I work as a teacher. I doesn't pay well, it is much more work, I had to leave the city I was living in but I now feel I'm not doing anything I think is unethical and I have much more autonomy to decide what I do.
The whole definition of a job is "Series of unpleasant tasks that regardless needs doing, and therefore come with a monetary compensation".
Been programming since 1983.
I spent most of my career at one company (just shy of 27 years). When I interviewed for that company (in 1990), the industry was still a fairly "fun" place. We were sought-after, as coders, and the boundaries of everything were still fairly "fuzzy."
You could still have a good grasp of almost every type of coding, back then, as the field was still fairly small.
The Web had not yet become a "thing," and the money was still in the products software supported, as opposed to the software, itself (My job was writing device drivers and APIs for expensive image capture devices).
When I left that company, in 2017, the industry had changed -drastically.
For one thing, I was treated quite shabbily, simply because of my age. That was unexpected. I was used to being around engineers and scientists, much older than I was, and learning from them (and fighting with them). Age wasn't ever an issue. Most of the older folks I worked with were an immensely positive influence.
For another, vast amounts of money had poured in, and the place was a shark tank. I won't go into particulars, but it is ... darwinian ... these days. We have an environment, where no one plans to be around, to actually support the software they write, so there is little incentive to do good, long-lasting, maintainable, work.
TL;DR, coding was fun. It no longer is, if you are trying to make a living from it.
I was basically forced into retirement. I didn't want to, but it was made quite clear; quite quickly, that I am no longer welcome in the industry.
So I took my toys, and went home. I set up a small corporation to buy my toys, and found people that needed software, wanted to do good, and couldn't afford to pay for it.
I've been "working" harder than ever, and absolutely loving it. After I got over my butthurt, I realized that it was actually for the best.
I really do pity people that are starting out, now. The industry is a fairly dark, savage, place, these days. When I started, it was still very much a playland.
Now my customers are mostly smallish till medium sized companies who need help to update their tech stack gradually. Which usually means inventing a lot of clue system and integration with working processes. It's tinkering. I work between two and five hours a day from home and have one meeting a week.
there are companies where this part is not true. We have one daily meeting. Engineers have < 3 other meetings the rest of the week. It's usually zero outside of the daily.
The daily standup is more a way to stay "real people" to each other instead of a picture in slack. We could easily do the standup async, but talking to each other each day is good for keeping solid relationships.
Working in a field where people can get frustrated very easily is though. Specially if you are in the receiving end.
I worked with a lot of nice colleagues that makes the job more enjoyable, try to focus on that and ignore all the negativity that come from the loud ones.
Try to grow with the pain to the point it goes away, for example, for me it was soul crushing discussing something infrastructure related and having someone who doesn't know much about it suggesting serverless, using low effort arguments, instead of paying attention to the subject of the discussion. After some time I realized that people can be jerk for the sake of it and in the corporate world you are gonna find many of these. So for me what worked is to think that people are passionate about different things and it's your job to keep yours alive and ignore people who likes to create havoc.
Then do your job and when is time to go, simply go. I know it sucks to have a pile of code to review because people without social life are working during the weekend, but you will have to establish some boundaries to protect your time.
Massive corporations are usually very risk-averse, and you end up just mostly being a ticket-monkey. The problems you're tending to solve are mostly pretty boring - unless you're a rock-star and they've hired you to do cutting edge R&D (and in this case, can be the coolest and most rewarding gig out there).
But at startups, there's always a shit ton of interesting problems to solve (usually too many by too few people - depending on the stage). This frees me up to be creative, and also to pick and choose my priorities.
As far as your specific complaints: - 'I can't bare (sic) the devs that go out of their way to work weekends without being asked'; IMO this depends on personal disposition, and also team culture, and sadly, it's hard to find a place to work where they don't try to force people to burn out one way or another. This does kind of suck when you've got team members that do this and kind of fuck things up for everyone else.
- 'I can't bare (sic) the endless meetings, constant micromanagement'; Again, this is mostly team culture, and how teams are organized, and there are ways to fix this, but in my 25+ years of experience, once an organization heads down this path, it's very difficult to fix. It's the route to becoming ineffective as a group, and it is soul-crushing to be a part of this. I'd encourage anyone in this situation to get out of it ASAP. Complaining will never ever fix it. Micromanagement, of course, is 100% just incompetent managers. Which is also difficult to fix.
- 'bringing the stress home to my family'; I think this is more of a personality issue with the individual. 10 years of therapy, and I wasn't able to make headway on this. Some jobs were absolutely worse than others. Personally, when I've had management who goes out of their way to compliment my work verbally, this goes a long way to relieving my anxiety and stress. It's very helpful and costs the company next to nothing. But at the end of the day, even those companies, I've had to deal with either company failure or layoffs (which is a form of company failure), and that just validates why I'm stressed. So it comes down to how you deal with that stress, and the only way I can see it is to be independently wealthy so you don't need to work in the first place. That's just my internal rationalization though.
The problem is I think scrum to many people involved, to many people want to say, (not knowing the engine), good software usually has good dictators leading it positively without needs for scrum (or minimal).
Good coder (i noticed) usually are intelligent people to have nice conversations with, will write elegant code, and love to share their ideas, as if it were readable books you would like to talk about.
The poor coders are extreme focused on "their" code knowing it all and there is no argue about it, they feel talking about code is a waste of time, see sorry about their faults and laugh about others people misstakes. Above all they protect their position in the company, (it might be better if they changed jobs) but on every company we have those people, not open to ideas, new aprouches new solutions.. you just dont fit in they say...
If the WHOLE scrum process takes a coder more than hour a day, its gone wrong IMO (and yes most often this goes wrong because their so "experienced", while you've seen way more companies failing just like them)
Very few passions survive contact with the industrialized version of their craft.
I got lucky and found a dream employer recently. What makes an employer great is their culture and willingness to cultivate and retain people. Culture is defined by the quality of people you work with.
> Yet I can't bare it. I can't bare the devs that go out of their way to work weekends without being asked
If something is truly a passion you will do it more than asked. For some people they have time to fill and instead of throwing that time away they fill the time with something they enjoy.
I guess the obvious one analogy is people may love writing, but hate writing dry reports for bureaucracy of a company.
The size of the team, the bureaucracy, and the pointlessness of many projects sucks the soul out of many artists.
Admittedly that case is a longshot. But there are other things you can do. Let's brainstorm for a bit and think about it. It can be solved.
I also hate this industry. There is a path for us, we just have to find it.
>I can't bare the endless meetings, constant micromanagement
This _can_ be fixed. Even if by switching team or even jobs. With some experience you start to understand in what teams and under what management you work best. A lot of us hate micromanagement. And I can tell you there are a lot of teams without this problem. I would say that micromanagement is the least common problem from what you mentioned here. Simply because it usually leads to overall inefficiency. Also this one you can actually fix by talking with your manager. Maybe they just don't trust you or overprotect you. Nobody wants to do your job ;).
Endless meetings are harder to fix. If your level is high enough you can try to fight it. But usually it is easier to just switch the team and even your work area. Do something lower level, further from API. Even in the worst business-centered jobs there are places where they need to you solve technical problems. Simply because meetings won't solve those technical problems ;).
> I can't bare the devs that go out of their way to work weekends without being asked
this one is on you. It shouldn't affect you personally, unless they ping you on the weekend for 'quick lgtm'. I understand it can be annoying, especially when they advertise such work as something heroic. You either need to stop caring about that or try to explain to your manager that promoting such behaviour in the team demotivates others. Actually I once was one of those 'work during weekend' guys. I had my reasons. After complains from my friends in the team, I simply stopped announcing any such work, so unless anyone specifically wanted to check commit time, they were completely unaware if I actually did something on the weekend. It worked relatively well. So while I sometimes like to overtime, I'm sure it is unhealthy for the whole team to advertise/promote someone for doing so.
My advice is to reframe your thinking and start treating your job as a job - a source of income not a source of personal fulfillment.
Beyond that, there isn't a sole "tech industry" or "software industry" a lot of different types of companies employ software developers. I've been a software developer for more than three times as long as you and I've never experienced "devs that go out of their way to work weekends," "endless meetings," nor "constant micromanagement." Perhaps a job outside of a company that calls itself a "tech company" suits you best?
I'll share that working at a FAANG or larger tech business is soul crushing if you come from hobbyist programming and computing. Over the course of that time, I've learned to somewhat adapt. I still work on high tier roles, but I don't work on things adjacent to my interests anymore and I don't invest nearly the amount of time I used to. Think, good boundaries for work kind of thing. I'll still probably move to a smaller business, but this attitude bought me a little extra time.
Myself i started programming recently in a somewhat professional context, but I chose it carefully not to run into the soul-destroying machine, hopefully. I program at a research institute, so the projects aren't products, and hence there's less pressure on the programmer. Perhaps a similar context would also be a more happy place for you. programming on things which are not sellable products. (some automation jobs, some research jobs and other things might require extensive programming, yet have no direct sales of the programs themselves.)
Downsides are: - More manual/operations tasks (though this is a chance for automation). - It can be a dumping ground for random jobs other teams don't want. - Your customers know exactly how to get in touch with you. - You probably won't be working at "web scale" or with the latest machine learning tech.
When I started down this path I thought it might be hard to find jobs, but that hasn't been my experience... yet.
If by "side hustles" you mean side projects - these are something between a hobby and a learning opportunity.
If you mean contract work - many people work as freelancers. I used to, so to avoid issues with corpowork (micromanagement, meetings, internal politics) and to be able to choose projects I genuinely like. For me, it was far from "stress-free", but I know many people who precisely prioritize this part. I prioritized creativity, ambition, and learning.
Of course you don't get benefit of corporations, but it is crucial - what do you want? What do you optimize for?
Ad weekends - I bet you are from the US, aren't you? Try Europe.
I agree that organizations that have endless meetings are organizations with too many unintelligent people: don't work for them.
But wtf? You "love building and working" and you're "forever building my own side projects as I love it" so who are you to criticize "devs that go out of their way to work weekends without being asked"? Have you considered that they might love their job also?
Stop whining. Apply to higher quality teams. (And watch out for your written communication giving a bad impression -- I think you're a native English speaker but you're confusing "bear" and "bare".)
I tend to really relativise the importance of what I work on. None of us are defending the nation or pioneering a moon landing, all can wait, all is a game to some extent.
When an agitated user comes to me with a demand to fix a problem that has been here for 20 years, I do as if it was important to be nice, but hell if Im going to stress about all this at night ! I'll do my best or fail trying, the big deal.
It's an unfortunate fact that in order to get more done you'll always be more effective if you manage to steer a team the right direction than to do it yourself.
Doesn't matter if you believe in 10x engineers or not. There's just no way you can compete against a team of 100 with proper leadership (technical and/or managerial).
And unfortunately one meeting can have these impossible to measure small movements of the rudder that is more effective than you sitting and coding for a month.
That doesn't necessarily make it "fun", but it can be fulfilling.
> constant micromanagement
Ugh, that sucks. The whole industry is NOT like that.
there also exist satisfying opportunities at small to midsized companies. It all comes down to management.
So... keep looking!
> I can't bare the devs that go out of their way to work weekends without being asked
What is wrong with the devs who work on weekends? (if they aren't bothering you, of course)
In the tech industry (and a few other high-wage jobs), you work with people who think they're above all that. Their Tesla will drive itself through the "bad part" of town so they don't have to take the subway. They think they're temporarily embarassed millionaires, just one startup idea away from being Elon Musk. They still work their whole lives to enrich someone else, but they do it with a smile, on nights and weekends, because at least they can afford to pay some faceless worker to drive across town to deliver them food every day.
If I were you, I’d try a job as different as you can in a company as different as you can, for the sake of making sure the situation will be different. You might still land in a situation that’s not for you, of course, but that should mitigate the risk that you’d land on the exact same problems.
It’s like a mechanic complaining about the “mechanic” industry, when it’s really the automobile industry or the engine industry or the bicycle industry they are talking about
Try to work for a different kind of software company
My recent experience is probably a fluke and would therefore be unhelpful, but I finally optimized job selection exclusively by pay rate, accepting a role in a tech stack I have no experience with and honestly, very little interest in, and yet the engineering culture and overall experience are turning out to be the best in my recent memory.
This is something I screen for very carefully when interviewing. It took me almost a year to find a job after I was laid off in February 2020; but it was worth it. I really love my current job.
That being said: All jobs have ups and downs; including the best ones.
Best career decision I ever made.
Don't let the cliched-career ladder advice generally offered in life (I don't mean here) blinker or constrain you.
I do love though to program on my small/little projects.
For the last 6 months, I had job opportunities every day and say no to everything until I find the right one. Your family and friends will laugh at you, but in the end you'll be happier than them.
I moved into information security. Where I have endless meetings and spreadsheets, although no micro management. But I write software in a way I enjoy outside of work.
I have to say that micro management is a bad sign in any role. I would certainly try to find a different role, even if you choose to stay in software.
There are programming jobs without any of this. Government is an easy example, but shop around and you'll find places with better work-life-balance, particularly if you're willing to sacrifice some pay.
Professional Software Development is idiotic and a waste of consciousness. Or rather, it's a conversion of consciousness and focus into money (some for you - mostly for up-orgchart). Right now, it is pretty free money. Especially given remote.
Can't wait to fuck off.
Not that I recommend it, just fwiw. Contract work with time between gigs might help, if you can afford the medical premiums (in the U.S.).
Also fwiw: s/bare/bear/ s/literally// s/over night/overnight/
I can definitely relate but am in a different industry. So starting a start-up. But still have the other job. Until the start-up makes money or at least is enough to get some funding.
But that is a problem for those devs, not you. As long as you are producing high quality results on time, shame on them. Why "you" can't bare it?
"I can't bare the endless meetings"
The meeting might feels endless because it is not where you want to be. That sounds more like you expected that the life of professional development should be only what you like to do, I assume coding, and it didn't turn out that way. Maybe you should adjust your expectations to reality and get the most out of those meetings?
"constant micromanagement"
I have deal with this in the past: a) Over report. Micromanaging is consequence (in very general terms) of insecurities in managers. Over report, be constantly in their faces telling every detail of what you are doing, until they are tired of you and they know you can take care of things b) Find another company... there is a shortage of developers anyway Bottom line: You cannot change them, but you can change how you approach them.
"bringing the stress home to my family"
Your family is not at fault of what is going on at work. My experience is that there has to be some level of compartmentalization. You need to learn to flush out your frustrations before arriving home.
I understand that you don't like the industry, but the question is what are you going to do about it? How are you going to process your feelings? How can you take advantage of where you are? In other words, can you develop your soft-skills?
At times, I end up frustrated. It seems I leave companies after 6-7 years, because I stop moving forward. When I find myself in a rut, I try to put myself into new situations, so I can find new opportunities to be lucky. That may be internally in the company, project or team. Or it may be moving to a new country. Or, it can be turning inwards and focusing on improving my interpretation of the situation. The situation is rarely bad, even if I may feel down about it. The only constant is change, as they say.
Yes, I can relate to personal stagnation, to the Hedonic treadmill and that opportunities that sound good in shallow waters often sink when you go out deeper. But I'm not going to say I hate the industry. I haven't uncovered even 0.1% of it. Plus, I'm still hoping I can help make it better by being a part of it.
I do a lot of stuff that I don't hate at home though.
Do the job you feel most comfortable in. When looking for a job remember to consider if you will feel happy there.
most orgs unless you work for the local city municipality think they're doing something revolutionary. when they're not.
the personnel is smart but blind. which ends needless work to prove either promotion/ cleverness . I probably think we're the only industry where we need to prove we need to look busy. Plenty of professions have idle time and only crank it up when needed - a firefighter is not fighting fires 24/7. nurses well before shortages were not looking after patients every minute.
yet us software engineers need to be cranking code / being in meetings all day. only non productive MBA's share that trait i.e need to prove busyness.
most companies lack adequate leadership i.e level headed people who can say "NO"- this is not necessary
us software engineers are interested in reinventing the wheel for no particular reason as if we work in research labs. hell people doing pure research into performance e.g Formula 1 - have a time cap into that sort of stuff. they're not running wind tunnel tests 24/7
for us personnel add the shitty tools like NPM. These days if you try go against the grain you're looked at as if you're an idiot. if your web app is not an SPA then you're a relic of the past. if you don't run K8's then you must be doing hobby projects etc. if you're not on the cloud you're legacy, as if shit matters if it delivered from boxes rented from Bezos or your own boxes.
companies thinking a 3% raise is enough when inflation is 7%+ and wonder why people leave.
companies having long interview processes which don't make sense at all
lack of education and training at most companies that's not 20% time or attending conferences. - before proper companies like IBM / HP etc used to pay for people to go to school and have in house tutors. yet companies these days expect you to know everything
last and not least => we can't make software that works whether it's Apple / Google / Microsoft / Small Co. it's all shit, it's full of bugs
When compared to what other friends and family endure, programming for money is heaven.
One thing you have to do however is having some firm boundaries - this is something I still struggle with.
My devs are not required to work more than 40 hours in a week and I go out of my way to ensure they don't have to endure any kind of crunch time.
We get paid a ton of money to sit and read and type. Things could be much worse.
if you have to work 12 hours to eat then your work is damn meaningful.
if you sit in front of a computer for 6 hours in a comfy job doing asinine tasks and dealing with asinine bs, it has no meaning.
since your basic needs are met, yet the income you get is not enough to do something, like have kids or buy a home or pursue your own ideas.
at least not without feeling constant anxiety and stress as a rentier debtor.
It's about my strongly held belief that companies, certainly smaller companies, don't need the Taylorist command and control structure to thrive.
Happy to keep you up to date. I started as a hardware engineer then a programmer and and architect now work as a scrum master. So that might devalue my advice.
* Job security
* Fun
Pick two
Why do you care what other people do in their spare time, especially to an extent that it makes you not bare your job and bring stress to your home and family!?
If what colleagues do over the weekends causes you this trouble, it sounds the problems are in your mind, not the industry.
Just punching paychecks and doing my hobbies on the side.
> side hustles
I gave up on these too. I don't want a second job, my current one pays just fine.
If I found a company not doing scrum, I’d go back, but otherwise, I’m done as a paid developer.
Industrialised standardised scrum/ micro management sucks. Multiple jobs, same experience.
If something can’t be implemented properly, then as much as you might say it’s not scrim, well, communism isn’t dictatorships, but it always happens that way. So, there’s a blurry line that isn’t established or doesn’t work in most places so it’s not useful.
I'm not top-tier, not in your league at all. Not dumb, but a bit late in getting organized.
I worked for a state government. For too long, trying to make it work. Then on July 7, 2005 I quit my job after deciding that I'd rather die than keep working there. Haven't worked since, as it turned out. Squeaked by somehow, since I always lived within my means and was good at saving money.
In 2011 I took early Social Security, and that thousand a month coming in was a huge relief. Way better than zero. My defined-benefit state pension kicked in during 2014, doubling my income, and now I live in Cuenca, Ecuador and am starting over at age 73, though not really worried about an income. Mostly it's about the learning, and developing skills I never got to before.
And I have learned more about life in the last 10 years than all the time before that, mostly via thinking things over. Of course, now that I'm smart, I'd do everything differently. Radically. If I had the chance.
A couple of days back I looked up a guy I used to work with. He was a young intranet webmaster at [state agency]. Since then he got into the Agile/Scrum world and made a really good living from it. Been all over state government as a contractor, and other places, like Microsoft, and even got to Australia, etc. Good for him. He decided to focus on a thing, own it, and run with it. I've always dithered. My loss.
A thought: If you haven't checked it out yet, take a look at "The Pragmatic Programmer: From Journeyman to Master". See https://en.wikipedia.org/wiki/The_Pragmatic_Programmer and https://pragprog.com/titles/tpp20/the-pragmatic-programmer-2... for info
From my experience...
* The real issue probably isn't finding the right job or company but finding the right people, including the right person within yourself. It always comes down to the people.
* If the Pointy Headed Boss doesn't understand it, then it can't be that important.
* Especially for a small/non-technical company, you are hired help, like a plumber or electrician -- maybe useful from time to time to do some obscure dirty thing but still just another manual laborer.
* From a non-technical boss to me, about a technical issue: I've dealt with people like you before -- you always see it as black and white, but we need more shades of gray.
* There is likely no general solution. What's right for you may not be right for anyone else.
* A well-run company is a well-run run company. That's the fundamental fundamental.
* No-code software is a tool to solve problems. To be of any use it has to be driven by someone who knows how to think, which is what a programmer is.
* The contractor who built one client-server system I worked on needed three more months to finish it. Nope -- had to meet the deadline. So three of us spent two years slapping patches on it. And all three of us left before it was working as promised.
* Words of wisdom from some of my (former) co-workers, none of whom were part of any solution, ever: (1) If it ain't broke, don't fix it. (2) We've never done it that way. (3) Wait.
Some choice thoughts from the comments here:
* "Very few passions survive contact with the industrialized version of their craft."
* "Programming is a tool. Computers are tools. You're not getting paid to program. You're getting paid to solve some problem for your employer by programming."
* "I realized that the problem is inside of my mind...It took me many years to finaly come to the deep realization that sitting down by yourself and brutaly examining my own problems that the mind generates is the only way forward."
* "What I hate about the industry is politics, short-term thinking, selfishness, dogmatism and other forms of irrationality."
* "There is next to nothing being produced today that I care about at all. I don't play games, I hardly ever use my smart phone..."
* "I try to bring a sense of craftsmanship to my work."
* "I thought I was the only one."
And I've been at it for 25 years. Part of the problem is that for 15 of those 25 years I was full-time self-employed. It was immensely rewarding owning my own company and being self-sufficient. And I still own the business, it just wasn't making me enough to money and I started to lose my passion for what I was making.
I'm a maker. I like producing things whether it's wood-working, producing a magic act with my wife (which, when you're making everything from props to costumes involves a ton of DIY in all sorts of skills), producing music etc.
So for me, I care a lot about what I'm producing and how I'm producing it. I don't care too much about what programming language or "tech stack" I'm using, although I can't stand trend-driven software development. I'm all about choosing the right tool for the job and thinking about the self-life of the software I'm making. But it also matters to me what I'm making and the craftsmanship that goes into it.
The things that are burning me out in the industry are:
1) There is next to nothing being produced today that I care about at all. I don't play games, I hardly ever use my smart phone and I really hate SaaS and Cloud for the most part as a consumer. I'm a hacker, a tinkerer. I'm something of a contradiction because I like "high level" programming (Java vs C, frameworks vs ground-up) but I also like being close to my machine. As a programmer I'm supposed to be the master of the machine. I don't want to program for some Amazon service running on some VM in a foreign data centre. I want to code for a machine that I can touch. As an end user I want to own and control my software and hardware. I don't want to be constantly hitting some remote server and keeping all my data there. I want to control and own my computer. I want to touch it. I want to be able to customize all the software on it. I want to be able to use it completely offline / air-gapped if I want to.
2) I try to bring a sense of craftsmanship to my work that is under-appreciated by businesses. All they want is cheap labour who can get a rapid prototype out the door in time for "deadline" and then that rapid prototype becomes permanent, tech debt is ignored and the long-term consequences aren't realized by those who have cashed out, moved on and left those behind holding the bill.
3) Trend-based design decisions drive me crazy. Part of the problem is that we have a younger generation of engineers who only know what they know, and they need us old timers to teach them. But they have this attitude that "new = better, always." So we see Cloud-based everything complete with the vendor lock-in and complexity that using a million different proprietary weirdly named services employs, GraphQL as a solution for every problem, microservices where monoliths make more sense, monorepos where micro-repos make more sense etc. (But Google is doing it so it must be the best solution for every problem!)
I used to be a very high-tech person, relative to my peers. I was the kid who knew computers and spent every waking hour installing various *nix OS's to play with them, teaching himself to code, writing games (I don't play games anymore and the horror stories from the industry are enough to make me not want to go anywhere near it), starting tech businesses etc. These days when I clock-out of work I don't go near anything high-tech. I'm starting to appreciate the outdoors, producing things with old-fashioned skills. I can't stomach the idea of writing a single line of code when I'm not on the clock. It's really sad.
When I started out (mid 1990s), Corporate IT was still very much mainframe based; Desktop PCs were just starting to appear on office desks. I had the good fortune to work on both early on. It was very much a fast moving environment where keeping things running was the only thing that mattered. We were the 'gurus' who knew how this stuff worked. Stuff that to most people was incompressible. The internet as we know it now, didn't exist. If you were lucky enough to be able to connect to it, most of the places worth visiting were FTP sites. There were a few websites, but nothing of substance. USENet existed, so did IRC and Gopher. You had to put the effort in to get driver updates, and new software to solve a problem.
Without easy access to information for people to solve their own IT problems, it fell to others who were prepared to put in the hours to learn the systems, and read the books. We were the gatekeepers of this wonderful new world.
However, all industries grow up, and IT grew up so fast it was alarming. Overnight it felt that everyone was getting an IT related job, and new associated professions were appearing all the time. Whereas it was just us SysAdmins and a few managers happily spinning the plates and keeping things running, there was suddenly Tiers of Middle Managers, Project Managers, IT Security, Operations, and Developers who only knew their IDEs (or text editors) and didn't even know how to use the system they coded on. Each platform had it's own ship of people doing discrete roles. What was once a nice lean new-frontier of discovery became a bloated enterprise of form-filling and endless meetings, with pointless authority figures whose only reason for existence was to slow things down.
This massive influx of people also brought in people who had no right working in the industry, and a lot of things went wrong, which resulted in the biggest issue I have with it.... a lack of trust. It doesn't matter that I have decades of experience on system X or Y, some bean-counter or form-filler will force me to get my work checked and approved, each and every time because that's the process now. No other industry with experienced veterans would treat them like this, but in IT it's considered normal. I am sick and tired of explaining to people who have no technical acumen at all, that my suggestion, design, or solution is based on my extensive experience only to be basically told 'yeah well, we will check with other people anyway as we don't believe/trust you.'
I think IT is a horrible industry now - and because it pays well it continues to attract people who have no business being in it. All I do now is count the days before I can exit it, and do something better with my life.
I still love computers. I tinker with them every day, I write code my own enjoyment and love fixing hardware, but the industry I use to love, now sucks.
the field is dominated by corporate marketing, cargo-cultism, resume padding, reinventing the wheel and fixing what isn't broken.
since I've chosen this as my career 8 years ago or so, I've managed to get by without ever dealing with someone else's bullshit. I have some income from personal projects and some income from greenfield one-off jobs, I get by for now, but I dread the day when I might need to get an actual job to get a mortgage or after I emigrate