652 comments

[ 1.00 ms ] story [ 310 ms ] thread
That's why it is supremely important to read through the lines, and discern which trend will last long and which trend won't.
> We like to think that we’re different from all those industries that judge people based on appearance, but we do the same thing, only instead of saying that people are a bad fit because they don’t wear ties, we say they’re a bad fit because they do, and instead of saying people aren’t smart enough because they don’t have the right pedigree… wait, that’s exactly the same.

This is a great quote and an interesting point. I don't know what it's like in the US but in the UK it's not unexpected to wear quite formal clothes to an interview, even if the position is at a very relaxed company.

I don't think I would judge someone for what they wore in an interview, but I fear I might if they continued to wear something overly formal at work.

Also in the UK, and I would definitely not be surprised to see candidates show up with suits at places where that’s obviously not required. No one cares. “Pedigree” that’s another question.

I did show up in a tailored three-piece suit with a tie and pocket for my interview at Deliveroo (a notorious streetwear influencer now). There was an eyebrow justifiably raised (by a guy in a t-shirt who, I learned afterwards, was the CEO) and I felt the need to explain that I had another interview for a very different company just after. That other interview went horribly and I got the job at Deliveroo! I’d still recommend showing up wearing biking gear.

I did exactly the same thing for Thread (a fashion/tech startup) - wore the cheapest most unfashionable suit possible, because I was a poor student and needed to wear something that would work for multiple interviews in one trip to London.

No one at Thread cared, no one at most of the other places cared, but I got the impression one more corporate place cared. I ended up taking the Thread offer, and despite working with people who's job it is to be good at fashion, I've not once felt out of place even though I have no real idea what I'm doing.

Impostor syndrome is one thing — but you might want to know a bit of how fashion is structured if you work at Thread!

I got a ton of points during an interview at a similar company by mentioning my uncle’s fashion brand as something “they might not have heard about”. Instant braggadocious “try me” from the interviewer. Turns out, my uncle’s sneakers are genuinely cool.

Oh completely, I believe I showed significant (genuine) interest in the product, and I've learned a lot about the industry from working here.
Depends, I've worked (as a consultant / developer) at a number of widely different companies, and knowledge or interest beforehand of the domain wasn't necessary. (investment banking, trains, shipping, e-commerce, etc)
We had an interviewee showing up in shorts and t-shirt. Turns out he wanted to combine the interview with a tee off time in the afternoon. While not customary (even though we don't wear suits/business attire at our company) he totally got away with it and it didn't affect the interview.
I’ve only interviewed in jeans and a tshirt, never had issue, but was thanked by one company for not showing up in a suit.
I did interviews in suit before, but if I ever have to do interviews again I'm not going to do that anymore. I hate suits, they don't fit me well and I don't feel comfortable in them. I think it is silly that it is 'expected' to wear a suit for a job interview where none of the employees wear suits. For finance/legal it's different matter, obviously.
When I interviewed for my new job (at a tech company), I knew it was fine to wear casual clothes, but only because I have a friend who works there. I probably would have worn a suit otherwise.

I gave feedback that they should just tell candidates to wear casual clothes when they invite them to interview. It's such a simple thing to do and really helps put candidates at ease.

I don't think I'd want to hire somebody who couldn't see the obvious solution: bring golf clothes and change after the interview.
Normally that would be a better solution, but like I said, he totally got away with it. It was a nice way of breaking the ice. I wouldn't recommend it to just anybody, though.
I doubt the candidate’s problem-solving skills don’t extend to the concept of changing clothes.
Dude, were your interviewing as a software developer or as a delivery man? For the former, I'd rock up in a suit and a bike helmet, but only if I really did ride my bike to the interview.

As it was, I interviewed for Google in a suit (no helmet, I took a bus), even though the instructions recommended against it. This was in Switzerland; and as far as I can tell, nobody even noticed, let alone cared, what I was wearing.

Data scientist, but Deliveroo is big on empathy and you are meant to ride (handle deliveries, but also understand the issues with riding a bicycle or a moped in a big city: rain, parking, etc.)

I’d say half the candidates I interviewed (I was far down the pipeline) had done deliveries and all had learnt something important doing it. The key one was: it’s a physically challenging job.

A few years ago I went to AKQA suited and booted - I think I realised that I might be over dressed when on the way a passer by asked me if I knew where the Ivy was :-)

The interview was a total bust the guy that interviewed me was wearing a t shirt so scruffy I would only wear it to do the gardening.

I’ve seen a lot of those t-shirts and generally what is printed on them is the important part: a memorable hackathon, a cool product, etc. For an outsider, it’s often tricky to tell.

My favourite: the “I’ve done 100 interviews and the only thing I got was this t-shirt.” t-shirt at Facebook, with the 100 stroke-through to read 200. If looking really tattered, you know you are talking to someone who’s probably done a lot more interviews since the 200 mark. Expressly worn to show the candidate you know what you are talking about.

It was plain one and looked like he had spilled a burrito down it - he was also totally clueless about the role he was nominally recruiting for and seemed not to know any of the cool stuff AKQA had done
I did a lot of interviewing at my last job and I used to ask agencies to tell people they could come along to interviews dressed casually - which seemed fair as I'd be dressed fairly casually. To my surprise a number of recruiters insisted that the people they send along came in suits and ties.
> and instead of saying people aren’t smart enough because they don’t have the right pedigree… wait, that’s exactly the same.

Does this still happen?

Of course, I still see job postings requiring a "CS degree from a top school."

I think it's great they come right out and admit that they're a bunch of elitist douche-bags so I don't even bother applying. Could you imagine working at such a place with a degree from a :shudder: public university?

My first job was on campus at Cranfield University which regarded those top schools as "alright" (ad Stanford wasn't on the list btw) for your first degree but you had better got a first had the right supervisors.
Half of the top CS programs are public. Well, 40% -- four of the top ten CS programs in the US are state schools.
"I fear I might if they continued to wear something overly formal at work"

Why would you be bothered about what someone wears at work - formal or informal?

Can be important for anyone with client contact. Even if you don't care what people wear, external clients will react differently depending on what you wear. It could be that you specifically don't want to wear suit to give the impression that you're a dynamic start-up but in the end clothing always matters.
Depending on your position it might also be different for different clients. My friend kept a suit at work in case they had to meet with the feds or a bank.

If I ever wore a suit to work, my coworkers would be wondering what was wrong or who was visiting.

Exactly, being overdressed can be as bad as underdressed. If everyone expects you to wear jeans and t-shirt, a suit can be as damaging as not wearing one when you're expected to.
I worked with a guy who had been at this place forever. He would show up in a suit and take long lunches whenever he wanted a raise. And it worked.
Programmer is rarely a client-facing role and I think the odds that someone overdressed can successfully dress down, if requested, are a little bit better than the opposite.
I would be bothered that someone dressing excessively formal might act excessively formally - after all, dressing formally is normally a deliberate display of conformity.
How can be it be an act of conformity to dress formally in an environment where it isn't the done thing?
It's not an act of conformity in that context, but it's usually an act of conformity. The most likely explanation I can see for someone dressing formally in an informal environment is a habit of conformity coupled with an insensitivity to change in social environment, neither of which seems like a desirable quality.
How is it any more a habit of conformity than wearing jeans and t-shirts, especially when the set of workplaces where wearing suits is the norm is smaller?
True, but only if they repeat it more than a couple of times, after they have had time to take on their environment and adapt! (or if a new graduate, afford clothes that fit the 'new conformity' of the particular office casualness...)
>It's not an act of conformity in that context, but it's usually an act of conformity

Or, you know, some of us just don't like looking like schlubs all of the time. What's wrong with that?

Suits often all look very similar for one.
As opposed to jeans and t-shirts?
but then so do geek tees and khaki shorts - the obvious type of uniform isn't the only type.
You don't know anything about tailoring / fashion then :-) the I am an 80's boy so crocket and tubs where my sartorial role models
I dressed up nicely because I wanted to pay respect to my interviewer, they made an effort to be there, I wanted to show that I cared to make an effort too.
as long as its not brown shoes in town :-)
Not only in UK, in Portuguese and German company culture that is also expected.

At very least some kind of business causal should be weared.

Additionally: I find it hard to judge a place's definition of "casual" if they aren't fairly explicit. I've worked at places where "casual" meant "hooray, you don't have to wear a tie!" and other places where casual meant "it's a good day if you can't see your co-workers underwear".
I disagree with this article, to some extent at least. Perhaps it's specific for trendy companies and startups. Most of which are just looking for the next shiny object, true.

However, when you look at companies that move the needle in different industries, companies that have repute, market share and profitability, they couldn't care less what is trending these days. They look for domain expertise and excellence.

I have friends who work at Renaissance, the hedge fund. The company couldn't care less about your grasp of the latest ML framework or Keros or whatever you were. As long as you know what you are doing and are exceptionally good at it.

Having worked, full time, at Microsoft, I'd say the same goes there and at Apple, Oracle, even Google for the most part. They don't care about what is trending, just prove your weight.

I think this conclusion was drawn from the companies that make the most noise but are actually not major players in industry. The same companies that are hot for a minute until they meet their eventual demise.

The most robust, relevant and profitable companies out there basically say, 'F* trends, show us your worth in salt'.

It's the hippie companies that ruin it all yet dictate social media conversation...for the 2 minutes their company is hot, then it dies.

Long live domain expertise and exceptionality.

I want to believe this is true.
Most SWE interviews at Google take place in either Java or C#. These aren't sexy, trendy languages. They're boring line-of-business languages that just work. And the frameworks you already know matters very little.
(comment deleted)
I think you have the option of taking the test in Java, C++ or Python. I hadn't heard of the C# option. Thank you for mentioning the same.
ruby too; it's not a language used at google, but it's available as an option to interview in
(comment deleted)
JacaScript is another frequently used language. It along with Python are typically what I see new grads using. More experienced interviewees tend to use Java/C#/C++. I interviewed in C# despite most of ,y interviewers not knowing it (though any dev can figure C# out well enough to evaluate algorithm correctness). I've also interviewed one person in Go ... despite me not really knowing Go. That's when it's really helpful to have written down every character during the interview for writing up the evaluation afterwards.
At my in-person interview at Google, they told me I could use whatever I felt most comfortable with, which at that point in time was Objective-C.

In retrospect it was a terrible idea. That language is stupid verbose, and I ran out of whiteboard for every single question I had there. They were mainly interested in me for iOS development though. They did not give me an offer, although I don't think it was for that reason (I was a little nervous and two interviewers gave me some major head-scratchers).

It's definitely true that some languages are better than others, because the types of problem and time limitations are the same regardless of the language chosen. Lower level languages tend to be worse because they take longer and there's more ways to trip yourself up.

Personally, I think that C# is the ideal language for interviewing in, as the .NET standard library is very powerful. SortedDictionary alone can easily polish off entire classes of interview questions, and the same can be said for pretty simply LINQ statements. I actually solved one problem so trivially using a combination of the right data structure and LINQ that the interviewer asked me to provide an alternate imperative implementation of the LINQ statement, just so he could see that I actually knew how to implement something like that rather than just use it.

You can approach similar levels of power with use of Java 8's Streams APIs and a good collections library like Guava, but Guava is only likely to be understood by a majority of interviewers at Google, whereas the C# standard library should be understood by a majority of C# interviewers everywhere.

It's absolutely worth spending a few hours brushing up on a "better" interviewing language and then using that rather than using a less optimal language just because it happens to be all you've used recently.

I would probably use Python on a whiteboard nowadays, even though at my day job I use C# and only use Python periodically in my freetime at the moment. Python's a lot more concise of a language in general. Although C# is smooth like butter when paired with Visual Studio, and I could use it if requested.
I think my views here might be biased since the only people I see interviewing in Python tend to be bootcamp graduates or new grads, and their coding performance in general tends to be not as good (which is fine, as the expectations for L3 SWE are lower).

I agree with you that the Python language syntax is nice, but it doesn't have quite the same level of built-in support for algorithmically useful data structures as C# or Java with Guava. To give you a concrete example, it's not unusual for interview questions to require the use of a self-balancing binary search tree or a similar data structure in order to reach optimal runtime complexity. Realistically no one is ever going to implement a self-balancing BST along with solving the actual problem inside of a 45 minute coding interview, but it's nicer if you're able to refer to an actual library implementation that exists and can be used versus hand-waving away the existence of one.

that the interviewer asked me to provide an alternate imperative implementation of the LINQ statement, just so he could see that I actually knew how to implement something like that rather than just use it

I wonder why interviewers look for these traits when it is very clear that you'll almost never implement a low level data structure.

It’s funny you use Renaissance as an example. They won’t give me the time of day because they “don’t hire people from finance”. Which is just as much of a bullshit reason as the ones from the start of the article.
Sure they may lose some great candidates that way, but the reality is that they don't want people in finance because:

1. They have preconceived notions about how finance "should" work

2. People not from finance are driven by other things

This is not to say that there aren't people from finance who don't fall under this, but it's a good way to weed them out without inviting a billion applications from people in finance.

So then by your own admission they’re not hiring the best due to this heuristic.

One thing my experience in HFT has taught me is that technical ability is only loosely correlated with profitability. So I wouldn't conflate Renaissance's success with their hiring practices.

Message me. I'm looking for other finance refugees to do tech things with.
Two things: 1. what was more or equally important than technical ability for HFT programmers' success in increasing profitability for the company? That was an interesting statement: can you elaborate?

2. That fun might have these heuristics that GP talks of, and for them, the people they hire may well be the best for them. As in, motivated and attitudinally oriented towards what they want, and more able to work free from the assumptions of _knowing_ how it's done in finance. They may be wrong in your case, but that's how heuristics work. To me, that's less of a bullshit case than trendy languages etc.

Trading always has this trade off in terms of (dumb and fast) vs (smart and slow). In the past few years, I think it's been more beneficial to be fast enough, but very smart. So, in this sense, technical ability only takes you so far since "smarts" come from domain expertise or, plainly, just creativity. Team composition matters, since your technical guy needs to be complemented. The objective, of course, is making your team take your organization towards the holy grail of (smart and fast). I'm not sure if this directly answers your question, but perhaps it describes the scenario in which technical ability isn't everything.

I do not think assembling a team for HFT is easy at all, especially now. There are a lot of good reasons for being very peculiar and selective. I am not sure industry outsiders who are just applying understand the dynamic or, in many cases, why a seemingly great candidate is rejected.

>So then by your own admission they’re not hiring the best due to this heuristic.

Picking up on your use of the word heuristic, "hiring the best" is very much an optimization problem. Specifically, there's a signal detection problem inherent to hiring in which you want to maximize your hits (selecting the best candidates) while minimizing your false alarms (hiring someone who turns out to be a bad candidate).

There's another layer to this optimization problem, which is that you want to minimize costs, both in time and in money.

As such, there are bound to be many heuristics that are close-to-optimal. I don't know whether excluding people with a background in finance is one of them (in fact, I suspect it's not), but the use of such a heuristic is not prima facie absurd.

In fact, using (good) heuristics in hiring is a feature, not a bug.

The problem here is that the heuristic is (I think) bad.

Can you be "the best" if the way you think the company works is at odds with the rest of the company?

Maybe you're just the best at extracting value for yourself but not at creating value for the company. "The best" is super subjective and can mean so many different things.

Sounds more like a cult.

I don’t know much about the company, but a firm with extraordinary long term returns with a penchant for secrecy, cult-like hiring practices, and all of the employees invested in their extraordinary investment vehicle sounds sketchy to me.

The reason 'not to hire people from finance' - is that it's generally not needed at most very early stage companies.
I assume he meant fintech and not accounting
Renaissance Technology has been around decades and is one of the biggest hedge funds in the world. I don't think it qualifies as an early-stage company.
Wow. So many downvotes.

Re: renaissance. Of course. I'm highlighting where the 'we don't hire finance' trope originates. Nothing to do with Renaissance.

For all of you too young to remember:

In the 'dot-com' era - many 'new companies' still hired 'top down'. They would hire an 'executive team' first, and then maybe developers.

Often, a CFO etc..

Think PetStore.com - two MBA's hiring 'others to do the work, as workers do'.

The notion of 'all hands on deck founders' etc. was still novel.

Many people still wore suits.

So - 2000-ish - those attitudes evolved - and the 'CFO' for a very early stage company became obsolete. CFO/finance types are generally not required at the most early stages of a company wherein the issues are 'money in, money out, money in the bank'.

So, the slightly aggressive hipster/startup trope of 'we don't hire finance types' I think evolved essentially out of this new understanding of how early stage companies work.

I'm not disagreeing with your point but I think it's a bit out of context here. The parent comment was specifically talking about what they heard from Renaissance Technologies, not a some hipster startup.
I was literally trying to give context to the 'no finance' trope.
How does taking 'no finance' out of context and applying a much more general comment that in no way applies to the very specific original context help?
> They won’t give me the time of day because they “don’t hire people from finance”

RenTech is a weird firm. The following is a fictional account.

Out of school (I was a finance/engineering double major), I interviewed at RenTech. They told me this was my last chance, that if I worked a day on Wall Street they wouldn't want me because they didn't want that culture (I think it's more about ensuring you have no industry connections outside the firm). They're geographically isolated, encourage employees taking mortgages to buy local homes and frown on industry interactions outside the firm. If you try to leave, they will enforce their non-competes (which are legal in New York) and sue your new employer [1].

I was wary of that need for control then. Today, I think it's morally wrong. Few people can predict what will matter to them ten years down the line. If I worked at RenTech today, I'd be depressed knowing (a) my work went to enrich the likes of Robert Mercer [2], and (b) there is no exit.

[1] http://www.reuters.com/article/renaissance-millennium/update...

[2] https://en.wikipedia.org/wiki/Robert_Mercer_%28businessman%2...

Mercer and his family seem to seep the hunger for power and control. I'm not surprised the business conducts itself similarly.
I imagine RenTech, who have amazing investment returns, are worried that people will pass their techniques along to competing companies.
You seem to be not exactly disagreeing with the article, but maybe tightening the slack on what we would call a “trendy company.” The author did not specify any successes of the “trendy companies” being discussed(I’m not including fundraising as a success of the company), but they did speecify some failures, and left the options open for more. The author, like you, praised Google for not hiring on basis of “trendiness.” I think you’re in more agreement than disagreement.

The article’s title/headline could be adjusted to more accurately represent the claims made in it.

Except all of those companies put an unreasonable amount of weight on degrees. Good luck getting Google to talk to you if you didn't graduate a top collage, let alone not having a degree.
There are advantages to going to college over a boot camp or self learning. In fact, CS and SE degrees are ones that pay for themselves. If you're not willing to put in the work, that tells me you won't last long at Google.
Because life can't happen? I don't agree with money > people
Where exactly did I say that was not the case? There are plenty of options for getting a college degree, and there are way to get a job at these companies with needing. However, if you're going to try to get one be sending in your resume, expect to get turned down without a degree.

Beyond that, software development is plagued by this mindset that college degrees are useless and that only self taught people are worth looking into. I've worked with many college educated people who can't write good code, and I've worked with many self-taught people who really don't understand what they're doing. The best has always been a person who went to school and then continued on learning after the fact.

>Beyond that, software development is plagued by this mindset that college degrees are useless and that only self taught people are worth looking into.

Ugh, yes. I've worked for a leading SIM and smart card manufacturer and they required a 4-year degree to even get in the door. I interviewed countless people, including some who were able to answer some quite technical questions that others couldn't. And many of those had to get disqualified since we found out during the interview process that they didn't have a degree. There were so many degree holders there that didn't know what the hell they were doing, and it was obvious.

One doesn't prove the other, that's my point. The only thing that can be said is that a degree doesn't prove if someone fits a position or not, it only proves they've finished an education.

I've also been in the field for many years and held several interviews. My takeaway, to put it a bit clumsy: "knowledge is easy to fix, mindset and experience not as easy."

As I told someone over Twitter the other day: mindset isn't something that can be readily taught, which is why STEM is still so in-demand with a gross labor shortage. For most people it's something you either innately have or don't have.

But yeah. I was reinforcing your point, not being counter.

I was referring to "If you're not willing to put in the work...". Some people are more than willing to put in the work but there are things in life that might hinder them from doing so at the time. People take a break in their studies for (various) personal reasons and some end up working in the field despite never finishing to get a degree.

"...expect to get turned down without a degree" and "...software development is plagued by this mindset that college degrees are useless ..."

My point is that there's a middle way. Only looking at degress is stupid because it doesn't guarantee anything other than that they got a degree. With that in mind it doesn't make sense to instantly disqualify people without a degree either.

I had to leave college early due to a family thing and start working to contribute. That was eighteen years ago, and I've put in so much work because I run into attitudes like yours.

Of course, in the past twenty four hours I've created an app and potential side-business from a technology stack I had absolutely no experience in any of it just to prove to a potential employer I can do 'front-end' stuff for them.

The average developer can't even CSS, don't even play with that 'degrees are the ultimate arbiter' mess.

> Of course, in the past twenty four hours I've created an app and potential side-business from a technology stack I had absolutely no experience in any of it just to prove to a potential employer I can do 'front-end' stuff for them.

This tells me you're wasting your time and potential. There are other ways to get a job.

They didn't request it, I just didn't have any direct professional experience with React/Redux or the Python ecosystem, which are the lion's share of front-end positions in my area. I've gotten a lot of immediate 'passes' from recruiters unfortunately.

Thanks for your reply though, I agree with you but then I run into reality and the need to pay bills.

>The average developer can't even CSS,

What do you mean by that? How sophisticated is it to "do CSS"? When I've dealt with it, you basically look at the inspector and at your CSS libraries of preexisting classes, and basically do a combination of attaching classes and writing new ones with custom styles until you get it all to look right.

What should I be looking to learn?

He means do it well. There's a lot to doing CSS well, and frankly I just don't have any interest in learning all the ins and outs. It's not a fun platform to work in, it's very fiddly, and it's not exactly programming either.

There's an art-form to doing amazing pixel perfect web designs, and I really respect the people who are good at it. That's not me though, and it's never going to be me.

Yeah, the front-end designer at work basically said it's a black art.
I had run into a similar situation, though less time has passed than in your case.

I've had to do similar things to find work: (started young out of interest and put it aside for a few years, then), spend time volunteering (UNOV), freelanced, voluntary freelanced for small businesses/local orgs, build pet projects, just build things in general and study.

Maybe it prepares one better as an engineer than a scientist in the field — the application of a science vs the theoretical and experimental work in developing the science.

--- To expand on the parent subject...

I've had interviews since where I've been able to lay out some of the things I've designed and built both independently and while working for a major media company and still had interviews last hours upon hours to receive no call to even notify me that they've decided to go another route all for some odd questions with no definite answer like:

    Implement a poly-fill for bind by extending the Function object
Or,

    Explain what this css does "if you don't know that's okay,
    but don't get it wrong – that's 'bad'.":
    
    .box {
      display: flex;
      min-width: 1024px;
      min-width: 52em;
      margin: 0;
      padding: 10px 15px 10px 15px;
      
    }
    
    .box--item {
      flex-shrink: 2
    }
    
    .button {
      appearance: none;
      border-radius: 3px;
      background-color: blue;
    }
    .button--green {
      background-color: green;
    }

In the case of the CSS, no DOM context was presented, and the class names I'm giving provide far greater context than the test I'm referring to did...

Only to have every answer given either go unremarked-upon or just told "no", even though the answer could not have been a definite wrong. It was just not the preferred answer.

I was also informed you would be paid more just for having a Masters or PhD, regardless of your contribution. They had graphs and were happy to show me.

I'm talking smaller, trendier companies here though. Buzz words and egos seem to abound. It never made me bitter, but it just seemed so bizarre-o. Not really for me.

Being self taught I haven't learned a single thing in college. Besides networking I do not see any advantage.

> If you're not willing to put in the work

Why should anyone who already knows everything for a degree have to waste 4-6 years of their life?

I'm sure you don't know everything. Looking at your profile, I see the words "technician" so I am thinking you were trained at some point.
Yes the Navy "trained" me by saying "here are 20,000 pages of documentation on the E-2 Airborne Early Warning aircraft avionics, now go fix it".

That has nothing to do with my CS studies, of which I have learned nothing from college and could have CLEPed a BS degree on day one if it was possible and moved on to a masters where I should have been initially placed.

> I'm sure you don't know everything.

I never claimed I knew everything.

It was in fact possible to go straight to a Master’s in Software Engineering.

Oxford’s distance Master’s will take experience in place of a degree.

https://www.cs.ox.ac.uk/softeng/

Is it still possible somewhere, somehow?
Yes, the programme is still open, and will be for tyhe foreseeable future.
How many classes did you take in college? Because my first few CS classes I didn't learn a whole lot from either. It wasn't really until the 200 and 300 level classes that I started learning anything substantial that I hadn't picked up on my own beforehand.
If waiting for 2-3 years before you're able to learn anything substantial is considered normal - and we're not talking about monasteries and such - then I think there is something seriously wrong with the system.
You should read all the context before stating that this comment thread means the system is broken. Just because extremely self-motivated individuals now have readily available resources to learn almost anything on their own does not mean the system is broken for everyone else.
I was already writing various types of software, taken a class in high school, gone to summer camps, etc, before I reached freshman year of college. There was plenty of students who had never even touched a programming language before and it was all brand new to them.

And I still learned things my first year (especially in ancillary classes, I only took three computer classes my freshman year), I just didn't get much out of CS classes until sophomore year. One of those classes was a gimme class I really should have tested out of ahead of time in hindsight, though (basically computers 101, I had quizzes on identifying what was the desktop, mouse and monitor).

I only have a couple classes left. I had already studied it all before starting, materials up to graduate level are mostly available openly online now. I did expect more from the 300-400 level classes and lost a lot of motivation when I realized they were not as advanced as I expected.

I did take some 400 level electives completely outside what I am interested in and had not studied which were great though. One professor for those asked in the beginning what each person expected from and I mentioned what I am actually specializing in and he consistently gave examples of applying it to what I do which was excellent.

At least they didn't treat you to a two-week-long PowerPoint presentation.

...on the previous version of the system.

...the month before the training was updated to the most recently fielded version.

...taught by a retired Army guy.

...from Texas.

...who won't stop telling stories about his Army days.

Hey, what's wrong with Texas?
You ever notice how most people never tell you what state they're from unless you ask them? It's almost like they don't believe their state of origin to be all that important to their personal identity. Some of those people might even be from Texas.

But the hombre from Texas is not one of those people. He will drive for 30 minutes, past dozens of ordinary, mundane restaurants, to reach the nearest Texas-style barbecue restaurant, run by a fellow expatriate Texan, who shoulders the burden of living outside of Texas for the sake of fellow Texans who tragically cannot be in the best state all the time, yet need to regularly consume bits of Texas in order to survive.

Ironically, Texas has so many people in it, all constantly surrounded on all sides by Texas, that you cannot easily identify that guy until he actually leaves the state.

Also, the thing that's wrong with Texas is football. That is easily 120% of my problem with Texas.

Well, if it's any consolation, right now all their college football programs suck, and suck hard.
Less snark about technicians after all someone has to correct the engineers maths or remind them how Ohms law works :-)
I assume you are talking about US undergraduate degree (if not, can you clarify). If so, most good colleges give you ample opportunities for additional learning -- go to grad classes, do research -- those avenues are usually very easy to open.

I probably agree that for each student at least one of those 4 years is usually wasted; but this is different than whole program being a waste for a person.

Yes the US undergraduate degree. I have gotten into some research and got picked up for an exceptional internship which have been good. It doesn't change that I could have passed out of all the actual curriculum on day one though.

I guess "community taught" would be better than "self taught" since I learned from so many people online. But I had been programming for 10 years before school, and while I was in the military (over 6 years) I took advantage of many MOOCs from MIT, Stanford, UNSW, etc. and many books from Knuth to most of the No Starch Press library which I understand is not the case for traditional students. It is frustrating though, especially not being just out of high school.

If you're taking MOOCs from MIT, Stanford, UNSW and others can you really say that university CS curricula taught you nothing? They probably taught you quite a bit since, well, you took their courses.

You were just overprepared for an undergraduate degree by the time you got around to trying for it. For anyone else taking a similar path, specifically the military part, you can often knock out an associates degree with that amount of military experience. Do it, you can skip most of the core curriculum and focus on the CS part and be done in 2-3 years (less if summer courses are available) and be in grad school in your 3rd or 4th your of full-time college education.

I would like to meet the person who knows everything! I have met some 20 years olds who think they know everything! But as the old saying goes, "The more I learn the less I know"

Having two kids getting their CS degrees right now at top 50 colleges.

I am not impressed.

A friend of my son goes to UNFS (North Carolina State Film School). For four years he makes films. After the first year he has to choose between photography, directing, writing, etc. Then he spends 3 year fine tuning his craft. Great program!

CS Programs seem to be a little of this and a little of that, none of it coordinated. Quality is teaching is varied, occasional a great teacher or TA, much more frequently poor teachers or TAs.

I remember seeing at 14/15 some of my older cousins course notes form his computing course at UMIST (one of the 4 good places to do computing then) - and thought this isn't much different to what I am doing in my CSE class (and CSE's where the vocational track for those expected to leave high school at 16
I'm self taught (as in, I've taught myself a lot outside of school, in fact I left school early and only finished my degree after several years in the industry), and I still learned quite a bit from my computer science degree.

It forced me to study a wide variety of things I probably wouldn't have spent much time on if on my own (i.e. OS programming, making my own compiler, prolog, finite automata, assembly programming, etc).

Also did A.I., 3d graphics, network programming, and various other things, but I probably would have learned that on my own to a certain point (I developed video games for awhile).

I enjoyed enough of those topics to know what I'm bad at. Video games are culmination of all those things, yet terrible at risk/reward.
> yet terrible at risk/reward

Pretty much. Managed to work on about eight games in a row that didn't make back their investment for three separate companies while I was in the game industry. They failed for various reasons, and a few of them really should have been successful, in my opinion, but oh well. Bad timing (releasing at the same time as heavy hitters), bad marketing, bad luck with reviewers, getting screwed by platform holders, aiming at the wrong audience, bad choice of difficulty, bad choice of which idea to pursue, technical issues that weren't in the testing environment and not discovered until release, overly restrictive and expensive update patching policies with platform holders, all sorts of fun reasons.

I'm also self-taught, but I don't see a degree as valueless. There's a lot of concentrated knowledge to be had in a hurry from a good (probably even a decent) program, and while I've yet to run into a case where I could not pick up what I needed on the fly, I certainly have many times felt it would be an enormous timesaver, and thus make me more efficiently able to do things I enjoy doing and that get me paid, to have had that knowledge preloaded.

On the other hand, I didn't start my adult life a few dozen grand into the red with student loan debt, which, from what I gather through long acquaintance with many who did, has very considerable advantages of its own. So I'd have to call it a tradeoff - but, then, that's my whole point: it's not accurate to say that either option is strictly preferable to the other.

I have no college degree, or college classes at all, and have been doing systems engineering/software engineering for about 13 years now. All self taught/learning on the job. While it is nice not to have had college loan debt, I know there are things I may have a better grasp on if I spent months learning a particular topic. In fact, I am jealous of people who actually got to spend time being taught computer science and learning interesting things. I am sure there are topics/approaches/patterns that would be very helpful. Not that I am complaining, things certainly have worked out for me very well, it is just something else that I know would "boost" what I already know. On the flip side, I know of one job that was a very short interview, as they said they could only offer X (which was laughably less than what I was making currently) because I had no degree. What I knew meant very little (to the place, not the interviewers), having the piece of paper meant more. You could say "their loss" but on the flip side, I have no idea what opportunities I have missed because of it.
That is complete crap. Programmers have the same ladder as professional athletes. You can be amazing at 17 or 36 without collegiate training and indoctrination.
The people I know who never got a CS education yet ended up programming got their break interviewing at Google. Google seems more comparatively willing to hire those without degrees since there's so much confidence in the interview process.
That doesn't sound like any Google interview I've ever read about. I thought their questions were really mathematical and algorithm heavy?
That is the point, a person who is good at mathematics and algorithms will get hired at Google even if she doesn't have a cs degree.
Not true. I've got a Ph.D. in theoretical physics, am very math heavy, created a number of algos for my work over the last 25+ years (in physics sim, bioinformatics, systems management/orchestration, etc.), run sessions at an ACM conference, yadda yadda yadda.

Two google interviews, and nothing. From what I hear from other people I consider way smarter than I, they also got nothing.

Google has a much copied process, but as a creator of something of huge value notes:

https://twitter.com/mxcl/status/608682016205344768

Mebbe their filter isn't quite as good as they think it is. Talking to a number of absolutely brilliant engineers who didn't get hired, it likely has nothing whatsoever to do with talent, algo knowledge, mathematics, etc. There are other factors.

Being an above 40 guy probably didn't help me, google and others seem to have lots of trouble with ageism.

Dan's article was not specifically about being the "top", rather, what does the "top" mean in context, and how do people judge. What is the opportunity cost of doing this? As he points out, as I point out, it can be very high.

The smartest programmer I met in my first decade of work, was a person who had a high school diploma. No college degree. The guy was brilliant, personable, humble. He is quite successful now, and still doesn't have degrees. Chances are, he doesn't have formal education around the math/algos, but has picked up everything he knows.

At the end of the day, hiring is something of a crap-shoot. Past performance is not a guarantee of future performance, either negative or positive. You are after passion, intelligence, fit, experience if it exists (re-inventing wheels can be time consuming/expensive if you are forced to do it, and getting a guide who has been down that path can save you making some mistakes/time/money).

I know people are telling themselves that google has a good process, but honestly, it looks like it enforces homogeneity more than it brings in needed talent. I am not sure this is a good thing. Poor replication of their processes is rampant throughout the industry. I am not convinced this leads to positive outcomes.

> I've got a Ph.D. in theoretical physics, am very math heavy, created a number of algos for my work over the last 25+ years (in physics sim, bioinformatics, systems management/orchestration, etc.), run sessions at an ACM conference, yadda yadda yadda.

> Two google interviews, and nothing. From what I hear from other people I consider way smarter than I, they also got nothing.

Then you and your friends weren't fluent enough with algorithms. That is the point, they don't care about all of your degrees, years of experience, conferences etc, they care about your fluency with maths and algorithms. This means that even a person with a shitty background can get hired at Google while a person with a stellar background gets rejected. Should you have gotten hired? Probably, but their system lets them find a lot of diamonds in the rough who wouldn't get hired anywhere else which is why they use it.

they care about your fluency with maths and algorithms

"Maths" is a red herring -- a physics PhD who's still active in academia will definitely be very fluent in maths.

It's all about "algorithms", but I think a lot of software people have tunnel vision about that. There's a lot of fancy terminology you pick up in a CS degree; requiring people to know that filters out a lot of potentially good candidates, unless they've studied CS in their own time.

That's fine if the special CS terminology is absolutely essential for all programmers. But is it really? Realistically, 90% or more of your time as a programmer is spent working on other stuff (automation, testing, designing friendly APIs, catching sneaky bugs, scripting, just generally plumbing stuff together). If you're on a team, does every single team member need to have a great understanding of data structures? Or is it just nice-to-have, specialized knowledge?

> That's fine if the special CS terminology is absolutely essential for all programmers. But is it really?

I'd argue that it matters more for Google more than most employers. The combo of their scale, combined with their large amount of custom infrastructure, combined with their desire to be able to retask engineers on a whim, means that individual engineers will have pretty good chance of touching code where the choice of Big O could make or break a product.

Mayyybe, I'm not so sure but you could be right. [Edit to add: even at Google, most programmers are not doing that kind of stuff most of the time.]

On the flip side, though, I think many programmers (even programmers who are up to date on their CS) are fairly weak at mathematics. We think we're good because we can, you know, invert a binary tree, but how about figuring out an appropriate filter to smooth some data, or verifying that some randomized process is unbiased?

For something like digital filters, if you have basic knowledge you can just look up wikipedia for the details. But the same applies to data structures and big-O!

A lot of companies (including Google) can benefit strongly from people with good maths or stats skills. Do those people also need to be strong in CS? Or if not, do they need to be siloed into a separate hiring process, and placed in separate departments?

I reckon CS, maths, stats and other specialized academic training should all be treated as nice-to-have skills, of varying importance depending on the team balance and project requirements.

> Then you and your friends weren't fluent enough with algorithms. That is the point, they don't care about all of your degrees, years of experience, conferences etc, they care about your fluency with maths and algorithms.

I didn't fail those portions. Actually did quite well on them. So did my friends.

You are making a number of invalid assumptions, starting from the assumption that their processes are fundamentally accurate or correct. My supposition is from the viewpoint that all systems are fundamentally flawed, and the goal is to minimize risk associated with a flawed system.

I know it is generally hard to acknowledge that google does things wrong, but ... IMO (and I am fairly sure I am not alone here) ... they have a number of significant issues that they haven't quite moved past yet, and this is one of them. Remember, they started out with brain teasers, and school pedigree. The new system isn't demonstrably better IMO, but it helps them convince themselves that it is.

> I didn't fail those portions. Actually did quite well on them. So did my friends.

Then I don't see your point, what are you saying caused you to fail? I have a physics degree from an unknown school, learned to code in my thirties and got a job at Google by just doing well at their algorithms and maths questions so it is definitely possible to get in without ticking any of the hip boxes.

His point is that Google's and everyone else's hiring process is subject to large amounts of randomness and capriciousness. Google themselves have at various times mentioned how their hiring scores don't strongly correlate to performance.

Don't feel because you got in that you are some ordained snowflake. If you had interviewed on another day or with another group within Google you very possibly wouldn't have gotten in.

There are many variables at work when it comes to getting hired and hiring.

That tweet just tells me not to use Homebrew.

Just kiddin'. I think, inverting the binary tree probably means mirroring it. I had an interesting Google interview as well a few years ago where I aced the automated coding test but then the first human interviewer didn't get why I said that regular expressions run in linear time :) Our background was just very different.

you sound kind of salty about Google not hiring you.

More likely your interpersonal skills were not up to par with their standard. Raw technical ability matters, but so does your ability to work with others.

Most of my SWE coworkers at Google did not graduate from a "top college". Not sure where you're getting this impression from. There simply aren't enough annual graduates of the top programs to fully populate all tech companies, and there are plenty of people from other schools (like me) who also do well.
It is, however, a filter that will be applied against applicants, and from what I've heard, it's more than enough to trigger the "we'd rather have false negatives than false positives" filter if you're not in the lucky minority.

Even if it's never used as a filter by Google, their hiring practices just don't apply to the rest of the industry - Google can afford to pass on 99.9% of the high quality talent that applies. Other firms who try this are only crippling themselves.

I strongly disagree. Most of my coworkers are not from "top colleges". Neither are most of the people I interview. Even for Google, it is tough getting interviewees who do very well. Given that, it'd be ludicrous to discard most interviewees out of the bat because they didn't come from a "top school". The interview questions and relevant job experience are the true hiring bar. Possession of a relevant degree, and the granting institution for said degree, is far down the list.
does University of Michigan count as a top college? It's not an ivy league or stanford/mit/caltech
I didn’t graduate from a top college and google has pinged me numerous times to interview. I always turn them down because I like my company and do not want to move. I may also fail the google interview, but they certainly talk to me.
I didn't graduate from college, period, yet recruiters talk to me. It's funny how quickly they backpedal their interview offers when I mention that, however.
Yeah, it costs them nothing to send an automated form letter out or make a cold call without researching your background for five seconds.
"Except all of those companies put an unreasonable amount of weight on degrees"

I don't think it's 'unreasonable' at all to put strong emphasis on education.

Surely, at the end of the day it's possible to be great without it, but having a good education is pretty strongly correlating factor with so many things.

'Being cool', I don't think is correlated with much at all. Unless it's super consumer facing and inner culture is gong to have to match outer culture on some level.

Touched my first computer almost exactly 40 years ago. I can troubleshoot most hw/os issues with one ear and eyeball tied behind my back. Can program decently in many general domains. Never went past my associate's because the work was more compelling. Knowing how many PhD's never work in their field, and how many Master's get earned and laid aside, I can't agree with you at all. I think you might be imagining that correlation.
" I think you might be imagining that correlation."

If you think the entire Silicon Valley is missed this, because it's not 'my' correlation.

People who study CS are probably more likely to better at CS that those who have not.

It doesn't prove or mean anything in general, and your personal situation is not relevant: of course there are tons of 'non-degreed' great techies out there. Nobody is denying that.

I've hired a lot of people and there's no doubt that you get better luck with degreed than non - and even school rankings matter.

In Canada, for example, you get consistently strong tech recruits out of U Waterloo. Impressively so. Not always but usually. Other schools in the region - much more hit and miss.

I don't think this is controversial.

When Microsoft hired me in 2006 they didn’t even ask about my lack of degree. I’ve also interviewed at Google and Amazon. Amazon didn’t ask either. Google probably asked, but it didn’t disqualify me.
Do you think the difference now is that the market is more saturated with developers since it started to become a little more of a hot-ticket, and carries less of the old 'nerd' stigma?

Also, I'm curious about how you managed to even get your foot in the door at such large organizations and not just get swept out in a filter at the gate. I'm assuming of course that such large companies employ some kind of application tracking system (which may be in error).

Large companies need a constant supply of new talent, so they develop multiple filters that work in parallel. Being cut by one filter doesn't mean you won't be grabbed by another.
I never perceived there to be any degree filter at the BigCos, or less so than at narrower software companies. In house recruiters from every big5 have contacted me regularly through LinkedIn for as long as I can remember, and still do.
I guess that's one reason to keep my profile up-to-date, then.
This is completely false. I have no degree, and it’s not super difficult to get through the interview stage at google (depends on what part of the stack you’re aimed at, though). People went out of their way to say the degree has negligible weight.

YMMV. Personally I see people as their own greatest barrier for these sorts of things without firm evidence to the contrary.

Google didn't ask about my degree until I already had interviewed and passed the hiring committee. It's far from a requirement.
> The most robust, relevant and profitable companies out there basically say, 'F* trends, show us your worth in salt'.

It took me few tries to understand this, after reading about F*: https://news.ycombinator.com/item?id=15582969

I think you're mostly right, though. I think the article is probably right that companies who _say_ "we only hire the best" don't necessarily even hire good programmers. I don't think the companies you mentioned really care if they have the best, especially since that's pretty hard to measure anyway. They want people that are going to do great job in the area they were hired to work in.

(comment deleted)
I think you have a valid point.

Also I think you mean 'hipster' instead of 'hippie'.

But - there are a lot of said 'hipster companies' in the Valley, moreover, the cult has spread beyond: it exists even in the copycat cities of Montreal, Van, NYC, Austin, Boulder, yada yada.

I'm well into my 30's an the last few start ups I've consulted with - both in the Valley but not well known - were undeniably trying to be too hip.

I'm as cool as late 30's something can try to be without losing any dignity :) but I felt like Grampa Simpson (not my antiquated pop culture reference)

As far as I can tell it's spread across the whole country. At the very least, it's definitely present at startups in Chicago, where I'm at, and Chicago doesn't have that strong of a startup scene (it does have one, but it's pretty small compared to other metro areas).
You have never worked with someone from Oracle. They do not try to hire remotely the best, they hire cheap. Anyone that can churn out barely functional code, use their customers to functional test it, and take often half a fiscal year to provide a bug fix for you. Oracle is now more of a technical holding company than a software company, aside from their db, they merely pickup/purchase new companies and wring them out for revenue. Anything Oracle writes themselves is usually terrible.
> You have never worked with someone from Oracle. They do not try to hire remotely the best, they hire cheap. Anyone that can churn out barely functional code, use their customers to functional test it, and take often half a fiscal year to provide a bug fix for you.

They have a huge services division and that's the same formula used by all the big players. It's a numbers game for billing and they shoot to make it work by having a few highly competent people cover up for the C- players.

> Oracle is now more of a technical holding company than a software company, aside from their db, they merely pickup/purchase new companies and wring them out for revenue. Anything Oracle writes themselves is usually terrible.

Spot on. The database is incredible though the use cases I'd recommend it for over open source alternatives has shrunk to nearly nothing. Outside of that, the Oracle App landscape (Financials, HR, ...) are hilariously terrible, especially factoring in the prices paid for it.

I noticed you said "nearly nothing", what are some exceptions? I'm curious why anyone would start using Oracle now. The only reason I would see to use it is because you are reasonably dependent on it already and cannot migrate easily.
It's telling there are no dissenting replies to this in a thread approaching 200 comments.
Possibly because you have Oracle apps (e.g. Hyperion FM) and don't really care about what database it requires?

Edit: From what I saw Hyperion FM got relatively better after the Oracle acquisition.

> From what I saw Hyperion FM got relatively better after the Oracle acquisition.

In my experience the opposite seems to be true. I have heard people describe Hyperion as "pretty good" prior to the acquisition (this was a while ago, before my time). Today, if I talk to anyone about it, sentiments range from negative to very negative.

Almost every Oracle acquisition has suffered the same fate.

> I noticed you said "nearly nothing", what are some exceptions? I'm curious why anyone would start using Oracle now. The only reason I would see to use it is because you are reasonably dependent on it already and cannot migrate easily.

Ultra high end OLTP system leveraging Oracle RAC. It's a very specific use case that goes beyond basic replication where you require ACID compliance, HA, multi master (in this case via shared disks and distributed locks), all atop an MVCC database. The MVCC implementation of Oracle does not require a VACUUM style operation which is another plus for a 24/7 environment.

I know of a couple financial services companies that have this type of setup though I've yet to find one that (IMHO) really justifies it. In all cases they've got boatloads of money to throw at a problem and the guys in charge of making the tech decisions don't mind having one of those boats sail off to Larry Ellison.

Interestingly even in this use case I believe PostgreSQL would be my choice, although as you said it is a silly setup. I had not taken into account particularly narrow implementations that rely on specific Oracle pieces, I could see some going that way if that's the case.
My guess - government or ultra big corporations orders for very large sums, excessive for required task. Part of the sum goes straight in the pockets of people in charge of ordering it. Won't work in all countries but in some certainly will. Same with SAP and other overpriced solutions.

Other idea - "prestige". "We are using top end solutions, unlike the lowly startups, we are serious businessmen see."

(comment deleted)
> The database is incredible

This is something I've heard over the years but I'm not sure if it is still holds true. (I work with Oracle databases daily).

Oracle DBMSes are very robust, to be sure, and you can expect them to run forever. But in my mind other databases seems to have caught up and there really isn't a compelling reason to choose Oracle over other commercial databases anymore (also, Oracle pricing is a big deterrent).

In terms of performance, Oracle's licensing prohibits any benchmarking, but anecdotally I haven't found it to be particularly performant for most of my queries. Oracle used to be known for the innovative under-the-hood algorithmic improvements to the database, but lately I haven't seen anything too exciting, whereas SQL Server is getting better every year with new innovations (columnstore indices, in-memory features, Polybase, in-database Python/R computations, etc.).

> use cases I'd recommend it for over open source alternatives has shrunk to nearly nothing.

I agree, though I would say for heavy transactional use cases, I would still choose a commercial database over an open-source one. However, among the commercial databases out there, Oracle would be my last choice. It has too much legacy crud that have to worked around. The only reason Oracle is still around is because (1) In the enterprise, no one gets fired for buying Oracle. (2) fungible expertise in their services organization ensures business continuity, albeit at a lowest common denominator level.

> Oracle's licensing prohibits any benchmarking

That tells me all I need to know.

Forgive my sloppy phrasing, I should be clear: Oracle's license terms prohibit public disclosure of any benchmarks without their consent.

So technically you can benchmark in-house, but you can't publish those results without written permission.

That's a lot worse. It's not just prohibition, it's a way to filter out anything negative through license enforcement.
Yes. SQL Server and others used to have the same terms but was later removed.

The original intent was to prevent non-neutral third-party benchmarking by biased agents that sought to discredit their products through contrived setups (which admittedly can be a problem for any product), but to enforce it through licensing seems a bit heavy handed. Oracle does allow benchmarks that are favorable to them (see TPC-C benchmarks).

Counterpoint: I currently work with someone from Oracle, and they are one of the best programmers I know. "Usually terrible" doesn't mean "always terrible", which is the point of the article.
It's fun to set Oracle up as a punching bag, but this sentiment is what Danluu is discouraging in the blog post.

If a resume came across your desk with Oracle as the primary work experience what would you do?

Can an individual programmer be help culpable for Oracle's issues?

Is a fiscal year longer or shorter than a calendar year?
It depends on what you care about. Do you have a bug that is affecting revenue? Do you pay an annual support/maintenance contract?
Technically the same, just with different start dates. But there's a catch: suppose your fiscal year starts Oct 1st, and you request help on August 15th. The answer is often "we're at the end of the fiscal year, but we have approval to start work on that in October".

So if it takes half a fiscal year, depending on when you first say you need it, it can be much longer.

Interesting. Where I live (Bristol, UK), Oracle offers very good salaries compared to the going rate.
I wanted to post a snarky response to your comment, and so I went to the Rennaisance web page to look at their vacancies. And lo and behold, no Keras or Kafka in sight. I'm impressed. That's certainly not true for the Facebooks and the Apples of the world.
Bryan Cantrill at Surge 2013 "Leadership Without Management: Scaling Organizations by Scaling Engineers" aka "Middle management, a toxin or a cancer?"

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

He said clearly - it is possible to hire only the best.

Step one is to figure out what "best" means for your company and the positions you have open.

Step two is to figure out how to evaluate that effectively.

is this a problem just in areas with the big trendy companies?

I've always liked working at smaller companies as it always feel like what you do is more significant and a lot more diverse. I know other smaller companies < 30ish people and they tend to like broader experience and people who can get stuff done. School background counts for little.

Does anyone else find full-width text hard to read? I had to actually turn my head. Instantly closed the page.
Yeah, I realised after a couple of paragraphs. I just resized my browser instead though.
It wraps to the width of your browser window, like a good webpage should.
(comment deleted)
Said no designer ever
Use Safari Reader, or a bookmarklet with similar functionality.
I use reader view in firefox
Maybe this CSS thing is too trendy for the author ;)
I love this CSS-free style so much. It's such a relief on the eyes after all the templated same-looking websites out there. Oh, and it's naturally mobile-responsive.
(comment deleted)
Yes, full-width is hard to read, but somehow I have some sympathy for such simple html pages ;-)

Usually I use CTRL+Shift+I and add style="max-width:500px" to the body or push the window to the side of the screen to resized it to 50%.

It is truly funny how first people want 4k monitors but when an application actually uses the given size at full, they cry about "oh, it is too wide", and we end up with disgusting design of web pages with ultra-narrow column of content and wide empty (or ads-filled) columns by both sides.
Do you run your IDE with one file 4k fullscreen?
One file full screen is the best. SublimeText searching allows you to remove the file nav bar. Complete freedom and less junk.
> and we end up with disgusting design of web pages with ultra-narrow column of content

It is as if `max-width` don't even exist. I blame complex chains of third party CSS for breaking everything and making that kind of hint useless.

When I'm working on some web thing in visual studio, I'll tend to have:

- a web browser

- framework documentation (another browser window)

- two or more code files (split editor panes)

- a separate window for various sidebars

And sometimes more (maybe another editor window), all open at once. Right now, that all gets a bit crowded. Even on a single 4k screen, it would probably end up slightly crowded.

(comment deleted)
I´ve recently been in charge of hiring a lot of people and have probably done +100 interviews in the last year.

I generally don´t mind the stack/language candidates have been using but I always value very highly that they have used different stacks and languages during their whole carrer. When I interview 5+ years .NET developers who haven't used another language, not even in their spare time, the result is usually a rejection. Since the time I can spend on interviews is limited I need to discard candidates based on signals, even if that means discarding good candidates.

This.

It's all about using the right tool for the job, and if you only have a hammer, you start treating everything as a nail.

I've used Java, .NET, PHP, Node, Ruby, Python and more in my career - each one for different uses and where there was a good fit.

It is also finding a balance of course. All these technologies you mention are good for most webdevelopment projects. No point in writing everything in a different language
True but it does show exploration and curiosity to at least try another language or two. If you’ve been doing .NET or PHP for 5+ years without even trying something else I’d treat it as a red flag too.

Level of interest is the #1 quality in the great programmers I’ve been around. If you aren’t exploring even a little that’s a concern.

How silly. Level of interest [in doing unpaid work] doesn't mean a damn thing as far as skill level and work ethic are concerned. Some of the best programmers I've ever met were the 9-5 types and the absolute worst of the worst programmer I've even known spent all his free time writing code.

Once you get past 30 it's difficult to spend all your free time doing unpaid work even if you wanted to.

If you’re past 30 you’ve probably been programming for at least 8 years. If you’ve never touched another language...yes...that is a concern.
Concern for who?

How old are you? I'm closer to 40 than I am 30 and I don't put projects I worked on when I was 22 on my resume. If I can't remember the details, it's not going on my resume. If I can't give good/interesting answers when asked about that project, its not going on my resume. I don't want to fill my resume with a lot of irrelevant crap since I have real experience to put on my resume.

I've worked with many languages both professionally and casually, probably over a dozen over the years. I only put the ones I have mastered on my resume.

If I were conducting an interview for a mid-level position (and I do) and I asked a candidate about their experience in Rust, which is on their resume, and it's anything but over a year of professional or semi-professional development, then I'm going to assume the rest of their resume is just as bogus. A weekend hack-a-thon doesn't "count" as "experience."

As someone who actually has a say in hiring decisions, I'm not going to think highly of a candidate with over 5 years of experience who puts code they only spent the better part of a weekend on on their resume. That means they don't understand what experience actually is.

I'm 37.

> I've worked with many languages both professionally and (very) casually, probably over a dozen. I only put the ones I have mastered on my resume.

And that is excellent and I would consider that perfectly normal and rational behavior. You have more than one. You took the time to explore. It's a field of constant problem solving and lack of exploration of solutions is something that sticks out as a giant red flag because of that.

More experience is definitely better. If I were hiring for a particular language I'd certainly want more than a weekend's experience, but some experience is still better than no experience.

At my last job we interviewed a guy who was about 5 years out of college and had been working in a .NET shop the entire time. He was applying for a ruby position and his only experience was spending a couple of weeks in his spare time building a Rails site. From that minimal experience, we were able to get him to explain why he decided to pursue it, what he liked about it, what problems he was trying to solve, what weaknesses he was trying to overcome that he was seeing in .NET, etc.

Despite the lack of language experience, we hired him based on the "geek gene" that clearly showed problem solving skills and desire to learn. The guy was absolutely rock solid and became one of our most valuable team members within about 2 months time. I believe he's the CTO of a funded startup now if I remember correctly.

If he'd had only Rails and I'd asked him about what weaknesses he saw with the stack...my very next question would have been what he tried to do to overcome those weaknesses. Maybe he answers about what other things he tried within the stack, caching techniques, using jRuby, refactoring in certain ways, etc and as long as that could be articulated it would generally be okay. In general though, seeing how other languages handle the same problem is going to be perfectly normal part of the process...which should lead to having more than one language on the resume.

>If you’ve been doing .NET or PHP for 5+ years without even trying something else I’d treat it as a red flag too.

But if I put other languages on my resume outside of .NET, I might look unfocused or "not specialized". Plus, some people treat resume skills as an expert matter, so if I'm only doing hobby stuff, the conversation might not be that interesting (hobby projects usually never pay technical debt so I can just write whatever I want).

So in one corner, we have you, that thinks different languages on a resume are good for showing curiosity and breadth. You don't have as much of a focus on depth (or, you want us to be deep on a few and broad at the rest, which requires a ton of time)

In another corner, we have hiring managers that can ask difficult questions of whatever's on your resume. Or who will think your .NET experience is lower than it should be because you spent time on other languages.

So I, as an individual, get both of those and basically have to flip a coin to figure out which people I want to side with. But since I can't know what kind of resume-parsing person you are before talking to you, I still have to waste my time applying to everyone vs. knowing that ahead of time.

The same is true for technical interviews. Some are Algs/DS, others are CRUD examples, others are some hard problem someone solved last week, some are knowledge quizzes.

There's a huge amount of breadth in the interviewing world and it makes it a whole skill you have to waste time on.

I’ve never even heard of an interviewer knocking someone for having more than one language on their resume.

I’m not saying you need 10 or all the trendiest things. You need at least 2.

Programming is a job of constant problem solving. If you’ve done the job close to 10 years and never seen a problem with the language that you are using...that actually tells me more about you than any other question I can answer. It tells me that you are married to one stack, you’re invested in it, you’re probably going to be highly resistant to solutions that don’t fit in that box. And it tells me that because languages are all about trade offs because there isn’t a perfect language out there. It tells me that you have your hammer.

People are strongly confusing my comment with “know all the cool tech trends and program in your spare time constantly”.

I did not say that. I said use ONE additional language if you’ve been working for more than 5 years. ONE. It’s a very low bar and if that is shocking, silly or offensive it is probably worth it to take a hard look at why. You could meet that criteria in a single weekend if you wanted to.

This isn’t directed at you but the comments I’ve seen so far.

>You could meet that criteria in a single weekend if you wanted to.

But that's the issue: one person will like that I spent a weekend on that, someone else will start asking technical questions when it was really just a hobby project. I don't want to answer questions on that because I'm not likely to give good/correct/interesting answers. It's only served me well in the first case when they didn't ask any questions and chose to instead focus on my strengths. It's on my resume, so it's fair game to them.

>If you’ve done the job close to 10 years and never seen a problem with the language that you are using

Only having professional experience with %LANGUAGE% does not mean you've never seen a problem with %LANGUAGE%. Why on Earth would you assume that? If you're doing paid work you get minimal input on what technology stacks the projects you are working on use and 99.9% of the time that decision has already been made before your arrival. In fact, they could be looking for a new job because they want to change stacks, I know a few people who changed jobs just for that reason.

Someone's single weekend "Hello World" project is completely irrelevant when I'm looking to hire a developer with 10 years experience.

>It tells me that you are married to one stack, you’re invested in it, you’re probably going to be highly resistant to solutions that don’t fit in that box.

Absolute nonsense.

> Why on Earth would you assume that?

Because you've been in the field for 10 years and never once looked for a solution to that problem. It's a giant red flag.

> Absolute nonsense.

Explain why please. That's basic human behavior.

If you are doing paid work you work with the tools you are told to work with. You don't get to go off on your own and do what you want.

That, however, doesn't preclude you from understanding the flaws of your tools. In fact, I'd expect someone to be an expert in knowing the limitations of a language they have worked with for so long. That doesn't even mean you like your tools or you'd prefer to use them over other tools if given the choice.

Your jumping to completely unwarranted conclusions and it makes it sound like you have very little real world professional experience interviewing and hiring.

I said I'd treat it as a red flag. You're assuming it's a rejection checkbox. The interview will still determine everything.

The process I've been using to evaluate hires for the last decade or so has yielded excellent results.

> You could meet that criteria in a single weekend if you wanted to.

So, basically, it's just a absurd arbitrary criterion? I don't think there's anybody on the planet who could claim proficiency in a new language in a single weekend's exposure. Most won't even remember anything it about a week later with that little exposure. Logically, your requirement is meaningless.

Making the assumption we're talking about good programmers here:

If you've been doing .NET or PHP for 5+ years, you're just now starting to become an expert at those languages and their environments. That 5+ years experience could just as easily display dedication and care about their craft; a commitment to understanding the ins and outs of their tools.

For example, who would you rather have write your payment gateway code: someone who sticks to a project for years and handles the nitty-gritty details, or someone who finishes the blue sky MVP and moves on to the next project every year?

I'd go so far to say that if a candidate has 5 languages on their resume for 5 years of work, they've raised a red flag. Why haven't they stuck with any of them?

> if a candidate has 5 languages on their resume for 5 years of work, they've raised a red flag. Why haven't they stuck with any of them?

I'm a contractor - I use whatever language the client is going to pay me to use. In the past that's been C, Ruby, Tcl, Perl, Python, a tiny snippet of Java, etc.

I'm replying to myself here because it's interesting how different of a reaction this comment is getting than it did 2 years ago when the same thing phrased slightly differently was the most popular comment on the Interviewing Software Engineers article.

https://news.ycombinator.com/item?id=9739163

I was about to say that too. I've also used many languages (PHP, Java, C#, JavaScript, C, C++, Scala, Haskell), and even though one language might have been especially good for the task at hand, it would not have been so much harder to do it in one of the other languages. I feel like a statement like "use the right tool for the job" is pretty meaningless.
If you don't mind me asking, how long have you been recruiting for and what size/type of companies are you recruiting for? Top tier, Fortune 500 or just mere funded startups?

Context is everything.

Also, I find people abuse the word signal. How are you generating your signal? And is it just within your domain of companies you recruit for or across the whole industry?

Small consulting company (~30 developers).

I only interview for developer positions.

For me a signal is something (good or bad) that hints about a the developer skills and curiosity. They can be as simple as knowing about their preferred programming environment: if you claim you are a 5+ year senior .NET programmer and you haven't even heard about .NET Core to me, that is a bad signal.

I've been at the other end of that scale. I've had a fair few candidates that have used 10 different stacks, but wasn't truly good at any of them. On the other hand, I've had candidates with 10 years of C#, but used it in different settings, web, backend, actor based system, ect, and they blew the socks of most other candidates. What I look for, is that they show versatility and depth. The combination is really important.

I usually sift through candidates based on CV, and then a first interview where I try to asset how good the candidate is at his/hers prefered stack. Then I throw them in the deep end of the pool to see how they cope in the unknown. That can be having a pure C# OOP guy write some SML, or Java/VB/C++ guy write Haskell. I've also tasked a guy that worked with OCaml to write some workflow component in JS.

"Then I throw them in the deep end of the pool to see how they cope in the unknown." That's a good sign that the tech interview process is very broken.
> That's a good sign that the tech interview process is very broken

That could be the case, or maybe at that stage we're past a verbal phone screening, 1. interview, and they've been selected for the last round of interviews. They know before hand what the nature of the interview will be, including the "deep end of the pool" question. It is far and away the best way I've found to see how well they can adapt to new things, which is important to us.

Do people interviewing for orthopedic surgeon positions often get randomly asked about the latest antipsychotics in job interviews?
did you miss this part?

> see how well they can adapt to new things, which is important to us

Why not ask them to build an anti-gravity device as well while you're at it?

I just ask interviewers what the point of these questions is now.

If you can't give someone an interview with relevant questions, how can you justify not hiring the candidate? AFAIK at least in the UK candidates have a legal right to know why they weren't selected to make sure it wasn't based on prejudices, etc. So if your response is "you didn't do something that we both knew from your CV you never claimed to do", that sounds immediately unfair.

At that stage we're past a verbal phone screening, 1. interview, and they've been selected for the last round of interviews and they know before hand what the nature of the interview will be, including the "deep end of the pool" question. It is far and away the best way I've found to see how well they can adapt to new things, which is important to us.

But of course, you assume it's not relevant, and that I'm asking them to do the impossible.

In the UK (IIRC IANAL, etc) the interview must be about assessing a candidate's suitability for a job and unsuitability for performing the work is the only justifiable reason for not offering someone a job, as opposed to, e.g. gender, disability, age, attractiveness, etc.

So I'm wondering how you'd justify not taking someone on by assessing them on a task that:

1) you know they can't do and, 2) if you've already vetted their CV, presumably those skills aren't required for the performance of the job in the first place.

It seems irrelevant whether they know you'll ask this kind of question, since they can't prepare for it, and flagging up something that is potentially unreasonable doesn't make it acceptable.

So, how do you objectively assess that person X did something that wasn't required for the job better than person Y, and justify to person Y why that matters?

My developers frequently need to jump into a completely unknown stack. And even if they didn't, I still expect the senior developers to reason and make decisions about things out of their comfort zone. I'm not asking them to rewrite WordPress in Elixir, or implement vEB trees in C - I'm giving them simple tasks where they are given a codebase to work with, and the task assumes zero knowledge about it, and they have time to prepare.
> not even in their spare time

It might be worth bearing in mind that there are people who do not have free time to spend on further learning outside of work. Parents, those caring for elderly or disabled family, new grads who might have a CS degree but had to work to fund their education so didn't learn much outside of the degree, etc. Not only might this approach exclude these groups, there are often close ties between under-represented groups in tech and these sorts of experiences.

Frankly these candidates are learning less and are usually less able than those with time to continue their learning.

I have kids and I find time. I won’t hire anyone who only does their job.

Well, if you are applying that filter at the resume scan then you could be missing 'the best' as I would expect people to edit their resume for length (to one page) and to focus more on skills related to the position.
That's something I know and it's a decision I make due to not being able to interview everyone. If I can interview 5 people I won't pick 5 random cvs. I'll pick those that, in my opinion, are more likely to be a good fit.
"When I interview 5+ years .NET developers who haven't used another language, not even in their spare time, the result is usually a rejection"

But surely not, when you want to hire a .NET developer?!?

I'm saying that they usually end up in a rejection, not that I reject them because of that. Rejections happen because other factors.
It's strange that this article does not appear in the RSS/Atom feed:

https://danluu.com/atom.xml

Is that feed broken?

I was quite surprised finding this via my secondary news sources (HN, etc.) rather than my primary news sources (RSS/Atom feeds of blogs I follow).

I think there's a simple answer to this: this is an old post and thus won't be covered by the "10 newest posts" feed.
I always forget how much the enlightened community of Hacker News loves to downvote comments drawing attention to the heavily young white privileged male-centric hiring policies of many tech companies.

Honestly, you'd think I'd learn, that this community does not like to be reminded quite how regressive our gender, class and racial politics looks to the outside world.

The outside world being outside of America where pretty much no one cares?
(comment deleted)
Maybe they just don't like the casting of aspersions made with no evidence, like yours, to people you've obviously never met.
In which Mr. "Grabcocque" takes issue with our regressive gender politics
(I don't actually disagree with your rant, much, at least for a significant subset of the HN community. This particular article is maybe a somewhat tangential prompt for it, though.)
Shut up and learn how to program.
How important is GPA?

I will soon get my Master's degree in CS, but it is via the path of least resistence. Therefore GPA is not shiny. I decided that spending my finite time and energy can be better, so I concentrated on coding (my own projects) and socializing, sports and games etc.

When I studied for exams, at point where I knew that I was going to pass, I shifted to other projects.

Next year when I join the workforce and start looking for jobs, will low GPA bite me?

It depends (TM)

Some companies value GPA a lot, others do not value it so much at all. See https://www.quora.com/How-much-does-GPA-matter-when-applying...

The question is: does it ever matter past the first job? Sure, for your first job, you have no work experience, so your education is all a potential employer has to go on, but I'm wondering if I should remove the GPA from my resume since it's been over a decade since I graduated and have a ton of work experience since.
In my experience there are three types. Note: We don't have GPA, but some companies look at study grades (some only masters, others bachelors grades) and some even go further back to high school/middle school which would be sort of GPA.

The types I've met (companies/recruiters alike):

1) Don't care, look at what you think you can do and your motivation for that assessment. They usually also give some form of shorter first contract or traineeship with reduced pay while in training but at least you will get a chance. On the other end, they hire you simply because you have the relevant skill set and show good work ethics (e.g. can work on your own, which is somewhat deducible from your curriculum).

2) Select solely on bachelors/masters grades and don't care about GPA/High school. In my experience this dies out as soon as you have +3 years of work experience. There are so many levels in this category from only looking at relevant fields or looking at all even non relevant.

3) Look at GPA/High/middle/etc school grades and everything else to 'properly select' their employees. They pay good though and usually wear suits, most of them to hide their incompetence in the field they should excel in (I'm not claiming they aren't any good, but usually not in what they are supposed to do).

> Look at GPA/High/middle/etc school grades

Really? There is a possibility that this is my lack of industry experience talking, but I find the idea that a company looks at high school grades very difficult to believe. As for middle school... I would seriously wonder about the basic competence (and sanity) of someone who asked me about middle school grades.

No I have never heard of a company asking for grades below college. And after a few jobs plenty of people leave their GPA off their resume completely.

This is in the US. From OP's comment history they are somewhere in Europe.

I haven't been ask for those but proud to show my gym marks.
It will likely have a negative impact on your initial job search; however, once you get a job it will become irrelevant. A lot of times HR systems filter out candidates below a certain GPA threshold. As a hiring manager, the low GPA would signal to me either lack of ability or lack of focus, though I'd be more concerned about the focus/work ethic issues than ability issues.

My advice: whatever you do, don't make any excuses about why your GPA is low. If asked, I'd just stick with the side-projects comment, but don't treat it as a good thing (i.e., you probably should have spent less time on side-project and more time focusing on studies, etc.). I would also make sure those side-projects are extremely impressive.

Master's in CS: Worthless. Sorry, but it's the bare truth. If you picked up some new skills, great, but the degree itself has no value.
What the hell does top 10 school mean anyway? Top 10 most expensive?
Some companies hire by buzzword. Some by looks / first impression / "culture fit" / age. Some care about real skills and behavior.

That's pretty much it. Go hunt for the latter and you'll be fine.

Yeah hiring seems to be something hard. I mean it is not as simeple as writing a value to every candiate, sort them and choose the best, but instead you have to individually rate each candidate while considering the effect it will have on your existing company.
Thought this article looked familiar. Dan please add dates to your blog posts, Admin please add 2016 to the title.
GREETINGS EVERYONE, are you looking for a LEGIT and Trustworthy HACKERS with 100% Guarantee and you want to get your job done urgently withing one Hour or you are face with delay and unnecessary excuses and error on your job?. Then Worry no more because easyhackingguru@gmail.com are the Best Bet in any hacking Services. They are ready to render and attend to your job with swift response and No delay at all. Their services are outlined as follows: . LONG TIME LOAN GIVING . PROFESSIONAL in SCHOOL GRADE hanging . WHATSAPP Hack . FACBOOK hack . PROFESSIONAL in any BANK ACCOUNTS TRANSFER . TWITTERS hack . EMAIL,YAHOOMAIL and HOTMAIL ACCOUNTS hack . WEBSITE CRASHED hack . SERVER CRASHED hack . SALES OF SPYWARE and KEYLOGGER SOFTWARE . RETRIVAL OF LOST FILES and DOCUMENTS . ERASE and EXPUNGE of CRIMINAL RECORDS . DATABASE hack . SALES of ATM CARDS in WHITE . SKYPE hack . PAYPAL hack . DROPBOX ACCOUNT hack and Lots more.......... CONTACT: their services at easyhackingguru@gmail.com and you will be glad you did whatsApp contact- +12182085613
It would be nice if the process were a little more transparent.

If people just knew that a company rejected them for reason X, that would make a huge difference. If X were stupid, they'd know they missed a bullet. If X were rooted in a misunderstanding, they'd have a chance to clear it up.

There is so much side-channel information used in the corporate hiring process, and it gets mixed-up in HR far more often than any company is willing to admit.

> If people just knew that a company rejected them for reason X, that would make a huge difference.

Give a thanks to the discrimination laws. Companies don't want to give any leads for getting sued.

The practice is exactly the same in countries that aren't the U.S. And countries that don't even have discrimination laws.

The fact that companies behave the same in the presence of dramatically varying legal norms suggests that your belief that discrimination laws are the problem is baseless.

At least I know that in Germany before the "Allgemeines Gleichbehandlungsgesetz (AGG)" (general equality law) was passed, companies were more open about reasons. Since this law was passed, any openness can easily lead to a lawsuite against the company where the company has to prove that they did not discriminate against the candidate. Indeed when the law was passed there were lots of lawsuits of really untuitable candidates, where the company could nevertheless not prove up to "valid in court" that it did not discriminate against the candidate for reasons specified in this law and thus had to pay the unsuitable candidate some months of salary as compensation.
US discrimination laws are not that strong. Unless you're doing something idiotic like telling people "sorry, we didn't hire you because of your religion" it's hard to win. Of course anybody can sue for any reason of they want, though.
Discrimination laws are probably just a drop in the bucket.

Once you start getting into drug tests, references, background checks, credit reports, reservists, social media, etc., it's suicidal to share any more than the bare minimum.

In the US, we have a so-called right to privacy, but that's not really true with employers today. The information asymmetry is both astounding and obscene.

> reservists

Meaning discrimination against reservists in the armed forces because of their service requirements? Or discrimination because the employer doesn't like the armed forces?

Service requirements. Even employers who are vets are terrified of this one. Hire a guy, he gets deployed just a week after he starts, you have to keep his seat warm, then when he's back several months later he's taken a job somewhere else...
Is there insurance for this sort of thing? Seems like an external risk that needs to be mitigated somehow.
There are alternative risk markets where you can get insured for just about anything, but it's still a cost that gets disproportionately shouldered by employers of young men.
Just reduce the salary for reservists by the amount that "his/her" insurance costs.
I am not a lawyer, but that doesn't sound legal:

"Additionally, discrimination against employees on the basis of past, current, or intended military service is prohibited. As with other types of discrimination, this applies to hiring and firing decisions; compensation and benefits; and other employment decisions."

http://military.findlaw.com/family-employment-housing/what-i...

...so the best solution from an employer perspective is to enter a risk pool that distributes the risk. Being a big enough employer solves that problem, but there should theoretically be pools for smaller employers to join as well. I wasn't aware if that was the case, which is why I was asking.

Isn't that illegal? I worked for one company that sponsored a TA signals unit - I suppose they though experience as a RSM running a royal signals unit in the gulf war II was good management experience
It has little to do with that. There's really very little risk in giving feedback like "we didn't like your code" or "you had the wrong kind of experience for us." The bigger problem is that a lot of candidates take this as an opportunity to dispute the reasons, which is not generally desired.
I don't think it's even that. It's just that companies don't feel like they have much to gain from taking the time to explain rejections to candidates. Same reason that often times you don't even hear back that a company is not interested. It saves them time.
Meh, being told over and over again that I'm a good developer but not a cultural fit isn't particularly helpful. It sounds like a polite way to say: "You have the skills but, uh, we hated you." I'm not sure what to do with that feedback, but it has been pretty consistent.
(comment deleted)

    > I'm not sure what to do with that feedback, but it has been pretty consistent.
That is actually valuable information. Find a mentor or career coach to help you out with mock interviews. You could be signaling something that you're not aware of during interviews.
Being told I'm a good culture fit but don't have enough experience is equally frustrating. Especially when it's a rails dev position and I've been working on rails for 9 of the 12 years it has existed.

I eventually figured out that they meant something else - like I hadn't lead a team (bigger than 2) directly before and was interviewing for a lead dev job, or I didn't have much operational experience since the previous startup I worked at was very simple and built on Heroku. In some cases it might be that I didn't have experience with the specific JS frameworks that they were using (e.g. Angular, React, whatever).

But the impact is I come and interview, it goes well, smiles all around, and then they say no, we were looking for someone with more experience and I'm thinking... what? What experience? I have to kinda guess.

Anyway, yeah, saying no culture fit sucks because you don't know what to do with it; maybe you could do practice interviews with friends and see if they see any glaring annoying tendencies?

I think the issue is the massive, massive power imbalance. Sure, as a worker you would like those things, but an employer has no reason to care. Even if they make a mix-up there are plenty of other candidates for the same position. Maybe they get someone actually worse but they have no way to know that and no reason to care.

For the employee it's a rejection from 1 out of 1-10 companies they are talking to, so it's a big and personal deal. For the company it's just 1 out of probably hundreds of candidates for 1 out of possibly hundreds of jobs.

sounds like the dating market
Thing is that the dating market goes both ways in all cases. There was a term for this that I lost somewhere, but basically it allows all parties to be very picky when there is a feeling of infinite candidates.

It's true that there might be more e.g. straight men than straight women in the bay area, but it's not like the number of straight single women is so small that candidates are rare.

I have had a couple of conversations like that and trying to clear up a misunderstanding hasn’t gotten me the job.

And to be honest it felt quite a bit like begging. So it was more energy thrown at a dissapointment instead of concentrating on my next best option.

Think outside of tech--like getting a bad reference because last manager's phone rings over to one of your old coworkers that didn't like you, or failing a credit check because the rating company sent a report for a guy with the same first, last, and middle, but totally different SSN.

Shit happens.

first impression is important, but clothes dont make the man
But there are plenty of fish in the sea and one man's trash is another man's treasure. On the other hand, what's good for the goose is good for the gander.
Damn, this paints a picture where only the shiniest candidates matter, and the rest of us mere mortals should apologize for breathing their air.

How do you know if you're "the best", and if not, how do you become "the best" (or at least employable), or is this industry a "ya got it or ya don't" kind of place like music or art, where only the top 10% deserve to make a living?

Basically, you must understand that you are fighting against yourself. Each day, you fight your former self. You must WANT to become better. The best thing for that is to code a lot (:important) & reread your ancient code (:super important). You will fall in ALL the pitfalls, at first. And then, you will learn to circunvent them. And then you will learn to draw straight lines between the pitfalls, and things will start to become clean. At the end, like Neo in the Matix, you will no longer see the pitfalls.

(And then, you will learn FP and you will have to relearn everything. And then Haskell... And then...)

This is how I see the future of the industry. Either that, or wages get driven down so low that it's not a career worth pursuing anymore
This doesn't just paint the picture, it holds a mirror up to the reality of our industry. If you aren't in SV (or NYC maybe), don't have a degree from an expensive college (or worse, no degree at all!), or haven't worked for FB/Google/Apple, you're basically dog shit to any interviewer.

All the clamoring for developers is because so many companies delude themselves into thinking they should only hire the shiniest candidates, as you put it, even though there are thousands of other people who could do the job almost or just as well if they would look at people living in another city, without degrees, and who haven't worked at a huge company and/or unicorn startup. As a bonus, people like that (like me!) are generally cheaper since they don't have to pay the ridiculous cost of living in the Valley, or realize that making enough salary for a comfortable living without going into multiple hundreds of thousands is perfectly fine.

What strikes me about this is how little weight recruiters put on referrals from current employees. I would have thought that being recommended by an internal employee would get you an initial interview at the very least. Surely a trusted employee’s recommendation is more reliable than whatever random sift the recruiters have.

Does anyone with experience of recruitment have any stats on how successful referred applicants tend to be?

I've always known referrals to do exactly that; guarantee an interview.
I don't think recruiters keep metrics on anything. Once the candidate is hired, they consider their job done. Companies appear unwilling to measure recruiting and employee success, so the inefficient hiring processes continue.
Depends upon the type of recruiter. An external one will likely have a few follow-ups, because it's how they get paid. An internal one, however, won't bother unless the company is excessively on the huggy-feely side.
Depends on many things.

Is the employee that referred you valued at the company?

Did the employee refer bad prospects in the past?

How much do they need to fill the position?

I saw a few problematic employees that always referred their friends who never got even a call.

If you lean on referrals you tend to get diversity problems.
I just want to say that I absolutely love this no-frills type of page - tapping the link on mobile and instantly getting nothing but content is such a pleasant surprise!
I find it really difficult to read on a laptop though, due to the long lines.
I've been using Firefox's reader mode to good effect lately. I'd give it a try, or something like it for Chrome.
I use Outline to make stuff like this easier to read. It works on a ton of sites. Also lets you get around a lot of paywalls.

Just made this bookmarklet so you don't have to install any extensions -> https://codepen.io/dgca/full/BmNdmy/

(comment deleted)
Whether you are trendy or not, what counts is your expertise in your niche. You just have to prove your worth and you are good to go.
Pattern matching has problems but it also evolved because other signals are even weaker, I'd like to see an analysis centered around this idea
But if they're using heuristics proven to have no value over recommendations, which probably have some value, then I'm not sure that's what's going on.
Evolution works over many generations and is most pronounced when there is an evolutionary advantage. Certain kinds of "pattern matching" could be vestigial like wisdom teeth or less important than other things, like freckles and moles.

Point being, maybe the company has great sales or some unassailable market advantage. They could form an untested hypothesis around their hiring preferences since the success of the organization is largely unaffected by it.

This is an older piece but it's really timeless.

I have some experience because my first job programming was at a small nonprofit, on a tiny team, doing .NET software, and during the job search when I sought to move on there were a lot of backhanded complements about how they didn't expect me to do that well on their evaluations.

Are there not plenty of companies that hire only older, more experienced people? Such as government entities and large corporations? Seems like we always hear about the pro-youth companies. Perhaps its only silicon valley.
Silicon Valley is an extreme example, but I don't think it's bucking the general trend.