Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Hiring managers, what tech skills will you be hiring for in 2017?
242 points by changeseeker on Dec 13, 2016 | hide | past | web | favorite | 232 comments
Please be as specific as possible. Also please mention your company and/or industry.

This should help folks trying to get into your company/industry on what they need to know and conversely help you in finding a better pool of candidates.

I am 100% owner of an internet company making 7 figure profits annually. I am extremely secretive of my business, almost to the point that some would consider a pathology. However, I will divulge my hiring strategy, because even if everyone uses my method, there will still be many employees for me to choose from.

I look to hire people who just need a job. People who are qualified, but not overly qualified. People I know will depend on the job for a long time, but not looking to make it their lives. Hard workers - getting there on time, but also leaving at the stroke of 5. Ivy league schools are a red flag. Huge resumes are a red flag. These people will constantly question whether every decision is optimal, prod incessantly at company strategy, continuously try to impress, and are always hungry for praise, recognition, and "interesting work." When they get bored after 6 months, they quit and go somewhere else (remember they can easily do so because of their pedigrees), often to a competitor, bringing company secrets with them.

I need someone loyal, who knows how to take orders without question, and is prepared to do the work that needs to be done day in and day out because they want the paycheck. Reading the above, you might think I'm a terribly demanding boss, but using this hiring strategy has produced a 100% employee retention rate and by all accounts we are all quite happy.

The question was what tech skills will you be hiring for and your answer was essentially I just want a plodder who's not overly smart and won't question my authority. Sound about right?

Tech skills are only one dimension of a multidimensional process that employers like me use to make decisions. I am here to offer contrarian advice that might be helpful to someone early in his career who might be a great programmer but may also be dismayed because he thinks the only path to a successful tech career is devoting your life to your job or going to an ivy league school and I am here to say that is not the case.

I don't understand why (forgive me for the generalization) blue collar work ethic and blue collar loyalty are so often dismissed in the tech field. Some of the best advice I ever received was 'execute in the seat your in'. Sure there are higher order strategies to work out but grow into it and growth is around growing into the company, not just growing into your specific vertical profession. Kudos on your directness.

A few reasons I can think of off the top of my head:

1) Anything that can be effectively described as "blue collar" will probably be replaced by automation within 3-10 years depending on the job. 2) Creative thinkers should be valued more highly in the tech field than those that can just follow orders blindly. Very few tech fields emulate an assembly line and the ability to think for yourself and develop an alternative solution is and should be highly valued. 3) Most people in the tech field, both employees and employers, are probably intellectual to a degree and free thinkers in and of themselves. So the cycle continues.

I'd also like to point out that this idea of a blue collar work ethic is somewhat flawed. There is not specific work ethic associated with the blue collar worker naturally; it's just a result of never having enough money for pleasure, so work becomes a part of the routine. The job doesn't matter as much when you're dirt poor as long as it's making money, and the risk of job loss is what you're describing as loyalty. This is really nothing more than a capitalist machine at its worst, not some utopic worker's attitude we should all aspire to.

>Very few tech fields emulate an assembly line and the ability to think for yourself and develop an alternative solution is and should be highly valued

A lot of management hates this. Less skilled managers, just want a dev shop where they can build and assemble parts.

It might have something to do with the business you're in. If you are b2b in certain areas, innovation isn't as highly valued as reliability. In fact it can be downright disruptive.

And the traditional "blue collar" jobs often have/had "Spanish" Practices designed to game the system - eg postal workers deliberately holding back first class post on a Friday to provide OT at the weekend - or doing a go slow in order to get a bung in a brown envelope.

That seems fatalist to me. The idea of a work ethic is to avoid fatalism and enjoy the present moment.

I think this is an idealistic view of what a work ethic is. This may be anecdotal, but I left home earlier than I should have and worked my fair share of "blue collar" jobs as a result and in none of these jobs were there people enjoying the present moment or describing any sense of loyalty to their jobs. They all hated their lives, hated their bosses and hated their jobs. Many could probably fit the description of a borderline alcoholic because that was the coping mechanism: Work all week, 9 to 5, then cut loose on the weekends until sloppy drunk and forget that you had to wake up and do it all over again Monday. And yet they were all "hard workers" with what may be described as a good work ethic. They cared because they had to...they needed the job and for them, anything better was a pipe dream. People in this position will literally fight each other for just a few extra hours of work...work that's shit and barely pays for a cup of coffee per hour. When you have the luxury of quitting, a strong work ethic should be valued higher because it shows an employee that genuinely takes pride in what they do. But when your life literally hangs in the balance of an extra shift a strong work ethic becomes instantly more selfish and less of an objective measurement of someone's capacity and instead is just a modern statistic on how far someone will go to survive. Most of these people are not noble altruists; they just lost their ambition when they realized their childhood dreams could never be accomplished and they've made the best of the situation. Working class heroes, indeed.

I can only respond with "Opportunity is missed by most people because it is dressed in overalls and looks like work" which is my favorite Edison quote. A 9 to 5 effort IMO will have disappointing 9 to 5 results. If you offset that with a fantastic personal life and a sensible retirement strategy, that's an epic win. If instead you squander that time on couch potatoing, you might want to rethink that outlook.

I wouldn't work for this guy, I want to work with people who are smarter than me and from whom I can learn new things. That said, he's right to not want someone like me, I get bored pretty quickly when I'm the smartest guy in the room so I try like hell to avoid that situation. But to each their own of course.

The plodders he wants are not well paid either. The people who tend to rise to the top of silicon valley companies tend to be like he describes, and tend to work many many hours.

You don't have to be at the top of a silicon valley company to have a successful tech career. I wouldn't want that for myself. Too high stress, not enough free time. I think that people that rise into those roles truly enjoy the stress and challenges of such a position, and good for them, but it's not something I'd ever want for myself.

what does the successful tech career that doesn't involve 'devoting your life to your job' look like?

How would is such a person define success for themselves, and how does your prescribed plan achieve that?

In other words, are you prescribing a plan that is beneficial for the company, but bad long-term for the employee, because they didn't grow enough by not 'devoting their life to their job'?

I read it more as he doesn't really care as much about specific skills, and will hire for grit and some level of loyalty. He also doesn't seem to beat people over the head with their job.

I get this.

here, i'll paraphrase for you, since i'm a "real world" hiring manager as well, with a business that i keep anonymous/secretive on hn.

"a reliable person who can actually, really, like, totally for real drive a problem to resolution and then go spend time with family. if there's an emergency, they pick up their phone and try to help."

this is a small percentage of the population, but big enough. it's why we (based in california) have a 75% remote workforce. hint: we still pay california $. that's how you retain talent. everyone on my team lives in huge houses and i live in an apartment.

you'd (well maybe not you, but you know what i mean) be surprised at the number of super-intelligent ("smart") people who can't solve problems when the pressure is on.

That pitch is great, if rarely seen.

My job entails emergencies from time to time, and it's rewarding to solve an issue at the customer, before it gets out of hand, while still solving problem on the long-term roadmap during the day.

What I do regret is the complete lack of remote, meaning I will pretty much leave this job soon, as my fiancée is currently living on the other side of the planet.

It's great to see companies that do care for employees well-being in other ways than office perks, and I'd love to see more of that in the future. Are you still looking for applicants?

> Are you still looking for applicants?

i don't recruit on hn. i will say this though: most people like you, if given the opportunity to work for a smaller, unknown firm for less money remotely, and a larger well known 'famous' firm for more money on-site, they will usually choose the latter even if they really want to work remotely.

in other words, "i want to work remotely" usually really means, "i wish i had all the upsides of BigCo with none of the downsides."

> I don't recruit on hn.

I can't blame you on that one.

Still, I want to address something. Remote work is a different paradigm, it doesn't make a lot of sense to compare the two of them. The upsides are pretty different, and so are the downsides.

I'm sure some people do not realise it requires a wildly different skill set, as well as a different mindset, to work remotely. The first thing that comes to mind is communication, the next is processes, and that's not the end of the list.

I'd take the job getting me closer to my loved ones any day over a job at BigCo personally, especially considering I feel strongly about the upsides. To each his own, I guess.

I can see why HN would trend towards the "don't wants".

Are you willing to share any communities or other resources you do use for recruiting? No pressure at all here, just curious.

well, most people check craigslist, no matter what their station in life/career.

That's because super "smart" people are taught that they will have 2-3 weeks to prepare for their biggest problems. In real life, big problems happen overnight, and you wake up to shitstorms. That said, some brilliant people emerge from Ivy Leagues, too.

Funny. I've spent most of my professional career trying my damndest to ensure that those shitstorms do not happen in the first place. :-)

(Not always successfully -- I have to admit -- but I try).

This is a very good argument, and something many devs/managers don't understand well enough.

I've seen a couple of such shitstorms where we had to hack on production systems to get them back to work quickly before thoroughly fixing the actual problem. Almost always, it could have been prevented with proper unit testing, code reviewing and more thought-out deployment processes.

An ounce of prevention beats a cure. The "smart" people are the ones that know taking the extra time to set up tests, controls before production, effective logging and documentation, are the ones that DONT have to wake up overnight to shitstorms.

I used to be surprised but after witnessing this many times it doesn't surprise me anymore.

Not surprised at all. I wish more people would emphasize at least _working_ on social skills or real-world problem solving. We would all benefit from this.

This sounds like the kind of job I'm looking for. The problem is, my resume is filled with those red flags of yours because I used to be that guy with the huge resume who was hungry for "interesting work". Now I'm just a senior dev looking for a steady paycheck away from the rat race. Any tips for how I go about communicating that to potential employers?

Your resume only contains what you choose to put on it.

A resume doesn't need to be exhaustive. It's common to leave off a J.D. when applying to non-law positions (precisely because of this).

Where I live (Japan), this is the most common strategy. The best way to get a job in Japan is to tailor your resume in order to show a maximum of loyalty. Anything too far from the norm can be a red flag (like not being married).

The best advice to take from your post is to make sure you know which type of company you're applying to. A small bootstrapped lifestyle business probably won't hire like a hot SV funded startup, which makes a lot of sense.

Being married is the norm in Japan? I thought they had a ton of singles.

When they get bored after 6 months, they quit and go somewhere else

I thought you had 100% retention rate?

100% reading comprehension, great work.

Read carefully. "using this hiring strategy has produced a 100% employee retention rate."

Those who left were hired at an earlier time when I thought hiring the top tier Ivy Leaguers was the way to go.

this post reeks of wishful thinking and general bullsh*t. "100% owner", "7 figures", "100% retention rate" - some really lazy hyperbole...

I and others read his post carefully and agree with it/believe it. The 100% retention rate obviously just means he isn't seeing churn - if he doesn't do anything he won't have to fill the seats that are filled today on his team in four months due to churn. It's obvious that that part wasn't literal: he told us of the experience of employees leaving (to go to competitors, and taking his trade secrets / competitive advantage with them - and that the people who did so had superlative/"ivy league" credentials.) nothing wrong with his post.

By the way 7 figures covers everything from 1,000,000 to 9,000,000 - so I read it as being barely seven figures in profit, or I would accept if the actual bottom line profit were 700k-1M (so that it's a bit of an exaggeration to call it all "profit"). However the top line (sales) has to be (well) over 1m or I am unhappy/consider it too much embellishment.

OP - what does the top line look like? Roughly how many employees do you have?

I laughed, I'm pretty sure it's satire. Right?

If only I had taken the advice in life I dismissed so quickly out of disbelief, just like you're doing now, I'd be where I am so much faster.

Advice such as?

It's possible to have a %100 rate when you haven't been around long.

100% owner also means they bootstrapped and were a solo founder.

Seem to be dancing around saying you preferentially hire military veterans without actually saying it.

Basically you've described my serious, competent, self disciplined ex-mil and reserves/NG coworkers. Wait... do I work for you?

Hmmm. Your "who knows how to take orders without question" requirement (paragraph 3) would discourage every great person I've ever met, while weakening your overall enterprise (what if the Titanic's jr. officers had respectfully asked questions about going full speed at night in waters known to have icebergs?).

Manage your boss by not screwing up their OODA loop. Open your mouth at the Observe stage no matter if they want you to or not, don't distract them at the O and D stages, and make the best as fast as possible of their Act stage. Slowing down or sabotaging their O,D, or worst of all, A, makes you look like a problem and slows the loop cycle time making the likelihood of future bad O or D even higher while also pushing the correct A out while possibly cutting into future Observe stage available time, a quadruple lose-lose-lose-lose situation, which is impressive in its own way.

That model may work for fighter aces but it doesn't work for the office. In any project that takes more than a day you spend most of your time in the 'Act' stage and get a ton of new information before you finish executing.

Technical managers have to be sensitive to new information, * especially * when it ruins their spec.

I don't think he wants great people. That's the point.

I think he wants cheap people. Everything he is looking for is hinting at cheap.

Not necessarily. He says he operates in NY, so he can't pay too cheap. Even the most loyal employee will jump ship if the competing offer is 2x what he's currently making, especially with NY cost of living.

What he wants is stability. You'd be surprised how many very smart people put a premium on that sort of thing, especially when they get older.

They won't get 2x offers if they don't have a pedigree and can't handle hard tech interviews. (Which is what he's filtering for).

An employee with limited options = A more stable employee

Humbly disagree. 2x offers depends on how little he's paying them to begin with vs how easy it is to switch jobs. You don't need a pedigree or be able to handle hard tech interviews to switch jobs in NYC. You just need to go on a lot of interviews. Eventually, one will say yes.

NYC isn't exactly a place where you have limited options. You want limited options? Try to find a job upstate.

In this situation the employer has stable option, you'll stick around no matter the crap.

From perspective the employee it isn't stable. Sounds like he'd get rid of you, if you disagree with anything.

It will also create a company that can't grow past the point where you are the lynchpin. Good leaders find people that will put them out of a job, not lackeys to do whatever they say. If you're happy where you are, then I congratulate you on your success, but when was the last time you took a vacation?

Actually the business mostly runs itself and I usually spend only about 2 hours a week on it. The business has a healthy profit margin so I can afford to over hire and build in redundancies so that even if one person is out sick for a few days, the other person picks up the slack without me having to do anything. Unlike many other companies who overwork their employees, I try to make sure that every employee can easily finish everything by 5pm. Otherwise things build up, problems arise, things don't get done, and I'd have to step in, which I don't want to do.

"hire for attitude, train for skill" [0] is the business usual, this reads more like "hire for attitude and aptitude" [1]

[0] https://hbr.org/2011/02/hire-for-attitude-train-for-sk

[1] https://www.eremedia.com/ere/hiring-for-both-attitude-and-ap...

This is really freaking hilarious when you look past how cruel and exploitative it is :).

Your hiring strategy is not "your" hiring strategy: its every mindless, exploitative, and compassionless corporation in the universe. In otherwords, youre overwhelmingly average! Youre contributing to the very problem youre having: no one wants to work for an entity that operates like this.

It's funny. I have always suspected employers were looking for this sort of thing. Hence the odd glee in their voice when they hear me talk about spending my hard earned money on discretionary purchases. The more I spend, the longer I stay.

Perhaps the takeaway for all of us is that we all need to be humble and at least pretend we need our jobs, even if we're aggressively saving for an early retirement.

I kind of agree this strategy, but do note I am not looking at being cheap. My people are paid well above market rate, the point is I need execution and work done, there is a limit on how out-of-box and creative an employee should be. One can question the technical solution or even the business model, but after a decision is made by the business owner, execution must be done instead of incessant arguing over the merits and demerits of such decision.

As such, I tend to hire those who don't take oneself too seriously. The OP's redflags I feel are corollary to this observation.

Be humble and get shit done.

Where are you based? Sounds like the type of company I would like to work for, because you figured out the almost lost art of vis-à-vis loyalty.

I am based in new york but not currently hiring

This actually seems reasonable and fair under two criteria:

- Questions... people need to ask questions (but not ad nauseam).

- Compensation... 'need a job' should not translate to a desperate wage

Understanding and acknowledging your employees have a life after work is important. The only question I have is how, or do you give out bonuses from your yearly profits.

How do you solve management problems when scaling?

I understand your reasoning when it comes to well defined business requirements with well defined technical problems. But once the initial set of requirements are done, how do you proceed? I suspect you need at least some amount of overachievers to fill mid-level management roles.

Sounds like a 50 Shades of Gray scenario...

The problem with loyalty is you can only spend it in one place. Its like a points card at a grocery store.

Do you have anything available and how do I apply?

thank you for this answer. I'm glad that this is being enforced because this is literally me 100%. Glad to see that other people are looking for someone like me.

So given that I may likely be hiring in the web and mobile application security spaces again next year (I've _somehow_ filled all of my open positions this year; appsec is difficult to fill with external hires), I'm focusing specifically on three skills:

  • ability to assess tech/architecture risks in apps

  • experience in devops automation ("secdevops" if you will)

  • proven skill in communication regardless of depth

The ideal candidate would have all three, but I could settle with any two of these and still be happy.

I am not currently hiring, but I'll gladly keep any CVs I receive and prioritize follow-ups with anyone who reaches out to me directly. Austin/DC for curious souls.


p.s. the web appsec space is in ludicrous demand. If you've got a breaker mindset, you'll probably come out ahead if you read up on it. If you're a developer right now and want to dip into it, I'd suggest: https://www.amazon.com/Web-Application-Hackers-Handbook-Expl...

Trust me, us security folk will thank you. Heck I'd suggest it to non-hackery devs too. It's a good way to find out how us security types see the world.

Super interested in this space. I checked your profile but only saw a keybase profile. A friend JUST hooked me up with an alpha tonight!

What if I am infosec/netsec/whatever student and I watch a ton of Pluralsight on AWS and Docker and I am starting to build my own lab. Will people hire someone like me? I ask publicly because I assume I'm not the only one.

Possibly. Especially if you're using building the environment as a testbed for teaching yourself how to break into apps or how to automate security tools.

About that... you know what's more likely to get you hired in the space? If you have no work experience in appsec but walk in and tell or show me a pattern for how you automated appsec testing in a build pipeline or QA process at home and describe the challenges you had to overcome, or if you have a few fleshed-out bug bounty submissions (with exploits) and can describe your favorite one in depth, or if you've taught yourself how to review code for flaws and could do it in front of me in an interview setting, I might be quite willing to waive the years in appsec requirement. Other smart hiring managers probably will too.

https://www.owasp.org/index.php/Category:OWASP_WebGoat_Proje... <<This is a good starting point for learning how to break things. Also for learning how to fix them :)

Got it. This is what I will spend my weekends on after an exam. Thanks for your response, and aapologies for my late reply.

What are competitive rates for an appsec engineer?

I'm a tech lead who's always been interested in appsec(very passively), but it always seemed like a long journey from here to there. And I was under the impression the rates were pretty similar which made the task seem more daunting.

Depends on your locale and the firm. I know of firms in the bay willing to pay well over 200 for lead appsec engineers, but the spread there can be wide and you'd need to meet most of the qualifications for the role to get it.

I can share more detail in private eg on twitter.

This is my absolutely favorite work. I love coding, but I absolutely love enabling developers by providing a solid architecture and DevOps ready infrastructure. Would love it.

Nice. If your background is strong in automation engineering, you can frankly probably get an appsec engineer position at most decent in-house shops right now just because so many of them are trying to avoid relying on consultants for pentests and assessments. One of the larger challenges right now at most firms building out internal appsec programs is to get to a point where security-focused static code analysis and pentest tools can be automated such that devs only need to address issues that magically pop up in Jira (or any other defect tracker) rather than having to learn new tools.

If you already have that experience but not specifically in security, it'd be a great fit and you'd be encouraged to apply wherever automation is even barely touched on as a requirement.

Guarantee you any appsec hiring manager will consider that background.

I wasn't aware that was a big problem. My company is a large corporate company and I feel we lag behind a lot of things. However we have automated static code analysis through HP Fortify. It points to our build, scans and reports are generated automatically. Someone on the app security team needs to run the HP Webscan for pen test.

I'm a senior developer and I made a name for myself when we started having the requirement. I helped secure ~10 webapps as I was the most knowledgeable about security amongst the devs.

The app sec guys I know at my company, though intelligent, are not strong developers. There were times I spun a story to get them to mark something as false positive - or I knew what the scan flagged for and coded around it. I know, bad practice, but sometimes the scanners mark something as critical when IMHO it's not.

Once our apps were secure, maintenance is pretty low as we'd just fix any new vulnerabilities introduced by coding, or updated by the scanner tools.

Do you see a need for strong developers in app sec world? If so, any recommendations on ways to make the leap? Not really looking for something where I just click a button and scan...but something more in depth that would use my development experience. I have a Security+ cert, doubt I can get a CISSP since I don't know anyone with it to get sponsored.

Some mature orgs have done a good job of automating this, but it really depends on the industry. Finance and FinTech, for instance, are ahead of the curve here. Most government entities on the other hand don't even realize there's a curve ahead, as do many utilities companies and some healthcare firms. So to your point about it being a big problem, "it depends on the company."

As for strong developers in the appsec world, certainly. Especially if you have a strength in the automation side, you can easily carve a niche out for yourself. The main two areas where I can see a dev taking charge are in driving the use of security features in frameworks product teams already use (this is a HUGE bullet being pushed by notables in AppSec as it reduces the effort involved in uptake of secure coding practices) as well as in leading automation of new tooling in support of new frameworks. There's also the angle of developing custom solutions to address firm-specific problems, something appsec people without a strict development background will have a hard time doing.

Quite a few appsec leads prefer bringing in developers with a breaker mindset in as appsec hires, so yes, there's always room. Depending on how you answer the question "what does 'secure ~10 webapps' mean?", you can probably easily score a lateral move into AppSec (Senior Dev -> Senior Security Engineer or Senior AppSec Consultant/Engineer).

My keybase profile has all my contact info if you want more tailored guidance. Even if you don't join my firm or any of the other firms I have a hand in shepherding, we desperately need more people in appsec, so I'm all about sharing this knowledge.

Thanks for this post. I've had that book on my shelf for months now, and I'm going to start reading it. Thanks in general for the information here, it's helped validate a few suspicions I've had, cheers!

Of course! And by showing initiative, you're also motivating others and thereby live up to your username (for what it's worth =).

What counts as 'proven skill in communication' to you? Other than how they communicate throughout the interview process, I'm not sure how else to test for this.

Interesting. Lots of picky responses here--people prepared to wait it out and go through tons of candidates looking for perfection: Need this language. And that platform. Must know such and such database. And DevOps. Front end and backend. Full stack. And these four key abilities. And passion. Prepare for the interview. Be ready to explain this and that. Be good at whiteboard coding. Went through 400 candidates.

If you can sit back and pick and choose like this, then how does that square with the mythical "shortage of engineers" everyone complains about?

"Lots of picky"

American companies front-end static pickiness for rando applicants. A snapshot a month ago by a non-technical HR associate indicates the ideal applicant would be experienced with the following list of 25 emacs extensions, prefer while loops over until loops, have memorized everything in Knuth but use none of it on the job, and wear a size 10.5 shoe preferably eee width.

The real world dynamic work experience over the past couple decades is someone comes to with some sob story about "one of our execs went golfing with one of their execs and I know you've never used freetds or mssql but you need it up and running and integrated with out stuff by the end of the week" "what is it?" "I don't know but just get it connected as best you can". Another classic was being on rotating pager duty and getting midnight calls about a product I literally did not know existed, I mean I'm used to handling problems with no training or documentation, that's to be expected, but I didn't even know we were selling this thing. Both stories are true and honestly not very surprising. This is pretty much how "real world" IT works AFTER you're hired. And I'm extremely good at that, its like a giant self solved puzzle, so I don't mind, but I assure you, no one interviews rando applicants for that, even though its the most important part of keeping the job.

Mostly I get work from old coworkers and the first month is just like six months of normal change rate rolled into one, its not really a big deal. Its a forklift upgrade. I've worked thru several of those, a new job is just a forklift upgrade along with a new chair. I could walk into any dev job on the planet and be productive in a month and stay productive there as long as I want. I know three people that experienced up front picky because I got my current gig because I know some folks and HR had to go thru the motions, so they sat thru insane tier interviews that I skipped. Hours of HR style "You reach down and flip the tortoise over on its back, Leon." and it goes on and on.

Though I don't do recruiting myself I have a few friends in tech HR here in Berlin. It is not the total number of developers available that makes the problem, it's the high percentage of incompetence.

That's assuming you're good at spotting competent engineers. Everything I've seen both in this thread and elsewhere tells me companies are horrible at determining engineering competence.

Spotting competence is different from filtering incompetence. I can tell in 15 minutes if someone is clueless, but it takes a long time to establish if a candidate is just above that threshold or truly exceptional.

I don't know--It looks to me that people have a very, very narrow view of "competence" then. When you define a role so narrowly, with so many requirements and conditions, don't be surprised when you reject 399 out of 400 resumes, and don't call it a shortage of talent.

I won't bite on the "talent" part as that's obviously hard as hell to spot. Someone can seem entirely incompetent yet sitting on talent that hasn't been nurtured yet.

What I do see and hear about are people that simply do not know how to program. FizzBuzz generally cuts out 50% or something out of the pool right? So that's 200 of those 400 resumes out the window already.

If you can't pass FizzBuzz then I think it's safe to call you incompetent, right? From the POV of paying you to code, obviously.

At least in Berlin there's a lot of competition for "talent" (perhaps we should call them skilled developers rather) and if one can already cut the number of applicants in half before even defining the job description... well then it's not hard to see how there might be a shortage.

However I think if you're looking for entry level developers there are way more options.

Old thread, but I'd like to point out that I don't think filtering out people who can't do FizzBuzz is "picky". What I'm calling picky is the extremely narrowly defined sets of skills people in this thread are looking for. There is a huge gulf between "competent programmer" and "expert in language A, platform B, and framework C". Most companies would be perfectly fine with the former (of which there is no shortage) and reject a lot of good candidates in a sometimes futile search for the latter.

So I was recently hunting for a new job after having worked with React & Mobx for the past two years. The company I'll start with is using Redux, with which I have zero experience, and I got a lot of offers/interest from Angular/Ember shops as well.

I think it's fair to want someone who's experienced or at least has a fair bit of knowledge in either Angular/Ember/React if you're looking for a web dev. The companies I talked to were at least reasonable enough to know that general knowledge transcends whatever's the current hot framework.

It seems like generally "competence" is being defined as being in the 95% percentile in tech.

The 80% percentile of applicants is defined as people who can write a program to print numbers from 1 to 10.

Not sure about the 95%. Maybe that's people who can do it without bugs nor expressing that this is a very dumb question unworthy of them xD

LOL yeah that would be a problem.

That's exactly right. If you are a competent engineer, you have your pick of jobs. And for every one of you, there are 100 others on the market, probably 80 whose resumes I'll throw away after 30s, 15 who won't make it through an initial code screen, and 4 who will fail in final round interviews.

What makes you throw away a resume?

Someone claiming they "have multiple apps on the App Store", and it of course it's a bunch of useless crap apps that they made by following a tutorial on youtube.

I've seen a lot of disagreement about whether you should 'hire for your stack', i.e. hire narrowly for your team's current work and tools.

I briefly ran hiring for a team with a core skillset that I thought was pretty general (python/web), but a lot of the python resumes I got turned out to be 'I used it in college', 'haven't used it recently', or django-focused devs who were uncomfortable with anything non-django.

I'm not sure what that means other than that I'm bad at sourcing. Seems like 'aiming at my stack' was the wrong way into this, but I'm not sure how else to filter resumes.

Short term hires should hit the ground running. Long term hires should have core skills and don't need your stack first day. If you don't know which you're hiring for then they won't ever fit correctly.

I manage the Google Container Engine and Kubernetes team in Seattle (we have other sites in Mountain View and Warsaw).

Aside from the obvious interest in building container orchestration systems, I look for a passion to solve real user problems, not only building a piece of tech.

Bonus points for knowing about Docker or containers or clouds or Golang or security.

More points for meeting users where they are. And the most bonus points for leadership and initiative.

We're particularly looking for someone to lead and/or manage our software eng team building security features into Kubernetes and GKE.

Wow, working with Google would be a dream come true for me. However, most of my experience is with Amazon ECS and Docker, tried a bit of Mesos.

? Why is that a "however"? You have bonus points already!

Apply and make your dream come true!

Well, honestly, I have a sort of inferiority complex when it comes to applying to Google. It's like Atlantis to me.

Definitely apply - that's useful experience to have at Google. After all, what's the worst that can happen? :)

Bear in mind that our hiring process is SLOW, so be prepared for it to take a lot of time. Best of luck!


wow, I've had experience in using Mesos & Docker in prod (running a 200 node cluster).

Also worked as a TE @ MS - had to meet devs & c level execs in startups.

Every time I've applied to Google Canada, I've been told that I'm too late (I get notifications when the jobs are posted and apply asap) and to apply 6 months later or that I'd have to move to SF (really want to work from Canada).

It's my dream to work at Google.

I work at SoundHound as a Senior Software Engineer, and take part in interviewing/hiring. Full-stack JavaScript engineers are still in very short supply. Lots of people claim to know JavaScript but many fall short when working across the stack. When I say full-stack, I mean being responsible for building and managing everything the front-end webserver (NodeJS), Database (Postgres/MySQL), and front-end (usually ReactJS/Flux).

Also backend and data engineering roles (C++/Java/Go/Kafka/etc) are in high demand here.

SoundHound is hiring in SF/Santa Clara/Toronto.

That's because someone who can build you a server from barebones hardware to a running system in the cloud, waiting to accept and serve data won't pick a framework to write the application; they are unlikely to even use JavaScript for the backend part, because they learned their lessons. What you have are conflicting requirements. You have to work on those first, or hire someone with 20-30 years of experience, pay them appropriately and trust them.

I said front-end webserver, not backend server. Not sure what lessons you are referring to. Lots of people use Node in production for large-scale applications. You don't need 20-30 years of experience either.

> Lots of people claim to know JavaScript but many fall short when working across the stack.

What do you look for in a resume or application that would make you confident that you've found somebody with that experience?

Just took a look at your company's website. Looks interesting but I am a bit confused.

Can you explain what is your product? Not 100% sure I understand.

Once upon a time (and probably still now, though it sounds like they've generalized their idea a bit), SoundHound was a Shazam competitor with a nifty feature where you could sing or hum the song and SoundHound would actually manage to figure out what song you're singing. I definitely preferred it over Shazam by a long shot, but its song database was a bit lacking (or maybe the recognition piece was working too hard), so I'd often have to try again with Shazam.

I've since switched to a personal policy of "no Google stuff on my phone", which means not having access to the Play Store. I haven't checked lately to see if SoundHound is on Amazon's app store (it wasn't when I first checked, but neither were Spotify or TuneIn and now they're both available, so I might go do that).

Is there any reason not to simply download the APK if it's a free app anyway and signed correctly?

There is none, but I generally prefer to have my apps managed through at least some system of notifying me of potential updates.

I believe their original product was a song recognition system similar to Shazam. It looks like they've now expanded to other applications related to audio recognition and processing.

It was, and it was better at one point because unlike Shazam, you could sing or hum songs too.

I think they relied on user submissions for that functionality, but if it works it works.

We are also hurting for front-end javascript engineers and have found the exact same thing. People put javascript on their resume because they recognize the loops and other syntax from their cs classes but in reality know almost nothing about it.

Curious, what kind of things are you looking for?

Yeah, I am curious as to what skills are most prized in frontend engineers.

Sidetone: I am semi-actively looking for a Javascript Engineer job (fullStack or frontend with ~2 yr exp). Are y'all hiring?

In your opinion what does it mean to know JavaScript?

Personally. I'd mean someone who knows and understands how to structure JavaScript apps in a way that makes it easy to maintain, extent and deploy. Someone who understands the tooling and ecosystem that's been built up around JavaScript when it comes to things like modules and packaging, and know when to use what (and more importantly when not to use what).

What do you use Go for? Do you expect engineers to be up to speed on it or do you allow new hires to pick it up? Is it a tech skill worth getting? (worth as in taking time away from Node/Javascript learning)

When recruiting for web development (heavy JavaScript SPA work), I look for 3 technical skills:

1. Core JavaScript. You should be able to read modern idiomatic JS code pulled from an open source project and explain what it is doing and how you would modify it to add features.

2. Core CSS. You should be able to review Bootstrap source and explain how it works. You should be able to create static HTML/CSS to match UI mockups.

3. Higher level SPA library/framework (e.g. React, Angular, etc). You should be able to demonstrate an understanding of the core concepts of your chosen framework.

I find that these 3 skills are sufficient for productivity in SPA web development.

This may not be the place for this, but do you have any recommendations for learning front end development in that way? I've done some front end for my current job, but frankly I'm an amateur and I want to be able to market myself as full stack. Do I just glue a tab with Mozilla docs to my browser and make sites in my spare time? I'm asking you in particular because I value core competencies and what you're looking for what I want to achieve.

I would say follow these https://github.com/vic317yeh/One-Click-to-Be-Pro#javascript, enough to get you ramped up as a front-end engineer

FastMail in Melbourne is going to be hiring for skills in three languages: middleware (Perl), frontend (Javascript) and support (English) early next year.

It's not so much specific tech skills as attitude. We're strong on pragmatism with a touch of pride in doing it right. Pragmatism without that pride in quality leads to hacks that are unmaintainable - obsession over perfect without pragmatism leads to never delivering.

Do you have any insight what it's like getting into this industry here in Melbourne? I've been teaching myself JavaScript and built a functional, interactive site. But speaking to an agency yesterday, they said they wouldn't even consider looking at anything for me where I hadn't worked for a couple of years already. Chicken and egg problem.

This website seems to be mostly Californians. (Maybe I need to hang out on Whirlpool more.) Is it worse here or better?

If you don't have any formal experience, you aren't going to have much luck with agencies. They're strictly looking to put round pegs in round holes - match up the experience and education credentials and listed skills with the company's posted requirements. But that isn't the only way to get a job. You're going to need to convince somebody with some hiring authority to take a chance on you.

This usually entails hanging around at tech conferences, meetups, user groups, and other such in-person social networking events, including more business-focused ones. Do things to contribute, and talk to people. You'll want to focus on smaller companies without a lot of strict hiring requirements. There are decent companies out there willing to hire junior people without a lot of formal experience. Flip side is that agencies also evaluate the companies for you before you even know anything happened. You won't have this, so you'll have to be more careful about checking out any company you might work for. You probably won't find your dream job right off the bat, just find somewhere you can build something with actual users, make some money, and learn things, and start building a resume. You might luck out and end up somewhere awesome, or you might find yourself somewhere you just want to get enough experience at before moving on.

I would definitely suggest getting along to MelbJS nights - aside from the fact that there's some good folks and great talks, there's usually a bunch of people who will advertise what roles their companies are usually hiring for.

also, make sure your portfolio site is up to date and has lots of projects that you're working on.

If you've got no commercial experience I wouldn't really recommend going to an agency, mostly because agencies are too expensive for companies if you're just going to hire juniors - plus there's usually no shortage of junior devs, especially this time of year.

any internships available?

Intelligence. Tenacity. Ambition. Judgement.

Bonus points for recognizing the bullshit parade that is the current startup world. e.g.: NodeJS has value, but it's mostly the same wheel we've had for 20+ years. Or that MongoDB's changelog has consisted of standard SQL features for the past five years and that pgsql would have been just fine (had people read some boyce-codd anyhow).

What do you put in your job ads? Usually all I see is a list of tech that I haven't had the inclination to learn as it seems like a step backwards for the majority of use cases- e.g. MongoDB in place of relational databases.

I guess most companies need to pretend that they are a cool tech company with a "challenging line of work". The sheer shortage of programmers manifests a developer-centric market where using the cutting-edge technology matters, even if the business considerations make less of a sense.

Take for example, Walmart Labs move to Node.JS + React [1]. The rationale is quite obvious here. It's a step to distance from the corporate portrayal of "Walmart" and create an image of a nimble, developer-friendly team (There maybe other important reasons, but I'd assume good PR mattered a lot). Contrary to what HN may suggest, the first thing that exhilarates a developer (the early ones to say the least) isn't the business, it's the tech.

[1]: https://blog.hellojs.org/walmart-labs-releases-electrode-mov...

Maybe because developers were sick of being forced to use "corporate technologies" sold at golf courses (like crap from IBM or Oracle)

So when I see a job posting advertising those I know the people in charge have no clue in what they're doing and treat developers as janitors.

Or as pg said: "The more of an IT flavor the job descriptions had, the less dangerous the company was. The safest kind were the ones that wanted Oracle experience. You never had to worry about those."

I am busy wrestling with Salesforce right now (the height of crapness in my opinion), but it hasn't stopped me seeing relational databases as more useful than Mongo in the majority of use cases.

> ... "corporate technologies" sold at golf courses

don't forget the tennis courts

How do you judge those qualities? I too interview for a similar set of skills (intelligence, curiosity, a desire to constantly improve things, someone who's just willing to put in the hard slog as well as work on the fun projects) but it's incredibly hard!

I've definitely had people that interviewed well that just wanted JIRA tickets fed to them immediately upon starting. It's very hard to figure out if someone will seek out and make improvements consistently from the basis of conversations.

(I'm in ops so there's rarely a body of code available they can share for how they work, either.)

take it with a pinch of salt... people that excel in all 4 criteria are at most 1% of workforce, and you need to bring some serious money and interesting challenges to attract them over from other seriously paying places with great challenges and atmosphere and whatnot.

I mean, what ambitious person would like to worse in less that best job available on the market, for best possible money?

Communication and compassion to go with these. I don't want a "team" of hotshots. I want a team. And I want that team to be able to work with other teams.

> Or that MongoDB's changelog has consisted of standard SQL features

Funny, because it's pgsql that added a JSON data type in response to MongoDB and others.

Convergence is always happening everywhere. Linux has a Windows runtime, and Windows now has a Linux runtime. :)

But postgres is still optimized for queries, mongo is optimized for random deletes ;-) Funny indeed.

These are actually the things I have come to value as well. Especially tenacity. It seems like a distressingly large number of devs just wilt under failure. I am always interested in people who can reverse a failing project or system even if it was their own failure to begin with.

What's so special about NodeJS:

* It has a revolutionary module system (Common JS) witch allows less coupling, more code reuse and better abstractions.

There's nothing "revolutionary" about CommonJS. It's a packaging system that offers simple encapsulation (but so does Java/Kotlin/Scala or C#). There's something different about it, in that it allows concurrent use of different versions--but, frankly, to me that's a demerit, not a positive, 'cause I'd rather keep my dependencies squared away.

I believe there was a way to package and deploy apps with multiple versions of the same deps in the Java world before NodeJS came to be. I remember a buddy candidly explaining those capabilities to me, back when Rails gems were still managed with rake tasks.

OSGi, probably. Which is kind of hairy. But it's a difficult problem on the JVM.

NodeJS allows lexical (function) scoping of modules. I do not know any other language that allows this. Function scoping allows better decoupling when functions do not depend on the outer scope.

And modules in NodeJS are truly modular as they contain all their dependencies, even libraries.

The former: I'd like to know how this is better than, say, assembly-level scoping in a PCL in C#. It's different, but I wouldn't call it better, and I wouldn't say that it enables better decoupling--just decoupling at a different level.

The latter: as mentioned in my previous post, this is, to me, a misfeature. Transitive dependencies being encapsulated in a dependency increases the likelihood that those dependencies don't get fixed when bugs inevitably arise in those transitive dependencies. Do not want.

all variables in JS are private. Nodejs module require's are private in method scope. all modules in nodejs are open souece, when you find a bug you make a pull request. Popular modules are used by many, bugs tend to surface quickly. Semver versioning is used, so its usually safe to upgrade minor (bug fixes)

I'm not sure if you were building a case towards something, but I definitely don't get where you're going. Variables being private or not-private is not particularly meaningful to encapsulation while exports are relying on underscore-conventions to protect your internal state. Modules being open-source or not is not particularly relevant to either question, nor is semver when your transitive dependencies don't upgrade and so you're pulling in hard-to-audit transitive dependencies that may have red flags (and if your answer is "it's open-source, do it yourself", you have a very interesting view of what a developer should be spending time on).

All variables except those in the global scope are private, so you do not need underscore-conventions, simply do not declare the variable in the global scope! And when it comes to nodeJS modules, there are no global scope, all variables will be private unless explicitly exported. So instead of obj.__foo you just declare foo somewhere and it will not be possible to get or set it outside the module.

Since all variables are private (function) scoped in JS you do not have to worry about shadowing (overwriting variables), especially when your functions don't have any outside couplings, witch is possible with (common JS) NodeJS modules as modules can be required from within functions or methods. They are just like any variable.

I think I'll have to make a blog post to explain it in more detail. And I encourage you to do the same ...

What do you mean by transitive dependencies ? I don't think there's a concept of transitive dependencies in NodeJS.

If you spend one hour to fix a bug in a open source project, you have probably saved other people thousands of hours of work, money, or frustration. Software is special as it cost very little to copy code, so your one hour contribution can be copied many times creating a lot of value. It's like you would bake one cake once and it could be eaten many times, over and over again.

> All variables except those in the global scope are private, so you do not need underscore-conventions, simply do not declare the variable in the global scope! And when it comes to nodeJS modules, there are no global scope, all variables will be private unless explicitly exported. So instead of obj.__foo you just declare foo somewhere and it will not be possible to get or set it outside the module.

Alright, I get you now. I agree with you on this that it does allow for that sort of encapsulation--but, IMO, that's a bad kind of encapsulation; having to put fundamentally object-oriented data outside of the object strikes me as a profound routing around serious linguistic damage.

> Since all variables are private (function) scoped in JS you do not have to worry about shadowing (overwriting variables), especially when your functions don't have any outside couplings, witch is possible with (common JS) NodeJS modules as modules can be required from within functions or methods. They are just like any variable.

This, OTOH, is pretty much the same as any language with any kind of encapsulation. Maybe ES modules have finally approached parity, but it's nothing special.

> What do you mean by transitive dependencies ? I don't think there's a concept of transitive dependencies in NodeJS.

Every dependency of your dependency is transitive. Just go look in the node_modules directory of any of your dependencies! If you require X and it requires Y and Z, bugs in its version of Y or Z are suddenly your problem. And its upgrade strategy becomes your problem, too.

OTOH, in something like Maven, saying "no, use my version of this transitive dependency" is very straightforward.

> If you spend one hour to fix a bug in a open source project, you have probably saved other people thousands of hours of work, money, or frustration.

And my client doesn't care. If I'm working on my stuff, sure, I'll do that if it's the most efficient way to solve my problems. My clients do not give a single shit about this, though, and I have to build things they can deal with, not me.

So this is at best a misfeature. Primarily a bug.

Using open source software is usually faster. Practical example: The other day I needed to 1) Take a screen-shot of a web page, 2) Get a visual diff if it had changed, and the solution looked kinda like this:

  function takeScreenshot(webUrl) {
    var webshot = require('webshot');

  function visualDiff(imgPath1, imgPath2) {
    var imageDiff = require('image-diff');

I'm honestly not sure if this is sarcastic or not. CommonJS is just one approach to solve missing native modularization in JS, but not really revolutionary. Other languages usually have built-in features with a similar purpose, like "import" in Java or Python.

Couldn't you say the same thing about C? Or C++? Or really, any language made in the last 3 decades? (Except JavaScript which only got it recently and has several competing module/import mechanisms)

C/C++ has no module system to speak of. Libraries are packaged in a whole menagerie of ways and shapes, with different build systems and different ways of linking and including various parts of them.

Try building something with SDL on Windows if you want to see this for yourself.

At Lever, we write about what skills we are hiring for in a very different way we call an Impact Description. It outlines the role in terms of our expectations for 1, 3, 6, and 12 months into the job.

Here is the description for our Backend Engineering role, a really cool new role that we're hiring the first of onto our Platform Team to compliment our Full-stack engineering team: https://jobs.lever.co/lever/7ab138b0-b5c8-425d-93ae-2fc2b051...

I really like this approach. Very clear and gives the candidate a good idea of what work they will be undertaking.

When I am hiring for Aha! (www.aha.io) one of the key things I am looking for are people who have shown an interest in software development beyond just a day job. The best candidates are those for whom writing code is a passion - something which is done for fun rather than just a way to make ends meet.

This shows up in a resume in lots of different ways. For some people it is a rich Github profile. For others it is that they paid their way through college by building websites or apps.

We primarily hire Ruby on Rails developers who work remotely. Seeing in someone's Github profile that they like to contribute to open source and know how to collaborate with other developers are really important.

We're an Enterprise B2B SaaS company headquartered in San Francisco.

Our stack is node.js/React/Postgres so knowing any/all of those is a bonus, but we don't specifically target those skills – we instead look for a diverse, intelligent set of engineers who have a strong technical background or a newer technical background but heavy experience in a non-programming field (mathematics, economics, architecture, teaching, customer support, etc; they all have their benefits). Interest in being "full stack", participating heavily in the product management process (strong opinions loosely held!), and a belief in the critical importance of design & UX (unfortunately still heavily undervalued in the Enterprise space...) are important.

Hiring in San Francisco & Washington, DC by the way.


I'm not looking for a job, but I appreciate the level of detail you put into your response. One of your statements caught my eye and I wanted to ask - Do you really consider mathematics to be a non-technical field? I'm just curious to hear your point of view on this, nothing confrontational haha.

You're absolutely right to question that – ultimately what I meant there is "non-programming" rather than "non-technical" and have updated the original post to reflect that. Poor choice of words on my part!

Funny to see you here! By the way, what happened to shintolin.com?

Still up and running! You should log in and give it a try. :-)

Really digging the first name. Another troy here.

People who can be micro-managed and used as resources. People who will do the job.

>People who can be micro-managed and used as resources

This might explain why companies want H1Bs so much. Places like India and others tend to produce very pliable candidates who will just take orders and execute. I think this is a much bigger factor than wages.

Precisely. Even though I am not from India, I used to be on H1B myself till 6 months ago and was very afraid I would lose my job and worked very hard and did every order my boss gave me. Gosh, he was such a micromanager but I had to swallow it. Anyways, I got my Green Card 6 months ago and I changed to another team finally and can freely speak my mind now :)

Are you the guy I overheard on the train today repeating the phrase "...our Java resource says..." during his phone conversation?

They are the worst.

Hey, at least you're honest.

> "used as resources"

Yikes. Can't help but think that you really just want a robot.

If you have a problem with that terminology, then you have a problem with capitalism.

I run Technical Operations at Revinate. We are based in San Francisco but my team is 100% remote. I'm based in a small town in Kansas.

For 2017, I want to hire more engineers with Kubernetes, CoreOS, and Go experience. My team has deep Linux systems administration experience but we've automated ourselves out of most of the day-to-day admin work of yesteryear. Our future hires will be heavily focused on automation. We've already automated builds, testing, deployment, monitoring, and metrics in a Kube/Docker pipeline. I expect to automate load balancing and hardware deployment in 2017. I also expect that we will adapt many of our non-Kubernetes data services for running containerized in Kube.

At JDA our hiring will vary, but my division in Store Operations needs people with SaaS experience, especially with GCP. Angular, REST, DDD, and agile thinking are a bonus. But also need C#, ASP.NET, Web API, and ExtJS for other teams. Have a few spots with strong math skills too, doing complicated forecasting and scheduling work alongside PhDs.

Interviews have practicals where you work on problems you'll see regularly with skills we expect you to have (like writing code, debugging, and task breakdown). Good communication, pairing skills, quick learning, and taking responsibility for your circumstances stand out.


I'm at shopkick. We're a mobile app. We hire server, Android and iPhone engineers, but many will move across these platforms. We look for smart generalists. So, although we use Python on our servers, we don't expect server candidates to know Python.

Advice for senior engineers: brush up your practical programming. If you've been in an architect/leadership role, you may be rusty. Make sure you're comfortable on both whiteboard and keyboard.

If you spent the last 5 years writing iPhone apps, we expect you to know iPhone development pretty well. Memory management is the obvious area here.

Be ready to explain the most recent projects on your resume. Think outside the box - if you wrote code to process messages from a black box, how do you think the black box worked? If you consumed JSON messages, how much can you explain of JSON and JSON parsers? Many projects are so narrow in scope that we can't have a meaningful conversation about them, so be prepared to broaden into adjacent areas.

Advice for new grads and early-career engineers: have some solid, non-trivial code on github (or equivalent) and make sure we know about it. Be prepared to discuss it and explain design decisions. Few do this.

This post is my take on the question - what follows is especially subjective and not representative of shopkick:

Don't put stuff on your resume that you don't know. Or, brush up the skills featured on your resume.

Learn a scripting language, especially if you're a server engineer. People who only know Java/C++ are at a big disadvantage if they have to write code in an interview. How big? Turning a 5 minute question into 35 minutes is typical - and it gets worse. One very smart, very experienced man took 45 minutes on such a question. Of course, don't just port Java idioms to Python; learn Python idioms. Good languages are Python/Ruby/Perl. I think a HN reader probably doesn't need to be told this, but just in case. Properly used, scripting languages teach techniques which carry over to compiled languages.

Server engineers should be comfortable with either vi or emacs. And with basic Linux. Personally I find it astounding that a server candidate would be unfamiliar with ls and cat, but it happens.

I hope this is helpful and doesn't sound arrogant.

Everything you said jives with me, with the exception of emacs. I know it's a religious topic to some, but I have to ask... do you regularly see servers without vi, but with emacs installed?

I guess I phrased that wrong - I think server candidates should know vi or emacs. No need for both.

Yeah that makes sense. I would say that everyone should know enough vi to get by, even if it's not their editor of choice, although I suppose there's _usually_ nano or pico.

After I posted my previous response I realized that I actually know a few emacs keybindings thanks to tmux, even though I've never used the editor. I use a lightly modified vim on my laptop, but I think it's best to learn enough of the defaults (of any application/utility) to speed up your workflow on a new host.

I guess this asks mainly is to weed out those who are not truly 'Nix-ish' people...

I hire frontend and mixed web devs. What I'm looking for is a mature understanding of the web platform from devs at all levels. + basic architecture and good practices for mid-level devs. + business and deep architecture for seniors.

+ for new web platform things like Service Workers, advanced SVG.

Could care less about whatever franework is hot this week.

The expression is "could not care less", meaning you're already caring the least possible amount.

"Could care less" is a valid idiom with established semantic meaning disparate from its syntactic meaning.

It might have established meaning in the US, but we prefer to rely on a version that makes sense in the UK.

You'd have to have been hiding under a rock the past few decades not to know that "could care less" has been linguistic currency for a long time now.

These are troubled times.

On the frontend side of things I'm looking less for specific framework experience and more for overall programming competency. JavaScript development moves so fast now that it really doesn't make sense to scope your hiring to angular, react, etc.

It doesn't make sense to scope to specific languages, but even fewer people seem to get that.

Extremely true. I am always laughing when people ask for specific javascript framework (especially for frontend), and don't agree if you don't know the specific language (let's say Clojure), but know JVM – even with experience with another dialect of LISP (or another functional language)!

But it is really sad that people mostly hunt for keywords in resume.

Things in our full stack (Python, React, Ansible/AWS, APIs), a focus on strong front end engineers that are interested in mentorship-type roles. There's a unique-ish role for someone to come help us solve remote office work (think piloting VR or new techs to enable me to work closely with someone 1,000 miles away but make it feel like they are 2 feet away). Focus on security/devops.

We may also need a strong lead for a new business unit, a role akin to 'founder lite' — you run a business unit with two others, you have your own burn rate, your own P&L, etc. The strongest skills someone can have for it are former founder experience (aka: broad experience doing lots of things, moving quickly, MVP, etc).

Palo Alto, San Francisco, Seattle.

Ability to read code daily, write code when necessary, SQL, understand APIs, and be good in front of enterprise customers. We went through 400 candidates to find a quality Implementation / post-sales Engineer. We're a B2B SaaS company.

_> read code daily, write code when necessary, SQL, understand APIs, and be good in front of enterprise customers._

Where are you located? This is something I can definitely do.

I work for a small company in the Netherlands.

We are looking for c# devs with some front-end experience and ops people (linux / Windows / networking). Azure / AWS experience is you have it. You can do SQL and have a nice grasp of distributed architectures. Experience with CI is appreciated.

Most of all though, you need to have a passion for the job. Really like what you are doing and be proud of the stuff you create with the team.

As a company we value your efforts and actively encourage you to have a normal family life but we also expect you to handle a shitstorm (with your team) if need be.

Critical thinking above all, ability to solve new problems, ability to deliver applied theories, and ability to ship. Beyond that, we're looking for hardware experience, statistics experience, heavy math skills, digital signal processing, machine learning. Python / C / C++ and ruby for some apps.

Payments company, ~50 people, based in Jakarta Indonesia.

We hope to expand our team in early 2016 and have a mainly java micro-services with some PHP and native apps on the front. Will likely add to the java team in addition to an IOS dev.

Nice atmosphere, nice people. We try to select for people who don't like to be micromanaged (but are still friendly) and assign responsibility not tasks wherever able. Varying degrees of success but overall happy with the approach.

Looking for at least one highly skilled person with java experience and ideally a fin-tech background. Not sure the salary would be competitive with SF but cost of living is small and its a great lifestyle (for those who like daily excitement/challenges and learning new cultures). On site. Other roles would likely be unsuitable (read: cheap!) for the HN audience.

Like many here, Perkbox (London) is less looking at skills, and more looking for experience in:

- scalable architecture with legacy systems

- tech strategies to enable engineers & product to create success

- broad knowledge of useful serverside languages & technologies

- bringing a multi-platform SAAS to multiple regions

- processes and tech to ensure quality of output

- AWS dev ops

But for the sake of the OP, skills would likely be a nebula of PHP, Go, SQL, node, react, Webdriver, kubernetes and tech related to application infrastructure (Kong, Message queues etc). There are other nascent products which may demand other technologies - a years a long time :)

If any of this catches your eye hit me up for a chat ashleyc@perkbox.co.uk

I always look for people that are clearly very technical but who I feel I want to work with. There are some amazing developers that have zero people skills and for whom the word pragmatic doesn't exist. If you can explain complex technology in a way my CFO can understand you will also build a product for that level of user as well.

If you have that, breadth in projects and technology and you are genuinely excited by the opportunity I have on offer then I have found that a good mix.

I am looking to hiring a jr ruby or elixir developer in the next few months that doesn't mind cross training on the job. They will probably be remote since I live in a small surfing town half way up the Australian coast at the moment.

Since it's a jr role I'm looking more for evidence that they want to learn than examples of accomplishments.

Just a note since I've had a few emails and I can't edit it at the moment we're only looking at Australian developers for this position.

what abotu someone with 0 experience in ruby but has experience react/js c

I hire people who show some passion for what they do. On technical end I'm looking for python developers, polymer/angular on javascript end, and ideally at least some basic linux skills. I like candidates that undertstand why languages that allow something like "foo" + 5 are not the best idea ever.

Industry: Enterprise ERP tools and add-ons

- Developers: We use mostly java, swift, and JS (Angular 2) but we always look for polyglot developers, full stack developers, or whatever you want to call someone that see the language as a mean to achieve a goal and not the goal itself.

- DevOps: Deep ec2 knowledge and experience. AWS certification is a plus

Intelligence, compassion, accountability.

That also holds true in my personal life as what I look for from others and expect of myself.

Here at Agoda, we're looking for great engineers. It'll be wonderful if you also know any of Scala, Akka, Cassandra, Kafka, Hadoop, Spark.

You can apply here; http://grnh.se/p4tu8l1

Can you share the salary range?

HR Tech in the Southeast.

I don't have anything to offer in the way of specific tech skills. I simply look for someone that is inquisitive, extracts satisfaction from solving problems in elegant ways, and has a strong motive to better themselves.

These qualities, and a few others, tend to transcend tech stacks and techniques of the week.

My most successful interviews have come through chatting with a candidate in an informal setting, presenting hypothetical situations that were actually challenges we've faced in the past here and there in the conversation.

I dropped the whiteboard and puzzle thing a long time ago and I've never had better engineers.


(I do ask to see some code beforehand)

Our company uses mostly legacy C# and .NET frameworks on premises with a mix of SQL Server and Oracle. We're building a new app using WebAPI / MVC with a SQL Server backend that will be hosted in Azure.

In 2017 (or from this week :)), I am looking to hire 5 Sr. Dev/Cloud Ops Engineers, with competency in AWS (CloudFormation, IAM, etc), Azure, Chef, Terraform, general Ops. PM for more info.

Are you my boss? This sounds like our stack to the T. ha! I guess there are only so many quality tools and ways to chain them together.

Well known space firm, hiring security folk with some teeth. I look for exploit/pen testing experience either in the digital or physical world, development chops, and passion for the job.

At Hipmunk, we'll be looking for someone with machine learning or NLP skills to take Hello Hipmunk (our virtual travel agent) to the next level. Visit hipmunk.com/jobs to learn more.

I'll be hiring shortly here for a devops engineer. Here's a few of the things I'm looking for:

* Ansible

* Python

* Go


* Docker



Experience with the above would be nice. What I actually require though is not specific to a particular technology:

* Not a dick

* Ability to reason

* Ability to iterate

* Ability to communicate at multiple levels of abstraction

Okay, and what does Product Manager must have to be hired in 2017?

Data presentation. There are boatloads of data analysts who can do all kinds of clever analysis of all kinds of data, but we're finding that the real crux is presenting those results to the relevant parties in a way that they can quickly see the data that they actually need in a way that makes it as easy as possible for them to make the decisions they actually need to make.

C# + js /w react a plus

Oil and Gas

Trading or Physical? Where are you based?

I was once a Front office dev (Microsoft Stack) for commodity trading house. If you are in USA, Canada, or Japan, I'm interested in learning more about your business.

Physical, and Houston.

And we're a consulting company that works with mostly oil and gas companies.

* good working knowledge of distributed systems, CAP, etc.

* development services and applications on Kafka and Spark

I work at Real World React. We specialize in training engineers on front-end web development, specifically React, Redux, RxJS, and related technologies. We've trained engineers from Twilio, OpenTable, NerdWallet, Tesla, Esurance, and many more. We are based in SF.

Since we also do private consulting and project-based work in addition to our workshops, we have recently got to talking with our clients about helping them get full-time employment. So I think this post is pretty timely and very relevant to us. Here are a few reasons why we think React is important for the job market.

Lots of companies are choosing React for their front-end these days. It allows your front-end devs to embrace the full power of JavaScript for the front-end -- no more messing around with jQuery and tons of plugins. Sure, there's a bit of a learning curve, like all new things. But there is now a large and devoted community to React and it's only growing. A personal friend of mine convinced his boss to greenfield their entire app with 10,000 lines of jQuery, and rewrite it entirely in React. He was a new hire (and also a great communicator/salesman).

Coding bootcamps are embracing React as well. Since most of these institutions survive year-to-year based on how well their placement numbers are for graduates, they are paying close attention to the trends in development. One could argue that since they are probably more technical than the average recruiter, they may even have a better grip of the pulse. FullStack Academy, of New York and Chicago, recently wrote a blog on why they're moving their curriculum from Angular to React (https://www.fullstackacademy.com/blog/angular-to-react-fulls...). App Academy (SF & NYC) has had React in its curriculum for a number of months (https://www.appacademy.io/immersive/curriculum). And I've personally spoken with alumni of Hack Reactor in SF who said that most students built their capstone project in React (or attempted to).

Is React the best solution? That's arguable, as all things are. It also depends on what you want to accomplish. But for the relevancy of this post -- asking what tech skills people will be hiring for in 2017 -- I would argue that React is going to be one of the top skills. And with that includes...

Redux Webpack Immutable RxJS

As far as backend, the top three technologies that we've seen with our clients are:

Python Go Docker

But of course, all of this is moot without the foundation of strong JavaScript skills. Our students who have strong JS skills pick up React quickly -- those who don't only get confused.

Anyways, if you are skilled in React and other related technologies and you are looking for work, you can always email me: ben at realworldreact dot com with some info about yourself and/or your resume.

Do you have any recommendations for picking up strong Javascript foundations? Asking as an iOS dev who has barely worked with it.

* Video: Practical JavaScript. I haven't gone through this myself but I've heard good things. https://watchandcode.com/p/practical-javascript

* Comprehensive lesson-based: FreeCodeCamp. An easier, piecemeal option with plenty of hints and guides. Disclosure: My business partner is the CTO of FCC https://www.freecodecamp.com/

* Video: JavaScript30 by Wes Bos. 30 Vanilla JS Challenges. Wes is a fantastic teacher and this is his newest series. I haven't gone through it myself but I've taken his other lessons and been pleased, so I feel somewhat confident in recommending this. https://javascript30.com/

* You don't know JS: A series of free lessons on JS https://github.com/getify/You-Dont-Know-JS

* $ Book: O'Reilly JS Pocket Reference. If you already know how to program, this can help you understand JS in a very short amount of time. Obviously you will need to practice to really get it, but this helped me to understand a lot of things very quickly. Great for train commute or downtime reading: https://www.amazon.com/JavaScript-Pocket-Reference-Activate-...


A series of 6 small books that cover the JS fundamentals in detail.

Compliance Technology in the Financial Services industry. Reporting, SOLID, active monitoring, microservices Perl / Go.


Personal attacks are not welcome on HN and your uncivil behavior in this thread is easily a bannable offence, so please don't do this again. Instead, please read the site rules and post civilly and substantively, or not at all.



We detached this subthread from https://news.ycombinator.com/item?id=13165043 and marked it off-topic.

Not op, but:

IMO somewhat uninformed opinion (longtime dev on two of the biggest platforms, played a bit with node etc a few times) the Javascript ecosystem has seems to have numerous issues. Here is my impression:

- being equally bad or worse than php in a number of ways (I used to write php, the right way ; )

-to: having bad dependency management

-to: the complete ecosystem being in a churn, always. Like if php constantly was having the php4-5 transition or if python 2 and 3 was simultaneously in a flux.

-to: being pushed for the wrong reasons

Same goes for gradle (and I guess a number of other hip technologies):

I start looking into it and it turns out it isn't even faster! The unique selling point of gradle seems to be that it is not xml-based or something.

Thanks but no thanks. Not interested.

In fact just yesterday I commented on something and said: sounds cool so I will avoid it for now. I'll use the old way, get it done and then add it on a rainy day (or better: a rainy night) after funding is ok or whatever.

Edit to match your edit:

I have replied as well as I could. I didn't even notice it was you until I had posted.

That said I think you make your own life worse by referring to others as "cynical, older person" and stating without doubt that some "... things that make a pretty small difference in the grand scheme of things" - especially that latest part makes it look like you have already made up your mind.

Oh, and as I mentioned last time: I'd stop swearing here, at least for small stuff like this ;-)

Node.js is great, but the ecosystem needs to be run by people with an attention span that's longer than 5min

I use node.js, but doing things the "node.js" way is just crazy. You don't make a higher level project depend on a package manager

You don't have to use the latest and greatest. Walking slowly, will make you able to cover more distance in the long run.

Agree with all of this, apart from Gradle. It has saved my life a few times. Gradle plus the BuildShip plugin [1] for Eclipse is a great combo IMHO.

[1] - https://projects.eclipse.org/projects/tools.buildship

It has saved my life a few times.

Compared to mvn or ant or something else or compared to not using a build system?

Honest question. I'm trying to figure out if I have missed something when I dismissed Gradle last time.

There are a few plugins I have used around packaging and deployment. I found integrating and using them in Gradle much easier than Maven. I just honestly think it presents itself to the developer much better than Maven, esp as I said in conjunction with BuildShip.

I have also done some C++ dev work with Gradle. It's not ideal, but having one build system that handles differing platforms was great.

> I'm trying to figure out if I have missed something when I dismissed Gradle last time

Which version of Gradle were you using last time? Gradle 3.0, released 3 months ago, offers Kotlin as the preferred language for scripting builds and writing plugins, instead of the ageing Apache Groovy which is still available for those who still need it.

Thanks! Thats good to know. Another thing: how is the speed compared to Maven 3?

Sorry, that's just how I talk. If we had a past interaction, good to see you again.

"Sounds cool so I will avoid it for now, I'll use the old way, get it done and then have fun with it after we solve the problem"

I actually feel that there's some great advice here. I mean, great "fucking" advice. People in my community tend to jump into things that are new and shiny, and it makes me feel that I'm missing out sometimes, or that my tools aren't good anymore. Oh, React is out and is past .1? Time to change my entire coding style. I guess if you are familiar with a way of doing something that works, get it done that way, then improve it later.

Regarding your other advice -- I'd rather call people "old and cynical" and give them a chance to show me why I'm wrong. Otherwise, I'd just stay wrong. I'm actually glad that you take the time to try and help people like that, I think I'd get along well with you had I known you in person.

> Sorry, that's just how I talk.

That's under your control, right?

> I'd rather call people "old and cynical" and give them a chance to show me why I'm wrong.

If you address people respectfully, you will get more fruitful responses.

An insult is rarely the best way to start a conversation.

Not a word of that sounded cynical to me, just realistic.

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