Live data from Hacker News

Always Be Coding – How to Land an Engineering Job

medium.com

231–240 of 250 posts

Re: Always Be Coding – How to Land an Engineering Job

#231
post #104

Earlier quoted context omitted.

> Each time I sit down to brush up on the details of Prim's algorithm or the exact implementation of quicksort, my eyes glaze over and I start thinking about how I'd much rather be building or tinkering with something. So that's what I end up doing. Nailed it. Another interesting thing I noticed about myself in technical interviews is that I have a lot of trouble doing things that I would have no trouble with if I'm…

>I'd rather spend my time tinkering with stuff than preparing for interviews If we're talking about raw programming skill, I would say that actually learning these fancy algorithms will pay off more than (random) tinkering. It's the difference between directed and undirected practice. Undirected practice only takes you so far. To truly get good at something one must do deliberate, directed practice consistently.

I agree with you. However, learning the algorithms is different than preparing for technical interviews IMO.

I've learned many algorithms and implemented most of the ones I've learned, but if I haven't recently coded them repeatedly or studied them rigorously, I likely won't be able to code them up on the spot when asked to. But because I learned them in the past, I would be able to recognize which algorithm (from the ones I've learned) best suits the problem.

Re: Always Be Coding – How to Land an Engineering Job

#232
post #70

Earlier quoted context omitted.

Bootcamp in the Marine Corps is an example of a tough hiring practice. Are your friends and family doctors or lawyers, per chance? Both professions use grueling hiring marathons which are much, much worse than a software engineering interview (residency and the bar exam). All other engineering professions require a rigorous licensing process, whereas software engineering is one of the cushiest jobs on the planet. In…

In a certain state of the economy, you're right. But, at least here in the US, we currently have way more demand for good developers than we have supply. Basic economics says that your model will not work. For example, the company for which I work bills me out at $250 / hr. I get something like 15-30 job requests from other companies a week. It would not make any economic sense for me to pursue any of these other com…

$250/hr is great, but may I ask you - is it a regular job? i.e. 40 hr/weeks for say 1-2 years or so... Or you negotiate for each small tasks, thus having some overheads?

Re: Always Be Coding – How to Land an Engineering Job

#233

Earlier quoted context omitted.

> But, at least here in the US, we currently have way more demand for good developers than we have supply. Basic economics says that your model will not work. The problem is that hiring someone who can't code doesn't help me. And a bad engineer is worse than no engineer at all. It's not like a grocery store where a bad employee is just really slow and a really bad employee steals things costing me a percent of a perc…

> A single bad engineer could theoretically destroy a company if they were savvy enough. This sentence does not compute. Anyways, I think a big portion of the "hiring problem" is that companies are too afraid of hiring a "bad" developer. They somehow have this notion that if they fail to hire a great developer then its no big deal, but if they accidentally hire a bad developer, their company will all go to shit. This…

> Anyways, I think a big portion of the "hiring problem" is that companies are too afraid of hiring a "bad" developer. They somehow have this notion that if they fail to hire a great developer then its no big deal, but if they accidentally hire a bad developer, their company will all go to shit.

I've worked in organizations where the hiring process the OP is advocating for (short one hour, possibly non-technical, interviews) demonstrably led to serious problems in that organization. Have you ever sat in on technical software engineer interviews? It's beyond horrifying how many developers I've seen that have a great resume, a decent portfolio, talk a big game, but literally can't solve a fizzbuzz-style problem on a whiteboard. I'd say the percentage in my area of developers who fail at this is at least 80%!

Think about that... if your hiring procedures are lax, possibly 4 out of every 5 developers on your team will be ludicrously incompetent. I don't care how tight the hiring market gets; dumbing down interviews is simply not an option with those kinds of odds.

If you haven't already seen it, you should read Atwood's article on the same subject: "Why Can't Programmers.. Program?" [1].

[1] http://www.codinghorror.com/blog/2007/02/why-cant-programmer...

Re: Always Be Coding – How to Land an Engineering Job

#234

Earlier quoted context omitted.

> A single bad engineer could theoretically destroy a company if they were savvy enough. This sentence does not compute. Anyways, I think a big portion of the "hiring problem" is that companies are too afraid of hiring a "bad" developer. They somehow have this notion that if they fail to hire a great developer then its no big deal, but if they accidentally hire a bad developer, their company will all go to shit. This…

> Anyways, I think a big portion of the "hiring problem" is that companies are too afraid of hiring a "bad" developer. They somehow have this notion that if they fail to hire a great developer then its no big deal, but if they accidentally hire a bad developer, their company will all go to shit. I've worked in organizations where the hiring process the OP is advocating for (short one hour, possibly non-technical, int…

Youre under the assumption that "can't do fizzbuzz == can't program", "can do fizzbuzz == can program", which isn't true.

I'll tell you a secret. The first time I was asked to do fizzbuzz in an interview I got it wrong. It was about a year ago. I have been programming sine I was in middle school (I'm 29 now). Walking out of that interview was probably the worst day in my entire life.

Ever since then, two things have happened. First, the lines of fizzbuzz are forever etched into my mind. I can recite fizzbuzz verbally now. I don't even need any writing utensil. For i in xrange 1 comma 101 colon if i mod fifteen equals zero colon print "fizzbuzz" elif... [and so on]". This has come in handy in interviews since. All you have to say is "fizzbuzz" and I go ahead and write away. I don't even need the interviewer to explain the actual wording of the problem.

And the second thing is that I now have absolutly zero interrest in hiring a company that has fizzbuzz (or any other live coding portion) as part of it's hiring process. If I'm at an interview and the interviewer tells me "we're going to write code now", I'm done. If the problem is interesting I'll do it, but if it's fizzbuzz or anything having to do with reinventing something, I'm done. Not gonna work there.

I've struggled to put into words how to describe why I think live coding is such a terrible thing to ask candidates during interviews. Joel Spolsky makes a great point thats hard to argue against. If you're hiring a guitar player, you want to hear him play. If you're hiring a programmer, you'd first want to see them write code. I think the problem is that programming is kind of more like song writing. You can't ask a song writer to go the white board and bang out a new song. Even if you tell him exactly what the song should be about. Song writing is a process, and so is programming.

Re: Always Be Coding – How to Land an Engineering Job

#235

Earlier quoted context omitted.

I was contacted by Google without them knowing I had a degree, although they knew by the time I was scheduled for an interview. Apparently washing out in round one of Google Code Jame 2012 was enough for them to seek me out. I performed to expectation by similarly washing out of the interview. Steve Yegge wrote that you should apply to Google, no matter whether you think they'll take you or not, because it's a desira…

They don't reimburse travel expenses for interviewing? That's surprising, and a shame if its true.

They reimburse airplane tickets (well, actually they pay for the tickets directly), but they don't reimburse "private transportation", e.g. getting from the airport to the hotel.

Re: Always Be Coding – How to Land an Engineering Job

#237

Earlier quoted context omitted.

I think I would agree when the profession is well defined to require such a qualification. For example, Doctors, Attorneys, CPA Accountants, all require certifications to hold a legitimate title. Engineers, Chefs, CEOs, etc do not require a degree or certification to be legitimately titled and qualified for those positions. I would never reject an engineering candidate on the sole basis of their degree.

Engineer is a professional designation.

Only in some jurisdictions. In most of the US, Software Engineer is not a regulated title. I believe Florida and Texas are the only exceptions.

Re: Always Be Coding – How to Land an Engineering Job

#238

Earlier quoted context omitted.

> But, at least here in the US, we currently have way more demand for good developers than we have supply. Basic economics says that your model will not work. The problem is that hiring someone who can't code doesn't help me. And a bad engineer is worse than no engineer at all. It's not like a grocery store where a bad employee is just really slow and a really bad employee steals things costing me a percent of a perc…

> A single bad engineer could theoretically destroy a company if they were savvy enough. This sentence does not compute. Anyways, I think a big portion of the "hiring problem" is that companies are too afraid of hiring a "bad" developer. They somehow have this notion that if they fail to hire a great developer then its no big deal, but if they accidentally hire a bad developer, their company will all go to shit. This…

> This sentence does not compute.

Meaning. Someone who is bad at programming but savvy about interacting with their coworkers, bosses, etc. Someone who might be able to keep a job long enough to really fuck stuff up even though they're bad at what they're doing.

Six months in you realize that they've built a bunch of terrible stuff into the system and now you need multiple people to tear it out and rebuild.

Re: Always Be Coding – How to Land an Engineering Job

#239
post #197

Earlier quoted context omitted.

So I could walk into a Law office and if I talk a good game I'll get hired without having passed the bar? If not, then it is a part of the hiring process, as it is a pre-interview filter.

Yes, if you are set to graduate from a top law firm and have a good GPA you'll get hired before you even take the bar.

But you will have to pass the bar to actually work for them.

Re: Always Be Coding – How to Land an Engineering Job

#240

Earlier quoted context omitted.

I am not even sure what implementing it for a parametric type means... can someone point me to a link?

Parametric type means to take the type as a parameter; parent was probably asked to use Generics in C# or Java or C++ templates.

Ah, ok
Post reply on HN