Ask HN: Jack-of-all-trades of HN, how do you approach job search?
327 points| a_square_peg | 5 years ago | reply
I'm also sure to fail googlable technical questions so I was wondering how others might approach this.
327 points| a_square_peg | 5 years ago | reply
I'm also sure to fail googlable technical questions so I was wondering how others might approach this.
[+] [-] gregjor|5 years ago|reply
Don’t try to join startups or cool SV companies unless you have an inside track. Their recruiting and hiring practices are mostly geared to ensure “culture fit.” That’s code for young single male who will work 12 hrs/day and think free beer and pizza makes it cool.
Focus on measurable accomplishments rather than languages, frameworks, tech buzzwords.
Learn to solve business problems rather than “engineering problems.” No one needs 2,000 more lines of Javascript. Lots of companies need business problems addressed.
If you’re applying for jobs you’re hobbling yourself. If you have years or decades of experience you should have a large network of colleagues to get leads and jobs from.
[+] [-] msluyter|5 years ago|reply
Clearly I've failed here. I've kept in touch with a few folks from previous jobs via LinkedIn or whatnot, but as a network, I'd describe it as "thin and weakly connected." Part of that is due to being an introvert and generally terrible at maintaining long term human connections. And part of it is a certain indifference I've had in the past to actively managing my career, which in an of itself is a result of how generally easy it's been to find work. Curious if I'm alone in this?
[+] [-] cactus2093|5 years ago|reply
I have to strongly disagree about advising the OP not to join SV startups. I’ve worked at many of them, and they can the perfect environment for a “jack of all trades”. I also have not found that all of them just care about culture fit, there are certainly some that might fit that caricature but but by and large what they care about is can you get things done quickly without needing a lot of hand holding. Smaller startups are more likely to look for this as well in an interview, and for example have you build something fairly practical rather than solve tricky algorithms problems that bigger companies rely on.
As far as using your network to get jobs, you might be surprised that it’s not as easy as you think. The smaller the company the more pull this can have. But most companies try to be objective in the hiring process, and any company over a certain size (I.e. if they’re big enough to have recruiters and a head of HR) probably won’t just give you a job if you don’t pass their standardized interview questions. The main way it can help is if you don’t yet have enough experience on your resume or a good school and are having trouble getting past the resume screen, a personal intro can move you along to at least the hiring manager screen or first technical screen step.
[+] [-] lostcolony|5 years ago|reply
See, there's a couple of things to remember. First, the biggest way to sell yourself in an interview is to demonstrate confidence. Not bluster, but gentle self-assured comfort in the face of being interviewed. The ability to answer questions you do know, and to say "I don't know. But I think I'd...." or similar in the face of things you don't. Even if that's to say "I'd have to Google that".
Second, the actual interview...yeah, you might get turned down at a FAANG. But I've had plenty of interviews that were far less algorithmic. Far more concerned with whether i could speak intelligently about things I'd done previously. Even coding; I've had the algorithmic questions...I've also had really simple toy functions that were there just to make sure I could write some code, and formed all of 10-20 minutes of the hour long interview.
The way to get better for both of those is practice. Literal sitting in an interview practice. The more you interview the less you care about any given one, and the more likely you'll stay calm and collected. That exudes confidence, makes you more likeable, and lets you put your best foot forward when it comes to any coding problems.
[+] [-] grep_name|5 years ago|reply
How do you find the time to 'interview a lot' though? I get about 10 days off in a year, and rarely get interviews with enough frequency to schedule two on one day. In an ideal world, I'd let my current employer know I'm planning to leave, take that as an opportunity to let them wind down my responsibilities and prepare for a handover, and have a good reference for a full-time job search after leaving, but I'll never be able to do that due to employer-tied insurance
[+] [-] chrisbennet|5 years ago|reply
[+] [-] tvanbeek|5 years ago|reply
[+] [-] blhack|5 years ago|reply
Lately the idea of a "specialist" (at least in webdev) has come to mean (in my head): "I really know how to use this particular framework, but do not understand any of the surrounding technology. If I reach a problem, I will bloat the code with more libraries until it starts to work."
[+] [-] jlokier|5 years ago|reply
When people ask what are my particular areas, I'll say I mainly do... I'm expert in... I have strong experience with... over the years I've worked in several technical areas...
And list 4 or 5 different specialisms where I would realistically do ok if interviewed in those areas on the spot without warning.
I don't know if that would work for someone who really is a generalist without specialist knowledge at the current stage in their career.
In my case, I really have gone much deeper than most people into a number of different sounding domains. Not different skills or tech stacks, but really very different tech areas. I'm often regarded as interesting because of that, rather than "master of none".
[+] [-] Iv|5 years ago|reply
[+] [-] kevmo|5 years ago|reply
[+] [-] CodinM|5 years ago|reply
[+] [-] colordrops|5 years ago|reply
[+] [-] a_square_peg|5 years ago|reply
[+] [-] blablabla123|5 years ago|reply
But true, normally interviewers already get confused when you mention a skill that is not directly required by the job ad.
[+] [-] brianxp|5 years ago|reply
https://en.wikipedia.org/wiki/Jack_of_all_trades,_master_of_...
[+] [-] kenhwang|5 years ago|reply
[+] [-] pplanel|5 years ago|reply
[+] [-] 0df8dkdf|5 years ago|reply
[+] [-] CoreFailure|5 years ago|reply
1) Don't over-filter. Take the time to manually skim each job posting on high-quality job lists, like the HN who's hiring. As a generalist I tend to be a good fit for smaller teams that have diverse problems and individuals I can connect with. Those individuals usually make more open ended job postings that don't sift well through most filters. Additionally, you'll get a better sense of where the job market as a whole is at.
2) Make extra effort in your initial outreach to a few positions. Surprisingly "cover letters" are still effective if they're presented in the right way and through the right channels. A form cover letter may be ignored, but a freshly written pitch for a particular job listing can stand out.
3) Don't copy-paste until you have your pitch figured out. If you're like me you'll find yourself rephrasing it slightly each time you write an initial outreach, and eventually you'll find the common elements that make their way into each. Try to make your pitch shorter each time while keeping those commonalities. A shorter pitch is more likely to be read.
[+] [-] datameta|5 years ago|reply
Having spoken to those on the other side, "easy apply" positions get absolutely flooded and sifting through so many applications makes the hiring manager gloss over people, skipping them entirely no matter how effective your short blurb is in the condensed list. Imagine how easy it is to scroll past an HN post you're only mildy interested in at a glance. So don't let that be your main method even if you apply to a bunch a day that way. You don't want to fight uphill against probability and human attention span.
I should also add - being early to apply to a position is HUGE. I can't overstate this enough. Once the position has a certain number of candidates each person gets less and less attention until the behavior I mentioned earlier is exhibited.
[+] [-] qzzqzz|5 years ago|reply
[+] [-] awb|5 years ago|reply
The more areas of expertise you have mid/Sr.-level skills in the smaller the company you should try to work at.
For example someone who can code frontend, backend and run DevOps is invaluable to an early stage company as it means hiring 1 person instead of 3 (which they probably don't have the workload or budget to hire anyway).
At larger companies, your other skills won't net you much because they have 40hrs/week of frontend work they want you to focus on and continue to get better at.
[+] [-] giantg2|5 years ago|reply
The short answer is - I don't.
I accept that I have varied experience in many technologies, which makes me less attractive than the single stack experts. I hate my job, but I don't really have any options to leave since my true expertise was built in FileNet and Neoxam. I'm also quite limited since my wife refuses to relocate.
[+] [-] sevensor|5 years ago|reply
Disclaimer: my skillset includes a lot of non-software engineering, and I work for a company that does a lot more than software.
[+] [-] mettamage|5 years ago|reply
[+] [-] buro9|5 years ago|reply
1) I'm a generalist and go wide but only surface deep.
2) I'm a specialist in multiple areas, I go deep and because I know how to do that I have done it multiple times and can also do it for whatever your problem domain is.
The first of these feels more like your full-stack web developer and the lack of depth usually deter me from hiring... the latter though, the latter feels like an interdisciplinary master that I would want to hire so long as I can see that the candidate is able to apply that to solve our business needs within a month or two of ramp-up.
I haven't seen your CV but I'd make sure that #2 was obvious at the top of the CV as that would provide context to the roles on the CV, each one enriching who you are.
[+] [-] bogwog|5 years ago|reply
3) I'm a generalist problem solver with expert programming ability, who can adapt to any technology/stack and go deep with your problem domain as I've done multiple times across various fields.
IMO that seems like the ideal hire for any position, as they'd be good for existing problems, and they'd be good for any new problems the business might encounter. Rather than hire an expert in new technology X who knows nothing about your business and existing tech/infrastructure, you can throw Mr. 3 at it.
The only time I don't think that type of candidate would be useful is if the company is competing on technology, and they need someone who has dedicated their career to being an expert and/or researcher in that single specialty (example: machine learning). But even then, most companies don't need someone like that, and those that do could probably benefit from having some 3s on the team in addition to the specialists.
[+] [-] vmception|5 years ago|reply
The jack of all trades are making 7 figures building “DeFi” infrastructure
You just deploy a smart contract that helps people simplify a more complex task and your code takes a few percentage points
No overhead costs, incorporation, lawyers, banks etc necessary
Never been easier to make money
Basically the key concept that appeared this year is called “composability” where the outputs of one operation can be used as inputs of the next operation, so this is analogous to the interchangeable parts era of the industrial revolution
Smart contracts are extremely limited in the kinds of operations they can do, with most data structures algorithms being too expensive so you never have to employ the bullshit technical questions or any academic knowledge
But you probably should read a book like O’Reilly’s “Mastering Ethereum”. Ethereum introduces a concept called an “EVM” (like JVM) which is used on several more platforms that arent called Ethereum, so you should be familiar with that.
Oh! You also dont need to be distracted by:
“Consensus model ideology”
“I could use a database for this”
or any other self limiting thing.
because “you could also make money”
Lets be honest you were probably going to work for some ad tech startup anyway, all crypto projects have just as little utility for the world while possibly having the argument for much more utility, and you dont have to pretend like you are an investor that wont get zeroed out by VC liquidity preferences
[+] [-] bouk|5 years ago|reply
[+] [-] Nextgrid|5 years ago|reply
Can you give me an example of a "smart contract" that simplifies a complex task and that can't be done with conventional code and a SaaS?
[+] [-] JamesSwift|5 years ago|reply
[+] [-] cmuguythrow|5 years ago|reply
[+] [-] choxi|5 years ago|reply
Could you list some examples? I didn't realize there were practical use cases for Ethereum yet
[+] [-] unoti|5 years ago|reply
2. Sharpen your skills in detail areas of specialization before interviews
3. Make a list of the coolest things you’ve done
4. Practice stories related to those things that you can bring up in response to various questions
5. Select different items from that list to highlight for different positions
6. Build an additional portfolio of work to support your capabilities to succeed in the positions you’re applying for
[+] [-] perrygeo|5 years ago|reply
Nobody wants to listen to a dry list of technology proficiencies - but they LOVE hearing a good story about how you solved a real world problem.
[+] [-] foobaw|5 years ago|reply
If you're having trouble getting responses, I help people (hate advertising on here but I do this for fun for free) by providing connections to hiring managers (https://foxrain.ai)
[+] [-] spacemanmatt|5 years ago|reply
where compensation >= sufficient order by entertainment_value desc
[+] [-] optymizer|5 years ago|reply
The whole point of a generalist is to be that jack of all trades that management can just throw into any "high priority" project to get it shipped. These corporations are so big now that they've mostly wrapped all the existing tools or have developed their own, so the only skill you need is to learn a bunch of custom tools (with little documentation) sufficiently fast to be productive. So just learn the basic algorithms to pass the interview and then proceed to (probably) never use that knowledge at your FAANG job.
If you're on the older side, don't think about it. I personally know someone who's 65 working at a FAANG (anecdata but still). If you interview with a kid, they might ding you for "culture fit" because they're kids, but hopefully the hiring manager and the bar raisers are mature enough to see past that.
Your biggest hurdle will be the internal interviewer discussion that based on your experience you should be at level X, and, if in your interview you didn't show that level, that you might be unhappy at X - 1 or X - 2.
[+] [-] samelawrence|5 years ago|reply
Tomorrow, I'll apply for other similar roles and I'll interview again and again until something sticks.
[+] [-] bogwog|5 years ago|reply
Fuck that mindset. They're being paid to interview you, and you're (likely) unemployed. If anyone should feel guilty, it's the recruiters wasting your time making you jump through the many pointless hoops common in tech interviews today, and ultimately hiring someone else based on what is likely arbitrary reasoning (because in general, most people are lazy/bad at their jobs. Especially recruiters.)
[+] [-] mettamage|5 years ago|reply
Now I'm in a job where I'm simply judged as a developer. I've noticed that even when I find vulnerabilities and show them to the dev team at the startup I work, they don't care. When it's a critical, they care a little. They actively dislike that I try to do more than just programming, since it isn't of my concern. And yet, this is the most graceful company that I've been at since they hired me, out of the 100 I applied to.
So yea, I'm floundering. I want to help out with marketing and recruiting. I want to help out with some data science. And I definitely want to hack the company I work at in order to harden your product against hackers. I know my main role is being a dev, but I hate being only seen as a dev.
If any company hires people based in Amsterdam and would like such a generalist dev, I'm for hire. I also speak English ;-)
[+] [-] abledon|5 years ago|reply
[+] [-] consilience|5 years ago|reply
[+] [-] a_square_peg|5 years ago|reply
[+] [-] bfirsh|5 years ago|reply
I formally switched to product management in my last job. I have background doing startups, and this combined with jack-of-all-trades engineering, makes for a perfect technical product manager.
[+] [-] brightball|5 years ago|reply
Every giant company is looking for specialization. If you like having your hands in everything and it’s where you add the most value, look for smaller companies where it’s possible.
[+] [-] russdpale|5 years ago|reply
[+] [-] napolux|5 years ago|reply
I knew a guy some years ago making big money with his coldfusion experience.
[+] [-] bondolo|5 years ago|reply
Though I have done everything from kernel work to web development in my career I often end up working on or helping with the build and release engineering aspects. I will also frequently end up being the person who works on the product cybersecurity and security model.
It certainly isn't the most "fun" work but it is necessary and usually gives you a deep understanding of how the system works. This is especially true for older products.
Part of the problem you are facing is the assumption that by hiring smart people they are hiring people who can do anything, the people are interchangeable, fungible. Even if the "smart" part is true the willingness to work outside of their preference areas is not universal. Developers are often entitled, spoiled and fussy. And why not, with the variety of work opportunities and amount of choice available they can generally afford to be picky.
So it is not enough to say that you are a jack-of-all-trades, but that you are happier being that way and are explicitly willing to take on tasks/roles that may otherwise be hard to fill. This doesn't mean that they can assume that they will only give you the shit-jobs; it is still negotiated. If they want to you work on, for example, QA tooling and you REALLY hate that make sure to negotiate that the work is not open ended and for a specific project or time window. You are solving a problem for them, usually temporarily, and they still need to come up with a long term answer. Don't get yourself stuck in a rut of one particular assignment, it is too easy to wind up being stuck in that role for the rest of your time in the organization.
You can use staff turnover, particularly management turnover to your advantage. Every staff change creates a new configuration. Use these occasions to adjust your role and volunteer for opportunities which interest you.