Hacker News new | ask | show | jobs
by thenewwazoo 402 days ago
As an aside, TFA says:

We’re talking about skills that span kernel-level programming, hardware quirks, low-level debugging, distributed systems, security, orchestration logic, even the capability to work with the UI/UX team... and the ability to explain all that without scaring interns. You can’t just hire for that. You have to grow it. Nurture it. Beg for it. Or in some cases, resurrect it.

If you are that person, what is the best way to market yourself? I am the person described. I've got experience from poking registers in firmware, to wireline transport protocol implementation, to infosec, to writing microservice framework middleware, to pipeline orchestration at the OS level, and on and on. In the last week I've debugged Linux UDS issues and TLS cipher suite problems, and wrote code to provision WiFi-connected devices over BLE.

But it's incredibly hard to demonstrate that in an interview, if I can even find a role that warrants it. You're not going to find me on a university campus or in a research lab because I'm at a FAANG trying to pay my mortgage.

10 comments

I think there's a bit of an "eternal September" where people are promoted to management, asked to hire a bunch of people for some niche role, and blog about their inability to hire good people.

Hate to break it to the author, but there are plenty of people who can write a driver, bootloader, distributed systems, PAXOS, etc. but there's NO JOBS DOING THAT so they all work for <generic SaaS company> making <generic NodeJS app>.

The author mentions their grand strategy is fishing for talent out of universities, which is probably smart. Pulling people out of generic web dev world to go write "container orchestration logic" (or some other niche) is going to be a hard sell - most of those people were burned before by straying too far from the lucrative web dev jobs. Nothing like going into job interviews and telling the hiring manager that your last job was some ultra-obscure niche.

This!

My first job out of university was working on an embedded Java runtime, with a group of peers from said university. Which sounds similar to what Virtualise.sh is doing.

Now, 20 years later? Tech lead on a Typescript/Flutter/AWS internal system.

In some ways I'd be excited to write container orchestration logic, or hack on a hypervisor. There's precious little of that work available, especially so in a small country like mine (NZ). My CV is crazy enough: being burnt isn't the issue, just finding the work is.

The cynical part of me wonders if the other reason to hire people straight out of university is that they're cheap...

(throwaway account, my CV is bad enough already)

cheap, moldable, and not distracted by families will always be a strong combination for niches you can't really learn otherwise. Not a lot of people will take a "downgrade" in their career to work on some passionate or cutting edge tech.
Also the usual botched hiring process, where even if one has the knwoledge, just because it wasn't what one was doing the last five years, it doesn't count, even if one has portfolio from side projects to show.

Or the dumb leetcode stuff because "we are going to be cool like Google over here".

So many gravitate to companies with more sensible hiring practices, and that is how a company loses candidates, if it is one of those unicorns that the whole planet wants to work on.

> Also the usual botched hiring process, where even if one has the knwoledge, just because it wasn't what one was doing the last five years, it doesn't count, even if one has portfolio from side projects to show.

So many times this. It doesn't even have to be five years to disqualify so many applicants these days. If you aren't working on it currently, there's already so much bias against you in the hiring process at large (e.g. the "I don't consider anyone that isn't currently employed" mantra that pops back up now and then).

Pretty much matches my experience. I'm an EE, I started out writing an LLVM backend for a custom DSP. Pretty good understanding of hardware, compilers and general low level things.

Now I have a generic web dev job working on a generic nodejs app. There are many more jobs available and in general it's much easier to have a remote web dev job.

Right now it feels like generic SAAS companies aren’t hiring either.
I think I'm pretty similar; I don't have great advice, more or less my first real job I got the attention of my skip level boss (he was one of my interviews and also I did a couple projects with him), and he's hired me to two more places since then, so I'd say be sure to network. Bonus points if your network gets you a job where you don't have to work again.

I've also done a couple sessions of peek at a problem in production and fix it / tell people how to fix it based on reputation, which is networking.

Oh, and one more thing: never ever mention any experience with mail handling, or you'll get roped into doing it again. People remember, even if you only said it once. :P

I think this is the real answer. A personal testimony is the only way to truly distinguish between a bullshitter and one of those radically curious, passionate people who learn everything they can and quickly become experts in whatever they touch.
> You're not going to find me on a university campus or in a research lab because I'm at a FAANG trying to pay my mortgage.

Make sure you are demonstrating it to the people on your team so that when they leave and go somewhere else, they can hit you up. This takes some time.

And, sorry, you have to get out and hit some gatherings in person (hackerspaces, meetups, professional meetings, etc.)--online-only isn't going to cut it anymore. With the AI garbage clog of inline interactions, your professional network is back to who you know in-person.

A sibling comment said to repeat what you just said in an interview. Don't do that.

Demonstrating that you are a stable hire who will fit well with the team is almost all that matters. You wouldn't be having an interview to begin with if you didn't technically qualify-ish. Even when speaking to technical interviewers, you will intimidate them. Actually selling yourself comes after your first 90 days of acclimation.

I think it's just not possible, because you're stuck with the reality that it's some combination of a machine and HR sorting through resumes.

Even past that step, it's a bit random. I fully admit I ignore the resume when doing interviews, as it's a bias for the interview role I get, which is typically working through some coding problems.

Go for robotics or specific robotics subtype (UAV, ROV, vehicles, etc..). If there is a "platform team", that would be your best fit, but some companies don't have separate platform team, or they don't advertise team name in the job postings.

People like that are in demand. Our company just filled few position like this, and hiring was hard. Some people were rejected because of not enough low-level knowledge, some people were rejected for not having enough high-level knowledge.

Agree with the TFA's author though, people with all the skills are super rare.. We were lucky to end up with few hires like that, but most of the people don't have all skills at once, and they have to learn on the job.

>because I'm at a FAANG trying to pay my mortgage.

Let's rephrase that:

I'm at a company with top of the line talent in many different domains and I prefer the compensation of this company over networking to find someone who knows the hiring manager of a team like this.

You have the easy way into this. For people without this networking, the best advice is to make them come to you. You gotta share that knowledge out there and get regards in various communities online if you can't stand out in a batch of resumes (and no one these days can, for reasons entirely the fault of HR and ATS). Do that and your newfound network will connect you.

On the right team at a FAANG to a large SaaS, because the places that need all of that kind of work are few and far between. Eg somewhere among the teams that make the Oculus firmware would be close enough to the hardware to need all that sort of work in order to ship to the tight latency specs they're looking for. Or early employee at a startup making a product that's going to need those sort of problems solved on a consistent basis, that's well funded enough that you can have enough time to solve problems like that in ways that aren't a total hack (because we all know those are going to be removed Real Soon Now).
What you say makes sense, but I guess finding the right team is extremely hard. I would guess that 95% of FAANG is actually kinda bad and only lives from the reputation of the 5% (or less). So how do you specifically interview for the 5% without a prior connection / network?
You're entitled to your own belifo about FAANG, but that particular one might make it harder to find any team you like. Definitely would make it nigh impossible to find the right one.
I found it is best to keep quiet, not even have a (directly attached to your name) blog with such varried content, and instead just send appropriate version of your CV when needed. When it comes to interviews I found it helps that I'm in my office/lab space, able to pick up the cam and show the person on call contents of my shelves and present few details about them on the office whiteboard. But even then they of course doubt you.

Tldr raise your price and they'll belive easier.

The question was "what is the best way to market yourself?" and your recommendation is to keep quiet and do less marketing.

If that has worked for you, that's amazing! But it seems really counter-intuitive to me.

No he's saying if you are a generalist you shouldn't try to market yourself as that. Usually employers are looking for specialists that are perfectly moulded to the one exact task they need at that very moment.

It's misguided of course, but that's what they think they want and if you say "I've done all sorts of things and I'm good at all of them" they'll hear "I don't have much experience with anything" and discount you.

So it's better to pretend to be a specialist.

On the flip side few reasons why I don’t favor generalist profiles (while being one myself).

- resumes which claim generalist tend to be SEO’ed than real, or AI generated and they will say experience dozens of technologies most of which would be untrue, throw everything and see what sticks .

In most cases it just tells me what they have heard of rather than what they know especially if they are not very senior .

- It takes really hard effort to be beyond a superficial generalist, even when they know some of those skills and remember them during an interview it is not with a lot of depth they pursued only in passing interest not in a professional capacity (that is fine, but it is a lot work to make the distinction in evaluation on all relevant skills in a timed interview)

- It is harder or simply not viable for a specialist to interview a generalist , so you need to have few to hire more . If you don’t have any or they are not doing interviews you are not going get more .

- Being a generalist with depth of understanding means you are the type of person who needs to understand things properly before doing them . .You are lot of time learning things which are not required for get the task completed.

That means either you need are prepared to spend a lot of personal time and be perpetually stressed or be slow in completing something .

It is hard thing to master to let it go . I don’t think I have learned it yet

- Complexity and depth of technologies change a lot in short duration when they are corporate backed .

I learned Linux architecture or vim or git 20 years ago they haven’t changed much. You can be productive in any of these to stacks very quickly even if you didn’t use them for years .

Last I worked on android or swift is more than few years ago . I doubt I could even build a serious app without spending major time . To be productive to learning curve is steep and the prior knowledge is limited in usefulness.

>Being a generalist with depth of understanding means you are the type of person who needs to understand things properly before doing them . .You are lot of time learning things which are not required for get the task completed.

It's just how my career swung me. I would have loved to have developed as a subject matter expert, but everytime I get into the swing of things, layoffs came around or the studio shut down. Now I'm freelancing and that by nature requires a generalist approach.

no one's really investing in specialists, so I have no idea how the millentials/Gen Z of the world will ever get to properly specialize. Specialization requires time to master something, and that time implies stability to do that thing.

>To be productive to learning curve is steep and the prior knowledge is limited in usefulness.

business wise, sure. It's a shame all business sees as "productive" is based on how many widgets you churn in that time. It's no surprise such companies want to force AI into it without quality considerations.

> Being a generalist with depth of understanding means you are the type of person who needs to understand things properly before doing them . .You are lot of time learning things which are not required for get the task completed.

Ha, I feel seen. Though also I wouldn't frame this quite so negatively. I've seen a lot of tasks "completed" by people who just got the job done without fully understanding it and they frequently get it done badly.

Generalist over here as well, that is kind of what pushed me to boring fields, UNIX, Windows, Java, .NET, C++, vanilajs,...

Changes also happen, but they are kind of glacial with areas where we are hunting the new shinny every here.

Usually I tend to be a laggard on the adoption graph, the large majority of stuff hardly makes the curve, and I have better things to do with my time.

Plus that vintage stuff that isnt' cool to write blog posts about, usually pays good enough.

Stuff like Android or iDevices suffer from yearly fashion, platform owners feel compeled to reboot the development experience every year, forcing app developers to keep up, and also as means to sell new devices.

I'm one of those generalists who's done everything from bare metal work, to cloud stuff, to most things in between. Very few companies hire for that. They usual have some particular pain point they need fixed and I have experience with that. But it's easy to explain that if they need help with all this other stuff the product needs to get out the door, sure I can pitch in with that, and more importantly, I understand intimately how my piece fits in with all the other pieces in the stack and that makes it far easier for me to design and build components that fit into their wider environment.

That's something hiring managers do find compelling.

I didn't get that out of the comment at all, so I appreciate the clarification. Put that way, it makes significantly more sense.
Exactly what I wanted to get across. That's why I have 3 personal pages/blogs and a separate forum. Only people very close to me know for all of them. Otherwise people get weird about you doing so many, so varied things. Here I m not talking even about work related relationships, on a personal basis people feel insulted and as if it is a competition if you list what you do when they ask you to. I have super focused, 16h days at the lab/office, of course I ll get a lot done... https://supermemo.guru/wiki/Planning_a_perfect_productive_da...
Yes the usual T shape kind of approach.

Most HR hiring managers, and headhunters alike, have a real hard problem trying to see the point of generalists.

They want the easy way out, what to focus on.

As I usual say I tend to do whatever, so is the life of agencies, however when applying for positions sell the skills relevant for the position.

Not e.g. "I can do .NET and Java", rather "I can do .NET, proud of X, Y and Z projects in .NET, and by the way, I may do Java as well if needed, there was this project...", something like this.

I think the counterintuitive thing is that the marketing communicates a lack of confidence. It's... sortof odd to think about it that way, but to communicate actual confidence in your field, you mostly have to be willing and able to have a conversation about whatever topic your interviewer fancies. Being able to do that comfortably speaks volumes that your resume and project portfolio struggle to replicate.
This is the advice I plus one. On the other hand to include kernel to UI raises security questions. In my experience, I was rejected as "we can't hire you, you're too dangerous."
That response says more to me about the hiring organization, and not in a good light.
Say the things you just said, but in the interview
getting the interview is the hard part and the reason you need to market yourself
There's also a question of making the market. I've got these really weirdly-broad skills. LinkedIn is not great for finding the niches I want to fit. I suppose there's HN's "Who Wants to be Hired" threads, but that's risky if you're already employed. I'm obviously networking already, but what else is there?
Add it to the cover letter
Unfortunately that is one of those things, everyone has to write, and almost no one reads.