Hacker News new | ask | show | jobs
by itamarst 3258 days ago
In general I would suggest not putting too much emphasis on these sorts of lists, especially once you're an experienced programmer. Yes, over time new technologies become more useful, but there's a whole bunch of core skills that will last you far longer than web-framework of the week:

1. General problem solving skills. A lead developer needs a whole bunch of skills that aren't listed anywhere on that list.

2. More slowly changing technologies, and underlying principles. E.g. Python and Java will be around for a long time. RDBMS have been around for even longer, and will continue to be around.

3. Ability to learn new technologies quickly.

And if you do it right you can get job that claims to require certain technologies even if you don't have know them.

Longer version: https://codewithoutrules.com/2017/07/16/which-programming-sk...

1 comments

While I agree with you, just look at jobs ads. They match the list a lot more than your description of a problem solver.
They do, yes, but that's what companies think they want; it's not what they actually need. And if you present yourself the right way you can get past that and get hired anyway.

(Blog post I linked to talks about that in more detail, and I talk a bit more marketing vs. skills here: https://codewithoutrules.com/2017/01/19/specialist-vs-genera...)

But how do you screen for these things without tipping off to candidates that that is what you are looking for? As soon as you explicitly mention a set of requirements, you will have candidates looking to game interview processes built around those requirements.
If I'm trying to hire people, why wouldn't I want to "tip people off" to what I want? I'm supposed to lie and then trick people into telling me what they're really capable of? That seems ineffective.

Interviewing people about their experience is a traditional way to verify things. E.g. If I'm looking for someone who can solve hard problems I can ask for examples. If they're beginning programmer who just got handed tasks like "code this function"... they will have no good examples.

I can also explain a problem I'm working on and see how the candidate approaches it.

But writing job posting that hides the fact I need someone who can solve hard problems seems silly.

Unless it's some revolutionary tech, like Haskell to a C programmer, the problem-solving skills and good knowledge of general principles would let you study it to a reasonable level in a reasonably short time.

That is, if you understand the ideas behind Smalltalk well enough, you will have no trouble picking up Ruby, Python, or even PHP; swap the initial language to taste.

If you are a beginner and the amount of ideas you know is limited by the two languages and a framework you picked up so far, then yes, matching a checklist of an employer is more about the specific tech. The farther from that, the less.

Exactly. As a newly minted programmer you're stuck with those lists, or ideally a company that's intelligent enough to be willing to invest in training (sadly too few of those).

Once you're experienced you can start treating those lists as nice-to-haves, if you have the right core skills and present yourself the right way.