Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Welllllll... Yes and no.

Yes, companies are generally desperate for programmers right now, and companies definitely want you to succeed in your interviews.

Interviewers on the other hand can be a fickle bunch. I have met many (in fact, maybe even most) who seem to treat it as some kind of hazing or initiation and act as if the candidate is an opponent to be outsmarted.

It doesn't help that in literally none of the companies I've ever worked for do programmers receive any training on interviewing, so this kind of behavior goes uncorrected.

The company definitely wants you to succeed and get hired, but there's still a pretty profound disconnect between the company's priorities and what happens in the room between candidate and interviewer.



At a few companies I interviewed at, fairly established but not tech centered companies, the interviewers had literally just come out of the companies introductory training program.

I don't know if that is really smart, or really dumb. But a lot of jobs I could have probably done really well, I was passed over, and I honestly have to say, inexperienced interviewers have smug attitudes. I got the sense that there was the background thought of "ugh, god, I have to deal with someone's brain that isn't mine".

It's annoying to have to deal with those kinds of attitudes, because it perpetuates them, by causing the people who have bad experience from them to behave defensively next time around.

I've had some okay experience with getting positive feedback leading to callbacks, but these were typically answers to questions that I could have found online verbatim by studying an interview manual. I try not to do that because I think that is dishonest in my actual value.

The best interviews I've had are where it's clear that it is two people talking, and not two computers.


I'd say it goes deeper than this: there's a greater emphasis today on the candidate being productive from day one.

I don't know what is causing it (too much exposure to efficient software?), but in many industries hiring managers would rather keep looking for an absolute perfect candidate while leaving behind several that have the skills but need the training.

I have heard the stories about managers spending 100 extra hours looking for a perfect candidate instead of hiring the best available and dedicating even 50 hours to train them to speed.


Glad to know I'm not alone there. I had an interview with this company where I was told technical skills weren't the most important, personality was. Luckily for me, they really liked me. Ten days later, I go to a second interview where they ask me pretty advanced technical questions. I don't panic and I end up doing extremely well. So at this point they've told me my personality was good for the position, and also saw I happened to be a solid programmer. The day after that second interview, they call me:

- hey, we're not going to give you that position because you didn't learn the [completely minor] framework by yourself since the last interview. - yeah, I have a job. Also, you didn't ask me to? - we do that on purpose to see if you're independent enough. - OK, I definitely think I am, what should I do? - I can't help you there, spend a week on this, come up with something and we'll see how we like it. - a week?! Also, don't you have a client request example or anything? - nope.

Eventually they decided that even if I were to do that, the disappointment on their side had been too huge… The funniest in this is that 'agile' is part of their corporate identity, the word's everywhere on their website, they even criticized the way I'm working with my current employer because he's not 'agile' enough (which is true, but I have no power over this). But then they want to hire somebody and not even have to give him a few pointers, because that's too vulgar for them? What the fuck is this?


> I'd say it goes deeper than this: there's a greater emphasis today on the candidate being productive from day one.

Which drives me crazy. Nobody can be truly productive on day one. You have processes to learn, even if it is just an informal "way we do things". You have existing code to become familiar with. You have team dynamics to work into. It takes time.

Personally, I cringe whenever I read a job advert mentioning that the candidate will "push to production on day one". Neither company I have worked for would allow that, let alone expect it. Nor would any company I start in the future, should I ever manage to.


It's not like you push anything important your first day. You spend two hours doing some simple bug fix that would usually take you 15 min and then spend the next six hours learning how the CI and deployment pipeline works, usually with someone holding your hand.


CI and deployment pipeline?!? What are you a spoiled millenials thinking... we build local, and copy the whole folder over RDP copy/paste onto the production server.

You may laugh, but I've seen that far more often than an actual CI/CD process in place...


I've been at more than one place that does this (one just had a sys admin be the one to do it, after it was user tested) :(

Both were pretty entry level positions.


Don't forget the only documentation is a printout someone remembered they had in a drawer.


^ Maybe we've uncovered what companies are trying to signal when they say you can push to prod your first day :)


I think that you don't get it about pushing to production on day one. These companies do that to because they have resilient systems, tests, and tooling, and they push to production all the time. Pushing to production on day one is a way to introduce new hires to the continuous deployment methodology. If you're afraid of pushing to production, there's a problem.


I don't think it's the fear of pushing to production on day one, but that a day one employee would not yet be able to produce anything worthwhile enough to push.

A very well tested codebase with resilient systems and tooling takes time to learn, it will take time for a person to become productive within it - and that time is a lot longer than the 4 or so hours you get on your first day after the legal paperwork is done ;)

So pushing on day one - regardless of dangers it poses to the system - seems like pushing to production for the sake of pushing to production.

On another note though - I've worked at companies that have adhered to best practices and done remarkably well with continuous deployment and testing, but the risk of a pushing code to production is never zero. The intent of testing and resiliency is to reduce the odds of catastrophe and increase your confidence in your systems - not to make you overly cavalier.


At my current job, we aim for a new employee to push to prod on day one not because we want the employee to begin churning out valuable work immediately, but because we want them to quickly become familiar and comfortable with the development, QA, & deployment workflows and tools.

The ticket that gets deployed is often as simple as a typo fix or a small CSS tweak, just to illustrate the whole process. The risk of deploying to prod isn't zero, but since we deploy many times a week already, the risk of deploying a typo fix is pretty low to us.

It also serves as a test for the existing employees: ideally those workflows are smooth enough that it all Just Works on a freshly-set-up environment and account, and we are comfortable enough with our rollback strategy that (after reviewing and testing) we are not afraid of merging in and deploying our new employees' code.


I believe they think that. I don't really believe that they do.


I agree that in the general case it's very unlikely for your average developer to be truly productive on day one, but I wouldn't say that nobody is. This is a large part of my value prop: I spend the first day or two getting infodumps to get up to speed, but even during that time I'm building up plans of attack to get done what I'm being paid to get done (and to me and to the people paying for me, that is productive).

I'm a consultant/contractor (depending on the gig), though, so the social dynamic is different and it's less about integrating into a team and more about understanding the exact problem domain.


It gets to me as well. I thought it might have just been my lack of skills, but I've had this conversation across several fields with recruiters who have said similar things.

The best description I've heard is that it's a spectrum from "100% training provided" to "productive on day one." Older recruiters tell me that decades ago the spectrum was too far in the other direction -- willing to hire anyone, and piling on the training. But now it's too far the other way, dropping good candidates who aren't able to perform independently on day one.


Most hiring managers are hiring people because they have a definite need for a developer. Every day that they don't find one, they have work that's going undone, projects that are proceeding too slowly, bugs going unfixed. And if they're not finding people, after a while their directors start to question whether they're doing their job properly.

There is nothing a hiring manager loves more than finding a hire-able candidate.

That doesn't mean that the interview is going to be a cakewalk, though. The hiring manager wants someone who's going to be a success in the job, and they're going to try to filter for that. The only thing worse than not hiring a good developer is hiring a bad one, and the process is trying to stop that latter from happening, too.


It's an interesting distinction and yes I have sympathy with it. However in general the "pissing contest" devs are a minority and in particular for the more senior/experienced devs it's most often the case that they want you to be good and will give you the chance to be good.




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

Search: