Hacker News new | past | comments | ask | show | jobs | submit login

If your thousand "node developers" aren't at least willing to drop the "node" part (assuming there was saturation in that segment) to use their skills in other languages/environment...then they probably have a problem.

(I know that wasn't really your point since you were comparing with something more different like dentists...but the fact that the example specifically said "node developer" instead of just developer is scary)




Because most companies aren’t just looking for “developers”. They are looking for developers who know “X”. The companies that are willing to hire someone who is not a perfect fit are going to usually pay a lot less.


That's... basically the opposite of true.


It really is in deed. "Node" or "Java" or "Rails" engineers are a dime a dozen. There are exceptions and it's more complicated than an explanation on Hacker News can do justice to, but generally speaking, the places you'd want to work for, including (but not limited to) the likes of Facebook, Google, and other smaller but worthwhile companies are hiring for general skills, not tech du jour knowledge.

No Java shop worth its salt gives a flying duck if you know Java's syntax. They care if you understand how to build systems. Caching, queuing, service to service communication, algorithms, performance, debugging etc. If you learnt that stuff in Go instead of Java, who cares? Yes, the job reqs and lazy recruiters will come at you with a list of keywords, but that's usually not what the hiring manager truly cares about.


Most of the worlds developers aren’t working for FAANG companies. I would even say that many aren’t working for software companies. They are working for corporate America writing bespoked apps that just want to get stuff done and want to hire someone who can hit the ground running. If you are coming in at a senior level to a C# position with prior knowledge of Java. You’re going to waste a lot of time. It’s not about the language. It’s about the ecosystem, knowing the popular third party packages that will make your life easier etc.

How many Java developers would come in knowing how to use LINQ efficiently and know the difference between

customers.Where(c => c.Age > 65).ToList()

And

customers.ToList().Where(c => c.Age > 65)

when using Entity Framework or the Mongo linq driver? They would both give you the same result but one is much more efficient.

You can’t imagine the number of times I’ve seen people use a Func<T,bool> instead of an Expression<Func<T,bool>> and wonder why their code is so slow in production.

How many Java developers would migrate toward log4net because they have heard of log4j instead of using the much better Serilog?

How many would come in knowing how to efficiently use ASP.Net Core and plug things in the pipeline?

Knowing the language is the easy part. Knowing the frameworks and the ecosystem takes time.

No one would hopefully ever say a Windows system admin could function at the same level with Linux as someone who had Linux experience.

That’s just like the “AWS Architects” who translate all of their knowledge of on prem deployments to AWS without knowing AWS best practices and wondering why the same infrastructure costs more.

I’ve been a hiring “manager” - more like the architect. I’ve got deadlines and deliverables. Why am I going to hire a Go developer when I can find perfectly competent C# developers that have the skill set I need? Why would I learn Go knowing that the local market wants C#, Java, and Node developers?


> when using Entity Framework or the Mongo linq driver? They would both give you the same result but one is much more efficient.

The competent developer with knowledge of systems know that the first step when using any form of ORM or sql generation tool is to figure out how to look at generated queries.

Also in that particular example, you're dealing with a reasonably common concept across all languages (generators). While LINQ works by letting you introspect the AST and its a reasonably unique concept, when looking at the snippets here it actually doesn't matter if you don't know that: in basically any data structure manipulation code, doing a data structure conversion followed by a predicate operation is almost always a mistake, because the whole point of "toSomething()" functions is to go from the specialized domain into the language's generic's constructs. LINQ is a particularly accessible implementation of concepts that are age old. The Rx family of tools (which do exist in java) follow similar semantics, and then most ecosystems have very similar constructs even outside of RxWhatever.

Those fundamentals won't let you figure out edge cases, but they're pretty easy to pick up once you get it. The system building aspect is what takes a lot of experience to catch. Other examples would involve how to debug a server's memory dump: it's very different between C++ and .NET, but very few people know how to do it in EITHER environments, while anyone who knows how to do it in one can pick it up in another by skimming a blog post in the middle of an outage.

Probably a reason why people should learn Category Theory too. Not quite the same thing, but it would help people make more solid assumptions.


Outside of Silicon Valley in the rest of the country -- look at the job reqs.


Job reqs are a lie, and a lot of jobs (I almost want to say most, but I don't have data to back it up) never even make it as far as the job boards. The ones that do are often not even drafted by the hiring manager, and just written by someone who asked "So, what kind of skills would be nice?". Most companies will absolutely hire outside of what's written. They don't have much choice unless they're looking for entry level folks. Competent senior folks get snatched up very, very quickly, so if you're looking for something too specific, the req will stay open forever.

At least, that's been my experience working in both Canada and in the US, and I've never been close to Silicon Valley (or the west coast for that matter, so if its true there, I stand corrected).


(I can’t reply to your second comment directly)

Whats harder is finding a job you'll love with great career advancement opportunities, using the tech stack you like, with a manager you "click" with, and where you're appreciated.

What does “career advancement” look like to someone who doesn’t care about management? Career advancement for me means keeping up with the most marketable tech stack and getting paid as much as I can in my local market and still staying hands on.

“The tech stack I like” is whatever stack pays the most and has a reasonable amount of opportunities. By definition, a popular tech stack will have plenty of openings where you can stay current.

I choose to work for small companies with highly technical managers. A small company can’t afford to silo you. As far as “clicking with the manager” that kind of just happens with more technical managers when they trust your judgement. The only “appreciation” I need is to be paid market rates based on my skill set. I’ve had managers “appreciate me” verbally but didn’t push for the salary I wanted - I left.

I’ve been offered signing bonuses by recruiters who really wanted to get thier cut of my first years salary. I’ve turned them down. Out of my three requirements for a job - right technology, right environment, and money. Money is the least important as long as I’m making the median for my market/skill set.


I don’t do job boards either - I always go through recruiters. But if you are a “senior Dev” that knows Java and they are looking for a Node Developer, you aren’t going to be anywhere on thier list to hire.


to me, recruiters === job boards.

The interesting openings are through direct connections and referrals.


Recruiters are not the same as job boards. I have recruiters that I’ve worked with for years as both a job seeker and hiring employees, I have met them for lunch.

I can sit back, tell recruiters I’m looking for a salary that pays no less than $X and sit back. It’s never taken me more than a month from the time I’ve started looking to having another job.


It's always going to be better for you if you get direct connections and referrals, but that is not happening at a fast enough rate to satsify employer demand for vetted employees. Additionally it's putting the onus on the employees entirely for making sure they are a good fit for the companies.

If they truly have a shortage of workers they are going to either reduce the stringency of their requirements, raise wages to entice workers to come to them instead of competitior's, or train employees. The SF area does some of the wage raising, when they aren't colluding with each other to keep wages down, but the rest of the country seems content to just complain about a lack of qualified people without doing anything to change their situation


I kept a spreadsheet of when I was looking for a job in 2015 using recruiters. This was after filtering for location and salary. This was all within a two week period.

I network like crazy - with people who know where the jobs are.

Leads: 16

Position filled: 4

Phone Screens: 9

I didn’t like tech stack: 2

Didn’t have qualifications and didn’t apply: 1

In person interviews: 4

Offers: 4

Rejections: 0 - I took myself out of the running after accepting an offer.

I actually had 6 phone screens in one day from different companies.

Notice that out of the 16 “leads” none of my resumes disappeared down a black hole. I always knew where I was in the process and I knew that someone in the position to hire me was considering my resume.

Also, I don’t contribute my 100% non failure rate to being a special snowflake. I was able to discuss each lead with a recruiter and had inside knowledge of what the hiring manager was looking for.

I’ve worked with recruiters to hire people. The good ones form a professional relationship with the hiring company.

Back in 2012, I left a job with nothing in the pipeline for a new job. I called one of the recruiters I had been working with and within 4 days I had an offer making $10K more with what was then a Fortune 10 company.

My last job search last year took 7 days from the time I started looking to getting an offer with the salary, (slightly higher), the technology stack, the location, and the company size I wanted. The pickings do of course get a lot slimmer though the higher your salary requirements.


I don't doubt there's people like you who can make it happen and have it better off but there's no way your results are typical. I don't know of a single fortune 10 company that even has a hiring pipeline that could be gotten through in 4 days unless you know someone with some pull, and the entire industry can't be friends with that small group of people.

Additionally look at all the work you've put in. "Networking like crazy" as you say. This obviously had benefits for you and is probably worth it for the vast majority of engineers. However, why is this amount of work necessary to find a job in an industry that constantly complains about a shortage of engineers? It seems like they're crying wolf when they say there's a shortage but the hiring process gets more insane every year


> However, why is this amount of work necessary to find a job in an industry that constantly complains about a shortage of engineers?

Getting a job is easy. I used to work with a guy who had (severe) mental issues, did significant drugs (enough to pass out in front of everyone on the job because over overdoses), couldn't code for crap, sexually harassed every person with breasts in the office (long story on how he got hired in the first place). When they threatened to fire him, he quit, and had a well paying job 3 weeks later.

Whats harder is finding a job you'll love with great career advancement opportunities, using the tech stack you like, with a manager you "click" with, and where you're appreciated. This is where networking starts to matter. Job boards and (non-internal) recruiters are automatically biased against this: most of the jobs that fit the above criteria are filled by insiders before they ever need to be advertised. There are exceptions (its a crap shot if someone knows someone qualified to pick up that director/VP position), but there is a bias. I've worked for about 15-16 companies, from tiny 3 people startups to some of the largest companies in the world, and I've (almost) never seen the best positions advertised, except when large companies are growing and hiring hundreds of engineers at a time, and for very niche roles or roles where the company did not have the expertise to train (eg: the first site reliability engineer hire at a company).

Then you also have the cost of job advertisement. Recruiters often take 10, 20 or 30% cut, which can translate to tens of thousands of dollar or more. If you bypass and go straight to the company, and a friend refers you, not only will you usually skip the stupid phone screen and maybe a phase of the process, but guess where some of the money they save will go? Your first year's sign on bonus!


I don't know of a single fortune 10 company that even has a hiring pipeline that could be gotten through in 4 days unless you know someone with some pull, and the entire industry can't be friends with that small group of people.

The Fortune 10 company having a fast hiring process was dumb luck.

The department I got hired in was originally a small startup that had been acquired by the larger company. The hiring manager was the founder of the original company. At the time, they hadn't been fully integrated with the company as a whole.

As far as the results not being typical, I've had a former coworker who was laid off that contacted me because they call me the "job whisperer". I put him in contact with three of my recruiters and he also had a job within three weeks working for a large well known company. I did help him with his resume.

As far as why I had so many leads, I attribute that to aggressively learning only what the market cares about, and at the time, my salary requirements were right in the median for what the market was paying for senior developers (and still $10K more than I was making).[1]

I've since changed jobs again, but the learn things->change jobs -> make more money process stops being as affective and gets slower once your salary requirements go up.

[1] I stayed at one job way too long and became an "Expert Beginner". My skillset and salary suffered the consequences. 10 years, 5 jobs, and a lot of studying later, I'm just now at the median salary for an "architect" and still have some gaps I want to fill in my skillset.

Networking like crazy" as you say. This obviously had benefits for you and is probably worth it for the vast majority of engineers. However, why is this amount of work necessary to find a job in an industry that constantly complains about a shortage of engineers? It seems like they're crying wolf when they say there's a shortage but the hiring process gets more insane every year

Out of all of the interviews I've done, I don't think any have been "insane". My technical interview at $largecompany consisted of a pair programming exercise correcting a program and making the unit tests pass. All of my other interviews have been the standard "explain your projects", talking and demonstrating architecture and best practices. I didn't have any programming work for my last two sets of interviews.

But with so many "developers" out thier who can't implement FizzBuzz, you have to be careful.


Your experience is vastly different from every other developer I know. Other than people having a friend who can literally give them a job, ex a startup CEO, it's all multiple days of interviews, round after round of whiteboard coding, engineers being thrown into interviewing you with zero warning so they just middle through the whole thing, and getting ghosted by the companies at any point in the process.

These same companies are ones I see talking about shortages of engineers




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: