skysight-inc/HackerNews huggingface dataset:
As someone who really enjoys OCAML, it has a variety of issues that prevent it from becoming popular (though I'm hopeful for reasonML).

No multicore

Standard library has... issues

No community consensus on a common base setup, questions about which library to use for a task often get answers like "well, do you want to use functors or monads? because that will change the library we recommend" which is really not what you want to hear when you're just trying to set up your first server.

Documentation is, in general, bad. Most packages just give a list of function signatures.

The community is small, academic, and often French.
My journey with rust has been a single application serving a couple of endpoints from an sqlite database. Its never going over 50Mbs of memory. It has been a solid rock for the past year no matter the hiccups in traffic!
"Poor communication skills" is another that seems to just mean "has an accent."
I interviewed ~500 people in a fairly large (~2000 devs) company.

Interviews used to take about 6-8 hours of my week, and I was usually completely destroyed by the context switch. I remember many days when a deadline was very close, and I absolutely did not want to do the interview, but had to.

In general some days I was in good mood, some in bad mood and even though I tried to make the interview as objective as possible, I am absolutely sure I failed. Keep in mind, one interview has 5 interviewers and guess what they had bad days too.

From those 500 interviews, I was certain for about ~5 cases, for the rest I could not say if it was my fault, or the candidate's fault that the interview went south, in that case I pretty much voted as the majority was voting.

I still feel very bad about people's livelihood being decided in such shitty process, there is absolutely no way that in 1 hour I can find out if someone is good. I knew that, my managers knew that, their managers knew that, and yet we kept going..

I feel that adding more time/people to the process only increases the variance, adding more structure to the process only increases the bias (like we get people who can pass interviews, but not do their job).
Let me guess, "sophisticated attack vector", "state level actor"...now who would be against human rights?
And here's one for Conway's Game of Life https://twitter.com/fengchuiyulin/status/1110423064020480000
> PHP is a code smell for a poorly managed project

Woo, that's a harsh but honest assessment.. Having lived through countless PHP projects, I'd have to say I agree.

> That's certainly not the way things have to be

As the article pointed out, there are new developments in the language, frameworks, tooling, etc., that support better practices and well-managed projects. It's just that the average codebase still tends to be haphazardly organized, idiosyncratic, bloated, complicated, tough to maintain and extend.

The popularity and evolution of PHP have been impressive, and having used it for years I do have some fondness for it. But at some point, I think it becomes necessary to move on to other languages and systems that encourage best practices from the beginning, with a higher baseline/average code quality.
Only if the ageism is on favor of the younger person. It is never illegal ageism to always hire the oldest candidate.
We Don’t Need Social Media
Health insurance largely isn't like other forms of insurance, though. You can opt out of owning a house or driving a car. You can't really opt out of having health issues, and the potential costs involved make it impossible for most folks to effectively self-insure.

Most of the rest of the developed world has long since acknowledged this - that certain things are better disconnected from profit.
You're assuming the current rules are somehow fundamental reality, they're not. There's no law of nature that says technical interviews are axiomatic. Part of the adaption process can be forcing the abstract silly rules to adapt.
Lol. At my job, I code in several different languages. Sometimes, a new project requires me to to learn to write in a new language. It's not a big deal... Programming is pretty general, so new syntax doesn't slow me down too much.

But I can't tell you what the sleep command is any of these languages. I look it up every single time :P
Not even remotely the same thing. Ford raised the price on the most popular truck model in America to make additional profits before the next model year came out in a few months. I quote the article itself: "When you have a winner, take advantage of it. That's clearly the motto at Ford with the F-150 SVT Raptor."

Tesla raised prices as an act of desperation because it needed every dollar it could get from people still willing to buy Teslas, which based on their quarterly sales and drop in production in Q2, suggests is not sufficient to keep the lights on much past the end of 2019.
1) there are not even enough generalists, good generalists are expensive, and bad generalists... you don’t want them.
2) as a generalist, I am quite OK with hiring specialists, if they are really good at what they do. I am a “full-stack”, which means that while I can do both frontend and backend, I can’t shoot React and CSS like a machine gun, nor can I squeeze the last bits of performance from JVM. I hire specialists to do that, after I got the ball rolling.
Sadly, I do not think Aristotle said that, it actually originated from an American preacher.

On the topic of Christianity in relation to the posted article honestly my first thought was that we were commanded to "Go forth and multiply."

>>I ask myself, is there some behavior or value that we are allowed to judge people on?

... of course, you will be judged by a lot of readers for your religion beliefs and traditional moral framework
I despise HackerRank and that ilk. I am a (actual) senior engineer at a FAANG in Silicon Valley and can barely do those contrived problems but am approaching my second year at one of the biggest companies in the world working on “serious” build engineering stuff and never once have had to invert a binary tree and display my results using STDOUT.

Honestly, command line Linux skills and a take home (<1 hour) “build an app in <relevant language> that does x” is far more relevant to my work than some timeboxed HackerRank contrived example.

My favorite screening tools have typically been “here is an app with failing tests, fix the failures.” I have been screened out of all manner of dinky companies from these contrived tools. A reasonable oral technical interview to ensure the candidate can communicate within the domain is far more valuable than contrived tests of solving problems unrelated to the actual job. I can learn more about a candidate asking about use cases of SOA than I can by watching them calculate prime numbers.
Cheatsheet: Analyzing Data from the Unix Command Line
I've never really cared about it. I've oscillated between regular and senior positions so many times through my career that I think it's meaningless. Also, recruiters seem inclined to lie about titles, I've applied for high level roles but when the offer letter comes, the job title is regular engineer.

I recent left a level 5 of 7 job for a title level 2 of 6 and still managed a 30% pay raise. On paper, it looks like a huge step back (Consulting Data Scientist to Software Engineer), but in practice, it's actually more of a technical leadership role.
Is type hinting being adopted by Pythonistas today? I've been aware of the feature but haven't used it. To be a modern Python programmer, should I start using it?
20th and 21st century societies are largely better off because capitalism has drastically increased quality of life by making many goods and services faster, cheaper and better. Saying that this progress is due to government redistribution policies is a huge stretch. Many places few or no such policies have seen an massive increase in quality of life in the past 120 years that can only be attributed to something other than government intervention. Most of the 20th century’s biggest failures were due to government intervention.

https://humanprogress.org/ylin

The other thing worth considering is that many of the socieities that have fared the best over the past 300-400 years are almost invariably in places with four distinct seasons. The reason for this is that seasons are a forcing function to make sure planning and long termism becomes part of the culture. If you don’t plan for surviving winter, you die. If you learn how to plan for winter, you sharpen skills that can be used to plans years ahead. Tropical climates don’t have this benefit.
One technique I've used for 8+ years now is an in-person programming problem. The general guidelines are:

1. It is a problem representative of the work the person will normally do in the job (we use an extract of our actual data for it)
2. We provide clear guidelines and criteria for success.
3. They are allowed to implement a solution in any language they choose, using any tools they choose (we ask everyone to bring a laptop with their preferred dev environment, but we do provide one with some common tools for them if they can't).
4. They are allowed to use Google and open-source libraries to help them with the solution (we want to see how they really solve a problem)
5. We are there to interact with them and answer domain specific questions, as well as to offer advice if they are stumbling on something to help them move forward.

I've really, really gotten a lot of good mileage out of this. The range of skills that I've encountered over the years has really surprised me. The problem is pretty straight-forward, and usually involves parsing some JSON, looking at the data, and matching disparate sets of the data together. The basic O(n^2) solution can be done in about 20 lines of code and there is some nuance to the datasets that require them to think through the problem and not what they have memorized in their head. I've had programmers with years of experience from places like LinkedIn take 20 minutes just trying to read a file in from the file system, and I've had people who are self-taught developers crank through a really good solution in the same time. I like being able to see how people are writing code, how quickly they are able to lookup information they might need, and listen to the types of questions they have when trying to solve the problem.
So the law is wrong. This is the alignment problem, but for laws instead of AI. The law doesn’t perfectly match what society (to the extent that society is an entity with desires) actually wants.
Reflectly – From mobile to web in less than 4 beers
So it will only take 37 years in impossibly perfect conditions? Unless people are willing to sacrifice themselves to let others survive this scenario is never going to happen.
Php here to stay, I personally hate it, but respect for such a long successful journey since 90th last century.
This. A million times over. I lead the engineering and run the hiring and I too just turn down senior engineers left and right at times.

We run about as practical a process as I can imagine. A short take home exercise where you use your own environment and build a very small project and are free to even have a starter ready to go ahead of time to focus on the question asked.

In house we have a project you work on on our code base. Very small. Maybe ends up requiring less than 20-30 lines of code for the day. Most people who come in are always familiar with our stack.

The amount of people that just fall on their face is astonishing. Many people will be fine with Greenfield development but then have zero skills being able to deal with an existing code base with places stubbed out with //todos and the ability to pair with people on the team.

I'm convinced people are getting turned down not because of the interview process, but because they just aren't that good at the end of the day.

Yes. I do not need a bunch of code wizards, we aren't solving if p=np daily. But that doesn't mean I should accept people who can't code I'm hopes of them growing into fine developers. I can do that worth one person, but not when bringing on 8.
I actually kind of find the thought hilarious.

In a twitch shooter, you mouse over a visible opponent. Would the AI be more likely to pre-emptively pull the trigger for you? Or more likely delay and swing the aim passed the opponent before shooting at air? AKA Is the training set for predictive user actions based on experience of players better or worse at the game than you?
> It has high latency: because build is costly, it is invoked at most once per x seconds, which means you either have to wait to get the results, or get stale results.

I find this is the worst part right now. Latency is everything if it is tied to actual typing in of code.

Excited to see this get fixed, or at least improved!
I don't see how these same points wouldn't apply to uses of software though. Most users don't know anything about software or good UX design. You also run the risk of surveying a demographic that's not the most impacted by the change. The problems seem to be identical here.
Show HN: Ahoy – Connect with people near you
I've met a ton of people like this. They were all people who used to be engineers, but moved into more management centric roles. Their title was still "Senior Engineer" or something similar, but their skill set was almost entirely cat wrangling.

I had one guy get very angry with me when I asked him a programming question; he insisted that that just wasn't what a senior dev did.
Livestream: FAA Chief Questioned on 737 Max
> There is no need to obsess over anything when you better your habits.

That's not how orthorexia nervosa works. It's not an "obsession" in the colloquial way you're using the term but an actual pathological obsession. A diagnosable mental health condition. Your comment is incredibly insensitive (I hope because you only bothered to read the title) and is the equivalent of telling someone with a cold that there's no need to cough.
Some programmers are real jerks who are always trying to prove how smart they are in competition with other people in the room, and because these are basically acting out on a neurosis if you have one of them yes an hour interview will probably at least establish some cause for concern.
I think that part of the reason it didn't pick up is because it was made during an era when talking about the problems of C++ was brushed aside with "learn to program kiddo".
> Not having a child is the single greatest thing an individual can do to reduce their carbon footprint.

So what?

I say that in all sincerity. You have internalized your worldview to the point that it's a religion you don't realize you believe.

Why is reducing my carbon footprint a fundamental good? Ultimately, any explanation will come down to the meaning of life, and it is very likely that you and I might understand our purposes here differently.
We said this about IE6, but once major sites started dropping support, usage dropped to almost nothing fairly quickly.
Ask HN: Will Fusion become a reality in the next 10 years?
Hey HN,

I’m an ML graduate student and recently I’ve been looking into physics out of general curiosity.

I’m aware of the race to build a net positive energy fusion system, but I don’t entirely understand the obstacles.

What are some promising teams/orgs working on the fusion moonshot, and is the outlook promising?

Also, is there any space for someone with CS/ML/Math background to plug in?
We can go deeper :

"Then there’s Munder (2013), which is a meta-meta-analysis on whether meta-analyses of confounding by researcher allegiance effect were themselves meta-confounded by meta-researcher allegiance effect. He found that indeed, meta-researchers who believed in researcher allegiance effect were more likely to turn up positive results in their studies of researcher allegiance effect (p < .002)."
YouTuber does what Nintendon’t and builds a working GameCube Classic
I doubt it is developer apathy. It smells like a management issue. iOS is where the money is. I don't know anyone at apple, but here's how I imagine it is there:

Every OSX engineer probably has more bugs on their plate than can be fixed in one career, in addition to feature development tasks. The OSX team is severely understaffed both because it is not a priority at Apple, and because it is getting harder and harder to find engineers that are able to/willing to work on this kind of code - a Byzantine labyrinth of C flavors that's been accreting lines for decades.

The OSX team is in a desperate fight for recognition and status against the iOS team. They believe (and are probably right) that the only way to gain executive mind share there is to build out new visible features, no matter how useless. Witness dark theme, stacks, dynamic desktop, siri on the desktop, a steady stream of useless iPhone integrations, etc. All the troops are ordered to march relentlessly toward feature development. Stability and bug fixes be damned.

It bet it takes at least three weeks of focused effort and red tape macheteing to fix this bug and it is way down on someone's list. Even if you fix it the change won't make the next OSX key note at the annual IOScon or whatever it is called, so it won't help your career one iota.

Again - this is just how I imagine it is there. I don't really know.
No question. Personally I think the first and most important step is getting everyone in our industry to admit that they have deeply internalized biases that they're not likely to be fully aware of and that they have a real effect on important decisions. Once you've acknowledged that you can start to check yourself.
More: https://www.cbsnews.com/news/interview-with-ceo-of-nso-group...
It’s not okay to assume someone is breaking the law and treat them like a criminal and force them
to incur thousands of dollars of additional expense simply because they invoked their human rights.
Why don’t learn this thing for once? It is not difficult, and everybody will benefit from doing that at least once, even the most senior and accoladed engineers.
I hate that problem. I would have walked. I get ticked off every time I work some leetcode because that's what we're being reduced to and problems like Alien Dictionary are the ones that really set me off. It's just stupid. Insultingly so.
The problem is that if you don't have any screening, then you get a flood of candidates, and it takes someone's full time job to sift through them. HR needs to be well trained on what to look for, but they are often a necessary gatekeeper in my experience on the hiring side. The goal is to keep the number of qualified candidates who get filtered out at a reasonable level.

(I completely get that this is unfair. If you went to MIT and have a high GPA, you are gonna make it past the gate more often. Community college, but an excellent coder? Unfortunately you will be rejected more often by HR. It's completely unfair, but companies can't reasonably interview every candidate who submits a resume.)
ohhh !
that's what happened !
I had this happen to me a couple of month ago. I thought that my headphones were busted until I realized that OsX had decided to mess with the balance for no reason.
Interviewing is broken. Whiteboard tests with a bunch of algorithm and data structures questions are meaningless and have no relevance to reality. If I ran engineering, this is what I'd have candidates do.

1. Initial video conf meeting to make sure he/she can communicate well. Talk about the role. Have a technical discussion covering candidate's past experiences to evaluate whether they really did what they claimed to have done. Discuss a technical subject that the candidate is passionate about. If satisfied, go to Step 2

2. If the candidate is a strong referral, go to Step 3. Otherwise, do a technical phone interview where the candidate solves a simple problem (more complex than FizzBuzz but not the standard algo/DS/string manipulation question)

3. Onsite Interview. Session 1 - write a simple service (todo list, twitter clone, etc) - 2 hours.
4. Session 2 - Ask the candidate to do a code review where the code in question has bugs and is poorly designed.
5. Session 3 - Candidate does a presentation of some technical topic to the team or at least a few people in the team.
6. Session 4 - Lunch
7. Session 5 - System Design exercise focusing on testing candidate's depth

Train interviewers to provide objective feedback. Calibrate scores for each question ahead of time. Interviewers should be calibrated as well. Ideally, same pool of interviewers for each question.
Russian game sw dev arrested,extradited to US,jailed for buying F16 docs on eBay
I think this is an important discussion to have but unfortunately many are not ready to hear it because it involves taking responsibility for our actions.

The truth is maintaining healthy family relationships is difficult enough, let alone having and raising children. It's much easier to get a dog and then have the free time to go to Coachella on the weekend. No parents in sight, a generation of hedonistic babies that discover "adulting" when they hit 34.

And this doesn't even need to be a God argument, Darwin alone would say what we're doing is self-destructive from a biological point of view.
Ergo: A Resilient Platform for Contractual Money [pdf]
I'm a senior developer, and my wife is a corporate recruiter (at another company). The frustration both parties experience with the hiring process is palpable, and leads to some of our most eye-opening dinner table conversations.

On the developer side, whiteboards feel like having to study for the SATs again, which is doubly frustrating at the senior level because you know better than before how little these questions correlate to qualification. Irrelevant, spam-esque LinkedIn messages from recruiters confirm how sloppy the whole process feels. And you spend the whole time thinking, there just HAS to be a better way.

On the recruiter side, they have to wade through a horrifyingly-unmanageable torrent of unqualified resumes with the help of bad tools. When a great candidate fails their test and can't move forward through the process, the recruiter is almost as frustrated with the process as the applicant (management, I'm told, remains unwavering in their commitment to "establishing a baseline"). Even worse are the candidates who are filtered out from the process by Applicant Tracking Systems because their resume lists "8+ years of experience with a wide variety of NoSQL databases" and not "MongoDB"

I think both parties recognize the inefficiencies in the process. Where we've landed is the following:

- Developers need to learn to play the game. Understand how much of a black hole "Easy Apply" buttons can be and not rely on them, optimize their resumes for the role (including anticipation of boolean searches based on the job posting), and make meaningful connections with their local tech communities so recruiters know where to find them.

- Recruiters need to advocate for flexibility and transparency in the process. Workflows involving "shoving as many people into the funnel as possible and use an ATS to sort through the noise" are untenable. Reconsider systems that treat whiteboards or tests as requirements and not just data points. Offer up relevant information earlier, with the hope that good applicants will use that info, and their honesty, to help you figure out if they're a good fit.
bill gates here... just kidding
For those folks who work for companies that ask these puzzle questions during the interviews, have you guys ever brought on a "bad" candidate? And, would you say that your colleagues produce better work than the average engineer?
Unfortunately the studies on stool transplants didn't replicate.
Well, Standard ML is a weird one too in that sense (lurking around for a couple of decades without picking up steam (outside academia?)). Languages having type inference and modules designed into them seems to have a good chance to live long.
> Prepare for the programming test gates now while you have the luxury of time.

Yep. If you're asking for hundreds of thousands of dollars a year in compensation, then you'd better be prepared to jump through some hoops.