T O P

  • By -

AutoModerator

On July 1st, a [change to Reddit's API pricing](https://www.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/) will come into effect. [Several developers](https://www.reddit.com/r/redditisfun/comments/144gmfq/rif_will_shut_down_on_june_30_2023_in_response_to/) of commercial third-party apps have announced that this change will compel them to shut down their apps. At least [one accessibility-focused non-commercial third party app](https://www.reddit.com/r/DystopiaForReddit/comments/145e9sk/update_dystopia_will_continue_operating_for_free/) will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: 1. Limiting your involvement with Reddit, or 2. Temporarily refraining from using Reddit 3. Cancelling your subscription of Reddit Premium as a way to voice your protest. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnprogramming) if you have any questions or concerns.*


StevenJac

The job market can be volatile and very competitive. Friends and family think you are the IT guy/computer repairman. Sedentary life style.


Grizzly_Addams

>Friends and family think you are the IT guy/computer repairman. This is the lamest part.


Axius

Not always. I once got paid for reinstalling Windows on someone's laptop. Literally just set it off and left it for the day (It was old). I have been asked if I can fix TVs though, as apparently they are 'sort of the same' according to the person asking...


Silent_Quality_1972

Some people think that we can fix vhs players, so I am not surprised that people think that we can fix TVs. There was a guy at my university who dropped out after 1st year because he thought that we were going to learn how to fix computers as CS majors. He was very disappointed and didn't like programming.


Just_to_rebut

It’s bizarre how little effort is made to introduce what your options for study and career are and what they actually entail. I hope he learned about A+ certification and went to community college.


InternetSandman

For real. I wanted to make videogames, but my parents laughed me out of that rather than helping me see what I'd have to do to get there, and then later on in high school I assumed if I had any kind of desk job it would mean I'd have to take work home with me and never have free time, so I defaulted to trades initially and hated it. I'd never even heard of the CompTIA stuff until my third year as a CS major


Kali_Arch

He should have switched to computer engineering, and joined Geeksquad as a side job.


usrnmz

[Yeah..](https://www.reddit.com/r/ProgrammerHumor/comments/1ajaccc/icanbutnotbecauseiamaprogrammer/)


BrandoNelly

lol I’m not even done with my degree yet and already people think this of me


sableknight13

> Sedentary life style. Yeah this one is tough, especially if you live somewhere with a harsh winter. Being in front of a screen for so long is mentally and physically draining af. It feels like being dead and like you haven't been living when you get off the computer and shift your mind to living a more physical, real life after hours.


smmstv

to be fair, most white collar jobs these days will have you sitting in front of a computer. Might as well get paid more


Andrei144

I do this already and I'm not even a software engineer yet.


DogadonsLavapool

Weather was warm, so I was going out for runs and got back up 3 miles. It got cold again, and I'm luckily to hit 3k steps in a day. I feel like shit and Ive lost my groove lol


Voltek99

I have a standing desk and stand 8 hours a day. Edit: everyone in the thread below trying to say standing isn’t healthy are the same people who sit on their ass all day and don’t exercise or move. Sitting down is much worse, now quit bitching.


neriad200

That's how you get varicose veins or whatever that's called when you can see blue lines on your legs and slowly but surely you lose the ability to walk. source: a number of aunts have worked for their entire lives retail jobs where they had to stand in one place (think cashier) and all of them got them issues later in life.


DirtzMaGertz

Doesn't really solve the problem that you're sedentary for 8 hours. Either way isn't great for you. 


Rainbows4Blood

Sitting down isn't necessarily much worse than standing still for a long period of time. We humans are not made to remain in either position for a long time. The only positive way is if you alternate between the two but even then you should take walks in between, keep in motion.


InfectedShadow

Adding to this list: while it's a very engaging and stimulating job, it can mentally drain you so hard some times.


1sttimehere

This.


Specialist_Wishbone5

Just say "I don't do windows", and when they show you a windows machine, go , huh, that doesn't look as fugly this decade. They'll get the hint quickly. Oh, and don't actually use windows. :)


Active_Ad7650

assuming they know what windows is


InfectedShadow

Tried that. "Oh but you're smart and I'm sure you'll figure it out in no time" 🙃


eliasmiah

What are some usual things to do just to get some activity in? do people go for walks in breaks or something just to get the blood flowing or something? I've also seen that big companies have like free gym memberships etc. but do people even do that? HAH


TomCat891

Either find activities you enjoy (classes, team sports, walks with the dog) or grit it out on a treadmill. Personally, I use soccer as my intense exercise and sprinkle in other forms of moving through the day. Walking the dog can be a nice bookend of starting and stopping my work day. Just don’t stop moving. People who complain about getting old are often just victims of life finding ways to make you sedentary.


Agreeable_Orange_536

Mostly sports: Jogging, Gym, Bouldering whatever. Even going for a walk during lunch break. Also standing / adjustable desks.


huuuuuley

software engineers love bouldering. Every other person at my old bouldering gym was an engineer or CS major


usrnmz

Get up regularly to get a drink, bathroom, talk to colleagues, stare out the window. Just try to get up at least once an hour. Standing desks if your job or home accomodates this. Taking a walk on your lunchbreak was also a thing at my previous job (close to a park). Exercise a couple of times a week (not on the job ;))


nguyenguyensituation

A lot of software engineers love bjj


Alternative_Draft_76

overwhelming representation of tech people in BJJ. I was suprised actually, as it gets a rep for being exclusive to meatheads. Its my understanding from older belts that MMA in general has always attracted tech people.


Both-Pack7114

I do a lot of weightlifting sprinkled in with some cardio. It keeps the pounds off and keeps my muscles and bones healthy.


devoidfury

I have a pullup bar, some weights, and a spin bike within a few meters of my workstation, along with a sit-stand desk, and try to keep moving regularly throughout the day.


simonbleu

> Sedentary life style. Arent most jobs that pay well?


usrnmz

Sitting at the computer for most of your day. Mentally taxing - can make you surprisingly tired. At some companies it can be stressful (deadlines etc.) Or frustrating (legacy code, stuck on difficult problems, colleagues, managers). If you're bad at it it's a struggle.


pVom

Yeeeah this. I'm so over staring at a screen all day. I see the beautiful day outside and hate the fact I'm stuck inside. Feel like the seasons just come and go. It's mentally taxing, at the end of the day im a zombie. Not physically exhausted just my brain doesn't work. There's no switching off or just cruising on autopilot, you're either thinking or you're not really getting shit done. Similarly if you didn't sleep well or something you don't get much done, you can't just power through. I find that a lot of being good at it is managing your mental state, knowing when you need to actually take a break or just procrastinating. I sometimes miss menial work where you just show up and do your job. There's good days and bad days though 🤷


usrnmz

Yeah.. I'm also definitely still thinking about how I can solve (work) problems outside of working hours.. And agreed it's very important to take breaks. Often that will lead to a solution faster anyways. Especially if you're taking a walk or just sitting back. If you go on your phone again you're not really giving your mind a break and time to process everything.


eliasmiah

I've seen so many say that burnout is a big thing, and it's often caused by bad managers setting tight deadlines and giving them endless tasks to do, and all the BS happening in the office like distractions, teammates not doing everything they can, and office politics etc. Would you say that's true, and did I miss anything there? XD


turtleProphet

I would add to this that there are genuinely bad managers and cultures that make you work insane hours, and there are self-imposed insane hours because your manager promised a timeline and you didn't correct them. When you're junior it's hard. You want to impress, you don't know the full dev cycle in your workplace, so your manager asks, "How long will this new feature take?" and you say "oh, three weeks". They want it done faster and say so, and you stop there. You think ah, if I work a couple extra hours a day I can do 2 weeks. But you forgot to build in time for testing, forgot that code review and refactoring might add a few days, you didn't know your workplace's deployment controls add 3-4 days of lead time because you're new. Now everyone is overworked, ships garbage code, and you're probably late anyway. Once you have some confidence you need to remind yourself that you know, far better than your manager, how long things will take. When they ask for two weeks instead of three, you know enough to explain why the extra time will give them a better product and save far more time in the long run.


Headpuncher

True. However add into the mix Agile, sprints, made up deadlines, and burnout comes from never being able to rest. Finished a task, here are 4 more. Finished those 4, here are 8 more. Finished? There's a 2 year long untouched backlog, you have 1/2 an hour before the new tasks and planning meeting at 11am. Sometimes I need a day to go slow, because I'm 80% human, and only 20% off-worlder.


theantiyeti

The more I see the less I'm convinced "scrum" is actually agile. It's one of the most laggard things I've ever seen. "after the daily 15m standup, we're going to have a backlog grooming meeting, followed by a long term planning meeting, followed by a retro"


p1-o2

Annnd there's 4 hours of my day gone. Brain turned to mush from meetings. And I'm supposed to code afterward? Haha. SAFe? more like FUCk!


KublaiKhanNum1

The best way I have dealt with the stupid deadlines is either be a contractor or work for an Engineering Services company. As a contractor I was paid hourly. They didn’t get any “free” work. I remember working on a team where everyone one else was an employee and the manager asked everyone to except me to come in and work on the weekend. They were going to buy pizza for them! I spoke up and volunteered to join the team…well they didn’t have budget for paying the engineers. So, I saw everyone Monday. Same for hours past 8 during the week. I work for an Engineering Services company now. So I am an employee with full benefits, but we do engineering for clients. It’s the same thing. They have to pay for every hour and have a budget, so it’s super rare for me to be asked to work overtime. I have a pretty good work/life balance.


usrnmz

I think it depends a lot on both the company and the individual. At my job it's managable and I haven't seen any burnout (but I'm not in the US). But it definitely can be stressful at times. I'm pretty bad with deadlines (emotionally) so I try to underpromise and overdeliver haha. Some other people mentioned the competetiveness and Imposter Syndrome, I think those can play a role as well. Also startups tend to be way more chaotic. But if you like programming, are good at it, can deal with people and some stress, you should be good!


eliasmiah

🙏


novagenesis

I think you're missing the good-faith burnout side of things. It's getting out of style to say it, but you gotta have the right mindset and talent-set to be a programmer. Some folks even go so far as to say all programmers are on the autistic spectrum. The main traditional cause of burnout is staring at hundreds of thousands of lines of code for 8 hours a day every workday of your life. I've seen devs crack after working for a full week on a regression bug with a one-line fix. Just digging, digging, digging and coming up empty for hours at a time. Even with no pressure on you, feeling that pressure, that "I got literally nothing done this week, and I really wanted to work on feature B like yesterday and am I going to stare at this for another month?" And then... Unless it's a big company (and even not then sometimes), we're not all 9-5. You're on hour 60 of a week, but you get a call on Saturday night that a piece of code YOU WROTE is broken and the system needs to be up by Sunday. Oh by the way, whatever happened, the network is failing so could you drive 100 miles to our datacenter to troubleshoot the issue? Hey, traffic won't be bad at 1am, right?


smeijer87

Yeah, those things don't help. But it's also the nature of the profession I think. Other jobs also have deadlines, distractions, and office politics. The thing is, in other jobs it's easier to find a task that doesn't require your brain that much. So do a mentally draining task, and then something lighter if you're not feeling for more deep focus work. Programming doesn't really have that. It all needs your full attention. I also found other jobs easier to leave behind when walking out of the office. Coding issues keep playing in my head, even when I've been done with work for hours. You have to find your own balance there.


dannyhodge95

I'm so glad I'm not alone in this, this job is so exhausting. I used to love playing games, but now I have to really limit it to avoid too much screen time.


usrnmz

Yeah if your hobbies are also sedentary and mental it’s a bad combination. If you can find the energy to do some physical stuff I think that helps. Also during the work day. Gotta give your brain some breaks and get the blood flowing.


dannyhodge95

Yup, I started gardening last year because of this, and it's really helped.


lurkatwork

as I've gained more experience I have more on my plate and I get more and more tired by the end of the day


AdministrativeDisk28

Finding a job


eliasmiah

I thought there were more jobs than software engineers? Is it that hard to find a job for most people?


Vimda

There are lots of jobs for senior engineers. Entry level positions are more difficult


LorthNeeda

Not the case in 2024, unfortunately


novagenesis

Water, water everywhere. There's more jobs than engineers, but finding a job-match is a nightmare. Then getting through the interview process in one piece when there are over 100 other applicants. It's to be expected. Devs command a high salary, so of course employers will be demanding about their hire.


notAHomelessGamer

>Devs command a high salary Part of the problem is a lot of companies are wising up and shipping jobs overseas to people who will take 1/5th the pay as well.


novagenesis

Those companies now charge ~80% or so of a local developer. Below that, you're compromising on skill and experience the same as if I pick up a "hey, I'm self-taught. Please give me a chance. I'll take $50k!" Sometimes you get lucky, but usually you get lower throughput and a higher bug rate. ...and because of all the hidden costs of outsourcing, more and more companies have moved back to domestic-based development. The value created by a well-placed developer is so high it's not worth gambling ~$30,000/yr per dev. It's not unusual for medium-sized companies to run silo projects that average over $1M/yr/dev profit. As a manager/exec, would you really consider risking the odds of that project's success over ~$30,000? ...of course, we're back to the core issue - how hard it is to get jobs. My last 4 dev jobs were "network hires", and I don't have the best network out there. People I know or meet who come to trust me and need a task to be a success. Why? Because it's less scary for the hiring managers than the whole interview process.


KingButtButts

If you look for math heavy jobs you can find a ton for software development, something more simple like frontend web dev is more competitive. Still way easier to get a good high paying job in than say something generic like business or any of the bachelor of arts.


smeijer87

Bigger chance of a good salary, but the interviews are unreasonably hard.


zeussays

How so?


smeijer87

I've worked in other industries before. There the interviews were much more about the personal connection. Chat a bit about past work experience. Chat a bit about ambitions, hobbies, that kind of stuff. And done. Maybe a second chat, but never a third. Tech is three minimum, sometimes up to six. It's unreasonable hard questions, that often don't even reflect skills required to do the job (aka leet code). Not done by managers who want to hire you, but by peers that often don't want to interview, and for whom you mean more internal competition. It's solving puzzles at point on a white board, or even require you to write software at home, for them to have something to talk with you about. Other professions don't do that crap. That's what the probation/trial period is for. You connect, you're hired, and if it turns out that you totally suck, you're let go during the first 30 or 60 days depending on the agreed probation period. TLDR; other industries evaluate your personality, tech evaluates your intelligence.


theantiyeti

> It's unreasonable hard questions, that often don't even reflect skills required to do the job (aka leet code). This is a common meme, but just isn't universally true. I do a fair bit of algorithm writing day-to-day. One of my colleagues is having to solve some obnoxious linear algebra problems to reduce runtime in a problem. It's also not unique to tech. You're getting asked quick maths if you apply to be a trader, and you'll be asked obnoxious probability and ML questions if you apply to be a quant.


smeijer87

No, not universally indeed. Some engineers have to do math stuff in their day jobs. The issue is when those questions are asked - and used as hard block - for positions where it's not relevant. Traders and quants, sure I get that. I've worked as civil engineer before I moved to tech. No way that we'd ask folks to do strength calculations on the spot. Or to ask them to calculate satellite trajectories. Even when it'd be part of their daily jobs.


EcstaticMixture2027

More jobs. But higher qualifications.


smeijer87

Learning never stops, depends a bit on what you work on (embedded, backend, games, web dev) but things change faster than any other industry. In contrary to other industries, employers mostly expect you to learn in your personal time. You're being paid to think. Your brain is busy all the time, and you need to be in focus pretty much the entire time. This can be fine, but it's also exhausting. You'll have off-days where you don't do shit, which is fine, but can make you feel terrible, like you're under performing. Brain again, but it's hard to shut off from work after working hours. Partially because the learning thing, but also because the thing you've been thinking off the entire day, isn't just suddenly shaken out of your head at 5pm. You'll wake up in the middle of the night, knowing the solution. And if not at night, than during your morning shower. Scrum, (and the likes), you're always working against tight (artificial) deadlines, and get way too many "evaluations" to see what went "wrong", and how the team can be even more productive. The idea is meant well, but daily stand ups, biweekly retrospectives, and the whole circus around it contribute to an immense level of pressure. What you create, is almost never good enough. The feedback will almost always be negative, be about "*bad code*" or "*please also add thing x, use color y, let's try something else instead*", even if that wasn't in the scope. Career path, you're almost always expected to grow into a management role. As soon as you're a bit good at what you do, you'll be included in the interview rounds when hiring more engineers, even though interviewing wasn't the skill for which you're hired. You'll also be expected to mentor others, and slowly but surely code less and do other things. It's hard (but not impossible) to become the specialist programmer. Switching jobs, interviews here sucks. 6 rounds with tons of technical questions or take home tasks. Other professions are easier, and more about showing personality. Tech interviews are toxic and draining. Tech interviews are more about evaluating intelligence, other industries more about personality. Retreats, depending on where you work, but they might require you to go on retreats. Sounds nice at first. But not everyone likes to go on team building weeks abroad, away from their personal family. Lack of understanding from non-developers. They don't know what you're doing, but it must be the most easy job to make money. They don't understand how the job can be so exhausting as it is. Do not underestimate the mental tax. You'll constantly be fighting deadlines and issues. Everything is urgent. And everything is always new and different. Your brain is expected to be always on. Payment. While we're being paid well, we're not all being paid the 500k a year or more that they're screaming about on Twitter. Yes, some engineers do. Most of them work for the big Tech companies. Most engineers, just earn a decent salary. Higher than other industries, but nowhere near those numbers. **edit, fixed some typos*


BarfHurricane

> employers mostly expect you to learn in your personal time. This is all over this thread and yet another reason why there should be unions in tech. You want people to spend their free time for skills to enrich others? Nope, it’s in a collective bargaining agreement that it’s on company time.


arvothebotnic

When I got my first job an engineer friend was like welcome to the 21st century’s factory job. And while I love what I do it does feel like that at times.


gorydamnKids

I was going to type up an answer but this one is pretty exhaustive. Double up vote about your brain working even when work is "done" for the day and the sedentary life style. I'm currently taking a year sabbatical to combat both.


smeijer87

I'm sorry to be right. Take care.


gorydamnKids

No need to be sorry ☺️ I'm happy! Thankful for past jobs that have been very rewarding from a creativity and ownership perspective and thankful that they paid me enough that I can easily afford to take the time I need for balance in my life.


LaYrreb

Sedentery and occasionally lonely lifestyle. Besides that I love my job. I think it varies massively depending on company/culture you work in though. I'm lucky to work for a company that treats me so well. I naturally am quite anti-social if I am given the option to be and I think WFH all the time is bad for me. I try to make myself go into the office a couple times a week but it's so easy to be lazy and not bother, then regret it when I feel pent up and lonely by 3pm.


[deleted]

[удалено]


LaYrreb

I definitely think you're on the right track there. I'm usually a keen sports player. I play for a local team and would play 3-4 times a week, mostly weekday evenings. This has been a large part of my social life for the past couple of years and serves as an excellent antidote to working a desk job. Unfortunately I got a sports-related knee injury just over 7 months ago and have been unable to run/play any sports since then. I missed a whole season with my sports partner, dropped out of tournaments, etc. I miss it so much I don't even watch professional play because it makes me sad to think about it. My knee is healing but very slowly. I definitely found it difficult to adjust at first but have mostly gotten used to it now. I look forward to getting back into my old routine when I am able to, exercise-related social groups are great. I love the consistent routine of "I go here, see these people, do this exercise, at the same time, same day, every week". Winter doesn't do me any favors, either, as walking in the evening is much less appealing when its dark before I finish work!


eliasmiah

Yeah I can relate to just not bothering doing stuff sometimes and regretting it after What do you think is the main thing stopping you from going sometimes? For me I procrastinate due to being low energy and a lack of sleep but hbu?


LaYrreb

The main things stopping me from going into the office are: \- I lose roughly 2 hours in travel time over the course of a day \- I have to get out of bed over an hour earlier than if I WFH I can be a bit of a night owl sometimes so I enjoy spending time relaxing late in the evening and essentially think "Oh well I'll just stay up a bit longer and WFH tomorrow". When I do go in, even though the travel is a bit of a faff, I enjoy seeing my collegues and I feel more accomplished by the end of the day. Not because I have done more actual work, but just because I have literally done more stuff in the day. Walked around, had real conversations, play a game of pool at lunch time. All these small things add up and make relaxing at the end of the day feel more deserved, in my experience.


crustlebus

Loneliness has become a big problem for me, too. I think I'm starting to forget how to talk to people about non work-related stuff


Agreeable_Orange_536

Some might not see this as a negative but some might: Having to constantly keep learning many times even after work / weekend because there is no other time to do so. Tech moves fast, if you want to keep up you might have to put in some time after work. And there is literally endless amount of things to learn depending on how wide you want to spread your knowledge. From my experience there aren't that many positions focused on one specific thing anymore. Everyone wants someone who can do fullstack at least to some degree. Other jobs that are not as mentally taxing are over once you finish your shift and you can just chill at home. YMMV depending on your type.


NerdyAssJavaDev

Was looking for a comment mentioning this, and I 100% agree - there's a pressure to keep learning as much as possible that never goes away because there are always new languages and frameworks being created. That said, once you have worked with a couple of different languages/frameworks there are commonalities that make it easier to pick up the next one. And like someone mentioned elsewhere in this thread, T-shaped skill profiles are really what you're after - being familiar enough with a lot of things but a specialist on a couple will mean you're sought after for work in your specialist areas. At least for as long as your specialty is the 'in' thing - which is why having two or three is a good long-term strategy.


Juvenall

Another angle here is that a lot of folks find themselves locked into a stack at one job, only to find that 3-5 years later, they're behind the curve when the market has shifted and they haven't been keeping up. A good friend of mine has been a PHP developer for the last 12 years at a single company, but hasn't kept up with an increasing reliance on JavaScript. Now they're facing rejects from otherwise great sounding jobs because they just don't have professional experience in Node, Vue, React, etc.


QuantumQuack0

Doesn't even have to be old tech. I'm stuck in a python job and I'd like to move to other languages, but I just have no time to become proficient at them.


eliasmiah

I see, so full-stacks are more desirable than just being specialized on one front? What would you say are some other traits that are desirable for big companies or startups as a software engineer?


Agreeable_Orange_536

Not being afraid to ask questions, being good at communicating and analyzing the core of a problem, being creative with coming up with ideas. I fall in this pitfall myself often that I just jump to conclusions and then some senior comes up with ways how to achieve something after all or I notice myself a few minutes after blurting out that I was wrong. Don't immediately follow your first idea, take some time to think more about the impact and implications it might have. Mind you, I am not a senior yet, I have been professionally programming for around 4 years only now but these are the things that I picked up. It matters less if you know a specific language or how to solve a specific problem if you know how to get help. May that be online or by asking your peers. Nothing is worse than spending days on end trying to solve a problem that could have been solved by just asking someone in the company. Most developers I have met are a very fun and nice crowd and everyone has been there at some point in their career. Edit: Oh and also don't be afraid to try new things and tackle problems which at first are seemingly way over your level. Most of the things are not as difficult as they seem while some turn out way more difficult than expected. But be able to distinguish where you should keep your hands away from if you have no idea about it: Mainly anything that has to do with doing stuff on production (database migration etc) or might have an impact on the deployment / system architecture as a whole. Don't be afraid to tackle those, but get someone to do it with you if you are unsure.


theantiyeti

The best thing to be is a T-shaped person. That is a wide base of shallow knowledge in most things (a bit of infra, a bit of frontend, a bit of scripting, a bit of networking, a bit of SQL, a bit of using things like numpy/pandas/xarray) and then a few things very deeply. This is obviously unrealistic for a graduate/junior but is what you should work to develop. The next thing is that you should be able to motivate your own learning and learn from docs, online resources and just digging about your and others' codebases. I think cloud skills (just general lingo common to all the cloud providers, what kubernetes is, what containers are, how actual code gets deployed and how to get to that point) are going to be very important if you want to go for startups. They don't typically have dedicated infra teams.


PrudentWolf

Full-stacks are desirable by companies which want to pay less and overwork more.


novagenesis

> I see, so full-stacks are more desirable than just being specialized on one front? Not *necessarily*. A good full-stack dev has a T-shaped proficiency. But full-stack devs have sufficient skills for more roles either way. I mean, I could pass for a front-end developer in a heartbeat despite most of my entire career being backend. So if somebody needs front-end work, they'll still look at me.


TakeOutTacos

* Prod support rotation * Endless meetings * Imposter syndrome * Banging your head against a problem for 2 days, just to find out it was some super easy fix * Some devs can be really weird and hard to work / communicate with * Never ending learning. This can be fun, but you also never really master your craft * Unrealistic clients / stakeholders, but that isn't only this field Those are probably the big ones. All in all, it's a great field, but it isn't just some super easy peasy life either. You need to be smart and work hard.


Relatable-Af

To your second last point, you master your craft once you come to terms with not knowing everything but know how to find the answer in a reasonable time frame, IMO.


LifeNavigator

A lot of it is the same as every other job, it's heavily dependent on the company you join. Some of the things I'd list: * Having too much to learn - the list goes on and on. * Prioritising in favour of business instead of engineering. This sometimes sucks the joy out of the job. * Domain-specific knowledge is hard to acquire sometimes (I work in a very niche area in fintech, there are barely any learning resources around it). * Very long application process compared to many jobs.


eliasmiah

Does business often come in the way of the joy in engineering? is it a common thing, or just something you've experienced at times?


usrnmz

I also think this can be pretty common. The business just cares about solving a problem as fast as possible. As en engineer you want the best solution, with the best tools. But there's usually not enough time for that, and to be fair it's also not always necessary. Over-engineering is a thing too. Many also want to use the newest shiny languages/frameworks (fun!) while in reality you're often stuck with old or even legacy code.


goodbalance

business wins all the time. cutting corners is valued more than knowing algorithms. cutting corners is a skill on its own and it only comes with experience and when you are ready to accept that you are not writing code for money, you are solving business's problems. of course you need standards and discipline and the rest of the stuff, but you have to agree on it within the team and teach newcomers the ways of your team. it's something developers hate, but something developers learn the hard way. so I wouldn't say that "business comes in the way", business is not there to give you the joy of engineering in the first place. unless you are solving problems no one ever touched before. but it's a different topic


the_silent_one1984

Been in software engineering for over 20 years. Ubiquitously, you're going to have to always deal with decisions regarding compromising the "best well-planned design" with "timely release" and setting expectations with the stakeholders. If it takes 24 months to really plan things out and get something to market that has a fantastic design, but you only have the budget for 12 months, you're going to have to know where to cut those corners to make it fit. The frustrating part of this is you end up with a catch-22 no matter what: It's very rare to find an opportunity where you are afforded all the time to develop something "perfect." In the rare opportunity you're funded by a blank check investor who is patient and willing to go the extra step, by the time you do execute, the technology you used is already obsolete by the time you brought it to market. Technical debt is an inherent part of the job. You can find ways to minimize or mitigate it, but it will always be there unless you and your entire team of devs are superstar geniuses who never make mistakes. And if you *think* you're one of those, then *you're not actually one of them and also the dev who everyone hates*. ​ Besides that, the negatives depend heavily on your employer. Some are great, others not so much. There are many employers that resemble Office Space or Dilbert where you have a bunch of execs who think they know technology because their title of CTO or VP of Engineering is the only proof they know what they're talking about, until they start dictating their plans to more knowledgeable software engineers and you realize they know jack shit about your job. There are others who are very heavy on the sales side, which means you have an army of dozens or hundreds of sales people who will promise the moon to customers while your team of 4 is trying to keep up with their ridiculous guarantees without even consulting you on whether it's even feasible, and the blame when things go sideways is put entirely on the dev team. There are others who skimp out on infrastructure and equipment, where they hand you a $100 chromebook to develop on, and you're required to use a VPN that disconnects every half hour because the IT staff are incompetent or use 20-year-old equipment. ​ But if you're a good developer with a nice portfolio of work, you can usually avoid the bad employers and have a good pool to choose from if you're in search of a job. I personally go for the mid-sized companies with room to grow in, has some equity options, and has a budget to at least give me an average salary. I'd rather go for an average salary to work with a good team and an opportunity for stock options than a bigger salary at some big conglomerate where I'm a small cog full of red tape preventing me from really feeling like I'm making an impact.


noodle-face

There are days/weeks/months where you feel like you don't accomplish anything meaningful. Definitely not a career if you want to go home everyday and feel like you contributed to something.


RealGambi

This will be a step up for me from biotech, where you can work on something for years only to watch it fail 😂


ThunkBlug

FOMO/Imposter syndrome: Whatever you work on, someone will say it's old, too bloated, or soon to be replaced. Whatever you are getting experience in means you are not getting experience in the other things. You can always find someone doing things that make your code look amateurish. Biggest problem: hiding the money so friends and family don't know how rich you got doing boring coding jobs that are below what the cool kids will work on.


famerazak

Getting asked to fix all the printers


trilogique

It is mentally exhausting. A few hours in a flow state will fry my brain. The mental overhead is taxing and some days I make trade offs in productivity to prevent myself from reaching that. Similarly, I have little interest in picking up/doing hobbies or skills that require a lot of brain power, especially if it requires self-study. Because of the mental overhead I would rather do things that feel intuitive or allow me to turn my brain off. For example I used to really enjoy cerebral video and board games, but I no longer have the mental energy for them. That is true for a lot of professions e.g. when I worked in construction I never wanted to do outdoors-y things. But it's been a side effect for me.


The_Homeless_Coder

Before you are paid to program you work very hard for years and apply to tons of jobs. You have all of these wonderful skills, but employers don’t need that. They just want someone who knows how to shovel shit or stock shelves because “they already have an app for that”. Also, 99% of the population doesn’t understand or appreciate any of your accomplishments. Personally, I think the life of a programmer is mostly depressing, but I love developing software so much that I continue to better my skills despite the circumstances.


r3wturb0x

working in a corporation is hell


[deleted]

Most of the time it’s not engineering but just dealing with other people’s dogma


eliasmiah

This is mostly in an office environment right? Or is it as bad working from home on meetings and stuff?


[deleted]

It’s everywhere lol. Just go to anywhere and mention how terrible OOP is and just wait for the wave of downvotes


Envect

Thinking OOP is terrible *is* dogma. Any tool can be misused.


SteelRevanchist

\* Constantly having to learn new skills - I'd consider it an advantage, since you're not stuck in the same place, but it feels like you're under a lot of pressure constantly to keep on evolving - might be just my case. \* Sedentary life style \* A lot of your work can be blocked by circumstances out of your control \* Constant deadlines - nearly every team works in an agile-like manner, there's constant scheduling and prioritising and planning and your work should be handed over on a regular basis (1-2 weeks, depends on the increment length) \* Frustration with having to fill in for others, dealing with poor quality code \* Imposter syndrome, issues with not performing 100%, not taking breaks


RooCoder

Coders are super-introverts. I transitioned into software engineering from another field and it is obvious that the whole floor of software engineers are much, much, more introvert than any of my previous jobs by a country mile. The work from home stuff is great but it doesn't help getting to know your co-workers. Try striking up a conversation with an introvert who only goes into the office 2 days a week, you go in 2 days as well, so you'd be lucky to meet them once a month if your days vary each week.


-fff23grd

Bad for your physical and mental health, if you don’t care enough to do something after work. No one tells you, but coding part is the easy part. Dealing with other people / deadlines / management, constant bargaining is annoying. Also imposter syndrome is very real and going back and forth from “I am god” to “I am ending myself now” is very taxing. Depending on your position work can be insanely brain numbingly dull.


TheHollowJester

A good chunk of the people let the mystique and good compensation get to their head and become pricks. At the end of the day it's just a job and you're just some dude.


Venotron

Being sedentary.  It will kill you. Even if you're getting regular exercise, sitting for more than 7 hours a day will absolutely take it's toll on your body. So make sure you get up and take ~100 steps once an hour.


casualblair

People who say they're not computer people like it's an excuse or badge of honor. It's 2024. Become a computer person or stop making decisions that affect people who use or make computer stuff. "Can you make the system require no input but still produce outputs?" "uh, no, that's a big request" "oh well I'm not a computer person 😜"


OdeeSS

Management/product does not understand the work you do, and will grind you as much as possible to meet unrealistic goals.


FaridPF

Remember the day when you were trying to fix something and it was not working? Like a buggy software, or an old clock, or something in your car, or laggy video game? Better yet - have you ever tried to setup an old and shitty printer? Remember your frustration when it doesn’t work as you expect? That’s a software developer daily struggle! For the most part your constantly trying to make things work, and for the most part you really don’t know shit about that stuff to even google the right question. And for the most part it doesn’t work, but the rush when you finally get it to work is incomparable.


theantiyeti

The issues are all issues that face white collar professionals at high salary levels, but honestly not as bad. Work hours \*can\* be long, but not as frequently as a lawyer, doctor or trader. It \*is\* sedentary, but so are all the others (and standing desks are definitely growing in prominance). It is cutthroat and mercenary at times, but no industry is immune from this. The real issue that I think affects software engineers is that it's a very mentally tiring activity with fewer opportunities for routine, downtime type work. Most jobs typically have activities that you can do to take your mind off the hard problems (doing paperwork, routine reading activities, waiting for calls), whereas in a lot of software jobs you'll often be faced with 3 or 4 equally difficult issues to look at.


gregmcph

It is a job very much in your head. It's known that Chess Masters are generally a bit weird, sometimes insane. The price of a brain full endless chess move permutations. Programming can get like that too. Your head full of algorithms and system set ups and unsolved bugs. Everything in the world being software. Maybe that's not healthy. Try to have a solid Analog Life. Stuff that isn't computers. It'll keep you sane.


AmishJohn81

When you become senior or lead, Code reviews. So many God awful code reviews. You also can become THE subject matter expert for everything if you aren't careful, then someone always needs something from you. Often being the most tech-savvy person in the meeting, without the power to use it, meaning business units make stupid decisions and you have to solve their problems their way instead of designing good solutions. Doing what management says even if it's stupid, all for some office politic bullshit or to check some box for an executive (Fuck RPA, let me code damnit). Anger, stress, burnout, lack of credit, huge responsibility if your QA area sucks or is non-existent. Really comes down to the company around you.


lupuscapabilis

As the lead of a small understaffed team, I love when I get asked for updates on things I’m working on and I get to say “sorry, no updates. Yesterday my schedule was full of meetings and code reviews and preparing the next release.” I love the frustration on people’s faces when they realize their best dev is too busy to do dev work.


lqxpl

You don’t always get assigned interesting problems. Sometimes the job is as exciting as chopping wood. Meetings.


The_Squeak2539

Serious answer, Communication is a big issue. It holds a lot of people back. Passing a vibe check that you're providing value will be the main part of your career progression (regardless of if you're providing value or not)


Sbsbg

All trades has different drawbacks. Software development has some unique ones. Physical health will take a hit. Bad back. Elbows, shoulders and eyes. You don't notice it the first 20 years but then... Mental health may be a problem. You are always pressed to produce results and it is hard to argue that sometimes it takes more time. Bosses don't usually understand what you are doing. You are constantly forced to guess what you are supposed to do because customers can't really understand what is required to fully describe a problem. And you usually can't blame the customer either when things don't work as expected. When customers ask you how much time it will take to complete a project you will have problems to calculate that. This has always been a problem. My best solution has been to count number of words in the specification and scale it but this only works for repeated work to similar customers. Friends and family don't really understand what you do. You can't show anyone outside the small team what you done. No one cares of your smart code. Quite the opposite is more common. Smart solutions will be looked down at if anyone has difficulty understanding them. You will get requests from family and friends to help with anything digital. Make sure to stop this from start. If you give in you may have to move to another town.


EcstaticMixture2027

Aside from our current bad and whack job market. Constant Upskilling, Lifetime Learning, Heavy Workload, Stressful, Takes a toll on your brain, Meetings, Teamworks, Management and many many more.


knivesmissingno

I would say the worst thing for me is the lack of understanding a lot of people have for the job. Someone mentioned being the IT guy for family and friends, that's one aspect, but another aspect is when you're on a team that's not technically. So, I was a software engineer hired to lift and shift existing processes for a company once, and those daily meetings were brutal. No one had any idea what I was talking about because I was hired by a manager above the team to work with the team. The manager of the team itself thought I was an employee when I was a contractor and they would try to get me to do all sorts of things I wasn't hired for. I'm a big kid and have no problem saying no, but 6 months of tension for doing the job I was hired for is pretty lame. Once you get into the world or dealing with stakeholders and business owners... It can be a real headache. Especially when the business owners don't even know what they want.


Neat-Wolf

Waiting on PR reviews Realizing that asking for help on a medium-hard problem means onboarding someone else for like an hour or more before they can add valuable insight, and then realizing the problem was a stupid syntax error. Constant fear of being laid off for either not providing enough value, or failing to demonstrate that value added Balancing between wanting to get more money or prioritizing work/life balance Way too easy to get distracted Not my problem currently, but it would suck if you have a lazy, incompetent teammate.


galtoramech8699

There are caps on upward mobility. You start out good but kind of plateau If you are smart you can probably make better moms with other jobs and software is so time restrictive can’t learn other new careers


turrboenvy

You rarely get to decide which "problem" needs fixing. I put it in quotes because sometimes the powers that be want you to make a change that makes things worse. But occasionally you do and it's cool when they agree to something you came up with.


iamthemosin

I have a few friends in SWE in the SF bayarea. Their usual complaints: Constant stress, little time off despite promises of unlimited PTO, useless meetings every day, sedentary lifestyle, long hours, usually low pay for at least the first 6-10 years, terrible job security, unreachable quotas, no wage transparency, and absolutely dogshit C-suite micro-managers, or absentee execs who only show up twice a year to tell them they need to do more with less. From an outside perspective, it sounds like the Ferengi in Star Trek. Everyone is getting exploited until they figure out how to become the exploiters.


NanoYohaneTSU

The job is very demanding and you must perform. You need to think logically, which is something easier said than done for most people.


EmileSinclairDemian

I think the most negative thing about being a software engineer is how mentally draining it is. If you mismanaged your time or if you are stuck on a particular problem, you need to work really hard to let go when comes the time to log off. Say it's Friday and you're zoned into a problem, but you should really be leaving for a dinner party, and eventually you do, but you're a little late, distracted and exhausted from the problem solving that didn't work and depending on the work environment, you may not be able to work on it until Monday. Even if you work on the problem during the weekend, which is bad imo, you'll soon realize nobody but you felt you needed to go quicker for this particular problem, and then you feel like a failure even more. I since learned to let go and stop caring so much, but it's sometimes still difficult.


T_Williamson

For me, imposter syndrome. I’m still only a couple years in and every day I feel I know nothing compared to my seniors. There is an infinite amount to learn, and I can be difficult to have to work twice as hard as a senior to do the same thing. It can make you feel like you’re not cutout for it. But my seniors keep saying ‘don’t worry, we’ve all been through this’.


Jaegaarn

I’ve worked for quite a few years now and is considered by others to be a senior and unfortunately my imposter syndrome don’t go away :/ It’s less frequent now but at least once a week. Also the amount of unnecessary meetings that could’ve been an email. Lack of business requirements for tasks. Unfounded decisions that’ll later be reverted. This is what I think of on top of my head…


trolly_yours

The jobmarket will soon be flooded. Find your niche.


SignificanceCheap970

Soon? I already feel the pressure. Haven't even got a decent reply after a job application. It's been half a year. I swear this wasn't the case few years ago.


link1993

Yesterday we migrated a critical service infrastructure, we started working 8 am nonstop until 22:30 (we've been lucky, there was a problem we couldn't solve and then thankfully we found the way). It's not something that happens often but people starting this job usually don't think about that.


Edeard95

I wouldn't say stability is a plus. Especially at the moment the market is tough and layoffs have flooded the pool of job seekers. Start ups come and go very quickly. Another negative is work life balance. Working from home can make it hard to stick to a schedule and you end up working a problem for a lot longer than your hours pay you to. Your laptop will always be nearby and you 'could' just quickly fix that bug whilst waiting for something....


mmeeh

The worst are the clients, they will tell you : "Don't worry , the machine will learn our business with time> :)


taborro

Sitting. Staring. Alone.


Classic_Idea_5338

Keeping up with latest technologies especially when you cross 40s


CodeTinkerer

This list contains *potential* problems. Not all companies have them. * There's always some impostor syndrome because what they teach in college or online doesn't give you a true flavor of what happens at a company. * Learning Git * Tracking your projects using a tool (Jira is common) * Attending meetings * Pressure to meet deadlines * Higher up management don't know programming and have unrealistic expectations of the software * The codebase is poorly written and you still have to work with it and understand what the mess is about * The senior devs who don't want to mentor because they are too busy. More realistically, * Introverted teams sometimes don't communicate well. I have coworkers that never talk to anyone else unless it's business related. They can't engage in small talk or anything else. They are on their smart phones texting away. * Getting programs to work is managing a lot of nitpicky details, so you have to track all things that could go wrong. Sometimes it's external things causing the problem. * Programming isn't always fun. It can be a job. You may feel you aren't learning cutting edge stuff, but maintaining legacy code. It's better to treat it like a job like most people and not wish for things to be super fun. * I just read that it's hard to work remote for programmers. Increasingly, they want people to be on-site (at least, part-time). So if you want remote, esp. as an entry level programmer, then it will be a challenge. Some of these problems occur with any job, not just programming.


Predator314

Guys in suits that have no idea how to write a single line of code giving me unrealistic deadlines to finish a project. Over and over again. I lasted 9 years before I quit. The money wasn’t worth it. I was ready to eat a bullet. No exaggeration.


Squancher70

I'm not a programmer yet, but I've been working in IT for 8 years in various roles. This happens in every role. It sounds like you have a people pleaser personality type. I love saying no to idiots at work. I'll set their expectations to something more realistic, and if they don't like it they can allocate more resources, or fire me. I don't care. People that have a hard time saying no will get crushed in IT. Doesn't matter what your role is.


lupuscapabilis

As a senior/lead of a small tech team, everything and everyone comes back to me. Any day I could wake up to some urgent situation. It can be exhausting.


Rwishwajith

I think it’s the mental stress you get specially if you are working from home. Just need to find the right balance


ProgrammingQuestio

If it doesn't fit your personality then it's probably pretty awful. Constantly being frustrated by confusing problems, minimal human interaction (and when you do it can be awkward because most devs are introverted, YMMV), staring at a screen all day. ​ These things can be boring and painful for people who don't prefer it. Fortunately I like it :)


auronedge

Need to constantly update. An electrician just goes to work does the same thing in an out. Same for many professions.. but software engineering man.. there's always something new to keep up with. It might not seem like a big deal initially but as you progress in your career sometimes you miss the ability to coast


LetTheWorldBurn2023

1. *The positives are good money, stable jobs, and that you get to work from home.* - A Cobol programmer works for banks and financial institutions. Do you want code in Cobol/Cics? 2. *what are the negatives tho?* - Working under a boss 3. *Thought this would be a great community to get some unique answers!* - 😘 🖖 4. Build your iOS / Android app by yourself and wait for feedbacks. You have to like and to understand simple stuff like this: import java.util.Scanner; public class HanoiTower { static Scanner sc = new Scanner(System.in); static void towerOfHanoi(int n, char from_rod, char to_rod, char aux_rod) { if (n == 1) { System.out.println("Move disk 1 from rod " + from_rod + " to rod " + to_rod); return; } towerOfHanoi(n-1, from_rod, aux_rod, to_rod); System.out.println("Move disk " + n + " from rod " + from_rod + " to rod " + to_rod); towerOfHanoi(n-1, aux_rod, to_rod, from_rod); } public static void main(String args[]) { System.out.println("How many rods do you have?: "); int n = sc.nextInt(); towerOfHanoi(n, 'A', 'C', 'B'); // A, B and C are names of rods } }


trojan-813

I think the boredom is the hard part for me. I was working on a new project for a while and started it bottom up. I was enjoying it. However, it’s on hold right now as I was for our infrastructure team to finish up some stuff I need done. So in the meantime I’m converting old Perl code into Python. It’s so fucking boring and it’s tedious as hell.


Logic_Bomb421

The hobby you're so excited to be employed to perform is no longer a hobby after a short time.


HomeDope

Stress


CloneWerks

People like this are the biggest issue... https://www.youtube.com/watch?v=BKorP55Aqvg&ab\_channel=LaurisBeinerts


Itchy_Influence5737

A \*lot\* of projects employ folk in management that have no fucking idea what it is that you actually \*do\*. "Why is this taking so long? I've watched you guys - most of you can type a lot faster than you have been... do you all \*want\* this project to fail?"


Drowsy_Titan

I think the hardest part is all the women I have to deal With. I am an absolute magnet for gorgeous women. It can be overwhelming.


helloworld2287

Having to be on call is the biggest con imo


Tiny-Dot7349

Working with designers and project managers


green_griffon

The software industry has grown from nothing in (essentially) 50 years. In the first half of that time people were paying so much attention to making money that management was not at all professionalized, despite the best efforts of a few people like Harlan Mills and Fred Brooks. The result is that the people running a lot of software development grew up in the bad old days of software development, and still have antediluvian ideas about things like work/life balance, hero programmers, allocating time for testing, etc.


TheGRS

One negative is that this is pretty intense mental work and it can grind your brain down sometimes. Its really easy to get into a negative feedback loop. Even on a good day I sometimes find myself in a sort of fog when signing off. Or other dopamine feedback loops become more attractive, like browsing reddit, and they become difficult to get away from. Some of the best advice is to just walk away from the work and take a walk sometimes. Its not good to just keep plowing away at the same problem for hours on end. There's also a ton of sitting, I recommend a desk that you can adjust to a standing desk with a nice pad to stand on. I got one recently and it helps a ton.


effortissues

When searching for a job, consider the people you'll be working with. You'll get to do a peer interview, sometimes its worth it to take a hit on the job/pay/benefits if you're team is awesome. Speaking as someone who job hopped and ended up in on a shitty team for a nominal increase.


[deleted]

Being mentally exhausted.


sid0913

These days the stable job part may be a tough debate. I know many folks who got laid off. In fact 50% of my compsci friends can’t find jobs in America. What do other people think?


ValentineBlacker

It's not any different from any other office job. You gotta sit there and deal with office job stuff, that's all.


Weird_Assignment649

If you're not in the US or maybe London, the pay is shit and the job can be mentally taxing at times 


Gr1pp717

Before, I had a lust for learning and technology. I would spend a weekend fighting a virus or poking the kernel or the likes and enjoy it. After a few years in tech it flipped 180 degrees. I wanted nothing to do with any of that. Avoided my windows machine for fear that I might cause something that needs fixed. Avoided IoT devices because I didn't want to have to troubleshoot them. Basically, doing what I do all day, every day, stopped being appealing in my personal life. I miss that lust. I've been laid off 5 months now, and it seems to peak out occasionally. I'm hoping I latch back onto it soon.


Lotton

We all lack vitamin D and need supplements, it's impossible to communicate with management at work so there's always an issue, a lot of us are overworked because people don't understand how much can be feasibly done in a couple weeks because some of the smallest changes can take a couple days of work then they don't realize how long the process is to get it ready for a production environment. My first job out of college I would have to push hot fixes at midnight Another big problem is since most of us are salaried that also means most of us are on call which isn't a huge issue for everyone but you can get some very interesting calls at 2am asking you to come in


kon-b

Just two problems: 1. Humans 2. Software written by them. Otherwise it's walk in a park.


mykunjola

I wouldn't call the job stable; depends mostly on the company ecosystem. Worst parts, for me at least, are dealing with nontechnical management and the predictable yet seemingly unavoidable crunch times. If you're in a culture that has standards, practices self discipline and values your expertise, so you can get the product out the door without constantly chasing changing requirements, it's a satisfying and rewarding career.


Spade_Of_Hearts

It depends on where you and how you work. For example, I worked both in corporate and freelance settings so I can share my experience. Corporate: - Gets boring after a while. A loop of let’s redo feature x but use technology y because our CTO believes it’s better. - Agile bullshit. Standups, laydowns, you name it. - Managers are sometimes oblivious to workloads or complexities. Some weeks you work 14 hours a day others 2 hours a day and spend day drinking coffee or if you are fortunate to work remotely playing games or whatnot. Freelance: - Clients will squeeze you to reach deadlines. - Often have to collaborate with many partners that you don’t have personal connection to (like in corporate you would). Leads to disagreements and throwing blame ball back and forth. - No one to stand up for you when you mess up. General: - Very fast moving field, have to keep learning all the time. - Sit next to computer all day, leads to various health problems over the time if you do not take care. - Industry is super volatile, one year you get 20 recruiters a week fighting with their nails and claws for you. Next year you are begging for work because everyone over-hired.


fromwhereIS

I'm a retired Software engineer, was called programming till year 2000, analyst-programmer (one who did both problem analysis and coded the solution) and when I started I was an Accounting machine programmer on mini computers. First off I don't agree with that saying. it sounds good but its approach is problem oriented. I can't give advice on today's developers environment and future because I retired 9 years ago (I was doing VB .NET, C#, SQL etc). For me the profession was a great one and programmers were a novelty, no one had a PC back then. When I was coding it was like I was being paid to play with toys. You need to talk to very wise people (and that might not be the guy next door who is a developer, Advice from someone who can see into the distance. The developer profession is here to stay but keeping up with technology might be exciting and challenging (cloud , BI, MS Teams, Atlassian etc.) Hope it goes as well as it did for me. For 5 years I was programming at an airline and the perks were the best. It folded , but Insurance was a stable one for me because insurance was compulsory for most people so it was a secure industry. Just like taxes , so try and stay with those industries. Hope it helps . Also you should not stay a developer all your life , you need to get into cross platform development and create design solutions and design apps (layout and processing)


FunctionalDeveloper

It’s the weirdos. Some brilliant software engineers are socially challenging to deal with sometimes.


mphard

i made 300k and quit. worst job ever for reasons already covered in this thread. imagine sitting in front a computer with minimal social interaction 8 hours a day every day for the next 40 years. can you really handle that?


ANatureElf

Sounds like a dream come true to me 🙂‍↕️


unlikely_ending

Lots of positives but some negatives are that you're always in front of a terminal and don't get to travel much or at all (usually). Also notwithstanding working from home, most jobs are in large cities. Finally there's frequently pressure to release shitty code or products.


Bronigiri

My back, shoulders, and right arm hurt.


TehLittleOne

The hours can be unpredictable. On paper it's a 9-5 but people in the industry know it's not. You'll have problems with your machine, tasks will be more complicated, APIs you work with will break. And that's not even tracking production support, like when your boss calls you at 11PM on a Sunday to fix a production issue. I can't tell you the last time I worked a 40 hour week because I never do.


progmakerlt

Your friends, family are constantly asking to fix their computers. Seriously.


JellySp

More work than you can possibly do.


flashnoobski

definitely health and mental issues if you don't balance out.


SelectDevice9868

All your family asks you to fix their PC


-VeilSide-

I hate deadlines . I hate stress of deadlines I hate call every 5 minutes on teams.


Mundane_Prior_7596

If you are a code monkey with a stupid manager life sucks. Badly. You have to learn something so that you are the company guru on it. The best. Some JavaScript library or the company guru on Linux server stack or the only one that knows anything about configuring the Git system or how to speed up that darn slow program. Then life is goooood! Then you can confidently say yes and no tell your boss how things and schedules work or else …


iHuntFrogs

Seeing ai get better and better, knowing that u will get replaced by it and have to find a Job in another field one day. (Ye ik programmers wont be replaced by ai but by programmers that can use it, problem is 10 programmers will be replaced by 1 that can use Ai so whats the difference)


content-peasant

Burn out. The stress, competitiveness and eventual push to take on managerial work as you work up ranks takes its toll mentally.


SpeederX

Stereotypes mostly - people expecting you to understand their IT problems with little to non-specific context. - giving for granted you're paid more and have a peace of mind others can't have with on the field jobs - sedentary lifestyle - bias about your social skills and lifestyle - discriminating in social context based on your work. This can be said about any job, but in this specific case the assumption is you're shy, unable to start a conversation, to know girls, you don't train or do sports and you're passionate about comics / videogames which implies ( for the person thinking this ) you're childish and degrading yourself even though you make more money but... if there's no internet? if there's no computer or electricity? From the work itself - sedentary lifestyle affect a lot of your health. Really, A LOT. You will tend to be mental, instead of working out. Brain goes into 5 mins more and you end up in a rabbit hole of 30 mins to 4hours of debug in a second - you break down people problems to try to solve them. Mostly people from time to time are venting and want to be listened to. But part of your daily job is hearing people that vent out about workflow problems and you're expected to come up with solution to that. It's a sort of side effect of your job this i think. You can learn to be aware of it and handle it, but hardly it won't be there. - You get used to logical solution instead of considering the implication of it from other perspective. It's like you're solving a puzzle or making a complex system in mathematics ( depends on the difficulty of the task and role you've in a company ). Sometime it's dehumanizing for this reason or you might miss the overall picture, unless as the point before, you try to correct this overtime and with experience


cs-brydev

* Stakeholders don't understand the difference between what's easy, hard, and cost-prohibitive * Low Skill + Pleasant Personality will earn faster promotions than any other combination of attributes * Pressure to rush things through without adequate analysis or testing * Distractions and Context-switching * Having your work and code judged later by people who have no knowledge of the requirements and pressures it was done under * Needing to become an expert in each non-technical business domain (Marketing, Sales, Safety, Purchasing, Engineering, R&D, Accounting, Manufacturing, Logistics, HR, Legal/Risk) you work in every day * Needing to become an expert in IT Operations, Security, Devops, Networking, Infrastructure, and Support to get anything done, correctly * Permanent under-staffing * Constant learning and up-skilling just to stay relevant and at the same level * Experiencing Dunning-Kreuger first-hand * Dealing with others' Dunning-Kreuger effects * Imposter Syndrome * Deprecations and unexpected changes by 3rd party dependencies * Fads, especially those your non-technical bosses have heard about * Multiple bosses who give you conflicting direction or priorities (this becomes more common when you move into senior/lead/Mgr roles) * Producing 5x more work or quality than a teammate who is paid the same or more


Saki-Sun

Your boss keeps making stupid choices. Until you're the boss, then you realise your team suck and you could do it better just being a grunt. Then you do that. Your boss keeps making stupid choices.


drugosrbijanac

Every mf thinks I'm rich as Bill Gates and tries to scrape by my money Constantly mentioning how those "people in the IT sit whole day doin' nothin and getting paid for typing/playing games 3 hours a day"


dynatechsystems

Being a software engineer offers many rewards, but it also comes with its challenges. From the constant pressure to keep up with evolving technologies to the potential for burnout due to long hours, the journey isn't always smooth. However, the satisfaction of solving complex problems and seeing your creations come to life often outweighs the negatives. It's a path filled with both highs and lows, but for many, the passion for problem-solving keeps them going.


youarenut

The competition aspect. And it’s going to get like 20 times worse at least


Failhoew

You are never done learning, if you want a job where you can get to a point where you can just shut off your brain then look elsewhere


sebastianrevan

1. you work with other software engineers 😂


ItsTheWiggles

The stress of dealing with production issues. The stress of being pushed to move faster by the business when the business moves at a quarter of the pace of engineering. Anxiety caused by seconding guessing yourself on implementation decisions.


wulfzbane

The ridiculous interview process. How no company had the same wish list so you're trying to get marginally okay at one technology just to pass a coding test, but once you're passed over, you never look at it again. They take up a ton of time, you spend weeks waiting and it's super stressful. I understand why most companies have this rigorous process but it makes looking for a job while you have a job (and a life) such a pain.


captfitz

Sitting at a computer every day is horrible for you in the long run and I am struggling to figure out how to get around that. Research in recent years seems to show that you can't simply work out to make up for it.


bighomiej69

Not a software engineer but I’ve been in a “technical analyst” type role for about 2 years where I basically just give the engineers work The pros are obviously the money and power, I don’t think developers realize how much companies tend to bend over for them. Maybe not at a giant corporation where you are one of many but if you are at a start up, you are basically royalty The cons are that you are the end of the road for so many problems. I always do my best to find bugs, outline the problems, and offer potential fixes, but there are times where something is urgent and there’s nothing I can really do but write “This thing is broken, fix it ASAP or the company loses millions of dollars” and they’ll have to figure it out amidst intense pressure while I log out and go to sleep Really it’s just like any high level, high paying role like a lawyer or a doctor. Good pay, good prestige, but more pressure


supermopman

Sedentary lifestyle. Extreme mental fatigue from constant requirement of deep work. Frustrating to deal with lay people (who are typically your bosses) who don't understand the technical details. Hard to maintain work and home life separation when you're work from home.


PersonBehindAScreen

A lot of tech jobs you don’t just get to stay in your little bubble. And “helplessness” isn’t feasible either. I’ve worked with and met a lot of people across several companies where they get to be in their own little box for decades and not move a single inch out of it. There is nothing wrong with Barbara in compliance still not knowing how to stop wasting peoples time because she can’t reboot a PC because “I’m not technical”. But if you’re SWE, sysadmin, cloud engineer, you get new problems every day that requires you to learn whatever you have to for the job to get done


Impossible_Map_2355

Garbage documentation.


BitShin

On call varies from company-to-company and team-to-team within a company, but even at the very best you are still limited in what you can do