News for hackers. Stuff that matters.
Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @05:40AM (#28549712)
Fizzbuzz is one thing. Balancing binary trees, is another. I've learned that if I see a binary tree question, I might as well stop the process, as they have no intentions of hiring me. They want someone fresh out of college, and I'm really just an EEOC checkmark.

I've said it many, many times, here. If a candidate has a portfolio, you'd be absolute idiots to ignore that portfolio.

Or deliberately ignorant, as the decision has already been made, not to hire the candidate (for reasons that have nothing at all to do with their tech abilities), and no one wants to waste time, reviewing a portfolio.

I'm biased, here, of course, as that's my strength. I have a fairly substantial portfolio.

A portfolio makes it much easier to evaluate real world skills and capabilities. If a candidate sends a link to a sample project or OSS product they've worked on/developed, it's not particularly difficult to review the example, and then ask the candidate a bunch of questions about it. I've found that the conversations that arise from this kind of thing can be amazing.

But this won't work for managers that have a hundred résumés on their desk, and have maybe five minutes per candidate. As that was never my own experience, as a hiring manager, I can't speak to it. I rarely had candidates that had significant portfolios, and treasured the ones that did.

In my experience, it usually took about two minutes of casual conversation, to figure out if the candidate had potential, or was simply a jargonaut.

Re:What's Wrong with Tech Hiring by thinkharderdev on Thursday September 16, 2021 @06:14AM (#28549892)
> I rarely had candidates that had significant portfolios

I think that is the thing. The vast majority of software engineers have only worked on closed-source codebases so reviewing their previous work is impossible. That said, what I have generally done is to just use interviews to talk about previous work. It is usually pretty clear in the course of a 30 minute interview who has actually done the amazing things they claim on their resume and understands how to build software systems and who doesn't.

Re:What's Wrong with Tech Hiring by Akronymus on Thursday September 16, 2021 @09:37AM (#28551597)
"We want our candidates to have a portfolio of open source software, but won't allow them to work on open source software while in our employ."

That's also something I keep hearing in anecdotes.

Re:What's Wrong with Tech Hiring by mcny on Thursday September 16, 2021 @10:30AM (#28552305)
Personally, I don't work on open source software. My personal projects are public, free and open source but they are useless to anyone other than for me.

The main reason I publish them publicly is ... I don't know why actually. However, one benefit to public github repositories is I can try out various services that are free for open source projects. This way I have exposure to these services which is nice. Also it is easier to get help from others or ask questions when I get stuck.

In my experience, I've found programmers very helpful as long as I am willing to put in some effort.

Re:What's Wrong with Tech Hiring by Akronymus on Thursday September 16, 2021 @10:39AM (#28552396)
For me it looks very similar to training. they want you to have x, but don't provide the ability to acquire x to their employees.
Re:What's Wrong with Tech Hiring by Aeolun on Thursday September 16, 2021 @10:19AM (#28552149)
What do they think will happen if you do work on open source software while in their employ?
Re:What's Wrong with Tech Hiring by Akronymus on Thursday September 16, 2021 @10:24AM (#28552223)
Most likely nothing, but most companies seem to have the expectation that OSS has to take a backseat
Re:What's Wrong with Tech Hiring by edoceo on Thursday September 16, 2021 @10:47AM (#28552496)
Yea. Give me free code, don't make free code is a common problem.
Re:What's Wrong with Tech Hiring by colejohnson66 on Thursday September 16, 2021 @03:45PM (#28556474)
Your employment contract could stipulate that any programming done outside official work is owned by the company. A “work for hire” of sorts. Whether these “copyright assignment” clauses are legal depends on your jurisdiction.
Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @06:40AM (#28550053)
Exactly. I ran a fairly "high-functioning" C++ image processing pipeline team, where every engineer had decades of experience. They were a diverse and individualized bunch of folks. We worked together well, as a team.

Unique talent was what I was specifically looking for. Since my company paid "competitive" (i.e. "low") wages, I had to look for "diamonds in the rough." We did interview some highly qualified people, but they tended to defer, when offered.

I feel that I was quite successful, and kept highly talented engineers for many years, but it made the search challenging.

"Cookie cutter testing" wasn't even an option. I'd have been crazy to ignore every advantage each unique applicant had to offer.

Re:What's Wrong with Tech Hiring by zip1234 on Thursday September 16, 2021 @10:06AM (#28551964)
I like to call this "hiring for potential" where you try to hire people that may not have the track record but have a lot of potential to do great work.
Re:What's Wrong with Tech Hiring by aweiland on Thursday September 16, 2021 @11:19AM (#28552934)
As someone that's in the market right now, I have found "competitive" to mean "low" as well. It's a meaningless term. Competitive to what?
Re:What's Wrong with Tech Hiring by ethbr0 on Thursday September 16, 2021 @12:51PM (#28554146)
Competitive to before there were open websites tracking salaries.
Re:What's Wrong with Tech Hiring by stronglikedan on Thursday September 16, 2021 @09:20AM (#28551395)
You can't even know their portfolio is their portfolio. I had a candidate send me a link to their portfolio, and when I asked them why one of the apps had someone else's contact info at the top of some files, they ghosted me.
Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @09:48AM (#28551738)
I've had people tell me that I "faked" my portfolio. If I did, then I am a diabolical genius, and you should hire me, because I did such an amazing job, faking tens of thousands of lines of single-author code; maintaining a consistent style, throughout, along with dozens and dozens of articles, blog entries, and documentation examples. Extra credit for "faking" years and years of checkin comments. Since I sign my commits, it's not difficult to figure out who did what.

I suspect some scammer was running a game on you. They tend to go "over the top," as "dumbass filters." If someone responds credulously to an outrageous claim, then they are a "good mark." The fact they ghosted you, tells me it was a scam. I have encountered many, many scammers, since leaving my last job. It's a pretty tough field, these days.

One of the reasons that I stopped looking for work, was because a lot of hiring managers and recruiters believe that it's important to insult applicants, right out of the starting gate. I think that HR policy, in general, these days, is to always keep the applicant in a supplicant position, so you are in control of the relationship. I think that LeetCode tests are part of that game. Sort of like "hazing."

Re:What's Wrong with Tech Hiring by colejohnson66 on Thursday September 16, 2021 @03:47PM (#28556509)
> I suspect some scammer was running a game on you. They tend to go "over the top," as "dumbass filters." If someone responds credulously to an outrageous claim, then they are a "good mark." The fact they ghosted you, tells me it was a scam. I have encountered many, many scammers, since leaving my last job. It's a pretty tough field, these days.

What would be the purpose of this “scam”?

Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @06:18PM (#28558477)
I'm not 100% sure. I guess you could ask them, but I have been impressed with the ingenuity of scammers.

It may be as basic as getting you to open an infected document, of some kind. We tend to exchange a lot of stuff, when we do employment negotiations. I'd think an engineering manager, at a sensitive level, would be a juicy target. I've had any number of LinkedIn attempts to get at me, through offers of employment, basic networking, and attempts to get me to employ (I have a title as a CEO of a couple of 1-person companies, so I get a lot of these types of attempts).

My favorite ones, are the "attractive young women" that want to "link up" with me. I'll bet a lot of folks fall for that.

Re:What's Wrong with Tech Hiring by jimbokun on Thursday September 16, 2021 @12:04PM (#28553510)
> and when I asked them why one of the apps had someone else's contact info at the top of some files, they ghosted me.

So you can know if it's really their portfolio.

Just asking some basic questions about the code in the portfolio will make it clear pretty quickly if it's their work or not.

Re:What's Wrong with Tech Hiring by ptsneves on Thursday September 16, 2021 @11:55AM (#28553400)
Then the screening process just worked, and in a very efficient way! Theoretically, the question could even happen before the interview.

Instead of wasting time with somebody floundering tests and offering excuses, or even have a cringe situation. That is why i also like the portfolio candidate.

Re:What's Wrong with Tech Hiring by marcus_holmes on Thursday September 16, 2021 @10:21AM (#28552176)
I have this problem. All my code belongs to freelance customers or projects I intend to monetise at some point (and aren't even vaguely ready to share with the world).

Also, there's nothing stopping someone from copy/pasting entire projects into their portfolio.

I would totally ignore someone's portfolio when interviewing them.

Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @10:51AM (#28552559)
Then, no problem! We won't be bothering each other.

Too bad. you look like an interesting chap to know.

Re:What's Wrong with Tech Hiring by marcus_holmes on Thursday September 16, 2021 @12:03PM (#28553492)
I do find the "portfolio" thing interesting, because it clearly puts us in the same category as artists.

Accountants don't have "portfolios", interviewers don't ask to see their spreadsheets. Managers don't have saved video recordings of 1:1 employee meetings for interviewers to look over. Engineers don't have a sample set of bridges they've built [0].

Artists (and by extension, designers) are the only other profession where you're expected to have a portfolio of your work for a prospective interviewer to look at.

I guess what I'm trying to say with "I'd ignore the portfolio" is that if we're going to emulate another profession, let's copy the engineers, not the artists. Artists are typically underpaid and undervalued. Engineers are highly respected professionals.

[0] well, they might have photographs of the actual bridges, but not a sample selection of actual bridges. For some reason I can't point an interviewer at a previous employer's app and say "I built that" like an engineer can.

Re:What's Wrong with Tech Hiring by ethbr0 on Thursday September 16, 2021 @12:59PM (#28554239)
Funny, I was going to say that artists more closely resemble our profession than engineers.

Engineers are mostly standardized, and the salary range reflects that. There are some very well compensated engineers, but the bulk do okay, doing normal work.

And critically, a board certified engineer stamp is an engineering stamp. Regardless of who it comes from.

On the other hand, artist compensation is directly correlated to ability to market yourself, current trends, and overall skill.

You have artists who are struggling to make it a job (in our world: entry level web design, analysts), artists who are doing okay with careers (enterprise software dev), entrepreneurual artists (startups), and superstars.

And critically... their degrees tell you almost nothing about which category they're going to be in.

Re:What's Wrong with Tech Hiring by marcus_holmes on Thursday September 16, 2021 @01:08PM (#28554366)
That's interesting. I guess it depends on perspective - yes you could be a "rockstar" dev who talks at conferences and makes gajillions writing scalable MVP's for SV-funded startups. In which case, yes, your value is directly linked to your ability to market yourself.

But most aren't. Most devs clock in, write some code, clock out, go home, do something completely different. It's a job. They operate inside the salary bands of their organisation, and they do okay, doing normal work.

Re:What's Wrong with Tech Hiring by ethbr0 on Thursday September 16, 2021 @01:22PM (#28554521)
For sure, but the defining characteristic of a portfolio is it differentiates a candidate, when there other good signals to do so don't exist.

And specifically, when there are no signals that can be normalized across candidates for comparison.

I feel like that's pretty descriptive of most general software development.

Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @12:20PM (#28553716)
> Engineers are highly respected professionals.

So artists and designers aren't? There might be a few folks around these parts that might take issue with that. I was once an artist, and that training has been of significant value, in my engineering.

I list Adobe Illustrator as one of the 4 applications that I use every day (along with Xcode, BBEdit, and SourceTree). It's what I use to generate graphic assets for my development work.

Anyway, we could dance this jig all day, and I don't think it would solve any pressing world issues. Not a big deal. We don't need to prove anything to each other.

Re:What's Wrong with Tech Hiring by marcus_holmes on Thursday September 16, 2021 @01:02PM (#28554276)
I'm not saying for a second that artists shouldn't be respected professionals. I'm saying they tend not to be: my mother was a professional artist until she got fed up of trying to make ends meet and got a nice boring conventional government job and did her art as a hobby.

Yes, agreed. It's not worth getting too bothered by it ;)

Re:What's Wrong with Tech Hiring by ravenstine on Thursday September 16, 2021 @06:00AM (#28549820)
I find it astonishing how I often I've been asked about binary trees and binary search trees in web developer interviews. In all my time, I've come across some circumstances where some concepts like state machines were helpful, but have yet to run into a time where I needed to understand or write a binary tree. At first I felt ashamed, but over time the feeling flipped and I felt bad for the interviewer asking such a non-applicable question as for them to look rather foolish. It's like asking a biologist to describe the Dirac equation.

Fortunately I've yet to run into this once I spent enough time as a mid-level developer and became senior. If it's any ray of hope for younger developers out there, you will get to a point where you basically bypass all that crap and interviews can be more like a friendly chat between peers.

Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @06:11AM (#28549873)
This has not been my experience (lately). That’s how it used to be, when I was younger (and probably rated it), but every query I made in the last five years, the very first thing was a test.

In a couple of instances, it was a sensible, applicable “take-home” test, but usually, it was a schoolboy binary tree test.

I interview very well (on account of over 30 years of relevant ship experience, and I’m actually a fairly decent chap), but it has never gotten to that point.

BTW: if it isn’t already obvious, I’m quite senior, and have been architecting, as well as writing, software, since my very first project, in 1987.

I was quite willing to work for a lot less than many folks much less qualified, on account of having my retirement set, and was looking for interesting and engaging work, more than money; but it never got that far.

I won’t waste time practicing LeetCode. I don’t think it would make any difference, simply putting off the inevitable rejection. It’s not something that helps me to write better shipping code.

Re:What's Wrong with Tech Hiring by Aeolun on Thursday September 16, 2021 @10:30AM (#28552294)
I recently had a lovely “take home” test, that I was supposed to finish in 2-3 hours.

If I could just build them a feedback system for their employees. Including backend, frontend (as a SPA please), and tests.

Of, of course they didn’t expect me to actually finish, 5 API’s and 3 implemented front-end pages would be ok (and tests, of course). Also, could I maybe make it look nice?

I dunno, for some reason I saw it as a challenge and actually tried. But after 3 hours I was forced to concede that even using a full framework and CRUD generation for most of the app the idea that you could finish was ludicrous.

I spent an extra 30m writing up a review of the process and attached that as a ‘cover letter’.

Unsurprisingly I didn’t get the job, but I guess I consider it a bullet dodged now.

Re:What's Wrong with Tech Hiring by sage76 on Friday September 17, 2021 @04:08AM (#28562592)
I have a take home test right now, that I should supposedly be able to finish in 2 hours.

Just setting up technologies that I have never used on my local machine and trying to understand them has taken me several hours.

It seems unlikely I will submit anything.

Re:What's Wrong with Tech Hiring by ssully on Thursday September 16, 2021 @12:19PM (#28553700)
Do they actually expect someone to pass this? I am honestly curious what the hire rate is at a place like this.
Re:What's Wrong with Tech Hiring by nkingsy on Thursday September 16, 2021 @12:37PM (#28553940)
They expect you to take 2 days on it. Ie cheat. I refuse take homes on principle at this point, as I know I’ll be working with a bunch of cheaters if I do get the job.
Re:What's Wrong with Tech Hiring by Aeolun on Thursday September 16, 2021 @08:37PM (#28559662)
I had one take home at some point where the interviewers didn’t believe I actually did implement their thing in 6 hours. Everyone else took two days :/
Re:What's Wrong with Tech Hiring by colejohnson66 on Thursday September 16, 2021 @03:50PM (#28556552)
So you’re given 2-3 hours, but expected to take 2 days?
Re:What's Wrong with Tech Hiring by tharkun__ on Thursday September 16, 2021 @07:53PM (#28559356)
If my experience from the other side is transferrable then no, they do not expect it to take 2 days. They actually mean what they are saying.

Unfortunately they are developers. They underestimate how long it will take. They didn't actually try it themselves. They might even have modeled it after a piece of software they did build in-house and thus underestimate even more.

I had to advocate very strongly on cutting scope from our take home test and multiple times argue against 'extensions' of the ask.

I like take home. It's a great way to talk about their code. Have them explain choices. Pros and cons. And yes tests please. What I look for is not complete test coverage or having 27 classes that all have pseudo tests. Have one class with _good_ tests. Show that you understand what is important to test and how to do that. If you know how to do that, I can hire you to repeat it for a salary.

My own last take home I sent in didn't even run because the implementation assumed various external services that I didn't bother implementing or mocking out enough to make it all run. I put lots of comments explaining various choices and what I'd expect those external services to do though. Was a great topic started about code comments and which ones I would leave in actual code and such.

Re:What's Wrong with Tech Hiring by Aeolun on Thursday September 16, 2021 @08:31PM (#28559637)
The problem being of course, that from the applicant side you don’t know if they mean it or not.

So you’ll be competing with people that implement the whole thing regardless.

Now I’d like to think that interviewers are entirely impervious to that, but realistically, it’ll hurt the chances of those that do it only halfway.

Re:What's Wrong with Tech Hiring by tharkun__ on Friday September 17, 2021 @05:53PM (#28571320)
Try it. I can tell you from the other side that if you know your stuff your evening (2-3 hours) output will be way better than many that take 2 days.

If you don't try you've already lost.

Re:What's Wrong with Tech Hiring by noleetcode on Thursday September 16, 2021 @12:26PM (#28553781)
I share the same experiences. Only around half of your (temporal) experience and every conversation with a recruiter ends the same way: "When can we schedule you for a technical screening? You'll probably want some time to brush up on leetcode as well".

My experience doesn't matter. The fact that I've now worked at (and currently work at) 3 of the big tech firms, doesn't matter (to be fair, I only got jobs at these places back when I was willing to grind out leetcode and memorize as many problems as I could - a task which I refuse to do today). The fact that I have a history of leading teams, areas, and spend at least 50% of my time also "writing code" for high performance, high reliability, global services, --and-- can speak in depth regarding my accomplishments, design decisions, technical decisions, collaboration, etc. doesn't matter.

The only thing that matters is: Can I pretend like I've never seen this toy leetcode problem before during an interview, and magically come up with a perfect solution in 30 minutes or less. (and if I haven't happened to memorize it, and dare legitimately appear to struggle, well... game over).

Re:What's Wrong with Tech Hiring by ethbr0 on Thursday September 16, 2021 @01:05PM (#28554320)
Leetcode and equivalent seems to come out of an intersection of a technical interviewer's "I don't want to take the time to interview you" and HR's "I don't know how to interview you."

Everyone knows that something very serious must be done at an interview. Nobody cares about it enough to actually put in the time or trust for a bespoke solution.

Consequently, you end up with everyone sub'ing algorithms in for due diligence, then because they made that choice, defending the choice and pretending like it's meaningful.

Hiring is hard. Hiring technical, non-standardized talent is even harder.

Re:What's Wrong with Tech Hiring by bykhun on Thursday September 16, 2021 @10:55AM (#28552620)
> I was quite willing to work for a lot less than many folks much less qualified, on account of having my retirement set, and was looking for interesting and engaging work, more than money; but it never got that far.

Did you think to work with blockchain? It has a lot of engaging problems, and you can start even without getting hired. It ranges from helping out DAOs in open-source and getting paid in tokens; to starting off your own small project and building a community.

As for the jobs, the compensations has been through the roof lately – the field doesn't get new developers nearly at the rate needed

Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @11:10AM (#28552795)
It looks interesting, but it's not really what I like doing.

I enjoy working on stuff that people use. Things that the user interacts with directly; like UIs and devices.

I did a bunch of work with Bluetooth, OBD, and ONVIF (surveillance), but I'm working on what is sort of a "social media" app, now. I wrote the backend for one of the servers we use, and was the original author of another of the servers. These were big projects.

The interesting part, however, is the iOS app that I'm developing. Trying out different ways of presenting to the user, and interacting with the user, is a lot of fun.

Re:What's Wrong with Tech Hiring by occupant on Thursday September 16, 2021 @01:26PM (#28554566)
> It ranges from helping out DAOs in open-source ...

Do you know of any good articles or guides about getting started with this for complete beginners to blockchain?

Re:What's Wrong with Tech Hiring by bsenftner on Thursday September 16, 2021 @07:31AM (#28550385)
I am an extremely accomplished engineer: 40 years developing professionally, over 40 published consumer software titles, I've written from C/C++ the entire critical path pipeline for multiple animation studios... yet in a recent job interview the moron interviewer says to me mid way through "sounds like you're tech light, do you even write code?" (cue a record scratching) After questioning, this person has no idea my describing 40 years of professional coding was writing software - this HIRING MANAGER did not know any of the terminology I used describing being a key player in the transition from optical and video to all digital media productions everywhere. How to describe a successful career when that very success eliminated the reference points for what the career was, now it seems like we made the air itself as the digital media takeover was 100% successful, the young hiring managers have no idea what the world was before we (the developers who lived through the 70's to 2000's) changed everything.
Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @07:51AM (#28550515)
I am sorry you went through that. I can relate.

Today, we have “jargonauts.” These are folks that key on certain terms and acronyms.

I remember, back in the 1990s, hearing everyone gushing about “AJAX,” and wondering what the big deal was (after being laughed at, for not knowing the term). No one would explain what it was.

I looked it up, and go “Oh, they mean HTTPRequestObject!”

Turned out, that I actually already knew a lot more about “AJAX,” than most of the folks gushing about it, and the reason no one would explain it, was that they didn’t actually understand it.

Lot of that, going around…

Re:What's Wrong with Tech Hiring by BlargMcLarg on Thursday September 16, 2021 @08:11AM (#28550711)
Sounds like today's "dependency injection", and people writing 5 pages on it.

Except then it turns out what they mean isn't DI, but some other concept related to it and largely taken care of by their framework of choice.

Re:What's Wrong with Tech Hiring by ravenstine on Thursday September 16, 2021 @09:16AM (#28551342)
It also sounds fancier than it really is. "Dependency injection" can literally mean just passing some arguments or setting properties on a hash. The target doesn't even need to be a singleton or long-lived. Honestly, I've never found the term particularly useful. The meaning is so amorphous that it could really just be described as a form of decoupling. But it sure was great to say it during interviews early in my career!
Re:What's Wrong with Tech Hiring by Akronymus on Thursday September 16, 2021 @09:43AM (#28551671)
Indeed, it is simply passing some dependency as a parameter.

Personally I find DI to make it harder to reason about in a sizeable portion of cases (20ish%) without actually providing a benefit.

So that makes me prefer going for rejection (Passing the result of the dependency instead of the dependency itself) or just keeping it there.

Altough, those approaches depend heavily on the rest of the codebase. (FP makes rejection relatively easy for example)

Re:What's Wrong with Tech Hiring by Aeolun on Thursday September 16, 2021 @10:34AM (#28552349)
DI makes testing nice. People approximate it with hacks, but you need DI for truly good unit tests.
Re:What's Wrong with Tech Hiring by Akronymus on Thursday September 16, 2021 @10:40AM (#28552420)
Really depends on the whole structure. If it is mainly FP, dependency rejection usually is actually the easiest to test with
Re:What's Wrong with Tech Hiring by Aeolun on Thursday September 16, 2021 @11:21AM (#28552961)
I dunno how you can combine dependency injection (as I imagined it in the original comment) with FP in the first place.

Without classes what would you be injecting? Other functions? That’s still something that happens all the time in FP.

Re:What's Wrong with Tech Hiring by Akronymus on Thursday September 16, 2021 @11:27AM (#28553025)
I was thinking sideeffectful functions. Such as DB accesses.
Re:What's Wrong with Tech Hiring by layer8 on Thursday September 16, 2021 @03:11PM (#28555931)
> dependency rejection

That’s secretly the most powerful design strategy.

Re:What's Wrong with Tech Hiring by Akronymus on Thursday September 16, 2021 @04:27PM (#28557088)
It objectively isn't, as there are certain things you can't do with it.

Altough, for usability it is IMO definitely the best.

Re:What's Wrong with Tech Hiring by sampo on Thursday September 16, 2021 @06:55PM (#28558853)
> setting properties on a hash

Nowadays it's called a dict.

Re:What's Wrong with Tech Hiring by plorkyeran on Thursday September 16, 2021 @12:11PM (#28553612)
The term AJAX was coined in 2005 by https://web.archive.org/web/20150910072359/http://adaptivepa.... People had been talking about the idea for a few years at that point, but not with that name.
Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @03:31PM (#28556233)
Might be right. I would be surprised, though. I do remember that it was a "brand new" buzzword.

Not worth fighting over. Time is flying, and even the early 2000s was a couple of decades ago.

Re:What's Wrong with Tech Hiring by maxwell on Thursday September 16, 2021 @08:07AM (#28550659)
Did you really hear anyone talk about AJAX in the '90s? Looks like there was some work done on XHR in '99, but it seemed to roll out across browsers in the early '00s and seemed peak hype when I started my career in the mid '00s, after the Web 2.0 conf in '04.
Re:What's Wrong with Tech Hiring by bombcar on Thursday September 16, 2021 @09:07AM (#28551230)
AJAX was a catch-all term meaning “the page does things without reloading the whole page” if I remember correctly - or that’s how people were using it.
Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @08:50AM (#28551040)
It may have been the early 2000s, but it was very early on. It "came to a head," on a trip to San Francisco, on one particular project (I am not at liberty to discuss). It would not have been beyond about 2002. I think it was pre 9/11, but my memory of that time is a bit fuzzy. I did a lot of traveling.

I'm pretty sure that HTTPRequest debuted in IE 5 or 6.

Re:What's Wrong with Tech Hiring by foobarian on Thursday September 16, 2021 @11:10AM (#28552792)
The way I remember it is it became widely known once gmail and google maps shocked everyone with its effective use. So that's quite a bit later than 2002. But it's likely that it is just when I noticed, being pretty far removed from web development at the time.
Re:What's Wrong with Tech Hiring by ethbr0 on Thursday September 16, 2021 @01:16PM (#28554458)
AFAICR, it started in the mid-to-late 90s, although as with all things web in that period, was a non-standard cobbling together of feature and functionality using whatever technologies were available, while browsers themselves lurched in the dark and added features.

It's more akin to saying "We want to do this thing that's never been done on the web before, and no one ever thought to do. How do we assemble it out of this box of scraps that HTML and browsers currently give us?"

Consequently, there was probably proto-AJAX with ActiveX, the early js landscape, and iframes. But it would have certainly depended on where you worked.

Critically, internet connections were much slower (in latency and bandwidth), so partial page loads were more of an advantage.

Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Friday September 17, 2021 @07:05AM (#28563872)
Just to set the record straight, the skeptics were correct. I was off by 5 years.

I asked someone that was on that trip with me, and it was late 2007.

You know how it is, with us doddering old geezers; we forget stuff...

Re:What's Wrong with Tech Hiring by evanmoran on Thursday September 16, 2021 @10:26AM (#28552237)
As a game engineer I can relate. Many of these deep technical areas are completely unknown to people outside of gaming / modeling / animation / graphics, and even then you are way outside my expertise with optical/pre-digital work. It is a great point that interviewers focused on typescript or redux (just to mention stuff worth knowing but that seem far from C++ graphics coding) won’t get the nuance of your technical contributions. It then becomes a storytelling challenge, which is a different interviewing skill entirely.
Re:What's Wrong with Tech Hiring by bsenftner on Thursday September 16, 2021 @12:56PM (#28554216)
I was on the OS teams of the 3D0 and the first PlayStation, 2/3rds of my published software are console games. My games stint was the EA Spouse era.
Re:What's Wrong with Tech Hiring by romanhn on Thursday September 16, 2021 @01:16PM (#28554460)
EA Spouse... that takes me back to the time when I decided to let my dream of becoming a game developer remain a dream.
Re:What's Wrong with Tech Hiring by OneEyedRobot on Thursday September 16, 2021 @10:21AM (#28552179)
As someone with a similar time in harness in industries that rhyme with that, I feel your pain.

While I'd prefer to work, not needing the money implies the ability to avoid the interview process. It's a funny thing being in an industry where people retire not because they can't do the work at a professional level, but because getting a job is such a PITA.

Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @12:50PM (#28554123)
> It's a funny thing being in an industry where people retire not because they can't do the work at a professional level, but because getting a job is such a PITA.

I feel that this is a desired result. I am pretty convinced that folks like to have an "ideal culture" at their workplaces. I hear the term "cultural fit" so often, that I guess it means something that I'm missing.

https://www.youtube.com/watch?v=G2y8Sx4B2Sk

Re:What's Wrong with Tech Hiring by geebee on Thursday September 16, 2021 @04:48PM (#28557356)
I've had to use a binary tree couple of times. And when I did, I recognized the problem as a binary tree problem, and I read up on binary trees, and then used them. For about a month after, I'd have been able to do a lot of tree operations on the spot. Then the the material gradually faded from short term front loaded memory, and my long term memory stored the relevant awareness of the problem so I'd identify it should I have to look it up again.
Re:What's Wrong with Tech Hiring by foobarian on Thursday September 16, 2021 @11:04AM (#28552717)
I was asked to sub for a PSE interview on short notice, so I did my usual fizzbuzz routine. Even that felt kinda goofy asking this excellent senior guy so I asked it with a bit of apologetic tone. The guy smiled with a twinkle in his eye and solved it the best way I've ever had anyone do it. We chatted about SRE topics the rest of the interview. Sadly he didn't end up accepting but I appreciated the good humor.
Re:What's Wrong with Tech Hiring by No1 on Thursday September 16, 2021 @04:13PM (#28556889)
I once had an interviewer wax poetic about fizzbuzz, the multitude of ways to solve it, and what he considered to be the most elegant of answers after I gave him a solution. I was sitting there thinking "I think you've missed the forest for the trees here buddy" but just smiled and nodded.

The whole situation is quite pathetic.

Re:What's Wrong with Tech Hiring by IggleSniggle on Thursday September 16, 2021 @11:09AM (#28552781)
Ok now you gotta spill the beans, what was so entertaining about the fizzbuzz solution?
Re:What's Wrong with Tech Hiring by foobarian on Thursday September 16, 2021 @11:16AM (#28552880)
It was not literally the fizzbuzz problem, just a relatively simple problem I use for interviews. He solved it quickly, with good taste, and described some faster alternate approaches that I didn't hear from anyone up to that point.

Sorry it's a boring answer :-)

Re:What's Wrong with Tech Hiring by ethbr0 on Thursday September 16, 2021 @01:08PM (#28554370)
You make me want to come up with a working algorithm that actually hints at the Kafkaesque futility of algorithm interview questions.
Re:What's Wrong with Tech Hiring by com2kid on Friday September 17, 2021 @11:18AM (#28566453)
> but have yet to run into a time where I needed to understand or write a binary tree.

I ran a UI team for 3 years, we built a UI framework, then the UI and apps on top of it.

We lived trees and tree traversals. Understanding trees was essential to everything we did.

Do I ask people to balance trees? No, but I do care if people can understand traversals, and also how to manipulate and design tree structures to solve business problems. Being able to design the right data structure to solve a problem is an important skill, and trees are one of our fields fundamental data structures.

Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Friday September 17, 2021 @11:52AM (#28566917)
Not surprised, but not everyone writes frameworks. I write end-user apps. There's a lot of us, out there.

I have written quite a few frameworks, SDKs and APIs; both server-based and host-based, and never had to deal with this stuff. If I had, I would have done what I always do, when I get to that point: Learn what I need to learn.

I have been learning new stuff, my entire career. I don't know how to do almost every project I take on. I even wrote about it, here: https://littlegreenviper.com/miscellany/thats-not-what-ships...

Re:What's Wrong with Tech Hiring by com2kid on Friday September 17, 2021 @12:23PM (#28567351)
One of my favorite questions to ask is how to find the first cousin of a node in a binary tree.

A lot of people try to start at root, enumerate the level of nodes for the entire tree, and then return non-sibling nodes at the same level as the node we want to find the first cousin of.

Which works, but it is O(n) and a lot of work. People who know about parent pointers in trees just walk up a couple levels and then down a couple of levels.

I consider it a fair question because, it has no gotchas, it is just understanding how to efficiently walk around one of the most commonly encountered data structures.

My other go to question is provided a library function that can schedule a callback to run anytime in the next 2147483ms, write a wrapper that can schedule a callback at any arbitrary time in the future. For advanced candidates I provide a library of date/time functions and they have to take in a date/time and using the provided limited functionality scheduling callback, call the passed in function at the proper date/time.

This is a very simple problem, and one that I've encountered in real life[0].

It is a trivial, but again real life problem of building functionality on top of a limited platform API. I have seen this question trip up countless candidates, who try to seriously over model the solution. I have no idea why a class with 1 function and a couple int64 variables counting down time seems so hard!

(Old school C programmers tend to get it right away)

[0] Windows timer APIs like their 100 nanosecond parameters, though now days they all have modern 64 bit FILETIME variants that side step this entire issue.

Re:What's Wrong with Tech Hiring by mixmastamyk on Thursday September 16, 2021 @11:29AM (#28553054)
Oh no, there’s no bypassing the crap anymore with companies you don’t know personally.
Re:What's Wrong with Tech Hiring by sangnoir on Thursday September 16, 2021 @12:50PM (#28554125)
> Fizzbuzz is one thing. Balancing binary trees, is another

The thing is, companies don't want to employ any random person who can code and meets the minimum bar, they want The Best™ - and that's when things get competitive, and arbitrary.

This is the other side of the coin to a recent HN thread (on pay transparency/whether tech workers are interchangeable[1]). My thesis is if you agree that some are many times more productive, the so-called 10x - and you want to hire those: then you need to test for that in the interview process, hence the exploration of the less-visited areas of Data Structures & Algorithms. If any engineer who meets the minimum requirements will do (i.e. fully interchangeable), then anyone who can pass FizzBuzz and is familiar with the tech will do. Most companies are in the latter group, but tell themselves they are in the former, resulting in the current explosion of "Change this unsorted linked list into a balanced tree with the least time complexity" questions.

> If a candidate has a portfolio, you'd be absolute idiots to ignore that portfolio.

I'm guessing only a minority of candidates have a portfolio before applying for a job. Most of SDE output belongs to their past employers, so expecting portfolios will also filter out a whole lot of people who can do the work, and I'd rather grind HackerRank than hastily build a portfolio just to apply for a job.

1. https://news.ycombinator.com/item?id=28536084

Re:What's Wrong with Tech Hiring by thebean11 on Thursday September 16, 2021 @11:44AM (#28553277)
Balancing a binary tree is a pretty unfair question, but I wouldn't say any binary tree question is unfair. "Find a node" in a binary search tree or "check if a binary search tree is valid" seem..pretty easy.
Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @11:57AM (#28553425)
Easy is not the point. Neither is “fair.”

I can usually do … OK … on these tests, but I’m probably mediocre, at best, as it’s often the first time I’ve encountered the test.

I tend to write naive code at first, and make sure the result is solid, then optimize. I will sometimes also experiment; trying out all kinds of harebrained stuff, before settling on even that “first try” code.

That workflow has worked extremely well for me, in my vocation, but does not present especially well, in quick whiteboard tests.

My workflow results in very high-quality, performant code, but iteratively. Also, not all code needs to be optimized. Sometimes, leaving the naive code, means it is more maintainable. I also habitually document my code as I go, which has proven unpopular, with testers.

People just out of school, or who spend hours each day, practicing LeetCode, will usually come up with an optimal solution, done the way the tester expects, first go.

Re:What's Wrong with Tech Hiring by thebean11 on Thursday September 16, 2021 @12:32PM (#28553873)
Sure, that's fair, but in both binary tree examples I listed the most efficient answer pretty much is the naive answer. I don't think you need to be fresh out of school to remember how binary search is implemented.
Re:What's Wrong with Tech Hiring by chowells on Thursday September 16, 2021 @12:11PM (#28553618)
That's what I do, and I have no trouble communicating that during a whiteboard interview. Have you considered that you're being tested for communication ability?
Re:What's Wrong with Tech Hiring by kbshacker on Thursday September 16, 2021 @03:28PM (#28556182)
Lots of binary tree questions are just a variation of depth search. I'm sure I've actually coded some variation of depth first traversal at least a hundred times during my work as professional programmer in past ten years. So those questions are not really as impractical as some might think. Being able to write simple binary tree traversal correctly is absolutely minimum I would expect from an interviewee.
Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @05:15PM (#28557717)
Depends. I write end-user UI apps and device control apps.

I don't know if I've ever done that. The Apple OS framework has a lot of those tools, built-in, and it wouldn't make sense to circumvent them, unless I was writing a cross-platform "engine," of some kind.

If you were interviewing as a device control engineer, then a minimum, would be understanding of things like ring buffers, thread contention, asynchronous callbacks, timing diagrams, etc.

If you were interviewing for work with Apple device development, then knowledge of Core Bluetooth, as well as basic Bluetooth, would be important. WiFi and networking might be useful. Maybe BSD sockets, USB, etc.

If it were as a UIKit app engineer (classic native), then understanding of the various widget types, delegates, data sources, etc., as well as the six gadjillion different "extra spice" features that each widget has, as well as the proper way to do things.

SwiftUI is gonna add a lot more facets, as it's built around Protocol-Oriented Programming, and a rather "reactive"/KVO model that differs substantially from the "classic" model. I have yet to do a "deep dive" into SwiftUI. I plan to tackle that, once I have the app I'm working with at a ship level.

And, of course, an intermediate-to-advanced familiarity with Swift would be expected, as well as the Foundation framework.

Re:What's Wrong with Tech Hiring by jimbokun on Thursday September 16, 2021 @12:09PM (#28553574)
I think it's almost necessary to ask a candidate to do something unfair in order to evaluate them.

Not right out of college and don't balance binary trees every day? Submit a portfolio to review.

Don't have time or permission to write open source code outside of your paid employment? Well, let's see if you can balance a binary tree.

Both of those are bad? Well how about a take home exam you will need to set aside time from your schedule to complete.

Seems like the perfect interviewing process would have multiple avenues for a developer to demonstrate they can actually program. Of course, that requires the company taking the time to set up a process that can evaluate candidates across all these evaluation methods and somehow compare them fairly.

Re:What's Wrong with Tech Hiring by dlivingston on Thursday September 16, 2021 @12:30PM (#28553843)
I would be strongly in favor of some kind of professional license, where every X years you must retake some exam, similar to the P.E. license in other engineering disciplines.

Benefits:

- Employer: by scanning for resumes with this license, the employer saves time and money that would instead be spent on technical LeetCode-esque interviews.

- Employee: a singular license would make you more attractive and compel a higher salary. You wouldn't have to grind LeetCode for 3 months before a job hunt.

In my "utopia", FAANG/S&P 500 companies + universities (MIT/Harvard/Stanford/etc.) would band together to form a third-party committee and standards board that would design and proffer this exam. Having those big names in charge would give it instant credibility and make it the de facto S.W.E. P.E.

Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Thursday September 16, 2021 @01:03PM (#28554288)
Yes and no. I think it's important, for certain types of coding; maybe not so much, for other types.

FAANG companies are willing to put their money where their mouths are. They pay quite well. I think it would be quite reasonable for them to require a standardized certification, and people would bust their butts to pass the cert., for a chance at the money to be made.

A lot of startups, on the other hand, have much "earthier" needs. They may want people that are more "generalist," for a lot of their roles, and might be able to use support for eventual training to the tests as a carrot. If they treat their employees well, they could get some certified engineers for a bargain price, out of the deal.

Also, there is such a huge variety of coding specialties. Algorithm coders work with data processing, but you also have people that may specialize in ML, and that could require entirely different skillsets (I am not an ML person, so I don't know whether or not standard DP algorithms are ideal for AI work). I have done a lot of communication and device control stuff, and that has some facets that few of your "standard" developers see.

Then, you have toolsets and frameworks. These are really what makes a developer rock. Someone who really knows their way around specific toolsets, or deep language knowledge, may be what you need. I can learn a new language, in a couple of weeks, but knowing it well can take years. And there's a better than even chance that knowing it well won't be particularly valuable to a company.

Lot of variables. Software is a very, very dynamic place, and it's really difficult to distill meaningful standards from it, that aren't rendered obsolete, almost as soon as the ink dries on the documents.

Re:What's Wrong with Tech Hiring by jlangemeier on Thursday September 16, 2021 @01:26PM (#28554563)
I'm being a bit 'tongue in cheek' with this... you mean like... ABET or NCEES, which handles the FE, EIT, and PE 'tests'?

Also, ABET already accredits Software Engineering and IT programs; and NCEES has had a Software Engineering PE in the works for the last couple years (I haven't checked recently, but iirc it was slated for release in 2022(?)).

Toy problems seem to exist in pretty much any technical discipline, but it seems most acute in the software world; and I've come to suspect that it's accessibility to making those. Code is quick and human-centric technical item, where as something like a bridge rectifier, amps, fets, and PID controllers aren't necessarily items you can just 'pull out' in an interview; you can see if someone's comfortable with CAD programs, you can see if someone has the chops to understand when a BJT is more appropriate than a MOSFET; but you can't really do that quickly as a 'whiteboarding session' so other technical fields are required to be more selective since you can't just slap out a FET configuration for a D Class amp without spec sheets, requirement gathering, probably CAD design, and other design steps; but you can sure-as-shit slap out a MVP of a SPA customer portal without any of that.

Divorcing "coding" as the act of writing code, and "coding" as the mental process of building a well designed app/system would bring the software world into better alignment with a lot of the rest of the engineering world; and would make something like a SWE PE more viable in the first place. I also don't know if you've ever sat a PE, but they're also __OPEN_BOOK__, since we know that it's a lot of knowledge to have in your head, and it's a better test if you know where to look something up and how to use the right tools (kinda like a 'take-home' exam in software interviews, but not nearly as exploitable and scummy); bring your reference material, but so much ground is covered that if you don't know your stuff, you're failing the PE no matter how many reference books you bring along.

Re:What's Wrong with Tech Hiring by secondaryacct on Thursday September 16, 2021 @10:02AM (#28551913)
You re not in Asia though, maybe. Here, people from some large subcontinental country that I wont name for politeness, if required to have a portfolio, would find a way to all have the same copy pasted one.

I literally had to ask a guy why a group of 5 of them all had the same fucking letter for letter resume...

Ask.idiotic.questions.to.weed.out.the.base.morons.

Re:What's Wrong with Tech Hiring by da39a3ee on Friday September 17, 2021 @11:07AM (#28566329)
To some extent I sympathize with you: I'm older, have seen some rejections for posts I wanted that I would be a very good fit for, and have a strong public portfolio of work that doesn't seem to overcome minor shortcomings in algorithm interviews.

However, I still think you're pretty badly missing the point:

(1) Algorithm coding challenges test whether a candidate has the ability to go to the internet, research and get good at a technical skill. That is absolutely an appropriate thing to be testing.

(2) Algorithms are a beautiful cornerstone of our profession. Perfectly reasonable, and kind of nice, to use them in our hiring processes as described in (1).

Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Friday September 17, 2021 @12:13PM (#28567204)
I didn't miss any points at all; let alone "badly." Be nice.

In my experience, there was never any "go to the internet, research and get good at a technical skill." during the interview. That would have been nice. It was "Sink or swim, right now, while we laugh at you," So I guess that you mean I should dedicate an hour or two per day to LeetCode, like a lot of folks do.

Why the living heck should I "go to the internet, research and get good at a technical skill" that has no applicability to the work I do, every single day? I learn what I need, when I need it. You don't want what I have? Fine. You won't get it. I worked long and hard to be in the position I'm in now. I don't need to "play the game," as I have real work to do. I don't really care whether or not I make money at it, or impress anyone. I don't need anyone's approval or validation for the work I do. The people that matter, are quite aware of my capabilities. They see what I do, and use my work, every day. I have done two TestFlight releases already, this morning.

I don't know how to do just about every project I take on[0]. That's S.O.P. for engineering. I've been working that way for more than thirty years. I've learned a lot. Sorry if it isn't what some people think is important, but I have been delivering and shipping software, since 1987. I've worked for some pretty intense organizations, and they seemed to be happy with my work. I've written stuff that is in use -every day- by thousands of people, in multiple languages. There's a small chance that I might actually have a clue.

I write code -lots of code- Every. Single. Day. Don't believe me? Look at my GH ID[1]. That's not "gamed." If anything, my tagline should be "Don't believe me? Look for yourself." I can back up every word I say. If I'm wrong, I freely and promptly admit it.

For example, today's task is learning the proper way to set up an edit session for a particular type of user interface. I haven't done it before, and I'll be "go[ing] to the internet, research and get good at a technical skill," in order to get the job done. It will probably take me a day or two to get good at it, and apply it. I do this multiple times per week.

[0] https://littlegreenviper.com/miscellany/thats-not-what-ships...

[1] https://github.com/ChrisMarshallNY#github-stuff

Re:What's Wrong with Tech Hiring by da39a3ee on Friday September 17, 2021 @01:24PM (#28568178)
Ok, sorry for saying "badly". I don't think you really addressed my point (2). Given your experience, I just don't see what you have against implementing some 20 line algorithms for people, if it's what they want, even if they shouldn't want it. Just a little compromise, and like I say, they're a beautiful corner of software engineering. And that little compromise is all it would take for the team of actual adults, doing actual serious engineering work, behind the silly interviews facade, to get to work with you. I think they'd like that, and you'd like that.
Re:What's Wrong with Tech Hiring by ChrisMarshallNY on Friday September 17, 2021 @01:39PM (#28568430)
Sure, but I am now officially past the willingness to waste time, making random people happy. A couple of years ago, I was willing to do this, but no longer. It was made fairly clear that the new tech field doesn’t have room for an old war horse.

Since I already have a very substantial "nest egg," it was time to just start living off that, and doing work that I want to do.

I immediately sought out some folks that wanted to do a free app (it actually has monetization potential, but we aren't really paying attention to that, right now) that would help recovering drug addicts network and support each other. They were not having much luck, getting people to take their effort seriously.

I already had a full-fledged generic application server that I had written, just for practice[0], so I said that I'd build them a frontend, based on that server, and I'd do it for free, because I like to code, I figured that I'd learn something (I haven't done a social media app, yet), and it would give me a chance to develop some theories about hyper-flexible software methodologies that I'd had kicking around. I knew they didn't actually have a clear vision for their product, and I knew that I could develop it in a way that would help them to refine it. I just got off a video call with the CEO and a backend guy, where we mapped out a "bare spot" that needs paving. I guarantee that many startups would absolutely drool over the process we are using to develop this app.

It's been great. I haven't been this happy in my entire career.

[0] https://riftvalleysoftware.com/work/open-source-projects/#ba...

Re:What's Wrong with Tech Hiring by AnimalMuppet on Thursday September 16, 2021 @05:55PM (#28558212)
"Jargonaut". I'm stealing that...