Hacker News new | past | comments | ask | show | jobs | submit login
Why does getting a job in tech suck? (ryxcommar.com)
66 points by InfamousRece 8 months ago | hide | past | favorite | 52 comments



A big thing is the rise and rise of bullshitters. Wall to wall buzzwords and made up stories about what they did in their last job. Leetcode filters a lot, but it also filters out, just as many, if not more, people who can actually do what they say.


It's a very strange filter though. At my current job there's a multi-stage hiring process with leetcode tests. And yet most people lack substantial ___domain knowledge, it's really frustrating. In fact the code base hardly has a visible architecture


Indeed, Leetcode tests algorithmic knowledge but no ___domain knowledge. I work professionally as a front-end developer and I dread losing my job because I could never pass a Leetcode interview. I can thoroughly reason about web development, I know the stack front and back, it's my passion... but a Leetcode interview doesn't test for that at all.

I think every tech-related company looked at the high bar at big tech, assumed the algorithm questions was the only signal (it's not), and have been poorly aping that ever since.

I also think a simple 20 minute discussion between a hiring candidate and an engineer simply discussing how to build something will give you better hiring signals than any Leetcode challenge.


Yep, it's just some "cargo cult".

I attended a meetup a number of years ago at a local trading firm, well known for a barrage of impossible puzzles and some simpler, like implement an order book for a matching engine. One of their senior guys did a talk on their trading system. I asked a basic question and the answer was so naive it was shocking. Maybe their best people don't do the talking.


All juniors will seem like bulshitters almost by definition. There's little reason to expect otherwise.

If bullshitters are making it into your organization at the higher ranks that's something else... :(


Bullshitters making it into the higher ranks is another thing altogether. That's an unfortunate side effect of 'promotion of the uninvolved'. Look at google now. Their project management is based on this system: https://en.wikimannia.org/Six_phases_of_a_big_project


Leetcode is also there to filter out older developers. Most older developers probably never used those algorithms in college.


example?


Example, me, I have not written a sort in C++ in 40 years. I do follow the research and often look under the hood of the libraries to get a feeling of the pros and cons to an implementation, but I have never written one from scratch, let alone in an hour in a test. I'd fail.

Here is the big junior mistake, actually doing that, thinking you are going to do it better, instead of doing real work (exception: you are writing the C++ runtime).


Surely you have written a sort when you were in college - even if that was 40 years ago :) I see this type of a stuff as huge advantage to older developers, not disadvantage - I am older developer (50+) and I have actual had foundational CS classes in school back in the day which I am not sure how many younger developers get these days...


Of course I have. I worked in embedded systems at the start, but write one from scratch nope.

I do agree with you about the lack of traditional CS. Whenever I am parsing anything, I first reach for a FSM, and none of all the bullshit string copy, string trim, strim unpad, string unpad in the middle. I also know enough about modern lock free algorithms to know that some 10 minute scribble and a bunch of buzzwords does not scratch the surface.


In general, scanning/lexing uses FSMs, parsing is done with push down automata (PDAs) (you need a stack to parse, you don’t really need a stack to scan).


You are making an example of my point? When parsing something like a comma separated list I generally don't get carried away with anything more with a switch/case state machine.


You need a stack because you could have sub expressions that also have commas. You only get away with an FSM if your syntax doesn’t best anything.

So seeing “use FSM for parsing” will obviously raise lots of an eyes will CS people, especially compiler people.


A CSV file has sub expressions?

Even if it has commas in quotes, it's a comma seen in the state 'collecting text'. There is no need for anything more complicated than an FSM. Maybe there is in leetcode. One character of pushback is not a 'stack' unless you are answering a Google interviewer.


In computer science, parsing is distinguished from scanning via nesting. Or you can think of it as languages that you can recognize with FSMs (scanning) like regular expressions, and languages you can recognize with PDAs (parsing) like CFGs.

This would never come up in a Google interview and really only comes up in CS 101 (or whatever your program's first CS theory course is) when you study computational models , languages and automata for the first time. Anyone who doesn't go on to do compilers really doesn't care much about the distinction.


I think an interesting follow-up discussion/blog post would be - okay getting a job in tech may suck... but doesn't getting a job outside of tech suck even harder?

In other words, if you were starting college today, would you still do tech? Is it still better than getting any other job for equivalent pay bands?

Specifically comparing early career job seekers:

* Easier/harder to get $50-100K tech job versus $50-100K job in other fields?

* Easier/harder to get $100-150K tech job versus $100-150K job in other fields?

* Easier/harder to get $150-200K tech job versus $150-200K job in other fields?

Other fields are things like marketing, accounting, law, medical, biotech. A quant/finance job is probably CS or CS adjacent these days so its basically a tech job.

My take is that by the time you get above $130K there probably is not any other field outside of tech where this is possible unless there is some very unique skill.

And instead of annoying but somewhat objective leetcode/live coding whiteboard interviews; hiring is way more subjective, credential based, network based and gate kept.


I would be interested in seeing how many tech jobs within two standard deviations of the mean pay above $130k, especially once you start adjusting for cost of living.


Getting a job in medicine is usually somewhat more straightforward with less BS about skills tests, at least for the common specialties. Most organizations have shortages of physicians and other high-level practitioners so they can't afford to turn away qualified candidates unless there are major red flags.

Of course medicine has other downsides as a career field which makes it maybe not a great choice unless you really love it.


You can't really be making this comparison, though? Getting an MD and residency and rotations means you're in your thirties before you get your first real job. At least in the US. It's wildly more difficult.


Why not?

The MD cert and residency are the entire reason doctors don't have to deal with the same interview bullshit ("now please demonstrate an open-heart surgery on this patient over in room 103, and talk me through it as you go"). There are multiple gates you have to pass before you become hireable:

1. Be in about the top quintile of your undergraduate class.

2. Have good MCAT scores.

3. Get accepted to a med school.

4. Not fail out of med school, which includes what is effectively an apprenticeship while being supervised by an experienced practitioner.

4. Be accepted to residency.

5. Not fuck up your residency.

6. Apply for your license.

7. Not become uninsurable for malpractice.

Almost all of the bozos have been eliminated by the time you get to step 6. That is what makes hiring a doctor easier: you mostly just need to check "is this person's license real?" and "are there any red flags since licensure?" When checking references, you mostly rely on other people who also have a medical license.

In the software world, we have no equivalent to all that. Literally anyone can call themself a software engineer. There are no licenses, no tests, no (required) degrees. There's no apprenticeship. There are no lasting career consequences to fucking up a project. When checking references, you have no way to know that those people are real (unless they are in your network).

That's why we need skills and knowledge tests when hiring for software roles. Sure, it's nice that you can walk into a software job without the 10-15 years of formal process, but the flip side is all the annoying process around hiring.

There ain't no such thing as a free lunch.


I agree with absolutely everything you wrote. And so I don't complain about hiring loops, and instead just prep for interviews. It's absolutely worth the tradeoff.


Most people in medicine are not MDS.


AI has certainly made me feel like coding is low value.

the derivative and repetitive nature of most coding tasks.

when I ask GPT for some code and it spits out 200 lines of boilerplate in 2 seconds, i feel sick. what am i doing with my life.


you misunderstand how software systems are built. These days, they are "assembled" out of building blocks which have clean interfaces.

similar to how houses are built from prefabricated components. Imagine that the AI is producing these pre-fab parts to order. But the design of the interfaces and assembly is still an art.

if you think of your job as a mason assembling bricks to build components, you are mistaken. you need to think of your job as an artist creating systems that work well built out of pre-fab components.

there is a story of how woz wrote the entire software for the early apple in assembly. nobody does that anymore. because, we have tools that produce assembly like compilers and such. that didnt take away the jobs of software engineers, because, someone had to now produce code at a different layer of abstraction.

imagine you ranting at the compiler 50 years back because it took away your job producing assembly code.


I’m thinking about how that boilerplate isn’t going to move the business forward because it lacks ___domain insights, isn’t structured quite right, ignores the needs of the end users, and looks too much like the code conventions we’ve been trying to move away from (for example). Yes you can prompt your way out of that, but by the time you have you could have written the code yourself.

I have never been able to use a large output directly from an LLM. They’re useful for starting from nothing or tickling your brain when you’re blocked on something, but they’re nowhere near making me wonder what I’m doing with my life.

There’s so much more to software than code. I get that the final implementation is code, but the path to that delivery is incredibly complex. Especially with existing code belonging to relatively non technical teams. They need a real human to connect to them, their history, current and future needs, nuances of the teams’s capabilities, etc. AI is nowhere near serving teams like this, and I have a hard time imagining when that would change.


My hot take is that GPT is getting better everyday at generating complicated and correct code that's maintainable, but its still got quite a ways to go.

On the other hand today it's already passably good at generating stuff that requires less precision and less accuracy (i.e. humanities type stuff, marketing, managerial/secretarial tasks, etc.).

So while you might be looking at your own CS job eventually being in jeopardy, whole swaths of alternative careers you aren't looking at are probably way, way more in jeopardy.


> My hot take is that GPT is getting better everyday

Really? My experience is that it gets better every release (every few months to a year) and then gradually worse until the next release.


It the business model of a great demo to get people to signup and reduce resources each release to make it lose less money. Rise and repeat.

Meanwhile the free version is trying to keep up with other vender so they are forced to give away more and the difference between the two versions (paid/free) after a period of time favours the free. version


The boilerplate stuff is just that, boilerplate. It should be able to pump out drivel utility code. It doesn't change

The real value is Doing Useful Stuff with the code, written by you, your LSP, or AI.

The robots only take the jobs we give them. I don't give them code, more using LLMs as a sort of consultant with the pathological urge to lie and please.


The pathological urge to please is incredibly obnoxious. Imagine an AI that could tell you your idea is shitty and be right. That would be awesome.


Seriously, a simple "sorry - that API doesn't actually exist, it's going to have to be The Hard Way"

Not make up a completely nonsensical API that just so happens to be a direct path to my query


Really? It automates the extremely boring and low skill part of your job and you "feel sick"? I feel pretty great about getting to focus on the actual problem rather than on boilerplate.


No, you are absolutly wrong. If you would automate it yourself then its correct way of doing thing. You learn by the process, increasting your skill. But no, you choosed to do automation by AI, so you become nothing more that a frontend to put data in. Also, you are slowly loosing control about stuff you doing. I know, todays engineering culture is weird. Dont ask questions, its not of your concern, etc.. I wonder when that stuff finaly collapse.


This is a boring and tired take, I’m sorry but it is.

Might as well take it to the logical conclusion that if you aren’t creating all your components (I’m taking IC’s, transistors, etc) by hand then are you really learning or increasing your skill. You’ve picked an arbitrary point in the tech stack and declared that any lower is not needed but any higher means you’ve lost control.

It’s like the people that scorn higher-level languages.


Precisely. LLM assistance is how I felt in the 90s about programming in Delphi and C++ Builder. It felt like cheating, but in a good way, I was getting to solving my problem in no time at all. Except back then it was mostly about the UI, and now it’s for other things as well


I find it weird that people talk like that. Did you even try to make something (e.g. a side project) with the help of AI?

AI is doing amazing things for me. If i feel i'm out of control because some parts of the generated code i don't understand, i just let it explain me, even ELI5 if that would be needed. If the explanation doesn't make sense,or it does make sense but it is not where i want to be heading, i point that out and the AI corrects the problem, or explains what the options are.

Together we come to a more concise solution.

I'm really amazed/confused why people talk like that about AI.


No, I have no reason to use it. I have piles of my own programs, notes, docs. If I need to do sth, I can refer to those. In worst case, I have to use search engine to grab info with is immediatly mirrored.

If it works for you, thats great. But its interesting people do NOT see danger, when its actually too late. Maybe ask AI about it ? ;)


I'm trying to wrap my brain around this. I understand that people see danger, but in fact there is no other option for us than to follow evolution. All major companies are embracing AI already and it's being used/pushed upon their customers as well.

There's danger in copying stackoverflow code as-is as well. But would that mean we should not use info that is shared on SO?

> In worst case, I have to use search engine to grab info with is immediatly mirrored.

I've never heard anyone saying they use a search engine "as a last resort"

>I have piles of my own programs, notes, docs.

For me, working that way would only succeed if I would need to repeat a project that is say 90 percent the same as any of the hundreds of previous projects, and stay with a programming language like C or fortran.

But if it works for you, great as well.


Im not sure if this is evolution really.. Maybe.. divolution? Why? Because AI tools like that are "FINAL" tools. I will repeat myself, but I will say it again. Smart people around the world develops those tools, and they provide them as IS for anyone (smart, dumb, adversaries, etc). Most people have NO clue how they work, but those tools does the job so who cares. NOW, the problem. All kind of "managers" and "politicans" who DO NOT care about knowledge are happinly grab all those tools on enpower them even more. And once those tools will be able to sustain themsels (one step before of true AI) you all guys/gals are obsolete. And I mean it really. No joke. It happened before, it will happen again. Because those who are in power have NO respect for you.

Wars and genocides happens because some small minded dickhead in power try to pour sweet on his ego or fullfill his ambitions and sends milions of people to war. Sad is, that all those people just DO IT, no resistance.. like WTF?

And this is the main risk. If you do NOT get it, im out of words.

Also, I have no problem being replaced by true AI. I am mortal so, I will die eventually. And that new AI will be different from humans. Will it be better. I have no idea, but lets give it a chance. Humans had it, and failed miserably.


I'm confused... Let's make this more concrete... Putin sends hundreds of thousands of soldiers to fight to their death by means of... AI?

Hundreds of years ago there even was no AI and there were... less wars?


Yeah, it seems you are confused. Guys in Power cannot do anything by themselfs. Usually they are no-skill people, hence went for power to give orders. Now imagine situation when you have an AI that can provide you with any data and solution. All you need is to provide a query and you will get answer with explanation. Next step is, it will send command to automated factory to actually produce the thing. Now, all those people in power, why they will need scientists and engineers for? They never listen to them unless it will directly benefit them. Is sad that people lack such an imagination.

All those scientists and engineers just provide tools for their own doom.

Im dont with this thread, I cannot explain it better anymore.


> Interest rates are most likely the single biggest factor for why tech hiring has gotten worse.

The fed just made it official that the easing cycle is beginning. The 10yr has already front run them by about 1.7%.

So if the article conclusion is correct tech job market could look good going into the new year.


The effect takes place with a lag in both directions. Positive impact due to interest rates being lowered is likely further out than start of next year. But that’s just my guess


"I think if your product doesn’t work with an off-the-shelf model, it’s unlikely to magically start working with a custom, in-house model."

In my experience a lott of LLM usage in B2B is fairly basic (translation, summerization, data extraction, categorization) and fairly well handled by current SOTA foundation models. Could this be improved by custom/finetuned models? Sure, but in nearly all cases I have seen the ROI of improving other parts of the application is way higher than the investment in developing and maintaining custom models.


Really interesting idea overall. But I disagree with this part:

> Algorithms are tiny parts of large systems. The algorithm part can usually be abstracted as an API call that provides some value(s) with inherent uncertainty; an ML endpoint is in essence an API call with few or no side-effects that returns an uncertain value. It turns out, the system design surrounding this almost always matters more than the algorithm and the dumb algorithms tend to do well enough anyway.

I think this is basically dismissing almost all APIs and algorithms in favor of system design. But system design is pretty similar in many apps, while the value of each app is very different. So clearly the API/algorithm is very important, and often the most important part.

I also disagree about AI not taking jobs. GitHub copilot definitely makes programming about 30% faster. To keep up the jobs, we would have to write 30% more code. But it seems innovation is the limiting factor more than typing code, so maybe we'll only write 15% more code, and we can have less devs.


The current AI is producing more garbage to maintain, which means those who can do trash-compactor work will be in even MORE demand, and companies tend to over-hire in search of the garbage taker outers...so AI is creating MORE work, not less.


agree that anyone making broad generalities like "algos dont matter" is always mistaken. but API design is more about the system, and how it is carved out into components, and what each component does is the algo. so, api and algo are tied together.

compilers eased the production of assembly code. that didnt reduce the need for folks coding at a different layer of abstraction.


A whole article about getting a job in tech and no mention of the abominable leetcode. Surprise! From junior to principal Leetcode is here to stay. Good luck solving 2 problems in 35 mins.


I explicitly said no leetcode when I was an employee and getting hired and reached close to half a million dollar salary. So at least another path is present if devs don't give in.


It doesn't suck. Its mostly reverting to "how everyone else dealt with getting a job in the last 100 years"


in my experience it doesn't suck too much in the uk. i've never had a shortage of interviews and i've never had an interview like the ones frequently described by americans, where they have to write code on a whiteboard and solve extrenely difficult leetcode questions etc.

i update my cv, upload it to the big recruitment websites, recruiters do all of the work, my phone rings 3-5 minutes later and the calls barely stop for a second until i've been in my new role for 2-3 months. interviews are always laid back conversations over the phone or a teams call with no curveballs, just the standard questions like what kind of stuff do you work on in your current job, what tech stack do you use, what do you think about [current popular thing], etc. i'd say i get an offer from about half of the interviews i do.

my only real complaint other than the amount of recruiters who deliberately waste mine and their own time for reasons known only to them (which has always been a thing), is the very obvious coordinated push to get people "back in the office" spilling over and affecting developers, which means there are way less fully remote roles than there were even before covid.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: