Why does getting a job in tech suck?
ryxcommar.com
ryxcommar.com
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.
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.
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).
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.
So seeing “use FSM for parsing” will obviously raise lots of an eyes will CS people, especially compiler people.
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.
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.
If bullshitters are making it into your organization at the higher ranks that's something else... :(
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.
Of course medicine has other downsides as a career field which makes it maybe not a great choice unless you really love it.
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.
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.
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.
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.
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 ? ;)
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.
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.
Hundreds of years ago there even was no AI and there were... less wars?
All those scientists and engineers just provide tools for their own doom.
Im dont with this thread, I cannot explain it better anymore.
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.
Really? My experience is that it gets better every release (every few months to a year) and then gradually worse until the next release.
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 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.
Not make up a completely nonsensical API that just so happens to be a direct path to my query
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 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.
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.
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.
> 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.
compilers eased the production of assembly code. that didnt reduce the need for folks coding at a different layer of abstraction.
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.