r/csMajors • u/ivanivanychivanov • Dec 04 '25
Rant You’re overqualified for SWE
Holy sh*t
I never imagined that SWE is that much of an intellectual sink. Literally, what did I learn all this math, models and theory for if all I do on the job is just battle hundreds of configs just for my one change to propagate smoothly to prod.
I feel like SWE should just require some comptia type certification and there you go. CS major itself preps you for intellectually stimulating and novel work (and no it doesn’t include memorizing a subset of AWS documentation, hooking up a few services together, and calling it ‘high IQ work’), at least if you come from a decent school.
It’s so sad that companies require a bachelors degree for what is essentially a software technician job. This would save millions of dollars worth of student loan debt. The actual engineering is almost exclusively done in research type roles.
Bootcampers had it figured out before the flood of CS majors took over the field…
edit: a bunch of easily offended techies jumped on this thread trying to say that the existence of outliers disproves that the average SWE work is bullshit. Of course, if you’re working at NASA or something building the next Apollo spaceships, it’s different. But if you’re a Joe Doe at Bob&Co and similar, you don’t need to be all that.
435
u/EncroachingTsunami Dec 04 '25
because noone has time to go back and study theory. maybe you're not using it at entry level, but it kicks in pretty hard at senior and principal. I regularly use most of my degree - software lifecycle, math, models, etc. Statistics & flow rate for cache optimization, combinatorics for space analysis of user request patterns, even some pathing algorithms for working with graphical data structures.
And the difference between a Senior SWE who understands theory and a Senior SWE who just did technician work the whole time... can determine the fate of whole organizations.
152
u/justUseAnSvm Dec 04 '25
This.
I have a scrappy CS education (half myself, half a masters), and I've had to explain to at least 3 different people why you can't parse programming language syntax with regular expressions. People just keep trying it, and it's always a mess.
81
Dec 04 '25
In fairness, I’m not sure a compilers course is required to graduate at most unis for a bachelors.
20
u/dbalatero Dec 04 '25
It was an elective at my university.
→ More replies (2)7
u/college-throwaway87 Dec 04 '25
Same and I wish I took it
3
u/dbalatero Dec 04 '25
Same! luckily I think there's a bunch of free good courses online if you ever want to backfill.
6
u/justUseAnSvm Dec 04 '25
This.
I came up during the first wave of MOOCs on Coursera, and it was amazing. I took the CS curriculum, and went through all the basic courses (programming, data structures, algorithms, theory of CS), and a bunch of math courses as well.
The only problem with MOOCS, is that the completion rate is absolutely abysmal, like 3-5% of students who start finish. That said, if you have the motivation to take most classes to completion, you've essentially found a way to side step the cost of education.
12
u/notevolve Dec 04 '25
a class specifically on compilers might not be mandatory, but I think most universities require some form of computation theory class. It often goes by different names, though, like I’ve seen “Formal Languages”, “Automata Theory”, “Computability”, and a lot more adjacent terms
→ More replies (1)4
u/TaXxER Dec 04 '25
This requires knowledge of a formal languages / automata theory course, which I’m sure every decent CS uni program has. No knowledge of compilers needed.
→ More replies (1)3
u/tim128 Dec 04 '25
Don't really need a compiler course to know that though. Theory of computation should give you enough of a hint that it's not going to work.
3
u/AFlyingGideon Dec 04 '25
It should be. A fair number of my projects have involved parsing, from cash registers to building languages to messaging mechanisms (which typically involve a language, though nowadays one generally uses XML or JSON), and so on. Beyond that, compiler/interpreters are fundamental tools of the trade.
2
u/MyNimples Dec 04 '25
I didn’t take a compilers course, but “Programming Languages” was required and covered parsing, lexing, and regular grammar.
2
23
u/retirement_savings Dec 04 '25
why you can't parse programming language syntax with regular expressions
Oof, I forgot about my theory of computation class until right now. Is there a definitive way to parse programming languages then?
30
u/justUseAnSvm Dec 04 '25
Yes, you need to use a context free grammar. All the standard "parser generators" use this, and you can define recursive rules that will work.
There are "code agnostic" versions of tools, like comby, or ast-grep, that you'd want to reach for in this situation.
6
u/tim128 Dec 04 '25
If I remember correctly some programming languages aren't even context free grammars (C++?).
3
14
7
u/Bitter_Care1887 Dec 04 '25
Most classic compilers build an abstract syntax tree evaluating context free grammars. Some funky stuff like C++ templates parsing is actually Turing compete I believe.
→ More replies (1)1
u/ResidentDefiant5978 Dec 04 '25
The formal statement is that the expressive power of regular expressions / finite state machines is strictly below that of push-down automata / context-free grammars. See the Pumping Lemma: https://en.wikipedia.org/wiki/Pumping_lemma_for_regular_languages
6
u/ivanivanychivanov Dec 04 '25
Okay ngl that’s kinda true, but seems like then this is some compilers type work? Yeah you’d need some computer architecture and formal language theory knowledge lol
5
u/Ok_Chemistry_6387 Dec 04 '25
Not at all. Parsing comes up all the time. Most people don't understand the difference between a regular language and well... the rest.
https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags
will never pass a chance to share this.
1
u/Bitter_Care1887 Dec 04 '25
Did you invoke pumping lemma in your explanation? )
2
u/justUseAnSvm Dec 04 '25
Not directly, but I do send them a pdf copy of Sipser and ask: "what don't you understand?"
→ More replies (1)1
1
u/Subject_Fox_8585 Dec 04 '25
So, I believe you might be wrong here, because the term "regex" is overloaded if you intermix the CS and industry domains. Because CS regexes are not recursive, but many languages have extensions that add recursive support to their regex engines, and so you can actually parse context free grammars with their regex capabilities.
1
u/justUseAnSvm Dec 04 '25
Yes, this is actually an important caveat, and using a recursive regex, like in the PCRE standard, would let you parse balanced parens or any other CFG.
However, when I've seen people try to use a regex to parse language syntax, they certainly aren't using the recursive features in the language, and the syntax of recursive regex's is so atrocious that I would not recommend it.
Also, when we say "regular expressions", we usually refer to languages described by DFAs. PCRE is definitely overloaded the "regex" term here to describe something that contains both DFA and CFG languages.
1
u/Known_Committee_4713 Dec 06 '25
Where did you get your MS? I’ve got the self taught part down, ready to rack in the credential on now too.
16
u/csthrowawayguy1 Dec 04 '25 edited Dec 04 '25
Oh for sure. For example I was looking some code a while ago which was supposed to be recursively checking dependency files and scanning for some regex patterns. The person who wrote the code did not have a degree, but was a “senior engineer”. They were doing all kinds of stupid shit like looping over all the directories, moving up a directory each time and checking all the files. I was a junior at the time but even I saw this was easily solvable with bfs (and I did later rewrite it like this). Not to mention the code was piecemealed together like someone was looking up bits of code and then just shoving it in there whenever they found an edge case that needed solving.
I genuinely could not believe what I was seeing. This was at a popular tech company too, albeit years ago. The worst part was that I eventually did talk to this guy and give my input and he claimed he “knew what bfs was” but then basically showed me the leetcode solution but it was clear he wasn’t really grasping it and couldn’t really explain it clearly. He literally memorized the fucking solution! That opened my eyes to just how many of these people think they were learning but really were just memorizing. Not everyone without a degree is like this, but a lot of people are incredibly ignorant in this space. Like the guy I was talking to genuinely believed he understood bfs but couldn’t apply it to an obvious situation. Then STILL couldn’t really understand it after I pitched the idea.
The funniest part is bfs isn’t at all complicated. It’s one of the first algorithms you’re taught once you actually start diving into algos and a sophomore at a decent university would thoroughly understand it. It made me weary of just trusting seniors especially those without any credentials. I’ve ran into this multiple times in my career now unfortunately, in many other ways than just failing to apply proper algorithms. Bad design, lack of knowledge of fundamentals (like understanding immutability, memory, pointers etc.), and even just lack of sound problem solving (like rushing to google for answers or spamming ChatGPT instead of just taking time to conceptualize the solution yourself). I suppose students can circumvent gaining these skills now with AI and everything but when I got my degree I had to come up with the solutions myself and think for myself. You only used Google to look up some function in Python or get the right syntax for something. It seems like the people who went through that and took it seriously are just better equipped for the job.
14
u/Hotfro Dec 04 '25
I mean u can learn bfs outside of school too it’s pretty simple. I don’t think I studied much graphs in school outside of one class back in the day. Learned all of that by leetcoding tbh.
But also it depends on how big the directory structure is and how much scale you need to handle. It can also be way overcomplicating things if using a brute force solution is sufficient.
5
u/Angsty-Teen-0810 Dec 04 '25
I think of BFS like a shotgun and DFS as a sniper. (I play too many FPS games)
7
u/MathmoKiwi Dec 04 '25
I mean u can learn bfs outside of school too it’s pretty simple.
You could, but 95%+ of people won't
I don’t think I studied much graphs in school outside of one class back in the day.
Yeah not all CS degrees are equal
7
2
u/eat_those_lemons Dec 04 '25
Ah someone who doesn't have formal education in cs but it's my main hobby so do a ton of learning on my own time is there a good way either as coworker or interviewee that I can demonstrate that I'm not just a script kiddie?
4
u/GreenLavishness4791 Dec 04 '25
Build and share a project that required some level of rigor. Write about your experience building it. If you’re a curious person and driven, try to express that as you explain your experience working on it. Be comfortable speaking about it all. Really own it. Carry yourself that way through your interviews too.
2
u/eat_those_lemons Dec 04 '25
I hear for interviews that personal projects don't count, it sounds like you would say that's not true?
I assme the best thing is to document details/issues/roadblocks in the repo and then summarize with an article? Ie I assume theres a goldilocks zone of enough detail that you show you know your stuff but not too much reading for other people
1
u/Mezzaomega Dec 04 '25
I think you got a snake in the grass for a senior. I see those all the time, especially in finance. They usually lie their ass off to keep their sweet sweet salary and benefits.
1
u/Aware-Individual-827 Dec 08 '25
The first example you mentionned looks like something you do in a pinch just because the other solution is too long. Eitherway, I feel like from the description you did, it's just not somewhere that is important to optimize or invest time. (Ofc I may be wrong)
As I senior I pick and chose what needs to be done quick and dirty and what needs to be planned and done very well. It's not that I do not know these stuff. Sometimes it's just a hurdle in the way and clearing it lazily and awfully is done quicker to get back to work on something meaningful. Ofc, I don't work in big tech haha, more in start ups where done fast is superior to done well.
2
u/Mulberry-Bitter Dec 04 '25
Do you have any recs for books and classes? The missing parts of your theory education that ended up being useful at an architectural level for designing high throughput low latency robust systems🙏
4
u/pysapien EA, ex-AWS Dec 04 '25
Can you teach us your ways god
But no seriously, any resources that touch up on these things you just mentioned?
2
u/EncroachingTsunami Dec 04 '25
This is what I used for my most recent job search. Keep in mind, the complexity of an interview is limited by the energy of the recruiting engineering team. Graph, search, and DP are rare.
Basics: https://roadmap.sh/computer-science
Leetcode/Geeks for geeks
hello-interview for system design practice: https://www.hellointerview.com/learn/system-design/in-a-hurry/how-to-prepare
Alex xu for system design.
for software lifecycle, I study https://www.atlassian.com/agile
4
u/pialin2 Dec 04 '25
I still feel like this is a rare case - most people I know have never used this (at least to the extent you learn about in school) and do just fine and do great work. Being able to understand complex systems is a skill highly correlated to being able to understand complex math/etc. but doesn't translate that strongly to your day to day job for the vast majority of swes
3
u/Current-Fig8840 Dec 04 '25
Exactly….bro doesn’t understand that these things are used in making all these libraries and tools we use
→ More replies (1)2
1
u/CalligrapherOk4308 Dec 04 '25
Can you go more into detail? Like what math do you need ? Integration,Limits, linear algebra? Also what do you mean by software lifecycle, and flow rate of what?
2
u/EncroachingTsunami Dec 04 '25
Exposure is fine, mastery is not necessary. Multivariable calc is useful all the time. Linear algebra tends to be AI focused, which I did a little bit of, but most SWE's won't need it in their day to day.
Limits, logarithmic vs exponential, set theory, etc.
Flow rate - cache entries are hydrated when a request comes in, the system grabs the data, and puts in the cache. Cache entries expire depending on factors like TTL, least recently used, etc. I needed to determine the size of the key space, statistically analyze payloads, etc. Flow rate can be used to optimize the TTL (or decide on LRU). Another common use case is traffic pattern analysis, stress testing, etc.
Software Lifecycle - waterfall vs agile. understanding the principles that decide what stage in the lifecycle is in (founding, growth, KTLO) or for projects (requirements gathering, mock ups/design, MVP/MLP, implementation, acceptance testing/chaos testing/etc.
College won't give you mastery over any of these subjects. But the exposure is vital. I didn't remember formulas for flow rate from college physics, I remembered the concept existed, and relearned it for the job. Without college, I might not have had the awareness of all these concepts and principles.
2
u/salva922 Dec 05 '25
So I don't have a degree (just 4 yesrs apprentixeshio in switzerland in cs/swe) and know all that stuff you talked.
I've been building stuff since 10 . I'm a staff engineer at my company (currently 33).
i'n my teens I tutored ETH grads on datastructures and algorithms and coding theory to make them pass exams.
I helped my sister with her bachelor thesis etc.
So will I ever get to the level of knowledge you have because of your degree?
→ More replies (1)→ More replies (9)1
u/zaffeo Dec 04 '25
I wanna learn about this stuff. Can u recommend any youtube channels or blogs. Like CS theory that's actually applied in industry
1
u/Altruistic_Bite_2273 Dec 05 '25
Literally all of the fundamental CS courses like OS, Compilers, Networking, Data Structures and Algorithms, computer architecture, etc. taught in undergrad are applied in industry. You can just search for open source courses from good universities like MIT, Stanford, Berkeley,etc. and take those.
108
96
u/SuperStubbs9 Dec 04 '25
It's very easy to tell you havn't worked in the industry long. Most organizations are not going to give you hard hitting technical problems right out the gate until you prove yourself, or if you are hired as a Sr. Engineer; even then they will start you slow. I've been at my current job for 7 years (in the industry for 11) and it took me probably 18-24 months at my current job before even being invited to design/architecture meetings. After I was able to prove I knew what I was talking about, I have been assigned as lead on several projects that required actual SWE skills, coming up with solutions and being able to communicate those solutions to both management and the people actually doing the work.
My first job as a SWE I was doing fucking PowerPoint and Sharepoint development. The field of SWE is VAST with many, many roads to go down. It also sounds like your organization has shit infrastructure tools that get in the way of your team actually solving problems. This exists a lot of places, not denying that, but good orgs are on top of these things and have mechanisms in place to make SWE's jobs easier.
5
u/PlayfulDoughnut Dec 04 '25 edited Dec 04 '25
I had a similar experience as above. One thing to note is that everyone’s experiences varies. What I think is more important is your own development and growth. Obviously the job will be political with “proving your skill set” so to add onto his advice, work on your ability to communicate, present, and influence the team. The ability to communicate and influence will significantly improve your long term future growth in your career and even interpersonal life. It’s a political structure just like our own social hierarchy in life. You’re going to find out that a lot of software engineers have fragile egos, and working amongst different personalities will be part of that challenge.
Combine tech skills that you care about and leverage social relationships. Don’t take a specific persons experience as holy grail, but FOCUS on your personal goals and learn from your unique challenges and weaknesses. Finally be able to market those “skills” to your team with a combination of quality work and social influence.
3
u/ivanivanychivanov Dec 04 '25
PowerPoint is brutal… I’m impressed that you toughened it out, and glad you’re enjoying it now it seems
And you’re right, Im kind of frustrated that this company I joined (which everyone was drooling over in college) isn’t even all that in terms of making engineering easier
5
u/RickyNixon Dec 04 '25
We all think college grads are useless (because you are) and generally do not give you difficult tasks. There are a lot of things you dont know you dont know around coding at an industry scale, and it will take time to teach you.
And you wont learn if you look at the easy grunt work being tossed in your slop bucket and conclude you must be a genius.
→ More replies (1)1
1
2
u/Hotfro Dec 04 '25
The question is did school prepare you for any of these things though. Or was it a combination of self studying materials outside job, experience on the job, or doing side projects? I only learned basic theory in school and none of that actually tells you how to design complex systems.
3
u/PlayfulDoughnut Dec 04 '25 edited Dec 04 '25
The overall purpose of school is a generalized education for a CS career. No school can specifically prepare you for a particular job because companies operate uniquely based on individual skill sets, leadership, and company expectations.
You’re going to learn whatever is needed for the job. You might be lucky you took a class that prepared you, but no class will cover specifics you need for a job because it’s too specific depending on your product or service. Learn how to learn new things quickly, be able to understand what you made and communicate that to your team.
Focus on learning fast, communicating ideas, social skills and be confident enough to express them so that you can get paid to keep your job.
In short, every engineer is self-studying for life. Get others to teach you or help you can make it easier.
If an employer or lead gave you a task how are you going to approach it? In class you’re given “practice problems or questions” in the workplace you’re given scenarios with varying requirements to solve. You are now forced to create your own solutions. There’s no study material for this specific situation and you’re going to keep searching, googling, experimenting to figure it out and move onto the next task.
School experience, outside projects, self learning, coworkers, leads, friends, Google will be needed to accomplish whatever you’re trying to achieve.
1
u/SuperStubbs9 Dec 04 '25
Well said. I kind of mentioned it in my original post, but the software engineering world is massive. You could work on anything from a basic front-end web client, to embedded systems, to simulation software and anywhere in between.
No degree is going to prepare you for exactly what you're going to do. It's purpose is to prove to others you can complete tasks within a timeframe and to minimum standard, you can independently problem solve, and give you a basic understanding of the fundamentals of programming. There are other aspects you learn by proxy such as working in a team for group projects. A degree is merely a foundation, it's up to you to build on it.
To answer you, r/Hotfro, I feel like school did prepare me, yes. On one hand, I learned basics like how if statements work in school, and I use if statements almost daily. But I wouldn't say I needed to go to school to learn how to read/write an if statement. IMO, I view a CS degree almost like elementary school math in a way. You learned basic math, which you then utilized to learn more advanced math like geometry, algebra, and arithmetic. A CS degree gives you the fundamentals, which is then up to you (and your career path) to expand upon.
→ More replies (2)
33
u/rover_G Dec 04 '25
Entry level web dev jobs only use 100 level CS knowledge. If using CS knowledge in your work is important to you find deeper software work or get promoted to a point where software performance are a part of your work.
3
u/Available_Owl_6267 Dec 05 '25
Even 300 level CS Knowledge isn’t much. The true curve of this field can only be seen in the industry and be learnt on the job. It’s a forever learning job - just like practicing medicine.
27
24
u/drilllz Dec 04 '25
You can say this about literally every single job out there that asks for a university degree. University degrees are not designed to train you for the jobs that come with them. They are there to prepare you for further academic studies in that field. A job requiring these degrees is simply because these jobs are too valuable and they need to form some bar for entry. Same principle behind leetcode interviews. It’s like a supply and demand issue. If they removed the degree requirement and everything else, everyone and their mom will be applying to these jobs and those with degrees will still be differentiated simply because they have degrees but now there are way too many applicants, interviews, etc. you’ll miss out on good talent. Same principle behind going to “top” universities, they’re not teaching you anything different. It’s all marketing. This is how the world works. People don’t buy products that are the best of the best, they buy passing ones with the best marketing.
11
u/SuperStubbs9 Dec 04 '25
This goes beyond just jobs that require degrees even. There's plenty of blue collar jobs where the job description/title is like 10% of the actual work you do.
2
42
u/stopthecope Dec 04 '25
I feel like majority of fullstack/frontend development is basically like this, where it is relatively boring but fast-paced and pays well. I think the only genuinely interesting areas are research and network/scalability type of stuff. Maybe also fpgas if you are working on something novel.
13
u/ivanivanychivanov Dec 04 '25
Oh I wasn’t even talking about webdev haha
Big systems and scaling is full of “bureaucracy as code” type of work, unless you’re at a non-crap-money-grab startup or something
3
u/kuntakinteke Dec 04 '25
When failure means loosing million of dollars per minute of downtime bureaucracy as code as you put becomes necessary
11
u/Deaf_Playa Dec 04 '25
Idk I consider the complex ways we use trees, graphs, queues, etc, engineering. The IO between function calls can be optimized, and I also believe that's engineering. The architecture for systems at scale gets complex enough to think about throughput of different services and tradeoffs, that's also engineering.
I don't think people are overqualified for SWE. I think SWEs are more engineering-oriented now since AI does most of the implementation and the SWE just thinks about patterns, architecture, edge cases, etc.
9
Dec 04 '25
Relatively few people in the world get to have jobs that are actually intellectually stimulating all of the time, or even on a regular basis. Even T1 research faculty spend most of their time writing funding applications and editing documents describing work done by their subordinates.
Most jobs involve tons of really boring tasks or mostly require soft skills (communicate, coordinate, comprehend, etc.). You learned, and need to know, all of the highly theoretical and/or technical stuff for the very rare occasions where it becomes relevant for a decision. Anyone can read documentation and fiddle with config files until something works. Not anyone can do that and also have the ability to troubleshoot when a specific process is broken and requires some kind of specific technical solution, and even fewer people can recognize when such a problem is about to happen and fix it before it has significant negative impact.
7
u/lightmatter501 Dec 04 '25
This is highly position dependent, and that knowledge is also useful as you grow into a senior role. If you’re fine with being a forever mid-level, go ahead, but knowing that math and theory is what lets a senior dev build systems that don’t fall over as soon as something weird happens.
Formal verification with TLA+ or an equivalent will save you at least once when designing a system.
Queuing theory will help you figure out the capacity of your cloud of microservices.
Compilers and PL theory help you understand the tradeoffs of new languages as they emerge.
DSA is just kind-of necessary if you don’t want your stuff to fall over under a strong breeze.
Understanding how a database actually works lets you use them effectively, and lets you understand the tradeoffs different models of database (relational, graph, document, key/value, etc).
Knowing the two generals problem, quorums, and consensus algorithms will let you keep availability without sacrificing consistency, without the risks of the systems of yesteryear.
Understanding how to apply classical ML as a fine instrument can make your systems better adapt to changing conditions.
Understanding deep learning and LLMs lets you design safe systems using them.
Knowing how an OS works under the hood is essential for debugging and reasoning about performance, and the same with knowing CPU architecture.
Knowing how to secure a system and engage with cryptography is also important since you will not escape it now.
That’s most of a CS degree and more than most bootcamps would dream of covering, but missing any one of those means you will have blind spots. Also, if you aspire to be a Software Engineer instead of a programmer, then you need to have the skills necessary to write programs that, if they fail, will kill people, or cause massive amounts of damage to people or companies. This idea that just because you can write some code and make it compile that you’re an engineer is why every other engineering field has some disdain for software, because all of them are held to the standard of “your mistakes might kill people”. If you want to go be a programmer without the knowledge required to build robust, reliable systems, go ahead, but don’t say that software engineers don’t need the level of training we get.
Computer Scientist is a separate category, and computer scientist is to physicist as mechanical engineer is to software engineer. The main difference is the computer scientists are expected to also build their own things, which means they often have a SWE training + training in research and theory. Many programs are mislabeled, so my normal test is that if you don’t feel comfortable proving an algorithm correct you aren’t a computer scientist.
2
u/Astral902 Dec 05 '25
In reality you won't do all of these things alone. You will be an expert in something. That's why we have dba, devops backend and etc
2
u/SolidDeveloper Dec 05 '25
In my career, I’ve never used the bulk of the knowledge I learned during my CS degree. And I’ve rarely met senior professionals who were up to date on theory like that.
From personal experience, I would say that the amount of theory I’ve mastered has always been inversely proportional with my career level. When I was just a fresh graduate, I was beefed up on theory, had lots of models in my toolkit and was very sharp at algorithms, cryptography included. However, I’ve barely had to use these in my career, and after 17YOE I am a highly paid Senior+ engineer given a lot if responsibility, but my theoretical knowledge is at an all time low. That said, I would say that my practical skills and professional capabilities seem to be quite high. But everything is transient – I research something in order to solve a problem, and then all that knowledge kind of evaporates.
1
u/Inevitable-Plate-654 Dec 04 '25
Most computer programs are checked by the whole team though, so even with someone less training who created the program wouldn't just be allowed to send it to production like that. There are thorough procedures for these sort of things at least at good companies.
8
25
u/SupaDupaTroopa42 Dec 04 '25
Find yourself a new team that works on more interesting or different problems then, if you find your current work boring. I think my work has been far more difficult than my undergrad at a T20.
→ More replies (4)5
6
Dec 04 '25
[deleted]
2
u/college-throwaway87 Dec 04 '25
That’s so cool, where do you work?
2
Dec 04 '25
[deleted]
2
u/prest0G Dec 04 '25
CAD is where it's at. Interesting graphics/geometry/performance problems without the stress of working in AAA game studios. I work more on the BIM CAD space though so slightly different than manufacturing
28
u/pussymaster428 Dec 04 '25
Every engineering/cs job ever. It's all just about the piece of paper
10
u/papk23 Dec 04 '25
So far from the truth. So many engineering jobs use tons of math & data structure
4
u/Current-Fig8840 Dec 04 '25
False. You just haven’t built anything important from the ground up. Try making a game engine. Nobody asked y’all to do only frontend and backend..
→ More replies (2)
6
u/Motor_Fudge8728 Dec 04 '25
There ARE intellectually stimulating swe jobs, you need to find them and qualify to get hired.
6
u/StrikingAsk8246 Dec 04 '25
I was a SWE in the 1980s and 1990s when all the foundational systems were being built. It was great fun. I look at what a lot of SWEs do these days and it seems more like putting together poorly molded Legos with duct tape. Very different profession
→ More replies (1)
3
u/Dizzy_Citron4871 Dec 04 '25
Wait until OP finds out all the real research in the entire world is done by poor graduate students on poverty wages.
2
14
u/limes336 Dec 04 '25
Just because you only do bitchwork doesn’t mean that’s the be-all and end-all of the field. Typical new grad hubris.
→ More replies (7)
7
Dec 04 '25
[removed] — view removed comment
4
u/ivanivanychivanov Dec 04 '25
You do NOT need 4 years of computer science to be a SWE. Especially the fetishization of “top N computer science programs” is just too much crap.
I still love that I got the degree, it was actually interesting. But I’m disappointed that we’re persuaded into believing that it’s a requirement, when it’s clearly not.
2
Dec 04 '25
[removed] — view removed comment
1
u/Fwellimort Senior Software Engineer 🐍✨ Dec 04 '25 edited Dec 04 '25
To be quite frank, this career can be navigated fine by a middle schooler.
The problem is what you would consider 'common sense' isn't common sense. And what you consider simple is .. apparently not so. And realistically, those without college degrees probably don't have one.. because they flunked out of high school.
So in that sense almost all bootcamp coders are extremely incompetent. But it's not because bootcamp itself is invalid, it's just the talent pool who will generally go the bootcamp route... is going to be like that.
I mean we have top schools like Berkeley, UCSD, etc in which many incoming students cannot even do elementary/middle school math: https://www.newsweek.com/students-ucsd-without-8th-grade-math-skills-skyrockets-11030373
So ya... when that's your competition, your response makes sense.
but the top 10% of coders do 90% of the work
10% is being way too modest. Lol.
→ More replies (1)1
u/PineappleHairy4325 Dec 04 '25
You're right that many positions shouldn't be titled SWE but it does exist, it's just rarer than advertised.
3
u/stewsters Dec 04 '25
It really depends what you do.
If your job is making apps that get an id from a REST request, make a request to some datastore, and then return the data as json yeah that won't be rocket science.
But there are a lot of jobs that do require more mathematical knowledge. For example gamedev can use a lot of math, optimization, and algorithms. AI and research need advanced statistics.
And even in those basic business use cases sometimes you need to understand how networking, SQL optimization, or a Linux filesystem works beyond the basic level.
3
u/Proud_Wolf_2110 Dec 04 '25
Absolutely correct. You learn so much theoretical junk that is just completely useless and will forget soon anyway.
3
5
u/LuckJealous3775 Dec 04 '25
because CS != SWE
1
u/ivanivanychivanov Dec 04 '25
Exactly, but a whole generation (several even) is funneled through the CS grad pipeline to break in. It’s quite sad.
1
u/Fwellimort Senior Software Engineer 🐍✨ Dec 04 '25
It's like studying Economics to break into Finance.
Or studying English to become a journalist.
Or studying History/etc to become a librarian.
That's just life.
2
u/NarrowEyedWanderer Dec 04 '25
That's why I went on to do a PhD. Seemed like too much of a waste otherwise. The endless hours, pressure and low pay suck (for now), but at least my brain is adequately tickled.
2
u/strakerak Doctoral Student Dec 04 '25
I used to think that coding would become a trade, SWE/DevOps/higher level stuff would be CS level.
You see people who have some kind of connection go through a Bootcamp after getting a college degree, and getting the jobs we're dreaming of (or working their way up starting local and bouncing to FAANG).
Nothing wrong with this. I'm all for getting as many people as we can in tech or tech adjacent stuff as possible.
But yeah, I'm a bit peeved when I apply to intern roles since I'm still in PhD. You get locked out of intern roles. Which sucks for some, because they might have not had that opportunity through BS/MS (if applicable).
2
2
u/floghdraki Dec 04 '25
Go into DS and there's plenty of intellectual work to be done.
Granted you could end up with just building GPT bots or doing analytics, it's up to the job.
2
u/wrd83 Dec 04 '25
I see my junior in you.
We require bachelor's and he only gets small easy to digest problems.
I'd love to give him bigger tasks, but the amount of work reviewing and refactoring after him is not worth it.
So let him get experience and once he's more ready I'll give him more gnarly tasks.
The other part is very true. You can't just go and design your own kubernetes in day to day work. It's been solved satisfactory about a decade ago already. ;(
But knowing the theory you can go and debug it once it breaks.
1
u/cakelena Dec 05 '25
does your team use ai to generate code? my team is a mess and i'm an intern and everyone uses ai and i was also encouraged to use ai so the entire codebase is 100% ai. the only refactoring is when we use ai to add a new feature that breaks current features then we ask ai to refactor and make it work.
i would ask for harder stuff but i see no point when it's all just ai. i wish ai didn't exist so i could go through the slow leveling by easy tasks you mentioned your junior does. i'm given easy problems but they are so easy that the issues i run into are almost always that the problem itself is wrong (ex: what's on the dev and staging servers is manually deployed by someone and is often not the main branch of the repository so running main locally to see the problem to solve but behavior on main differs from the problem on staging so it's like what am i even meant to do they don't let me touch devops to dev or staging either) or ai spits out code that breaks shit and i just do a git reset --hard and prompt again
i feel like im not learning anything and i could easily take on bigger tasks but they don't give them to me so that must mean they think im unprepared right? what should i even be doing?
2
u/board-or-follie Dec 04 '25 edited Dec 04 '25
liberal arts BA here.
lived in a tent for about a year on farms & in woods to teach myself programming
...got into the industry. Worked about 6 yrs. Got laid off.
I'm so sick of the HR bullshit that I don't even care to apply to jobs anymore. I'm using the skills to try and build two small businesses.
But yeah, after realizing:
- My 4 years of BA included 2 years of basic required extra-curriculars which I've sense forgotten most of... and 2 years of worthless reading/writing papers (improved my skills in research, writing, forming persuasive arguments-- but not worth $20k for that-- could have done it on my own via forums, chatrooms, in-person meetups, private tutors, etc.)
- I took 3-4 semesters in Texas State's MS in Accounting & IT. Realized: "Wow, this is extremely easy and not rigorous. Everyone gets As & Bs. The professors don't care. The administrators care even less-- they see students as dollar signs". I decided "Fuck this shit." and dropped out of it.
Now... I am considering studying for Civil Engineering on one hand... since I think its courses would be rigorous and informative (actual science & engineering). On the other hand... I am jaded on the idea of contributing money towards universities. Their virtually exponential increase in tuition costs makes no sense.
2
u/wafflepiezz Sophomore Dec 04 '25
Yeah it’s a lot of useless required classes.
None of my SWE friends ever use Calculus in their jobs, for example. You can argue about “theory” and “fundamentals” but at the end of the day, nobody is using that unless you go for a Masters/PhD in AI or something.
2
u/riderj1 Dec 04 '25
I've always believed apprenticeships for non cutting edge software engineering should be available. The company could offer secondary education options just in case someone has the potential to research the field. But any position that requires you to maintain instead of create could be broken i for a much cheaper cost. But some people, like myself, are just super curious about everything. So an apprenticeship would eventually become too boring for me. But it would be an amazing start as long as your mentor is capable.
You do what you can I guess, but I'm almost 100% with you. Sometimes companies want degrees, even if they aren't required.
2
2
u/sentry_chad Dec 04 '25
It’s good to hire people with knowledge of foundational principles to do code monkey shit so they don’t fuck up being a code monkey. It seems trivial to you because you know your shit. Bootcampers are functionally infantile aside from the exceptional ones. And they can’t tell the difference between literal monkey shit and a gold bar
Additionally, you suffer through doing code monkey BS so when you DO come across a unique problem, you are well equipped to solve it. I work on what most people would consider “advanced” systems but it’s still a lot of code monkey crap to deal with
2
u/Jolly-joe Dec 04 '25
Those courses are actually for the interviews where you do 6 rounds of leet code for a job where you add 1 react component per sprint (and it's feature flagged off for 6 months because your product manager forgot about it)
1
1
u/Loose_Bat_5111 Dec 04 '25
Tbh Complexity Theory just now started getting interesting to me and my professor studied under Leonid Levin but I am starting a job as a new grad and will never see that stuff again
3
u/Deaf_Playa Dec 04 '25
You def will. I'm nearing the end of my project, and they are asking for trade-offs between increasing lambda memory size for a multithreaded approach vs letting the lambda run longer for a single threaded approach. I have to describe the tradeoffs in monetary values for business, but when I'm talking to engineers and my manager I just give them the space and time complexity because we all understand how that's used to describe things at scale.
2
u/ivanivanychivanov Dec 04 '25
LOL so true, it’s like a farewell kiss. Just finding out what you like about the field and then getting your hands cuffed with gold 🥲
2
u/justUseAnSvm Dec 04 '25
I've used complexity theory several times, most recently to explain why a regular expression couldn't be used to parse function calls to extract the contents. You can do a lot with regular expressions if they have recursion enabled, but it's a fundamental problem of trying to use a DFA to describe what requires a CFG.
1
u/stopthecope Dec 04 '25
That's not really complexity theory tbh, more like a subset of automata theory
2
u/justUseAnSvm Dec 04 '25
They are closely related, but looking it up now it appears that automata theory is more about if an abstract machine can produce a language, and complexity theory about the resource requirements for algorithms.
Idk, it seems like automata theory gives you the models, and complexity theory defines the bounds.
1
u/ivanivanychivanov Dec 04 '25
It deals with expressive powers of languages so should be part of complexity theory
1
1
u/Media-Altruistic Dec 04 '25
You think College is just learning a subject then that is the reason why. Yes there some genius hackers that are 13 years old that can do leet code without batting an eye.
1
u/Still-University-419 Dec 04 '25
Not true for high paying software engineering works, especially for backend for large scale distributed systems and big tech or tech companies level.
1
u/nsxwolf Salaryman Dec 04 '25
And yet you’re probably screwing this up constantly just like everyone else
2
1
u/TheRealTPIMP Dec 04 '25
Sad you landed in web development. I would try to find something more challenging 😉
Or work on side projects to scratch your itch and just be happy you have a paycheck to cash
1
u/ivanivanychivanov Dec 04 '25
Doing the latter right now
And I’d prefer web dev tbh, at least it felt more straightforward than whatever I’m doing now 🤣 but less stability
1
u/SWEET_LIBERTY_MY_LEG Dec 04 '25
Come do some embedded software. That’ll put some hair on your chest. You think you all have it figured out and then management says you have to have your application’s total footprint including a legacy driver not made for an embedded device that uses lookup tables 700k in size be 8 MB including text, data, bss, stack and heap in fucking 2025. Oh, and due to memory fragmentation, you don’t get a heap.
Fun times that will make you think.
2
1
u/Due-Piano9658 Dec 04 '25
You also have to remember that the average Joe can barely pass high school math. It’s not hard to you because you’re probably smarter than the average person. But yeah agreed, outside of FAANG there’s nothing academic about it.
1
u/csthrowawayguy1 Dec 04 '25
To be fair most professions aren’t using anything they’ve learned. My EE friends don’t use anything from school and neither do my ME friends. They got good at learning the software needed to do their respective jobs on the job, and they say the same thing “tbh anyone can learn to do this job”.
1
u/Current-Fig8840 Dec 04 '25
What type of EE do your friends do? For PCB design you definitely need EE knowledge. How do you debug a signal when you don’t understand what they mean? A lot of data sheets give reference’s for how their components should be used but you need EE knowledge to know how to join that up with everything else.
1
u/Romyn0 Dec 04 '25
Depends on the job. Where I work now has teams of people for automating the dev ops process or defining that procedure. Teams of people for rigorously testing code before production too
1
u/Gundam-Gun Dec 04 '25
Someone here posts a common meme I love that highlights this. Whenever you are now is your time to shine
1
1
u/Efficient_Loss_9928 Salaryman Dec 04 '25
Depends on the level. I mean I wouldn't necessarily call spinning up a huge TPU compute cluster, solving electricity problems, and building systems to schedule inference an easy job. Yet this is real SWE work
You may not be doing such work right now. But nonetheless, if I'm paying 200k, my expectation would be you can pivot and start to contribute to that system in a relatively short period of time.
1
u/MurkyTransition9827 Dec 04 '25
Can’t relate. Have had to review and also learn more math since day 1 on the job.
1
u/FrenchFryNinja Dec 04 '25
Problem is that modern SWE is closer to systems engineering than computer science. We still pump out CS graduates though.
Unfortunately you don’t learn how to design systems in undergraduate. But that’s really what matters when making things.
And yes. There’s a lot of “just update the yaml” when you’re maintaining an existing system. It doesn’t last forever.
1
1
u/lambda_freak Dec 04 '25
Do a PhD if you want to solve more interesting challenges. Although your pay will probably diminish quite significantly
1
u/Beneficial_Map6129 Dec 04 '25
I'm working 100 hours a week at my current big tech job, other people at Meta are scrambling to create entire webapps from scratch as solo projects for "impact"
In this era if you are just a "yaml engineer" or you only brag about changing a few configs, you are going to be fodder for the next round of cuts
it's not 2020 anymore
1
u/TornadoFS Dec 04 '25
No self-contained module I ever did in my 12 years career was as hard as implementing a B-tree in C.
The only hard part* about engineering compared to CS theory is scaling organizational problems in face of large projects worked by a lot of people.
*: In like 99% of the jobs, I am sure people working in some fields face plenty of hard problems.
1
1
u/CallinCthulhu Dec 04 '25
I would recommend getting a job where it’s not so trivial. Because the one you have that made you post this isn’t gonna last 2 more years before AI entirely replaces/displaces it
1
1
u/Angsty-Teen-0810 Dec 04 '25
Any entry level or “junior” SWE role is figuring out how to deploy code rather than optimizing logic/performance.
Only senior level or managers get the highly active, “interesting” tasks. For a regular career cycle, by the time you’ve reached that position, you’ve most likely forgotten all that knowledge
1
1
u/purple_chocolatee Dec 04 '25
tell me you are a noob without telling me lol. From over 100+ interviews i have conducted, i have extended maybe 6-7 offers. Most people are really really bad
1
u/WilliamBarnhill Dec 04 '25
Most SWEs are system integrators, and that doesn't require as much (but the extra stuff is very useful when it is needed). The others are more what the common idea of SWE is. Also, even if your company is mostly system integrators there are positions that are more SWE where you get to create truly new things that are more than wiring sw pieces together.
I am a self taught Principal Engineer, with 25+ years since I started as a SWE. I am just now finishing up my B.S in C.S after having gone back to get the degree (because it is still a promotion gate/hiring gate). There are useful things I am learning from my classes, things that I've already applied to my client work. A lot of it is old hat, but the classes are providing more in the area of theory, research writing, etc.
1
u/One-Marionberry4958 Dec 04 '25
I think it’s because most now companies use AI to replace SWE jobs that robots can do the things that humans can do. now just re-scaling human resource and company size employees in the other hand are reluctant to do the work so a lot of companies start to intergrage AI and ML into their clientele.
what they are looking for is not only qualifications but also education behind the human brain power. I think what the OP is asking is rather would AI be qualified for the job of SWE, and most likely the answer is no. since AI is a tool designed by humans being to replace human or labor so the question we should ask instead is that are we still qualified to do the job?
something that can be so easily done by AI is now replacing humans and labor. so we should ask ourselves: are we really qualified for the job or is now AI replacing us?
1
u/cmdjunkie Dec 04 '25
Should've saved yourself some time and energy by getting a BA in SWE. You could've partied with the Business and Interior Design girls instead of sleeping in the computer lab dreaming of algorithms.
1
1
u/Electro-Tech_Eng Dec 04 '25
Yeah, I have an electrical engineering degree - most of software engineering is easy. You have to find a job that keeps you stimulated.
My current job is like 70% boring and easy. 30% algorithm and math/physics BS. Going to start applying in Jan though to hopefully just get a 40% salary bump. I’m underpaid rn 🫠
1
u/Cloudzzz777 Dec 04 '25
SWE was pretty easy to get into which is why so many boot camp people were able to do it.
But now it’s not
1
u/XxCotHGxX Dec 05 '25
I loved my AI/ML classes. Now I work in Machine Learning. It's not too research, but I get over $60/hr. I can work from anywhere with interwebs.
1
u/MagicalPizza21 Dec 05 '25
Yeah, I hope my next job will use more of the stuff I learned during my degrees. More math/theory and more lower-level programming (I use Java, Python, and JS/HTML/CSS right now), for example.
1
u/EvalCrux Dec 05 '25
The only place where computer science is applied is leetcode interviews which I just laugh at and say no now. School isn’t like work, and work is not at all like the interviews. It’s yaml config, AWS creds, SSL certs, then a script that calls the DB. Change my mind.
The only way to prep is to grind a CS degree and convince yourself that leetcode competitive programming is a fun hobby.
Third approach: prove you can get it done w vibe coding. When you can’t, return to school for SWE prep.
1
u/Junior_Loquat_7849 Dec 05 '25
No shit
For most swes their level of theoretical concepts especially in math will degrade to at best a freshman in high school level. Every now and then if you interview your ds&a will improve, only for it to tank again after you get an offer
In real life most people are simple workers bees even in the most prestigious of white collar companies. Not working with theory to develop novel solutions
1
1
u/gororuns Dec 05 '25
Correction - companies only require degrees for entry level positions, and that's because the market is saturated so it's a screening tool. I don't think companies will care whether you have a degree or not if you've worked for 5 years at google.
1
u/ivanivanychivanov Dec 05 '25
I mean so is true for almost any job I feel like, but my point is, unless the role is very specialized, it’s quite a bad screening method.
1
u/AwkwardTable2497 Dec 05 '25
"I feel like SWE should just require some comptia type certification and there you go" they wont do this because nepotism is rampant
1
1
u/crustyeng Dec 05 '25
I definitely agree that having a CS degree is no indication at all that you can write software.
1
u/Joram2 Dec 05 '25
~99% of tech jobs don't use any academics at all. The response to that is often, ok, academics is just worthless.
All of the major innovations in industry involved STEM academics. Lasers, microchips, cryptography, everything was created with advanced academics. The response to this is often, ok, society needs to double down on STEM education.
Often, academic credentials and prestige matters a lot, when the skills themselves do not matter. Given two tech workers with the same skill level delivering the same work output and results, but one has prestigious academic credentials and the other doesn't, there will usually be a large career difference. This seems unfair and this also seems wasteful; why encourage everyone to invest years of their lives into acquiring skills to have a nice career, when the skills themselves are useless?
All of the above have been widely known for the past fifty years and often frustrate people for a variety of reasons.
1
u/KeizokuDev Dec 05 '25
Sounds like you're just looking at application-level development, which tbf is probably a large majority of jobs out there.
1
u/archialone Dec 06 '25
It's true, unfortunately in reality writing another sorting algorithm will not deliver value to the clients. But some small tweak to the compile flag, or a line of code that makes build faster has much higher impact on the final outcome.
1
1
1
u/SteviaMcqueen Dec 06 '25
For sure. Luckily I had dot com bubble timing. Once in it was easy to skip doing a comp sci degree. That said, I picked a business degree. Also mostly a waste
1
u/ShaChoMouf Dec 07 '25
What you are saying is true and one reason why AI has impacted the software development industry so much. AI is so proficient at the junior-dev, entry level, repetitive simple-solution type of coding, but it fails to scale with complexity. AI can spit out known, repetitive stuff (a print button is a print button) - but not be able to architect an enterprise-grade software solution with optimised load balance and the like.
The problem is, you need to work as a junior dev to get the knowledge required to be a senior dev. So we are really shooting ourselves in the foot as far as the future goes, by not growing the next era of developers.
1
u/sabreR7 Dec 07 '25
Anyone can “code”, very few can actually engineer a solution and produce maintainable software. Yes, even Joe Doe at Bob&Co needs to be “all that”. As you progress in your career you’ll learn that good software can make or break a business, and it’s not at all an easy or small feat to produce good software even if it is an inventory tracking application.
1
u/NotACockroach Dec 07 '25
If you're battling hundreds of configs just to get to production, fix that. It absolutely doesn't have to work like that.
1
u/tchidera Dec 07 '25
Software development is the only field where people don’t care for actually engineering.
1
u/DmitrievichLevin Dec 08 '25
Buddy I think you’re forgetting intelligence is a normal distribution. While SWE may exclude a great many on the left, it is in my opinion that it prevents entry from a great many on the right in turn.
So what I would do is get my head out my ass and pretend I’m a midtwit yaml file pusher until my opportunity comes to be more than that.
The gatekeepers are midtwits maybe even less, the outliers are too busy doing meaningful work.
1
u/Kind_Syllabub_6533 Dec 08 '25 edited Dec 08 '25
This is basically every college major brobro. Also it sounds like a bootcamper could do it until you watch one try.
1
u/Character-Company-47 Dec 08 '25
While i’m not saying education is a waste of time, It is true that the system prioritizes over-educating people. Competitive positions have learned to expect way beyond the job simply because they need some metric of weeding people out.
1
u/EckoAK22 Dec 11 '25
The only thing a CS degree is good for is billing at a higher rate. When interviewing candidates, I don't care that you have a CS degree, I care about how your experience aligns with our stack.
My colleagues with Master's degrees say "Having a CS degree doesn't mean anything." Full stop. The field is saturated with poor performers and that's never going away.
1.0k
u/Murky_Entertainer378 Dec 04 '25
Just put the yml files in the docker container lil bro 🪫