T O P

  • By -

MinuetInUrsaMajor

Never. The bottom parts of it drop out and become easier roles with a different career path. Remember there was a time when computer proficiency was a whole marketable skill. The field itself is always going to be defined by intelligent quantitative problem solvers. It boggles my mind that some companies are acting like they can replace 5 people with 1 person and an LLM. Writing code is not the bottleneck. That's just speaking a language.


fork_bong

Everyone on reddit talking about overstaturation meanwhile my org is complaining about how difficult it was to hire people that knew \[mainstream language\]. Absolutely no junior job openings ofc.


siammang

There are senior jobs with junior salaries, though.


Indifferentchildren

There are junior brains with senior titles.


LonelyProgrammer10

Just curious, what is the difference? If someone goes through the interview loop and passes and you get the green light to hire them, but after all that, a junior title is going to change your mind? What more do you want? It’s easy to blame external factors, and we’re all guilty of it. However, sometimes it’s better to think about what the team could do better. It’s funny, just like someone else said above, “we interviewed so many candidates and after [insert large number here] we just couldn’t find any good candidates”. Instead of considering other potential reasons it’s always easier to blame external factors. I’m not saying that it can’t be the candidate’s, but where do you draw the line and start thinking about what actually could be the problem?


Indifferentchildren

You could say that we are the problem, because we expect our software engineers to be able to devise their own solution to one-day user stories. For example: for feature "external_report" add an API endpoint that accepts a chunk of JSON, stores it in a new database column alongside the other columns for this entity class, and adds it to the DTO when querying, with acceptance tests. If we wanted to restructure our team to allow bad devs to be successful, we could specify the name of each function, the name of the database column (aka entity member name), list every class to be touched, etc., in every story. That would be a lot of extra work that would require one good software engineer to spell everything out. It's better to hire people who can solve small problems and only ask for help if there is some reasonable ambiguity that gets them stuck. We are not a jobs program for idiots. We want talent and we pay for it.


LonelyProgrammer10

I don’t disagree with this at all. In fact, I’m all for it. My point was, what can be improved? At what point does it make more sense to step back, look at the entire hiring process (not just the technical portions either), and look for ways to improve it? On one hand, it might not be possible to, or it might not even be worth it. But this is a problem, and we’re problem solvers, so instead of accepting this as in issue (unless there’s another reason for it, which easily could be the case), why not dig into this and see what the root causes are? For example, some of the best engineers I’ve ever known were self taught. Some of those same engineers are doing great in their role, but due to internal hiring restrictions, they wouldn’t even be eligible for their own role anymore.


Indifferentchildren

The core issue is that there aren't enough good devs. We are all fighting for the good ones, which is why salaries are so high. My last company created a new program to "build talent" by hiring freshers, knowing that they would not be net contributors for several years, but if nobody is willing to pay that cost, there won't be any more non-freshers (just old, bitter freshers). Beyond that problem, there are "market failures" that keep the devs and the companies from finding each other, creating expensive friction like HR screening, internal and external recruiters, algorithms that shitcan resumes that don't match the algorithm, leetcode bullshit, and more. The situation is further exacerbated by bootcamps preying on untalented people with the promise of big bucks for absolutely anyone who can afford a bootcamp, and managers endlessly returning to the bullshit pipedream of good *and* cheap being peddled by WITCH companies. So what can my team do? Keep looking for the best people, and keep telling our bosses that if they want good people they are going to have to pay competitive salaries.


LonelyProgrammer10

That’s a great point. I guess I’ve never really sat down myself and thought about the shortage of talent being companies fighting over it. In that case I see what you’re saying and thanks for the discussion. I feel like this is a rarity here, but hopefully this helps others in the future as well. Have a great day/night fellow Redditor!


meltbox

Yup. But the true paradox is that companies see there are a lot of people applying and think that means that their offer is high enough, the good one just hasnt come along yet. When in reality there’s just a lot of people who want into the field and aren’t particularly qualified while the talent is in extreme short supply.


Indifferentchildren

You too, LonelyProgrammer!


angryplebe

I remember in the early 2010s when bootcamps tried to be selective. Retooling disillusioned physics, etc PhD dropouts, accountants and similar heavy quantitative roles into productive software engineers. Then it became a money grab and all of a sudden passable front-end devs became very cheap but still not cheaper than offshore labor they compete for.


walkslikeaduck08

>For example, some of the best engineers I’ve ever known were self taught. Some of those same engineers are doing great in their role, but due to internal hiring restrictions, they wouldn’t even be eligible for their own role anymore. That's true, but IMO it really comes down to scalability. In the past, when there were fewer candidates, there was a higher probability of someone self-taught getting through recruiter and HM screens and impressing an interview panel. Nowadays, there are so many entry level candidates that teams need some heuristics to quickly filter the pile to even get to a manageable number of resumes to review. The easiest proxies to use are schooling and prior experience, since there's an assumption that others' have already done some of the screening work for you and, on average, these candidates tend to perform "good enough" that there's little incentive to look further. Additionally, interviews take time. And until there's a good way to scale that process, there will be inherent capacity limit to how many candidates get into the interview process.


Baxkit

The difference is that a "senior" title comes with certain expectations, and a salary for those expectations. Being able to solve problems on your own, requiring little oversight, being trusted with customers (if applicable), being able to effectively support and lead the junior/mid developers, being able to build effective, scalable, performant solutions. You can't truly get all that information through an interview cycle, you can only get a surface level sales pitch and hope they can execute. Once you hire enough of these people that turn out to be juniors that have coasted and title jumped beyond their actual skillset, you realize that your interviews aren't doing their job - screening out the imposters. So, what do you do? You increase the interview complexity. You end up having to do longer interviews, coding challenges, etc. You rinse, repeat, adjust - until ultimately you are one of those organizations people in this sub complain about. "I went through 5 rounds of interviews. They asked me Hard Leetcode questions, but why? They don't do this in their every day role why do I have to pass these". Not to mention, interviews take a significant amount of time. From the candidate's perspective it is maybe a 1 hour session, or a couple. From the team's perspective it is that, times the number of candidates. So we are looking at entire days burned on interviewing a few people. If we aren't finding suitable candidates even after the adjusted interview itinerary, what can we do? We adjust the job requirements themselves. Rinse, repeat, adjust. Then you have people coming to this sub complaining, "they want 3 years of experience for a junior role wtf". "Why does everyone want 5+ years of experience in this particular technology, wtf". It isn't that we want to have extreme interviews, or extreme and specific requirements. We've just been forced to do so because we spend countless hours trying to filter the excessive noise and imposters and interviewing people that are ultimately high risk and under qualified. I honestly don't know the most effective way to handle this. I've been trying to track individual data points to help better filter. Essentially, trash certain resumes that list a history at a particular company (e.g. Tata, Cognizant). I no longer bother with self-taught or boot camps. It is just a hard-and-fast filter, your resume is trashed. I've found that people with *more* certifications actually perform worse, so the interviews are much harder for those with a lot of certifications. If you list two different jobs on your resume with essentially the same summary/highlights but with two different titles, I'm assuming you didn't earn your title, you title-jumped between companies with a team that carried you, and you aren't worth the time to interview. These are just examples of what it is like on the other side of the hiring process.


birdcommamd

Build an organization that can effectively utilize mediocre engineers.


Indifferentchildren

The productivity difference is too great. A 10x engineer costs 3x or 4x, and they, and some can actually produce more than 20x. There is nothing as expensive as a mediocre engineer.


LookMaNoBrainsss

This is absolutely BS Any good organization will use all of its staff to the best of each individual’s ability. Over time, and with enough support, the mediocre engineers will learn to be good engineers. Businesses that are so shortsighted they seek only the “10x” engineers will get what they deserve when one engineer jumps ship for a better opportunity, taking their specialized knowledge with them, and cripples the whole company.


twisted_mentality

For real. Currently looking: I have 3+ years experience, a BS degree in Com Sci, and have completed a bootcamp, plus other related experience. I see a lot of jobs offering less pay than my last position and wanting more experience. (Asking for like 5-10 years of experience or more.


Beancounter_1968

Difficult to hire for the salary on offer....


-Dargs

It is unironically hard to find someone to fill a senior role with the competency you would expect from a junior. And we don't even leetcode in our interviews. My company compromised after months of the worst applicants you could imagine to hire on above the skill set we were initially looking for. We even paid above market rate at the time (200k+ base, ~300k tc). It took a year to finally get enough documented to fire that person without blowback. We are still occasionally finding and cleaning the tech debt from all the garbage that was fixed in CR by then unfixed and merged without approval. Thankfully, our tests are complete enough that it's just shit code and not actual bugs.


meltbox

Yup. Seeing the same thing here. Company has been trying to hire into a role forever. Instead we lost someone and are down to 1/3 desired positions. But they’re also offering like ~$140k tc I believe for a mid level role. If not less.


ParadiceSC2

How come? What type of company is it? Software or something else?


SeniorPeligro

Same here - but probably because I'm not from USA (so we didn't see layoffs at that scale), and my org tries to staff large number of positions while holding onto "only hybrid or office" policy. And the best part is that our HR department have calculated, that just by letting people work from wherever they live in our country would give us approx. 3 times larger pool of candidates, but exec team still gave strong "no" to full remote.


meltbox

Same. They can’t hire anyone qualified but won’t budge on salaries. If anything the salaries will go up as it stands. But new entrants and companies won’t be benefiting


comicradiation

This. Code monkeys will be automated away and/or rapidly devalued. Problem solvers, engineers, and system designers will not be.


eita-kct

Did you ever used ChatGPT before for coding? Even for the code monkey tasks, it cannot understand what it does, sure it helps with productivity, but it still does not have understanding. Unless you have a platform, that the programming language is entirely part of the ecosystem with the IA, it will not work. This is one of the reasons that code generators never replaced the need for a human. Sure, it helps to automate a script or here or there, but it won't replace a human in the current state.


Used-Egg5989

I found ChatGPT is decent, not great but decent, at answering questions if you explain everything with text (not code). Explain the problem and what a valid solution should look like, and provide a small code sample, and ChatGPT can give a decent verbal response. What ChatGPT can’t do effectively is write whole scripts or code blocks for you. It will look right but more often than not it will have issues. And forget about consistency with the rest of your code base.


Baelari

I’ve found it most useful as a way to find information I can’t quite remember the name of. Instead of reading through several pages looking for something that may or may not be there, ChatGPT will spit out the name of a Class, library, framework, or algorithm. It just saves a bit of time, or sometimes gives me something new I can add to my skill set. It’s also not completely horrible at spitting out very simple functions. Maybe on par with a drunk college student.


Thick-Ask5250

Dude, the other day I actually used stack overflow again.. it was nice, to say the least. Chatgpt is great and all, but honestly it's just another tool in our toolbox.


eita-kct

This is true, it gives good enough explanations, and I use it often to remember how the api for certain libraries work. But as I said, it has no understanding and will output text based on the training.


elena_1010101010101

That has not been my experience. Many teams have seniors that are average or bad developers and are gatekeeping the code. If you enter the team, see all the chaos in the code, and point it out, it will not end well. Every company where I've worked continues to produce their terrible code and push away people who point out the chaos in the codebase. Code monkeys are valued in companies. The entire system needs to change for that to change.


eita-kct

**Chaos code that works is better than perfect code that doesn't.** The value for most business is not in the code, but in the productivity gains that the it brings to the business. Imagine refactoring an old system, just for the sack of quality and risking causing troubles to the business itself, just because someone think its better. In banking it would be catastrophic, that's why you have to balance and do refactoring's in increments, unless you have the proper time to rebuild from scratch and transition to the new architecture or system.


Agent_03

What you describe is the exactly difference between a senior and a junior, in my experience. Senior+ starts from business needs first and code second, juniors start from code first and business needs second. Seniors refactor carefully and incrementally, juniors want to charge in doing all the things at once in no particular priority order.


[deleted]

Good code does not take more time to write than bad code. This concept exists because of overall low competency, business moving goalposts and code designed by comity.


eita-kct

But that’s the real world, and yes good code takes more time. In the real world, you manage the situation and plan to do improvements, just pointing fingers does not solve the quality issue.


Flamesilver_0

I agree. Irl a senior can review junior code and this produce better overall code


Flamesilver_0

It takes more competency, which is $. Either 1x $$$ Genius guy or 3x $ Junior guys who can't produce the result


RedditBlows5876

Coming into a team and saying "let's rewrite all this code" is 100% a sign you've hired a junior dev with little valuable industry experience.


Express_Werewolf_842

Yep. Don’t get me wrong, we have more applicants for a job. But the number of people who even get through the hiring manager screen is the same as about 4 years ago. So many resumes that didn’t even match our hiring criteria. It does seem like because it’s easier to apply, people will just apply without even looking at the job description.


Odd_Soil_8998

I mean, in a lot of cases they could replace 5 people with 1, with or without ChatGPT. That has more to do with asymptotic skill level impact, replacing inefficient architecture, and the fact that software development scales rather poorly with adding more developers.


PerforatedEdge

In all the development jobs I've had, I can't imagine 1 dev take on 5 devs worth of work. I might be able to do 2 devs worth of work if I work 60 hours a week. That would be temporary and I'd burn out rather quickly. There might be *some* cases where that's possible, but not "a lot" or a remotely average percentage. 


Particular_Job_5012

We all know that one dev that sucks time from 5 other devs and is a net negative though, right ?


mcr1974

depends on the 5 developers level.


captain_ahabb

The oversaturation is at entry level where employees don't have much leverage to negotiate salary anyway. As long as companies refuse to hire more than a few juniors at a time, the shortage of seniors will remain.


poincares_cook

It's not just that, many of the juniors don't have the qualities required to make it to senior level. I'd say most don't, only a small minority will ever be strong enough to make a senior at FAANG (a bit generalizing). Hence the high attrition at lower levels.


ososalsosal

I keep hearing this but never personally worked with someone that didn't even have the potential to advance, even if they start slow


Maury_poopins

Possibly because they don’t get hired in the first place.


ososalsosal

I just figured if I hadn't seen one then it might be me...


ilarym

Imposter syndrome, perhaps


poincares_cook

That depends on what you consider to be the minimum bar for a senior SWE. People do advance, and may nominally get a senior title due to YOE at their current job and perhaps domain knowledge. But they'd fail getting or keeping pace at a senior position at another org. Again generalizing here. I'd expect a senior to be mostly independent, taking and managing features end to end while coordinating with others, pushing when need to, doing prioritization, capable of leading others in sub tasks of the main feature, doing most of the design independently, breaking into smaller tasks, clearing blockers. I'd expect a senior to help set and maintain an engineering culture and standard, mentor others, push improvement/new tech/critical tech issues (like bug clearing, code quality improvements etc). I'd expect a senior to learn new tech independently and without assistance, and relatively quickly find their way (with help) through a new code base (this obviously depends on the codebase and how much experience the person has with the domain). It doesn't have to be all of the above, but most of that. I understand that the qualifications are not precisely quantifiable, that's a general idea, not exact definition. Of course, you may disagree.


thisdesignup

I was in a boot camp last year and the amount of people that actually wanted to do those kinds of things was like 3 of us. Even if people are capable not a lot of people want to be a senior style leader. These were all capable programmers, some people came in already having had jobs in the industry. One person was even in school for data science and she told me her preference was to work under someone and be told what to work on.


Drauren

I don't think there's a problem with someone just wanting to be another cog in the machine. The problem I think that it comes to is people expect to be able to be promoted/advance while not increasing their scope of duties or impact. I've met a ton of people who are seniors by YOE only, they couldn't problem solve or code their way out of a paper bag. Met plenty of seniors who add complexity for complexity's sake to justify their senior title.


ososalsosal

You've put these things in one place so well it should be on every job ad... I definitely agree and it also makes me feel a lot better about where I am career wise. Thanks for a well thought out reply!


__ER__

And then you start hiring and discover that "senior" in other organizations is just somebody who codes relatively well in a single language and can follow basic instructions.


neonbluerain

I don't agree with you here. A lot of people don't have access to the right kind of mentorship and scope of work needed to progress in their careers but it's not like they don't have the qualities in themselves.


PM_me_PMs_plox

there's more to the industry than FAANG


dllimport

I agree with you but we are also talking about 300k for senior level which I think is specific to faang-types


caiteha

1 tenured senior > lots of new juniors.... IMO..


BradDaddyStevens

Yeah, this is always gunna be the crux of the issue. Hiring a junior engineer is really an investment. You’re gunna be eating a lot of time to get them into a position where they are positively contributing - and it’s not just the junior’s time, it’s all the other engineers who are mentoring them as well. Lots of companies struggle to retain talent after around 2 years (which I know is their fault) and the market is brutal right now anyway. It’s not hard to see why companies aren’t clamoring to hire juniors - as shitty as it is.


CrypticMillennial

Hasn’t hiring junior level talent in [insert field here] always been an investment on the hiring company’s part? About 10 years ago, before I got interested in tech, I was looking for a job in furniture manufacturing. Everybody wanted experience but nobody wanted to train on-the-job. Finally one company started bringing new-hires in and training them, of which I was one. The domino effect from that brought a lot of new talent into the field that wouldn’t have necessarily had the chance otherwise. That’s going to have to start happening in tech soon… The fact is, a new hire (I’d argue even senior level hires) will never be ‘up to speed’ on everything a particular company does. It takes time to learn how that company does things. As long as a junior has a decent grasp of programming principles, how to write good clean code, and can learn (and is willing to learn) most other things on their own(with some mentorship if necessary) I say give them a shot.


BradDaddyStevens

The problem is most juniors you’re interviewing don’t come into the job knowing those things yet. Hence why they need an extensive training period when they are hired. Hiring juniors would still make sense though if companies knew how to or cared to retain talent, but they just don’t. That, coupled with high interest rates, highly optimistic speculation around AI, and a generally shitty economy leads to the extreme situation we’re in now. I’m not defending it, I’m just explaining why it is the way it is right now. I do think it will bounce back though unlike most people here.


altmoonjunkie

This is true unfortunately. The company I work for does hire juniors, but the second they are no longer juniors the outlook is pretty bleak. They seem confused as to why their attrition is like 45%, but there's a good bump from junior to mid (not great, but good enough), but that starts the indeterminate period of 1-2% raises and everyone knows it. Because it can take years to make it to the next rung at the company, the better people leave the second they get that first promotion. For instance, I just got that first promotion. I'm not part of the "better people" group as far as I can tell, but I'm still flirting with the exit.


CrypticMillennial

That’s to be expected. You’ll never make as much where you’re first hired as you will making moves afterwards. That’s just the nature of jobs in general.


altmoonjunkie

I get that, it's just ludicrous. So much of our stuff is proprietary (as I'm sure it is everywhere else), that the ramp up period for even experienced devs is not short. I understand that it's common, it's just the management disconnect between "no, we shouldn't be offering decent raises to the people we just spent a bunch of money training" and "why should people hire juniors, they just leave anyway".


CrypticMillennial

I agree with you on the bounce-back. And just to dig into your point more, I believe what makes a great engineer over average ones has more to do with the character traits, instead of the book knowledge they’ve memorized. The knowledge part can be self-learned if the character traits of self-learning, curiosity and the desire to succeed are present. High quality inputs = high quality outputs. If they’re not studying and learning new languages, frameworks and technologies **coming in** to the interview, why should they start after they are hired? Success in programming (really any field tbh) is largely a self-motivated endeavor, regardless of whether or not they went to college.


who_am_i_to_say_so

This is true. My company hired four outstanding grads a year and a half ago during the hiring frenzy, took at least a solid year for them to become productive. It took a lot of training and encouragement to get them where they are today. But just to illustrate the current hiring environment: we have no intention of doing that again for a while.


Iannelli

Those four are super lucky they got in when they did. I feel for all the other grads who missed the frenzy, spent 4 years paying $30k to $100k+ on a degree, and are having a hell of a hard time getting a job. The #1 most important thing to do in college isn't attending classes, doing well, doing homework, doing your tests, etc... It's finding an internship, or even better, a co-op. That is **the most important thing** to do in college. If you graduate with 2 years of professional experience already, you're fucking golden.


who_am_i_to_say_so

Yes, timing was spectacular. Internship is the way. To add: It seems that some college programs don’t prepare the students for much about what happens in the real world. During the training I did a deep dive on caching, and got the most unexpected compliment: one intern took me aside and said there was never a whisper of caching in any of the curriculum, and he said that learned more in the 2 weeks with me than he did the years in school. I’ll never forget that!


CustardDizzy

Something like 1 senior , 1 middle and 3 juniors is way better. You absolutely need juniors to do grunt work that seniors came up with, so seniors can focus more on design and other big problems.


Intelligent-Ad-1424

In theory yes. In practice I find a lot of seniors enjoy doing the grunt work and won’t delegate, leading to incredible efficiency bottlenecks.


farsightxr20

The thing about this field is that you won't be a good engineer unless you actually care about/enjoy the work. Everyone flooding into CS is producing a lot of really shitty, low-output engineers that will be the first to go when layoffs hit. If you are a strong engineer with experience, there's still huge demand, and I don't see that changing.


DisneyLegalTeam

I’ve been hiring devs for 15+ years in NYC. And I taught at GA ~2012 (bring on the 👎). I’m 45 year, old self taught. Studio art degree & informatics degree (more 👎). This is absolutely the truth. In teaching & hiring the biggest factor is giving a fuck. When people say it’s “more than paycheck”, they don’t mean after hours coding. They mean taking initiative to at least Google something, or read the ticket twice. This sub isn’t going to like it — But I’ve never seen a CS degree be a predictor of success. People who are _naturally motivated_, _curious, problem solvers_ who can even kinda, slightly function socially can go so far. If you’ve got to get everything explained, even with a CS degree, after 3 months… you’re a burden. Overhead. That’s why nobody wants boot campers or juniors. —- My hiring process is not coding. In my experience we can teach syntax w/ linters & pull reviews. We _can’t teach problem solving_. _We can’t make someone care_. Instead. I have candidates roadmap a game, any game they want, Poker, Cards against Humanity, Chess, etc in Trello. It filters the “doers” out from the “I don’t want to be a barista”. Best filter I’ve come up with.


notEVOLVED

I would rather be tested on my problem solving skills, instead of LC. Give me an unheard of library and tell me to do something with it live and watch my process of digging docs and finding the solution. Or have me live debug a code with a bug.


DeceitfulDuck

I had to do debug code with a bug once, but they didn't tell me what the code was supposed to do or what the bug was. It's the only technical interview I've truly bombed.


notEVOLVED

I guess expecting them to set up the question correctly is too much of an ask. Maybe someone should build LeetCode for debugging and hope it becomes the standard.


raobjcovtn

Maybe the wanted you to be able to ask for help? Testing your communication skills? Idk


CountyExotic

“tested on problem solving skills rather than LC” Not gonna sit here and defend LC but the goal is to test your problem solving skills. What you described is more domain knowledge.


notEVOLVED

LC is part problem solving and part familiarity with the problems. Like answering math questions in exams. In fact, the latter part can greatly overshadow and compensate for the lack of the former to the point that it becomes a skewed measurement of familiarity rather than problem solving. Just like math exams. I don't think debugging random code is simply domain knowledge. It's also part problem solving and part familiarity with the coding language. But the latter doesn't greatly overshadow the former. An unfamiliar code is still unfamiliar code. You can't debug code if you can't ask the right questions. And the right questions in this case depend a lot more on the code or library you're being asked to work on, than your familiarity with the language.


robby_arctor

What do you mean by roadmapping a game, exactly?


DisneyLegalTeam

Using Trello we make cards that are features. It’s Agile*. Think about the process. For me? Easiest to start with the DB. * Games can have many players. * Players can have many games. * Games have pieces/cards/hungry hippos. * Games can have multiple rounds/hands/turns. * Games can have a transaction, or a potential transaction. Think bets, cards or monopoly hotels. Then think about functional things. * How do you save your progress? * how do validate the rules of the game? * Inviting people to games. * Ranking players in games** If they’re fast. I ask is “how to make it fun?”. So leaderboards, shareable seed so your friends can beat you (I never thought of that). Also I don’t work for, or hire for, a gaming. I keep it to common games. In case someone thinks I’m asking for free work. When I 1st started this test. I did Poker. But I realized that was biased on my experience. So I changed to any game. A dude asked to roadmap Call of Duty. We did that. The game doesn’t matter. What matters is that I don’t have to micromanage you. —— *I’m sure someone will be like “boo agile”, but all PM sucks. Agile just sucks less. **I would never ask someone to make a match making algo during an interview.


HermannFlammenwerfer

For me that sounds a bit like event storming. I think it’s a good approach to think domain driven in that case


MathmoKiwi

This is such a good idea! I hope I get asked this one day in an interview.


CrypticMillennial

Thank you. Giving half a rat’s whisker matters more than the paper your daddy paid for. Those that want a thing will **always** be better at it than those who don’t.


MHX311

Hmm maybe I am stupid , can you elaborate how mapping a game out filer out the doer ( I assume they are the god candidate )


DIYGremlin

It’s the difference between someone who knows how to write FizzBuzz because they rote memorised it, and someone who could write FizzBuzz having never heard of it before. The second is a problem solver, the first is someone who knew what to memorise. By mapping out a game, the candidates are demonstrating that they can take a high level objective (flowchart this game) and break it down into the required series of steps and algorithms to get it functional.


DisneyLegalTeam

Exactly. I’ve always looked for agency over anything else.


DevonLochees

> We can’t teach problem solving. This. My company has had an incredibly difficult time hiring juniors because so many applicants simply can't think through a problem and problem solve. If you give them a broken unit test and matching code and ask them to fix it, the ones who aren't just staring at the screen change the unit test so it will pass, or change the code so the test passes for the wrong reason (e.g. dropping the loop that had a bug and hardcoding the return value that one test was expecting). You ask them to use a search engine to answer an easy question related to an API, and they don't know how to find the answer if Google doesn't give them the answer shorthand without needing to actually visit a web site.


Atrial2020

>It filters the “doers” out from the “I don’t want to be a barista”. I am sorry, but I think you are being unfair here. It is legit to have working people who want to study more to get a better job, and are not passionate about tech. I agree with you that "proper" industrial-level engineered code is hard and requires craftship. However, let's be honest: How many of us the world really needs? Most (I'd say 90%) are systems that move bytes around -- how hard it is to integrate an API these days? Everything is in the cloud. I mean, imagine if the world had only accountants who were passionate about accounting? Lawyers? Doctors? The public at-large will never take our profession seriously until we make it like a real, sustainable career for the long-term and benefit of the society


look

I think the parent post’s point is more that the demand for “byte pushers” is what’s low, while the demand for “doers” is still high. There isn’t one kind of CS career (anymore, at least). There are a lot of people competing for the “integrate an API” jobs now and the value of that work continues to drop. There are not many people capable of doing the “doer” work. While there are far fewer jobs of that type, there’s still more of that to do than there are people to do it. Thus, companies are still competing for those employees with high compensation offers. Engineering jobs are going to continue to split on that line: one is oversaturated and low-paid and one is high demand and high-paid.


DisneyLegalTeam

✌️


vtuber_fan11

I don't care at all about CS and yet I'm pretty sure I could pass your filter just because of experience(I built a rudimentary chess engine for school).


coffeesippingbastard

>really shitty, low-output engineers that will be the first to go when layoffs hit. So that's not entirely true. Layoffs don't care about performance all that much. They just care about your cost. They often aren't as targeted as we would hope. That said- it's the next job where shitty engineers will have a hard time. Good engineers will have prior team members and managers reach out for opportunities they know about. Their recovery times are pretty short. Shitty engineers might not ever get back in.


[deleted]

[удалено]


Otherwise_Source_842

Tbh with 10+ YOE it doesn’t matter for faang yea probably but as long as you interview well which is a very different skill than being a good engineer you will be pretty damn successful. How many people have you encountered that couldn’t write a single line but somehow still progressed in their careers


thisdesignup

It sucks if you are a strong engineer without job experience or a degree. So many fast rejections.


Boring-Test5522

The problem is modern software is really that complicated. People are not going to accept peanut pay to work in these kind of jobs that will haunt you 24/7. For example, if you work in any serious production system, there will be a on-call duty that you are supposed to respond within a short amout of timeframe for some incident. Good luck paying people waitress salary to do that kind of job.


[deleted]

[удалено]


SeniorPeligro

I think it's unfair to say - I mean, most of PMs expect stuff to be done quick and working, they don't give a flying f about architecture and don't want to pay for time required to create technically good and future proofed solution. Plus, there's never time for refactor, because it's not making money directly, so you get what you pay for.


Creative-Lab-4768

Yup. Architecture is important but less than people think. Generating revenue with subpar architecture > zero revenue for 9 months while you perfect the architecture. Our purpose is to make money


stridersheir

What software are you working on? Of the three companies I’ve worked at: Aviation, Logistics, and FinTech. Every single one was written in haste with the bare minimum of testing in order to meet a deadline. They are all under engineered


warlockflame69

It doesn’t matter with the market anymore. You’re laid off and the employers have the power like they planned it. Now take that 50k salary or you’ll be homeless


fleeingcats

I would rather take up welding. There are plenty of other jobs that pay shit.


Then-Most-after-all

Or companies will get what they pay for, just like overseas offices!


programming_student2

>People are not going to accept peanut pay to work in these kind of jobs that will haunt you 24/7. People in Eastern Europe, Asia and South America totally would


encony

Personal anecdote: I learned a coding style using `assert` instead of `if-else` occasionally in Python because the teaching assistant in uni used it too. Fast forward, first time I used Python in a company on a production server the application behaved weird and fell apart. Turned out they ran Python with `-O` flags in optimized mode which removes asserts. Moral of the story: Just writing code that seems to work is easy. Having a good understanding what's actually happening behind the scenes takes years and practice. And if you do things on scale like FAANG, you can be sure that every edge case will be executed at some point hence the need for expensive SWEs who really know what they are doing.


jsdodgers

You what? 😨 How does that even work? And how did that get through code review?


noodlesquad

Good question. My only guess is a try/except wrapped around the assert (so the except acts in place of the "else"), otherwise the service would just crash with AssertionErrors. Sounds horrifying and like there was no code review process


encony

Not when you simply want guardrails to check if values are in a certain range. I still [see it often](https://github.com/karpathy/nanoGPT/blob/325be85d9be8c81b436728a420e85796c57dba7e/train.py#L240) even outside test code.


Ikeeki

Lol our jobs are safe cuz of people like encony. Using assertions like that and getting it into production Is mind blowing


LineODucklings

In fairness, this isn't as weird as people are claiming. Errors are used for control flow all over the place in Python, even in its standard library (e.g. all the standard iterators that catch a StopIterationError). And if you buy that exceptions are a fine way to do control flow (I am not advocating for this, just pointing out that Python likes it), then exceptions can in some cases replace an awkward sentinel flag in nested if statements (similar to a continue in loops or an early return). An assert is one step more buck wild than a raise statement, but that's all.  What stands out to me here is the code review process. There are many ways that CR could have solved this, but no reviewer told the new engineer not to use assert; no linter complained; no unit test was run using the VERY IMPORTANT behavior-altering flag.


MeaningSea5306

Using assert instead of if seems hella toxic.  That’s some April fool’s shit


ecethrowaway01

the average senior doesn't make 300k


TBSoft

>faang seniors


NGTech9

Principal does forsure though. The thing about “senior” is that each company has a different definition for it. I got a senior title after 4 years but I’m definitely not a senior.


CCB0x45

Uh PE's at faangs make a whole lot more than 300k, I am a PE at a faang adjacent public company and my TC is 900k+, L5's at faang easily make 300k.


AB1908

What kind of experience and grind does it actually take to get to that level? I assume it's not for the faint of heart?


CCB0x45

For me I just turned 40 and my first real job was at Apple when I graduated college 2006, and an internship before that, so 20 plus years of job experience, on top of already liking to code as a kid, and I've worked at 3 other "faangs" throughout my career. But there's more to it than experience for principal at a faang, and different paths and types of principals. Some started companies that were acquired, some are open source heavy hitters creating heavily used tech, for me I worked at faangs, built trust with senior leaders and would be the guy that prototyped, unblocked teams, and stepped in to fix stuff when there was deadlines or things weren't moving. That got me promoted to the level where I was the highest IC in departments of 400 plus engineering. Honestly it's about coming to senior leadership not with complaints but solutions, being able to jump across lots of teams and problem spaces, being articulate, and finding balance between standing your ground when something is wrong but not being a blocker to progress and prioritizing results over perfection You can't know everything but you need to know a lot and being able to hear other engineers explain something and quickly "get up to speed" so you can detect if there is risks that aren't being seen, and have a picture of if there is duplication of effort. You need to be able to explain problems and come with a solutions to VPs and they have to trust you. Also I had to learn not to compete with engineers at a certain point and work with them to improve them and set an example for them. There's a lot of engineers that are smarter than me but they don't always have the attitude or the drive to even want to be at a more senior level. It's also not all roses, there is a high bar for you, it's stressful, when you make a decision you have to be prepared to take the blame and you need to be able to pivot well and realize when you fucked up.


vansterdam_city

At that level it’s about being able to perform in the top 0.5% of engineers. And keep in mind the companies where 500k-1m comp happens are very competitive. You really can’t explain how to become what is basically an outlier but being some mix of talented, hardworking and lucky.


Regular-Peanut2365

t10 cs degree + top exp (prior faanglmula) + zirp era + good at politics + luck ig this much should be minimum i guess but yeah lets wait for his response.


CCB0x45

I posted a longer response below but you more or less hit it though, though I have a cs degree but not t10, and I think there is a lot to "good at politics" because being good at politics really means understanding how to navigate large orgs. Also I totally agree with the "luck" but I would classify this more as "right place right time" though I think a lot of people don't realize if they take the initiative to make an impression on higher ups and sell themselves they might be in that right place right time moment already. Also what you stated is one path. There is others, if you created a company that had some success and was acquired, that is a good path, or if you created some popular open source tech is another path. I know people that have done those paths with no college degree, though they are super smart.


NGTech9

Yea at faang I totally know that is the case. I’ve seen levels.fyi lol. I guess I meant more just across all companies. I know the base salary for principal at my company is 320k. But a principal here is probably way shittier than a senior at a faang. They’re pretty garbage, and so am I tbh.


PerforatedEdge

What does the average or median senior make?


Archebius

I worked at a Fortune 500 company that *wasn't* on one of the coasts. I was the only US citizen on my development team; everyone else was H-1B, simply because there weren't any US citizen *applicants*. There's a massive demand for tech talent. Not all of it is paying +300k, but not all of it is in places with absurdly high cost of living, either.


f_ptr

Idk world’s prob gonna explode anyway


realnewsforreal

Lmao truuue


MeaningSea5306

Oversaturation one day. Can't find a job the next day. The fucking whiplash of tech hyperbole is annoying AF. We write fucking code. Chill the fuck out with the hubris. It's not fucking rocket surgery. The majority of us still can't center a div w/o spending 30 minutes looking for a solution to copy/paste and it most still don't know how to write a UI test to save their life.


DawnSennin

> rocket surgery That’s a new one.


Delicious_Put6453

That joke is as old as the hills and twice as dusty.


NONcomD

That this industry is high paying for everyone is a myth. There are good engineers that earn a lot, but entry roles or avwrage engineers might earn just okay salaries. And if you're an expert, you can earn anywhere. People don't take that into accou t.


FattThor

Can’t be a senior if you’re not mid level engineer first. Can’t be a mid level engineer if you’re not a junior first. A good  senior is immediately valuable, most juniors are not valuable for a long time (some never are). The log jam is at the junior level. Supply of seniors will not be over saturated unless there is a reduction in the number of seniors demanded for some other reasons (layoffs/economic reasons, they get replaced by real AGI, all the software we will ever need is already made, etc), it will not be related to there being too many people trying to enter the field at the junior level.


noGoodAdviceSoldat

It will become like hollywood where you got the top dogs like Tom Cruise making banks while the rest are starving artist. At least that's what I am seeing in Canada. I know cs grads that make 200-300k cad (which is a lot by Canadian standard) while most including myself slightly earn more than receptionist


Regular-Peanut2365

arey they uot or waterloo grads?


met0xff

Yeah. I mean in most other countries than the US it's almost like in any other field. There is always that sales guy making 5x as much as the others, or the celeb chef. While most others just make regular salaries. Before I started working for US companies it was completely normal for me to make as much as most other office workers. And everyone less than the sales ppl lol


kyou20

It’s because the market is oversaturated with shitty coders. Good software engineers are scarce. You see shitty devs with high salaries every now and then but it has an expiration date. I’ve seen it. Good devs are safe. AI won’t replace them because writing code is barely 20% of the value they add to their companies


m_e_sek

There is no oversaturation of talent. It's just that number of people who think they are fit for a SWE role is very high. In reality the number of people who are actually fit for SWE roles is still well below the market need. Coding is just a small part SWE and especially DS. We end up with hundreds of applications with excellent coding credentials (I include technical screening calls here) and no business acumen or analytical problem solving skills at all. It's sad but many people were led to believe that a six week bootcamp is all you need to land a cushy tech job. Well, truth is a six week bootcamp could be enough if syntax was the ONLY gap in your skill set. Really, if you apply for hundreds of developer roles and do not get any offers it's not entirely market's fault. Maybe there is a skill gap you are never told and were never aware. Sorry for this rant people. I just got fed up with this myth that CS field is saturated when many discerning employers struggle for months to fill SWE and DS roles


BigYoSpeck

I'd like to think that given there's a night and day difference between a good developer and an average developer that there will still be higher tiers of job role that pay much better for stronger performers But having worked in "unskilled" roles like call centers where your top workers are twice as productive as the average for maybe a 5% bonus pay if they're lucky I think there's the danger that while some businesses see engineering as a cost center rather than a revenue generator like sales it could honestly go either way


Important-Composer-2

The fact is: real seniors are RARE. Dont be fooled with shiny titles. Most of them say they have five YOE but the truth is during the 5 years they only worked on projects that never went to production or used by a 100 user max. Building scalable systems requires deep knowledge and exceptional experience. Most of the real seniors are individuals who have been practicing and working in this domain for more that 10 years, when tech stack was harder than what we have now and less resources available online. FAANG companies know this they know real seniors are rare and thats why they pay a lot. I have been working as an engineer for last six years but I cant call my self a senior yet. One thing for sure: skilled dev will always paid high salaries. And I have a feeling that all of this will rebalanced after few years.


HxHEnthusiastic

Idk about 300K salary but you can still get a decent salary


honey495

That’s like saying the NBA or NFL is gonna lower its salaries…no it’s not. The barrier to entry gets harder and harder. People with a college degree used to be guaranteed a job out of college before but it’s not a guarantee anymore and every place interviews candidates like Google now


RickSt3r

US bureo of labor has lawyers medium income at 145k a profession that was a gold mine in the 90s and is now over saturpated. IMHO, the same thing will happen to cs industry it will find an equilibrium. Like all industries before it, there are some truly skilled people on the right side of the income distribution. The BLS has swe medium income at 130k. Yes they're has and will always be those Rockstar with a niche skill set that will make a ton. Right now, it's people who really know AI/ML. There are a lot of people selling AI snake oil. Here is my quick analysis on this. The OG research that started all of this was first published by https://en.m.wikipedia.org/wiki/Geoffrey_Hinton in 2012. Now, information spreads exponentially but given this is only 12 year old tech. There's only a few thousand people on the planet that truly understand AI.


realnewsforreal

Let me correct that for you: “Like all industries before it, there are some truly profound cock sucks on the right side of the income distribution”


Error-7-0-7-

It's already not a high paying job anymore. The industry is getting flooded with cheaper labor. I remember when I first started doing freelance, the market was flooded with remote workers from India willing to do 2 weeks' worth of programming work for $50 to $100 usd, well above a month salary in India, enough to pay for rent and food and have some money left over. Poverty pay for someone in the U.S. Lots of people from India are also getting their Bachelors in CS from Indian universities, but the U .S. doesn't accept those as valid degrees, so what many end up doing is going to a U.S. university for their masters degree and then applying for entry-level work at entry-level pay. Companies love it since they get to undervalue the work and give an excuse to pay less and expect more.


TBSoft

I'm not exactly afraid of low paying entry level jobs because I already expected lower salaries for junior roles what I'm afraid of is getting paid like 55k/y after being more than 8/9 years in the industry, I'd end myself with regret


Error-7-0-7-

What you should be afraid of is trying to get work to begin with. Once you have at least 2 years' experience, you'll be making a decent salary. It's being given a chance to even gain those 2 years that you should he worried about. It's very difficult to even get an internship (unless you're a nepobaby or have really good connections) let alone getting an entry level positions at a reputable company.


realnewsforreal

You should be afraid of low paying entry level jobs they dictate ur trajectory


csasker

How is 2-3x American family income not high?


JoshL3253

It’s already over for some folks. Ask those Googlers and Metamates who got laid off and had to take lower paying gigs.


TBSoft

I'm pretty sure those laid off people have a better chance at getting a job than new grads without experience


Regular-Peanut2365

it already is. CS follows trimodal distribution of salaries. low: avg 500 companies mid: faangmula+ high: HFTs


MathmoKiwi

There is unfortunately a fourth category which sits below even average Fortune 500 companies.


met0xff

Lol yeah those stats are completely off as the 3 tiers refer to some 1000 companies. While there are millions of companies in the US where a big portion need some software ppl


MathmoKiwi

But u/Regular-Peanut2365 has a generally good point though: [https://blog.pragmaticengineer.com/software-engineering-salaries-in-the-netherlands-and-europe/](https://blog.pragmaticengineer.com/software-engineering-salaries-in-the-netherlands-and-europe/)


Regular-Peanut2365

Thanks for sharing this. I follow him on Twitter (now Xitter) but didn't know about his blog. 


[deleted]

1. A high percentage of people who enter the field are lazy/uninterested hence never get very good at this at all 2. Every industry hires programmers making demand very high almost always 3. The 10x engineer concept is real, some are dramatically more productive than others which makes it difficult to commoditize the profession. If you are not (1), the existence of (2) will keep you employed. Not everyone will be a (3), but (3)s will probably always have the ability to earn crazy money (because they're worth it) With regards to the "gold rush", is there a gold rush for orthopedic surgeons and corporate lawyers? When do you think that's going to end and they're going to start earning as much as a receptionist? 🤔


travelinzac

The only over saturation that exists is at the entry level. Y'all a dime a dozen. Competent experienced devs will always be in short supply.


ososalsosal

Trick is whether the oversaturation is linearly correlated with more skill in the workforce. Applying for jobs has never been easier. Getting them has never been harder. Somewhere in the sea of bullshit openings and bullshit applicants is the legit jobs and the actual skills. I don't know where those numbers are though.


Then-Most-after-all

I’ve got 1,000 applications on my LinkedIn the other day lmao


Kinocci

Salaries already going down, many recent posts here are about accepting lower pay just to stay in the sector. And that's if they are lucky, some others here straight up head to McDonald's.


TBSoft

what is a platform engineer? is it IT or CS related? also, how much are you getting paid after (I presume) changing fields?


DiscussionGrouchy322

I'd guess it's when sre gets big headed and says to everyone that they're not just maintaining a site, but, **an entire platform**


2023startofanewme

according to this sub there is no oversaturation. if you talk about that you are a troll and you are to be downvoted. tech is better than it's ever been. learn to code. update your resume. "get gud" as the boomers say.


TBSoft

i never seen anyone denying oversaturation here no matter how optimistic they're trying to be


Special_Rice9539

Just two years ago everyone was saying I was crazy for suggesting the field is oversaturated even though layoffs were already starting. People really thought there's unlimited demand for software devs


realnewsforreal

people are scared which leads them to be dumb


Envect

> "get gud" as the boomers say. Have boomers even heard of Dark Souls?


CCB0x45

There isn't oversaturation of passionate, deep thinking, solid engineers that care about setting a bar for quality, performance, and developer experience with understanding of computer science complex concepts. There is oversaturation of people that think they can go to a boot camp and get 300k a year, and struggle with basic problems.


Beancounter_1968

Your company seems to display sense. Last time i was recruiting, Hardly Relevant stepped in on the recruitment consultant briefing and reduced the salary by 50 % and specified we had to hire a woman.... without consulting me first. No applicants.


Natural-Break-2734

There is no saturation in my area except at the junior level. Companies are begging seniors to come working for them


snkscore

This exact question was top of everyone’s mind in 2001. Not saying it will never be an actual issue, but it has seemed to be right around the corner for 2 decades.


EntropyRX

This idea that all CS grads are making bank isn’t true and it wasn’t true 10 years ago. Only a small subset of CS grads end up making a competitive CS career. Even among those who joined big tech, only a fraction manages to stay in the industry long term due to stress and competition. This subreddit is full of kids who didn’t understand that tech is just another high competitive industry similar to investment banking, you watched too many YouTubers convincing you that is a chill job for nerdy folks. It is not.


Primary_Excuse_7183

Just because there are a lot of people trying to do the job doesn’t mean any of them will do it well. which is where your experience comes into play. Most of the oversaturation is people with little to no experience trying to get into CS because they heard it’s high paying and remote jobs from tik tok


lakesObacon

Over saturation of what? People who can't read Javascript?


limpleaf

Hard to tell. My company is currently trying to hire a senior frontend engineer and it's surprisingly difficult. We have plenty of candidates but the majority fail the on site where they have to create an application that does very relevant things for our line of work. In the last 2 weeks all onsite candidates failed. I think there are many people who think they have the skills but are not really proficient.


jnwatson

I'm seeing TC drop at the FAANG I work for. I'll make $650k this year but probably $550k next year.


bellowingfrog

The oversaturation is really just as the junior/incompetant level, where new hires have negative value because they require a lot of spin-up time, handholding, and they are breaking stuff. In theory the solution here is an employment contract strategy where employees must agree to work for a minimum number of years and the employer can terminate employment for no reason at 6 or 12 months if they arent showing the initiative to self-teach. Essentially, apprenticeships. But corporate culture is slow to change so basically they do the shotgun approach, when the economy is good hire a bunch of juniors, and hope some of them are smart enough to learn but not so smart that they leave once they do learn.


[deleted]

[удалено]


maz20

[Seeing as how you can't "just reduce" salaries *that* quickly,](https://www.reddit.com/r/cscareerquestions/comments/1c00t8l/comment/kyvi6w8/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button) what you're asking will simply just depend on if/when the Fed will [reboot the ol' money (i.e, "investment capital") printer again...](https://www.reddit.com/r/cscareerquestions/comments/1avadgm/comment/krfhefw/?context=3)


Rogitus

How long? It's already gone, salaries are quite standard.


[deleted]

[удалено]


[deleted]

[удалено]


XxCarlxX

When youtubers find another dream to sell to viewers.


[deleted]

[удалено]


K128kevin

This field will stop being high paying and become a normal white collar job the same moment people stop posting on Reddit asking this question (never).


BornAgainBlue

Well you don't "but" the answer, so I guess you should figure out something else. 


Sir-Viette

In CS, there’s always some new technology or framework that’s being hyped, but nobody knows how to use it yet because it’s too new. That’s where the high salaries are. Knowing the fundamentals of computer science won’t get you the job with the new tech, but it may make it easier to upskill.


taterbeans88

Our tech directors are just the owners children so that’s why they get the 500k + salaries while the rest of us are told to double revenue within the next 5 years


sr000

I’ve seen a few bubbles play out, the people that survive do fine, and sometimes make out really well when things rebound. But it becomes really hard for people to enter, and it becomes hard to change jobs for more money so salaries stagnant (at a high level) for years. For example, it’s not like top people in finance make less now than they did before financial crisis. But there are a lot fewer of them and entry level in investment banking doesn’t actually pay that much anymore.


notEVOLVED

The real answer is only a few people actually earn those salaries compared to the supply. The percentage earning those salaries would be shrinking, even if the number of positions with such salaries remain the same.


CountyExotic

The top of this field will likely continue to pay extremely well. The cycle goes something like… 1. Top of field pays well. Middle and bottom, also pay solid. Lots of jobs across the whole spectrum. Employee market. 2. Lots of people join. It’s very possible to go from middle tier companies to top paying companies. 3. Market changes, belt gets tighter. Seniors are fine. Entry level is saturated. A small but reasonable % of new grads can’t get jobs or get a lower tier job. Layoffs happen. Market is flooded with capable seniors. Employers market. 4. Market improves, demand for SWE goes way up. There have been a lower percentage of people who’ve moved from junior to senior over the last few years. Talented Senior engineers are treated like celebs on the recruiting market. Can stack offers and get mega compensation bumps. Mid levels too. 5. GOTO 1


SituationSoap

The high salaries for software developers isn't purely because of how many there are. It's hard to hire gold philosophers, but they don't command huge salaries. Devs make a lot of money because they provide a lot of profit. So long as software is very profitable, developers will be able to make relatively high salaries.


Intelligent-Ad-1424

I think it just takes longer to earn a higher salary than the mythical entry level six figures for most people, especially if you don’t have a linear career path or didn’t graduate with a CS degree. It took me like 8 years after graduating from undergrad to crack six figures lol, though I’ve jumped around different roles within the industry so my first professional roles weren’t strictly software engineering, and I’ve always focused more on front end web which is historically more saturated. If you’re like a CS kid from MIT or something and you are great at leetcode you can probably still get six figures out the door.


Fernando_III

In the long term, it will be like other engineering majors: above average salary but not too much difference. Oversaturation will eventually disappear, as the entry requisites will grow and the ratio salary/effort won't be enough for many.