i know you're exaggerating but it doesn't change that dev is extremely saturated.
and toxic job market has shown being good won't protect you from being filtered.
i know you're exaggerating but it doesn't change that dev is extremely saturated.
and toxic job market has shown being good won't protect you from being filtered.
ask someone how 'typing in a textarea in hackernews' works, and you will be surprised (just an example because thats what i am doing right now haha)
> and toxic job market has shown being good won't protect you from being filtered.
of course, who said its going to be easy, my point was, it will be bad for a bit, then good for a bit and so on, it just happens that the youngsters now have only seen the good bit, and are freaking out because they think their job is who they are.
How does it work (or rather, what answer are you expecting from this question, from an interviewer standpoint)? I'd say something like, your keyboard sends an input event for each key that's captured by the OS, then translated to a letter, then transmitted to the application, in this case the browser. Or I guess the browser might also capture the key event and translate it itself rather than the letter (which would be how key rebindings work in online IDEs).
I've honestly interviewed developer candidates that didn't know what an operating system was. I asked this person what their favorite OS was and they answered "MS Excel". I politely asked them if that was an operating system and they declined to change their answer. Sure, at some point you might consider Excel an "OS" but I don't think they were thinking that deeply. Yes, the pool is that shallow, or at least it was back in the late 90's.
It is wonderful that we now live in a world of highly portable development where you don’t need to get into the nitty gritty to do basic things, but you’re missing out too much detail here.
You know when you write a web app, when you start it, you need to bind to a port? Guess what provides that port? What does it mean to “provide a port”? How does it physically work? How does this differ on Linux vs BSD vs Windows? Are there reasons you should care?
You know when you write a mobile app you need to use public apis to do things like draw to the screen or get user input? Guess what provides those apis? How do these APIs differ from OS to OS? What’s missing that you always reach for? How does local storage work? Or a remote API call work?
And then arguably the internet itself - and I mean it in the sense of the RFCs that define the behaviour - is an OS in itself. When you type something into your browser location bar and hit enter you start a chain of processes that involve DNS resolvers, root servers and registries, multiple routing algorithms (at different levels of the stack from Ethernet or wifi up to BGP), get invoked as your packets try to find their way to their destination, and the replies try to move their way back. Way, way below the HTML and CSS is this monster of dependencies. How does all that work? Why is it built that way? What are the failure modes and can you mitigate them?
These questions are rhetorical but they are meant to provoke a little nudge of curiosity: there is a rich, deep vein of thought that has gone into every corner of that experience, and knowing a little more about it will allow you to develop better software higher up the stack.
And honestly, even though I have worked mostly in the web app sphere for 20 years, if somebody just hand waves it all away in an interview, I know there is a lot of training we will need to do to get them to a level where they can successfully debug 100% of the issues we will see in production (and therefore reduce the chances of me getting paged).
It’s not a red flag, but if somebody walks in just as good everywhere else and is locked and loaded on this, I’m inclined to hiring them instead.
It would take a curious person a few weeks at a couple of hours a day to learn enough about this stuff to be able to talk to it and apply that knowledge. Meeting candidates who have never even thought about it is frustrating.
I have also never had an interviewer seem to want that level of detail. It probably depends on the job and the interviewer.
I am a little skeptical that there is a large enough pool of people out there who can meaningfully compare Linux vs a closed source OS like Windows, other than maybe current or former Microsoft employees. But I agree with your overall point that comparative knowledge is good.
I still struggle to find an accurate and complete single sentence definition, for if I were asked "what is an OS" in an interview though. Maybe I am being too pedantic and the best answer is just to start listing the parts or functions of an OS.
I had this vision when I got into computers that I'd be working with a lot of people who like and regularly use computers. No. I work with a bunch of people that heard computers were a good gig that paid well and got a degree that makes them useful in one very very specific area or at least seem useful in that area while they frustrate everyone around them until we get the email about how great it's been "accomplishing so much with" us but they've accepted a management role somewhere else.
There are some solid folks out there, but the ratio is indeed bad.
I've known maybe a dozen engineers who could describe the entire boot sequence all the way to the server being ready to receive a request, at a level where they could debug each stage and independently fill in the gaps. Same for the "enter text in hackernews textbox" or any of the other widely known full stack tasks.
I could tell you how I might build one of those but I'll inevitably be missing some associated detail.
I got a new position about 9 months ago, at a company that's not taking the current economic environment with much grace. Over the past 9 months the workplace has changed pretty drastically from what originally drew me here, so I'm looking for something new. (Which pains me, because I generally do not "job hop" like this, but most jobs also don't bait-and-switch like this)
I've gotten zero replies so far. There's a striking lack of "interesting" jobs to do on the market right now, and I'm shocked at the lack of interest I'm getting when I find them given my skillet, if I may be so bold. I think it's just a REALLY bad market out there.
To be fair, a lot of this may be due to lack of organizational knowledge transfer. I might be able to map a network drive at home, but I'd need someone to tell me what the location and stuff is if it's a pretty-existing drive at work.
But then again, maybe I'm one of the shitty developers you're talking about. I know I'm a low performer.
Windows, Linux, macOS? NFS, Samba, etc…? Simple folder share or are there AD credentials involved. We haven’t touched on what’s available in the cloud like efs.
There is so much now, that’s it’s hard to know it all. What they should be able to do is have some idea on what to google for.
I'm seeing mid-level backend devs making 350k who e.g. don't know what SQL indexes are. These people are going to get cut, I'm a lot less worried for people who know what they're doing.
Yo where is this? I am not making anywhere near that and am pretty confident in those kind of skills.
It's not, 100's "applied" on LinkedIn's job ad mean nothing when the most applicants can't even explain a for loop.
Maybe big tech / FAANG, but not at all the other companies that still struggle to fill positions. I can find front end people with some work, native mobile is impossible, backend is hit and miss.