News for hackers. Stuff that matters.
Re:Follow-up to “The dystopian world of software engineering... by ChrisMarshallNY on Saturday February 22, 2020 @07:08PM (#22394202)
I've mentioned this before.

I have a portfolio that consists of six figures LoC of code, across dozens of open-source repos; most of which I am the 100% sole author.

I've written a fairly large open-source system that is rapidly becoming the world standard for a specific (rather small) demographic. It deliberately uses old and rather primitive technology (which is a big reason for it becoming a standard).

I've written hundreds and hundreds (probably thousands) of pages of documentation and Web site entries, designed Web sites, and helped hundreds of people and organizations to develop online presence (all for free). I've run instructional courses on a number of different topics.

I speak Swift without an accent. I can write ship-ready applications for every Apple operating system. I've been writing shipping software for over thirty years.

I'm good with device control. I've written embedded operating systems (long ago -different beast from today's).

And, of course, I can PROVE it. It's all out there.

And no one bothers to look at my portfolio when I've been contacted to apply for engineering positions. I usually send a couple of links to repos and/or blog entries that apply directly to the position. My portfolio leaves absolutely no question at all about what I can and can't do, technically.

I once even had someone insinuate that I had somehow faked my portfolio. I'm not exactly sure how they thought I did it. Maybe I hired an Indian shop to write tens of thousands of lines of code, hundreds of blog entries, design multiple Web sites, and hack GitHub and BitBucket to fake a decade of commit history.

At least, that was the reason they gave for ignoring the links I sent, and instead, giving a binary tree "Draw Spunky" test (I don't do well on them; never have, never will. I spend exactly 0.0 hours on HackerRank, practicing).

I stopped trying to look for work. I don't need it, and I was getting tired of the grind.

I just set up my own gig, where I do the stuff I want to do. Maybe someone will want to work with me in the future; maybe not.

I don't really care, and I'm quite happy.

Re:Follow-up to “The dystopian world of software engineering... by dahart on Saturday February 22, 2020 @08:26PM (#22394508)
> no one bothers to look at my portfolio [...] I usually send a couple of links [...] My portfolio leaves absolutely no question at all about what I can and can't do, technically.

I hear this a lot from software engineers, but it might be worth thinking about the underlying expectation that anyone should spend time poking through repos on the internet, why they would, and how hard it might be to standardize a hiring process that compares you to other candidates. Contrast your own opinion of HackerRank with the hope that hiring managers, who perhaps often don’t have the time, interest, or even ability to read someone’s portfolio to determine the quality of the code.

As someone who’s done a lot of hiring, I often glance at an online portfolio briefly, but I find it to be a low-quality signal for whether I will want to hire the person, and even for the technical ability. If I don’t know you, I can’t tell from your online portfolio whether you’re the sole author and/or how much you’ve contributed to a project. I can’t easily tell if you get a lot of your code from StackOverflow, or write it yourself. I can’t tell what motivates you, whether you love programming or you are hoping for a high salary.

While high technical ability is a requirement for someone I hire, it’s not actually the primary requirement. What I need to know is how adaptable people are, how well they’ll work in a team, how quick they are on their feet, whether they’re friendly under pressure, a whole bunch of things that you can’t learn from a github account. Communication, attitude, curiosity, optimism, and cooperativeness are incredibly important traits, as is technical potential vs existing technical ability. I seek out ways to hire people who can (and want to) learn quickly, regardless of current skill level.

Personally, I’m totally convinced by your comment that your technical ability is high, where you say it is. You would easily pass my entry filter and make it to an interview. But after that, I’d want to talk to you, not sit at my computer looking through your portfolio.

Re:Follow-up to “The dystopian world of software engineering... by ChrisMarshallNY on Saturday February 22, 2020 @10:57PM (#22395024)
I've done a lot of hiring, too. I managed a team of C++ image processing engineers for 25 years. All my coding was on the side, as open-source. I did it to keep my dev chops up. That's a big reason I have such an extensive portfolio.

I learn faster, and much, much more comprehensively, these days, than I ever did when I was younger (I suspect because of the vast context I got from experience). The main reason I'm doing my own thing, is because I love learning so much, and I see there's a whole world of stuff to learn.

StackOverflow is a critical tool for me, but only a reckless madman would stock a majority of their code from there. I use it to solve occasional vexing problems, from time to time, and always modify the (usually tiny) snippets I may glean from it.

All the rest is mine. I've been writing original code, often far ahead of its time, since the 1980s.

I would have been happy to work for a fraction of the salary a lot of folks far less capable would have asked; simply because I love doing this, and the challenge of the job would have been the most important coefficient.

But that's water under the bridge, these days. Once I accepted things the way they are, and just started doing what I wanted, on my own, I became much happier.

Re:Follow-up to “The dystopian world of software engineering... by dahart on Sunday February 23, 2020 @07:27PM (#22400590)
You do sound like you're in a great spot, congrats! I've tried to do the same thing and haven't made it there yet. I did start my own company hoping it would turn into a lifetime of being able to always do exactly what I wanted, but it didn't end up working out that way. It was a ton of fun and a ton of work, and I had to sell it and take a job so I could feed my family.

Would love to hear a little about how you're making ends meet and still doing what you want on your own. Are you selling software, doing contract work, making money some other way and doing software on the side...?

Re:Follow-up to “The dystopian world of software engineering... by ChrisMarshallNY on Sunday February 23, 2020 @08:26PM (#22400860)
Not especially a great spot; an acceptable one. I have enough invested and working for me that I don't need to work again, but I won't be flying in my private jet anytime soon.

I also have two corporations, one with restrictions, but decent assets, and one with few assets, but a lot of flexibility.

Re:Follow-up to “The dystopian world of software engineering... by sixstringtheory on Sunday February 23, 2020 @03:13PM (#22399236)
> As someone who’s done a lot of hiring, I often glance at an online portfolio briefly, but I find it to be a low-quality signal for whether I will want to hire the person, and even for the technical ability. If I don’t know you, I can’t tell from your online portfolio whether you’re the sole author and/or how much you’ve contributed to a project. I can’t easily tell if you get a lot of your code from StackOverflow, or write it yourself. I can’t tell what motivates you, whether you love programming or you are hoping for a high salary.

How are performance reviews done where you work? It strikes me that you have to do all the same things to see if the portfolio of work an employee has done _for your company_ is up to snuff. Because i’ve seen a few places that just offload this to some numeric ranking based on the subjective (nay, political) perceptions of one’s peers through a filter of imperfect, variable understanding of how the numbers should even work, and I hated that process just as much as I hate most interview processes. In a way performance reviews are like interviewing to keep your job or get a promotion, so I’d find your approach to hiring to be a warning about how the culture operates there.

Everything about how a person works, in your subsequent paragraph, is true. But parent is talking about their currently existing body of work, vs every stupid take home challenge to do some menial transformation of a data structure wrapped in polished UI. Not as a stand in for their personality or culture fit.

Re:Follow-up to “The dystopian world of software engineering... by dahart on Sunday February 23, 2020 @06:34PM (#22400342)
> I’d find your approach to hiring to be a warning about how the culture operates there.

Hahaha, well I can't stop you from making bad assumptions. When I say I believe that online portfolios are a low quality signal, I am speaking from experience. I have seen first-hand people that look amazing on paper who were bad hires, and also people who didn't invest in their online presence but were rock stars. I'd encourage you to think a little harder about what you really want out of hiring and performance reviews, and whether online material is actually what you want to be measured by. Not only is online material a low-quality indicator of someone's work performance, it's also much easier to game, in ways that are both subtle and not subtle. If you prefer that someone reads your repo checkins over talking to you, you're letting other people figure out how to make themselves look better than you with less effort. I'm not even talking about unscrupulous behavior -- when the metrics are online material, you will be competing with others' online material. People who write better will tend to "perform" better, people who produce more code will tend to look better (even though LOC is a terrible metric), and people who borrow and build on others' code will tend to look better than people who write their own.

Are you really certain these are the metrics by which you want to be judged in interviews and performance reviews?

The job I have now, thankfully, has the lowest overhead performance reviews I've had at any other job, because my team believes that annual performance reviews are not a very good system at all. We practice continuous performance reviews by working with each other and giving feedback on a regular basis. You should never be surprised by a performance review, or have to wade through the last year's work to see how someone did. If you're doing that, something is already wrong, it means you haven't been paying attention. When you have a system that reviews people annually, even if people are keeping records, it still tends to result in people changing their behavior for 1 month out of the year right before performance reviews. Doing amazing work for 10 months and then getting put on a crappy task can undo your whole year.

There is no online substitute for talking to people; it's much, much higher bandwidth than trying to read code checkins. Once someone has demonstrated they can code, I don't need to check for that again. What I need to know is why someone made the choices they did, what their philosophy about coding is, how they handle themselves during code reviews, how they work with others. I need to know what people are feeling, how they see themselves fitting in, and what their dreams and aspirations are. You can't get any of this from online portfolios, not when hiring, and not when reviewing employees.

Re:Follow-up to “The dystopian world of software engineering... by sixstringtheory on Sunday February 23, 2020 @08:45PM (#22400959)
I do agree with basically everything you said, and I am lucky enough to currently work at a very small company that can still do continuous feedback vs periodic review. But I’ve also worked at larger places that have that periodic review, they’ve been varied in terms of good or bad, humanizing or less so. At a certain scale I do think a more formalized process is warranted, at least to be able to bubble up high level stuff to more senior management. I won’t pretend to have perfect solutions for how to do this without boiling people down to one number or metric.

But in terms of hiring, you as a newcomer will be jumping into a codebase and are expected to be able to work in it quickly. A symmetrical relationship for a hiring role might be to be able to find something to talk about in a candidate’s portfolio. Could even have the candidate point out the region of interest beforehand so you can have a good talk about it when the time comes. Not unlike a code review for a PR.

Re:Follow-up to “The dystopian world of software engineering... by dahart on Sunday February 23, 2020 @09:04PM (#22401043)
I’ve been through crappy perf review processes too... I agree with you, it can be dehumanizing, that’s a good word for it.

For new hires, I like to have an assigned mentor for the first year, it really helps ramp them up quicker, and have good material for performance reviews if necessary.

There’s nothing at all wrong with reviewing code and talking about it with the candidate/employee, that’s highly encouraged, and I do it constantly. I just can’t spend a lot of time looking at candidate’s portfolios without them being in the room, I don’t get enough information from it, and the information I do get might be misleading.

Re:Follow-up to “The dystopian world of software engineering... by ChrisMarshallNY on Sunday February 23, 2020 @08:39PM (#22400930)
I also have a Medium page, with a lot of writing; directly about my development methodologies and process. I'm a good author. I've been writing my entire life, and come from a rather Ivy-league family (I'm the redneck engineer).

I interview extremely well. I am empathetic, gregarious and genuinely like people. I have spent my entire adult life, getting along with some of the most difficult people in the world (long story, and has nothing to do with tech), and that has helped me to get along with people from a huge range of cultures and backgrounds.

Integrity is something that I take quite seriously. I live by a very well-defined personal code of ethics. It has served me well in my career.

It seems that I am not "cut out" for today's software development culture.

Re:Follow-up to “The dystopian world of software engineering... by dahart on Sunday February 23, 2020 @09:00PM (#22401023)
I don’t believe it, you sound totally cut out to be a dev in today’s culture to me. :)

If you’re experiencing issues interviewing, there are lots of things that could be going wrong. It might be the types of jobs and/or companies you’re applying for. You might be shooting slightly too high or too low for your experience level. You mentioned plainly that you’d work for not much money, that could (perhaps surprisingly) work against you if you say it in interviews. It could even be sampling noise, just an unlucky string of interviews. But I’d hire someone like you on my team...

Re:Follow-up to “The dystopian world of software engineering... by ChrisMarshallNY on Sunday February 23, 2020 @09:15PM (#22401089)
Never even gets that far.

What's sad, is that people like me used to be represented by a certain kind of recruiter, more akin to a literary agent. They'd beat the bush, and get a portion of the take from that.

Apparently, this type of job no longer exists. I suspect that the big aggregator sites, like monster.com and Hired are responsible for that.

It's been a rather sobering experience. At one time, I had to fight off people trying to hire me away from my employer, to whom I gave a great deal of loyalty. When they finally rolled up my team, I completely understood it, and supported their decision; even though it cost my team and I our jobs. They treated us well, and with great respect. I had issues with the way they did things, in many cases, but in the aggregate, it was a great experience that I don't regret in the slightest.

I've been shocked at how standard recruiters haven't shown much enthusiasm. They are the ones that get in touch with me, gushing about my résumé, then quickly backtrack, for...reasons. I know why.

I've had to concede defeat, eat a huge platter of crow and egg-on-face, followed by a dessert of humble pie. I hadn't planned on early retirement, but there you have it.

Edited to add: One other thing. I tried sites like Hired and Upwork, and the contacts I got were 100% (not 95% -100%. Not one single legit contact). scams -some, rather scary. I have heard numerous people praise these sites, but they were all people looking to hire folks; not be hired.

To be fair, many of the scams weren't predatory. They assumed that I would be fronting as an American programmer, and shopping my work out to Indian programmers (who were the ones contacting me). I suspect that some of the contractors out there may not exactly be what they say.

Re:Follow-up to “The dystopian world of software engineering... by rauhl on Monday February 24, 2020 @08:54AM (#22403937)
> What's sad, is that people like me used to be represented by a certain kind of recruiter, more akin to a literary agent. They'd beat the bush, and get a portion of the take from that.

> Apparently, this type of job no longer exists. I suspect that the big aggregator sites, like monster.com and Hired are responsible for that.

I’ve worked with Code Talent both when building out a team and when seeking a position myself and found that they work very much like this. I haven’t dealt with them recently, but they seem to still be going strong and doing what they do. I wouldn’t hesitate to reach out to them were I look to hire or find opportunities in the Denver area. Other than as a satisfied client on both sides of the table, I have no relationship with them.

https://www.code-talent.com/

Re:Follow-up to “The dystopian world of software engineering... by ChrisMarshallNY on Monday February 24, 2020 @10:05AM (#22404561)
Thanks. I'll check them out. I'm in NY, where the tech industry is sort of like Logan's Run. There's very few folks over thirty-five.
Re:Follow-up to “The dystopian world of software engineering... by KajMagnus on Thursday February 27, 2020 @02:41AM (#22431449)
Hi dahart, I'd just like to say thanks for your, from my perspective, insightful thoughts about online github stuff and hiring and interviewing.
Re:Follow-up to “The dystopian world of software engineering... by swat535 on Sunday February 23, 2020 @06:20PM (#22400276)
> hiring managers, who perhaps often don’t have the time, interest, or even ability to read someone’s portfolio to determine the quality of the code.

Then perhaps this person should not be interviewing in the first place? Why should an unqualified hiring manager somehow asses the candidates technical abilities ? This seems really bizarre to me. Imagine putting someone who is clueless about the medical field in charge of hiring surgeons based on some test score they took online, whilst completely ignoring their years of experience.

> I can’t tell from your online portfolio whether you’re the sole author and/or how much you’ve contributed to a project. I can’t easily tell if you get a lot of your code from StackOverflow, or write it yourself.

The OP has hundreds of citations in his portfolio. It's interesting that leetcode which can be gamed by a grad has more weight than multiple, well established projects. If you place this much trust in applicants, you will most likely be micromanaging them as well. This isn't the way to attract top talent.

> I can’t tell what motivates you, whether you love programming or you are hoping for a high salary. This is what the in person interview is for.

> While high technical ability is a requirement for someone I hire, it’s not actually the primary requirement. What I need to know is how adaptable people are, how well they’ll work in a team, how quick they are on their feet

All these are valid points, but the discussion here is regarding whiteboard algorithms vs actual experience.

I honestly think it boils down to a few things: - Companies are willing to waste the candidates time. - Copying FAANG style interviews serves as a marketing tactic for startups (we have the same hiring standards as Google)

And finally an unpopular opinion: - Asking Algorithm questions makes the interviewer feel smart, Especially if they are interviewing someone which is more experienced.

Re:Follow-up to “The dystopian world of software engineering... by dahart on Sunday February 23, 2020 @06:58PM (#22400467)
I think you misunderstood my comment about whether a hiring manager has the ability to judge online code, I wasn't suggesting they're incompetent, I'm trying to point out that you can't expect even an amazing programmer with decades of experience to understand what the hell you were trying to do with your code -- in a reasonable amount of time. Styles and goals can be as different as night and day. I believe I'm a very good programmer, but I can't tell from github whether you are. I have to talk to you to figure that out.

Look, this is the same as taking tests in school. Tests suck, but there's a reason we have to take tests and not just only turn in homework. The reason is that you need to demonstrate that you can do it on your own in a time-bound environment. Github doesn't demonstrate that even when you're amazing. Talking to someone who can ask questions about your abilities, and demonstrating your abilities on the spot is the way to do that, just like taking a test. I'm sorry it's less comfortable than posting online, but it's reality.

Leetcode doesn't have more weight than projects in my book, and I didn't mention it, neither did the top comment, so I'm not clear why you're saying that. Are you referring to the article?

> the discussion here is regarding whiteboard algorithms vs actual experience

The discussion in this sub-thread was about interviews & online portfolios. I wasn't talking about whiteboarding.

> Companies are willing to waste the candidates time [...] asking algorithm questions makes the interviewer feel smart.

I can't speak to all companies, you are probably right about many of them.

However, young grads today seem to feel entitled to easy interviews and job offers from all of them. What I hear in your post is some angst and frustration. I can understand that. I think it's a buyer's market. Getting a good job means figuring out how to stand out from the rest of the crowd, and it's really, really hard to do that with code alone.

It's true that companies are optimizing for their own needs, just as you are optimizing for your own needs. You can choose to see that negatively, as them wasting your time, or you can take more control of your interviews, and work to protect your own time.

The deal on offer is, if you pass the interviews, then you get paid well to code. Or, you can go start your own company and make your own money.

If you paid attention in school and understand algorithms, them you should think of algorithm questions as the easy part of the interview, something you can pass without problems. The questions are there to see if you care about algorithms and understand the basics. Don't take them personally, and understand that the questions are for all candidates, and they need to filter people out who don't know algorithms. So stop complaining about the easy questions, and start spending your time figuring out what the hard questions are and how to ace them. (Also, just FYI people who complain about certain kinds of interview questions is a small red flag in my book. If you love programming, algos might not be the exact thing you want to do, but it's part of the job pre-requisites and basic knowledge, so enjoy them instead of fighting them.)

Re:Follow-up to “The dystopian world of software engineering... by ChrisMarshallNY on Monday February 24, 2020 @11:06AM (#22405253)
Well...we see things differently. I won't go into it. I've made a commitment to behave circumspectly in my online interactions. Take note that I link to my complete background in my HN handle. I am deliberately putting myself in the position of being held accountable for what I post. I can't please everybody, and, in today's culture, everyone seems to be looking to pounce on everyone else. Rather sad. I can't fix the culture, but I can just make sure that I don't become infected by it, and contribute to it.

If I have to become the culture in order to participate in it, then I will just take my toys and play in my own sandbox. I won't compromise my personal ethos, just because everyone else is.

As a manager, I took my Responsibilities very seriously. I worked for an extremely frugal and conservative corporation, and had to fight like a badger to get headcount. Making sure that the person that filled that headcount was top-notch was critically important, and I spent a great deal of time evaluating résumés and interviewing candidates. I would have killed for information like what you can get from a well-stocked SO story. Each candidate was a potential "family member." I kept them for decades. Japan wouldn't even recognize their existence until they'd been there for over a year.

Have you ever seen a designer get ready for an interview? I was trained as an artist (way back when), and know the drill.

They bring a large (usually black) case with them. It contains samples of their work; often including things like sketches and layout exercises. They go over the contents of this case with the interviewer; often telling stories about how they addressed some kind of issue, or the creative process that went into the work. I guess they may bring a laptop with them, these days.

No design manager in their right mind would ever think of ignoring the portfolio, and, instead, throw a matchbook on the table, and ask the designer to "Draw Spunky."

Re:Follow-up to “The dystopian world of software engineering... by dahart on Monday February 24, 2020 @12:06PM (#22405881)
I have a lot of art background as well, and you are speaking my language. So I don't know exactly what we're not agreeing on or why...

I'm not saying ignore people's portfolio. I'm only saying I don't spend a lot of time doing it before I talk to them. You also understand as well as I do that code portfolios and art portfolios are very different things, we can't compare those two types of interviews directly. It's easy to get a sense of quality from an art portfolio very, very quickly. At the same time, it can take days to understand whether a code portfolio has high quality.

You, as someone who'd done a lot of hiring, I think understands that a hiring manager doesn't have 4 hours to research each and every candidate at the resume phase before interviewing them on the phone, while also trying to write code and manage other coders at the same time. We take the best candidates we get, rank the resumes, look over the portfolios, reject any candidates that aren't prepared for the job, then call the top candidates and chat on the phone for a few hours, after that bring in the top from that set for interviews, which can be multiple days.

I also take hiring extremely seriously, and I've never had to fire someone, because we spend a lot of time talking with the candidate and making certain they'll fit in well on the team. That time spent talking is spent talking about their portfolio, having the candidate explain in their own words why they made the design decisions they made, why they chose to work on certain projects.

I would be willing to bet that in a face to face conversation, we would be agreeing damn near 100% on hiring philosophy and process. The problem here is it's hard to get across my motivation online in text. :P

Re:Follow-up to “The dystopian world of software engineering... by ChrisMarshallNY on Monday February 24, 2020 @12:23PM (#22406067)
I'm cool with that. I understand that online communication is a rather delicate art. I tend to come across as stuffy and pedantic, because I have found it's the best (not foolproof, though) way to avoid irritating folks.

My writing tends to be a lot more casual, and even a bit humorous. I like humans, and believe that the human relationships we make are the most important artifacts of our lives.

Re:Follow-up to “The dystopian world of software engineering... by luord on Monday February 24, 2020 @09:22AM (#22404140)
> you can't expect even an amazing programmer with decades of experience to understand what the hell you were trying to do with your code -- in a reasonable amount of time.

... That's a software engineer's everyday job, specially when just starting a new gig. In fact, the "reasonable time" part is often a pipe dream.

Someone unwilling (or unable) to read and try to understand someone else's codebase has no place doing technical interviews. That's literally the first thing that a new hire has to do.

You might have half point if you were saying that you discuss someone's portfolio during the interview (which would be analogous with the new hire discussing the code with the rest of the team to better gauge the decisions made), but you've said that you dismiss it and instead defend tests.

Speaking of that defense of tests: surgeons also had to do tests in medical school, yet they're not asked to perform routine surgery as part of their interviews (that I know of). This is to say that you were using a false equivalency.

> I'm sorry it's less comfortable than posting online, but it's reality.

Evidently, it isn't. What makes it easy for you (which is ultimately the real reason for those pointless tests) is not the optimal process. It's, in fact, the entire problem discussed in the FA and the comments here.

> Leetcode doesn't have more weight than projects in my book, and I didn't mention it, neither did the top comment

From the top comment:

>> At least, that was the reason they gave for ignoring the links I sent, and instead, giving a binary tree "Draw Spunky" test (I don't do well on them; never have, never will. I spend exactly 0.0 hours on HackerRank [emphasis mine], practicing).

What exactly were you going for?

> The discussion in this sub-thread was about interviews & online portfolios

One of the main points of the top comment was the explicit and deliberate dismissal of the commenter's portfolio in favor of leetcode type tests. I refer to the paragraph I just quoted.

> and it's really, really hard to [stand out as a programmer] with code alone.

Interesting, most of the programmers I know of, I know of them because their code is great; I'm here mostly thinking of authors of widely used open source software.

To reference a famous anecdote: I'd hire the creator of homebrew on the spot. You wouldn't even give him an interview.

> you can take more control of your interviews, and work to protect your own time.

In other words: Potential candidates should make your job easier by continuing the drill this whole discussion is about instead of complaining about how ineffective it is. How much of a problem this whole charade is.

That's just borderline insulting, and it's pretty clear that it is deliberate. I'm surprised it flew here, specially considering the featured article(s) and most of the other comments.

> If you paid attention in school and understand algorithms, them [sic] you should think of algorithm questions as the easy part of the interview, something you can pass without problems.

You called yourself a great programmer, I'll make no comment on that, but you've given me a good idea for how to screen which engineers should participate in interviews for when I have my own company: I'll ask them what they think of algorithm questions and I'll ask them whether they think that what is taught in college should be enough to pass those questions.

If they respond on the affirmative, I'll ask them the most obscure thing I can think of from any of my physics or calculus classes. Hey, after all, they "studied that in college", they ought to remember it even though it would be a gigantic coincidence if they ever actually had to use that knowledge in their job, and the question should be an easy point, correct?

Hopefully that will be a teachable moment, on how responding on the affirmative was wrong, maybe even unethical (because I sure wouldn't have asked that during their own interviews, with one caveat).

And this is, of course, ignoring the whole point of the featured article and the original one this is a follow up to: algorithm questions have devolved into being far more difficult than anything anyone had to do in college and they're something that 99% of candidates would never have done, or needed, in any previous job.

> The questions are there to see if you care about algorithms and understand the basics.

They aren't, GP comment was on the money by saying that they're just there for the interviewer to feel smart.

> Don't take them personally, and understand that the questions are for all candidates, and they need to filter people out who don't know algorithms.

Filtering out people who don't remember (as opposed to not knowing; for remembrance only a short refresher is needed, but that's something that a coding test doesn't give the time for) algorithms is a terrible practice unless the company doing the hiring is explicitly researching for algorithm design and creating knowledge as opposed to applying existing knowledge.

Or, in short, most people won't ever need to dive deeply into algorithm design in this field (most, if not all, of the algorithms needed are already baked into the commonly used libraries), meaning that filtering out the ones that don't remember is pointless at best, self-defeating at worst.

For the very rare cases (outside of the aforementioned companies that need to create new stuff for their products) where reimplementing an algorithm is needed (and there better have been enough research to know that it's not an example of NIH), a couple of hours of getting reacquainted with them is often enough.

> So stop complaining about the easy questions

You've given no reason to. In fact, by rationalizing it, you helped me see with even more clarity how much of a problem this is.

> Also, just FYI people who complain about certain kinds of interview questions is a small red flag in my book.

That's good, every person you rejected for that reason (along with the ones rejected over tests, specially if they had portfolios) clearly wasn't a culture fit and they are better off in a different company.

I just wish they could have dodged the whole hiring process you employ. Then again, I wish that for everyone, myself included.

> If you love programming, algos might not be the exact thing you want to do, but it's part of the job pre-requisites and basic knowledge

They aren't prerequisite for 99% of the jobs and I would say that, if you love programming, you would, well, program and let everyone know you do, like by contributing to open source software and building a portfolio. And yet you would barely spend a second of your time looking at someone's portfolio.

So whose criteria for "someone who loves programming" is the right one?

Finally, a disclaimer: I often do well in those stupid tests and have never spent more than a few weeks in between jobs, while my online portfolio is pathetically barren. Just to put in perspective that one can hate everything about the problem and rightfully complain about it while still having to play, and mostly knowing how to play, that awful game.

Re:Follow-up to “The dystopian world of software engineering... by dahart on Monday February 24, 2020 @10:50AM (#22405038)
Hi there, thanks for reading my comment and replying. I don’t know why what I wrote has made you so angry, but I am not trying to insult you or anyone. I might be unintentionally saying things in a style that’s bugging you, I apologize for that, but my intent is to offer some insights about what’s important to an interviewer when interviewing for a job. Younger coders seem to believe that technical ability should be the only criteria, and it’s not the only criteria. Please contrast my generic statements not directed at you, statements that might be accidentally making you mad, with your many personal insults directed at me. I don’t particularly appreciate it, but in the end it’s only reflecting poorly on you, not on me. If someone who was interviewing you read your comment, do you think they’d want to hire you more?

I can see that you’re frustrated by interviews. Why don’t you tell me more about your experience and what about interviews isn’t working for you? You said you’ve never gone long in between jobs, so why are interviews bothering you so much? If you’re just commenting on the awful game, why are you taking it personally and insulting me?

You took much offense to my explanation of algorithm questions without acknowledging that I agreed with the GP comment that many companies might be doing it for the wrong reasons. Still, that doesn’t make it a good idea to just speculate on the reasons companies use algorithms questions. Just because you feel like they’re pointless and interviewers are trying to feel smart doesn’t mean it’s true. Jumping to a negative conclusion isn’t the best idea, even if you’re right.

The person who’s criteria matters for loving programming is you.

Re:Follow-up to “The dystopian world of software engineering... by luord on Monday February 24, 2020 @11:53AM (#22405741)
> Younger coders seem to believe that technical ability should be the only criteria, and it’s not the only criteria.

You're the one defending rote tests (that literally only test for technical knowledge), not me nor anyone who replied to you (as far as I read).

From my previous comment:

>> You might have half point if you were saying that you discuss someone's portfolio during the interview (which would be analogous with the new hire discussing the code with the rest of the team to better gauge the decisions made), but you've said that you dismiss it and instead defend tests.

I value discussion, that's ultimately one of the things that matters most for a developer. And, mind you, thanks to git platforms (GitLab, GitHub, etc.) this is also becoming more transparent in portfolios, like by looking at how the candidate handles merge/pull requests and issues.

> your many personal insults directed at me.

Could you quote which sentences in my previous comment were personal insults? I'd like to know where I phrased myself poorly and apologize and/or explain my intent.

> If someone who was interviewing you read your comment, do you think they’d want to hire you more?

If someone who was interviewing me disagreed with any of my points, I guess not. Then again, I wouldn't want to work in such a company either; making it a win win situation.

I fail to see how this sentence is apropos anyway, HN isn't a job board.

> You said you’ve never gone long in between jobs, so why are interviews bothering you so much?

That's all but spelled out in the article and most of the comments, but I'll share my experience explicitly: I am yet to have a job, that used those leetcode type tests or generic coding challenges as part of the hiring process, where I needed to use the knowledge required for the tests or the challenges in the actual job.

It's a gigantic waste of time, testing for all the wrong things.

> Just because you feel like they’re pointless and interviewers are trying to feel smart doesn’t mean it’s true.

I'm yet to find a counterexample in any job I've had. You seem to be mistaking your own experience (assuming you actually do those tests for the "right" reasons) as the norm. Though I guess all of us are a little bit at fault of that.

> Jumping to a negative conclusion isn’t the best idea, even if you’re right.

You are the one who told someone else to stop complaining and even made another not-apropos comment about how complaining is a red flag. There's no way to interpret that other than negatively. If there is, I would love to read what you meant by that.

> The person who’s criteria matters for loving programming is you.

Alas, evidently it doesn't, because even hiring managers/interviewers/recruiters who comment in HN posts about the awful state in hiring for software engineers think that rote algorithm tests are of utmost importance, and I don't particularly agree.

Re:Follow-up to “The dystopian world of software engineering... by bambataa on Saturday February 22, 2020 @10:12PM (#22394846)
Because companies often ask for it! They ask for a link to your Github profile or portfolio, making people feel their GH needs to give the best version of them, and then completely disregard it. if you’re lucky it makes you pass some CV filter but you still need to jump through the rest of their hoops even though they have accepted the evidence that you can program.
Re:Follow-up to “The dystopian world of software engineering... by Aunche on Sunday February 23, 2020 @02:10AM (#22395568)
> And no one bothers to look at my portfolio when I've been contacted to apply for engineering positions.

I think the root cause of all interview issues is that interviewers aren't incentivized to care. You're never going to get promoted or even a good performance review for reading a candidate's code or ask them meaningful questions. On the other hand, it takes little effort to pick a couple algo questions and use them for everybody, and they still provide some meaningful signal. With alternative interview methods, apathetic interviewers will just rely on their intuition, which is how a "good ole boy's club" is formed.

Re:Follow-up to “The dystopian world of software engineering... by perl4ever on Saturday February 22, 2020 @08:14PM (#22394466)
"I just set up my own gig, where I do the stuff I want to do."

I think maybe this is the unspoken issue with interviews - if a candidate was any good, they wouldn't need a job at all! So it's a given that all the people who apply are no good - the interviewer just needs to find the reason.

Re:Follow-up to “The dystopian world of software engineering... by tonyedgecombe on Sunday February 23, 2020 @05:37AM (#22396188)
I suspect there is an element of truth in that. After all the people who are most likely to apply are those who are persistent but have been rejected by previous interviewers.
Re:Follow-up to “The dystopian world of software engineering... by perl4ever on Sunday February 23, 2020 @03:04PM (#22399179)
By not needing a job, I mean being your own boss, not just already having a job.
Re:Follow-up to “The dystopian world of software engineering... by tonyedgecombe on Monday February 24, 2020 @07:38AM (#22403522)
I see. I'm not sure I agree though. I haven't had a job for 22 years although I think that says more about my lack of ability to be a good employee than anything else.
Re:Follow-up to “The dystopian world of software engineering... by jimthrow on Saturday February 22, 2020 @07:12PM (#22394223)
When you get rejected, it’s not about you. There’s just too many high quality candidates and too few positions. It’s just the inevitable outcome of a vast oversupply of talent
Re:Follow-up to “The dystopian world of software engineering... by zimpenfish on Sunday February 23, 2020 @05:31AM (#22396167)
> There’s just too many high quality candidates and too few positions.

That would be believable if the same positions weren't being advertised for a year or more[1]; e.g. I've had one position[2] sent to me at least 5 times in the last year by different recruiters.

[1] In London, at least. [2] Interesting work and a job I'd want but unfortunately the corporate culture is 100% no-go for me.

Re:Follow-up to “The dystopian world of software engineering... by cameronbrown on Sunday February 23, 2020 @10:45AM (#22397363)
London is just too expensive for the salaries some of these companies are offering though..
Re:Follow-up to “The dystopian world of software engineering... by zimpenfish on Tuesday February 25, 2020 @06:43AM (#22412383)
That was another reason I wasn't interested in that position - I'll suck up a lot of corporate nonsense for contractor money but not for low-perm money.
Re:Follow-up to “The dystopian world of software engineering... by jlokier on Sunday February 23, 2020 @01:14PM (#22398465)
> There’s just too many high quality candidates and too few positions.

That can't be true simultaneously with "companies are having trouble finding good enough candidates", which is often said these days.

What can be true: There are many high quality candidates, and many positions looking for high quality candidates, but they cannot find each other and overcome matching hurdles.

So you have candidates applying to a large number of positions, and positions seeing applications from a large number of candidates, just because the matching process is so inefficient. Then both sides can legitimately complain about the large amount of work and time it takes.

Re:Follow-up to “The dystopian world of software engineering... by RichardCA on Sunday February 23, 2020 @05:30PM (#22400003)
When two contradictory ideas are true at the same time we call that a paradox.

There are reasons why the current IT hiring status quo seems to be so paradoxical.

https://itnext.io/the-cloud-skills-shortage-and-the-unemploy...

Re:Follow-up to “The dystopian world of software engineering... by jlokier on Monday February 24, 2020 @01:50PM (#22407069)
I agree (and I'm fond of the word "paradox" too).

Interesting link, thanks.

I've tried to reconcile that paradox by seeing it as a matching problem which requires both candidates and companies to be overwhelmed with attempts to find a good fit with each other.

However, reading the linked article gives another perspective on it. Which is, frankly, a worrying perspective for candidates, in that it suggests the labour market is shrinking and bifurcating (just like everything else these days) into "haves" and "have nots", where crossing from the latter to the former group may be getting more difficult with time.

Re:Follow-up to “The dystopian world of software engineering... by ChrisMarshallNY on Saturday February 22, 2020 @07:18PM (#22394248)
I'm not so sure about that. The lobbying for more H1Bs seems to indicate otherwise.

I am quite aware that most positions are for folks that don't have my level of expertise.

I just love designing and writing software; especially software that connects to devices. I'll do it; whether or not anyone pays me.

Re:Follow-up to “The dystopian world of software engineering... by jimthrow on Saturday February 22, 2020 @10:56PM (#22395021)
Well an H1b is basically like an indentured servant that works for a fraction of the cost and much longer hours. Some Companies want low cost labor.
Re:Follow-up to “The dystopian world of software engineering... by achievingApathy on Saturday February 22, 2020 @07:20PM (#22394259)
No one wants to buy the cow when they get the milk for free. :)
Re:Follow-up to “The dystopian world of software engineering... by ChrisMarshallNY on Saturday February 22, 2020 @07:28PM (#22394289)
As long as they are happy with MIT open-source, on my terms, no big deal. They are welcome to knock themselves out.

If they want to own it, though, and have more of a say in what it does, that's another story.

Re:Follow-up to “The dystopian world of software engineering... by achievingApathy on Saturday February 22, 2020 @07:19PM (#22394253)
But then collectively as a labor force, where do we go from here? We can't all dumb ourselves down - or won't, and it seems to me that people understand what it is we do less and less.
Re:Follow-up to “The dystopian world of software engineering... by neonate on Sunday February 23, 2020 @01:26PM (#22398535)
You mentioned that you've been writing shipping software for over thirty years. To what extent do you think ageism is the issue here?
Re:Follow-up to “The dystopian world of software engineering... by ChrisMarshallNY on Sunday February 23, 2020 @05:35PM (#22400028)
Huge, but I have made it a point to reduce my bellyaching about it.

A lot of the reason that I stopped looking for work, was because, almost instantly upon finding out that I am afflicted with eld, the microaggressions and veiled insults begin.

It's kind of amazing. People contact me, telling me how awesome my résumé is, then quickly backtrack, as soon as they find out it comes with grey hair. I guess the industry is full of 30-year-olds with 35 years' worth of experience.

It was really getting me steamed.

I'm not rich, and could always use the income from more work, but not badly enough to put up with that stuff.

I just make sure that people know that I'm "ancient," right up front, so we don't waste each others' time.

Re:Follow-up to “The dystopian world of software engineering... by neonate on Thursday February 27, 2020 @03:11PM (#22437281)
That's frustrating and unfortunately unsurprising.