Live data from Hacker News

The myth of the developer that can't code

neilwithdata.com

61–70 of 79 posts

Re: The myth of the developer that can't code

#61
post #49
post #45

I have to disagree with that statement. There are such and I've worked with such far more than I'd even want to imagine. There have been entire releases where I've had to re-do everything they've done from scratch because code reviewing simply wasn't going to cut it: Spend 2 weeks explaining what they've done wrong and then reviewing it all over again from scratch while the deadline is right around the corner. In the…

The point of TFA is that this sort of people exist in any profession. I can assure you there are plenty of "bad" accountants, or the taxman would not have to spend billions to review tax returns. There are plenty of "bad" lawyers, or we wouldn't have mistrials and wrongful convictions. And let's not even look at anybody involved in real-estate processes. And still, the hiring process for professions that are much mor…

That is true, though I must also add that some of the ones in question came from prestigious and world renowned universities. Once you'd struggle to get in(in theory apparently, because otherwise I have no idea how that works). They all had the "senior developer" in their titles with near or double digit years of experience.

Re: The myth of the developer that can't code

#62
post #21

Accountants, Lawyers, and Surveyors have credentialling bodies that train, test and monitor performance. Accountants don't need to show they are qualified in interview because they have the letters ACA, ACCA, CEMA or whatever that they can clearly point to. Lawyers and Surveyors similarly have profession bodies that handle qualification. Software engineering is not uniquely broken but it is broken, but the author jum…

There's some "accredited" credentials you can get in software development - I've got one for AWS, for example - but you can get most of those via a multiple choice questionnaire. Having the certification itself means nothing to me; sure, I know in theory how to set up some AWS services, but I have barely any experience in it, and I wouldn't dare to apply to an AWS position because I couldn't actually do it from day 0…

"I went job hunting last year, and what I was really looking forward is technical interviews - PLEASE just challenge me, allow me to show you my work instead of my CV"

I totally agree. I hate the irony of having a highly technical job but then needing some decent writing skills to put together a CV that isn't just a list of employers, dates and acronyms.

Re: The myth of the developer that can't code

#63
post #10

Earlier quoted context omitted.

To be fair, a coding interview would address the "can he code at all" question, but not what you mentioned: sloppiness, incorrect coding and needing mentoring

I usually try to detect things like: "do you know lists and dictionaries?". Also very basic abstraction design and basic communication skills. This works well with juniors because we mostly code business logic. It does not work at all when trying to recruit a senior. I am still clueless about that. I have at least two recent cases in mind of a senior hire that lead to catastrophic results. People that new how to pres…

general developer: I don't know why people want to find out if a person can code? ... I assume that a person can code ...(if not you will see very soon)

I mean it's not about writing "hello world". If the person is not dumb, you won't find out in an interview if someone can really code. (repos are much better for that, but can be deceiving)

"We have a 3 month probation period and if something is really not true it will have consequences. I'm crystal clear about that."

I mean we are all humans, but there is also a contract with money involved. I have to look out for the company and it has to be fair for all the other team mates/colleagues too. If you hire some "faker", without consequences it will destroy the whole team balance. (Additionally there is a "meet the team" to address the consent process). From my experience, technical people have a low tolerance for people which can only talk...(in a technical team).

So it does not mean you are safe if you can make it through the inverviews with tricks. (it may seem a bit hard, but I don't like the general acceptance of "lying" or superbeautify ^^ in the application process)

And then I talk about what we are working on and how we are structured. So the interviewee also gets an impression what the day to day work will look like.

What I really want to see, is the ability to solve problems. Because this is our real job. We are solving problems(with code). So I ask questions you can not solve in 5 minutes, but you see how someone approaches a problem. Is the person collecting intel about conditions and constraints or is he/she immediatly starting to code etc. ... For that I generally take real problems we had and we already found a solution. And sure I tell them, that it is not possible to find a solution now, because many interviewees are "conditioned" (or used to) to give you immediate solutions. Else they would panic or getting frustrated.

In general ask a question: Why should I want to barbecue(or embarass) a possible colleague?

You also have to take into account, that there are people which don't know everything yet from the specifics you need. But in the right environment with support of colleagues, they become really great. It's more about the mindset & willingness to learn and also the support of the team members.

The above is more for a general developer.

For an expert with 7y+ (whatever..) experience in a specific topic. I would really ask very specific questions and maybe a "homework". Because I hire an expert for specific experience in a topic. Also the risk of losing money & time is much higher. Because it's experts work...it's hard to judge if the person is not capable or if it really just needs some extra time.. ;-) You won't believe how many people have a lot of years of experience and made only basic stuff during that time. So on paper they should be an expert, but in reality they are not.

Re: The myth of the developer that can't code

#64
Software Engineering hiring is broken in more subtle ways.

Recently I went through the process of an internal transfer in my company.

I applied to a team and went through a loop, just like an external candidate would.

I got rejected by that team. The reason is that I failed their systems design round.

The funny thing is that I spent the last two years maintaining and optimising the backend of my current team, that supports hundreds of thousands of customers.

Let me be clear, I didn't do well in the interview. They asked me to design a Dropbox clone and I flunked a few points. I didn't know long polling, and I tried to implement some of the features using the same solutions that we use in our system, which don't work very well here.

But what is the point of the interview? Is it to assess that I can design a Dropbox clone in 50 minutes, or that I know about systems design? If it is the later, you can just take a look a my work. You have access to all my pull requests and code reviews, design documents, and peer feedback. Heck, you can even ask me to walk you through our system and explain how and why we implemented certain features.

The reason why internal transfers are set up like that is so that internal candidates don't get a better treatment than external ones. Sure, I agree that some checks are in order to avoid moving low performers around, but are we trying to hire talent or make people jump hoops to get a job? The best part is that the hiring manager recommended me to 'reapply in a few months' to the job. What does that mean other than 'go study a bit and come back'?. If that isn't broken, I'm not sure what is.

Re: The myth of the developer that can't code

#65
post #51
post #32

Earlier quoted context omitted.

Software has a couple of unique problems which prevent those from working: - the state of the art is both extremely diverse and rapidly moving, so any credential system would run the risk of being too specific and easily out of date. Very few are respected and most existing ones are tied to particular products. Possibly the only set of those that is respected is the Cisco ones. - most of our work is (a) tightly inter…

> Possibly the only set of those that is respected is the Cisco ones. And that just because their stack is slower-moving. This is a problem that unfortunately is not going to be solved anytime soon, I fear. As industrial revolutions go, we are still in the "mad inventor / amateur / visionary" phase, really. It will take another 50 years before the field slows down enough to solidify into a consistent curriculum. > we…

Yes, but that's not your "professional" work (which is copyright your employer), it's your "amateur" work done in spare time. Which is a pretty exclusionary approach to hiring.

It would be very different if more employers paid more than lip service to professional development and encouraged the publication of personal githubs on "work time" as part of that. It sounds like (some of?) the big Bay Area companies do, but those are the ones after the big hiring barrier.

The actuaries I know spent a lot of time on exams, but also in their early years got some time set aside by their employers for that.

Re: The myth of the developer that can't code

#66
post #58

I'll take coding interviews over expensive qualifications, work history and nepotism any day of the week. Let's say I give candidates a basic whiteboard problem that requires no fancy algos/data structures other than knowing about arrays and dictionaries. A passing candidate will demonstrate the following attributes: 1. Understands basic programming constructs and elementary data structures (loops, vars, arrays, dict…

> Is there a better system? I don't believe that just looking at resumes and past experience selects for 1+2+3 nearly as well.

A take-home test would cover 1+2+3 without 4. With the caveat that 3 becomes a test about written communication, which may be a good or bad thing. If you want to do both, you can expect a written description of the solution, but also go over things verbally if they pass the bar, in next phase.

Re: The myth of the developer that can't code

#67

> When a digital artist is in an interview, they're not asked to rapid sketch a portrait with a rusty spoon. I'm going to use this from now on to explain whiteboard interviews

They are asked to submit a portfolio of their own original work. Incompetent programmers don't have anything to show, and our industry makes it easy to come up with excuses about why, excuses that wouldn't play for a digital artist.

>They are asked to submit a portfolio of their own original work.

How do you assess that it's their own work?

> Incompetent programmers don't have anything to show, and our industry makes it easy to come up with excuses about why, excuses that wouldn't play for a digital artist.

Such as?

One thing to bear in mind is that ultimately there is no perfect way to hire, whether programmers, artists etc ..

Re: The myth of the developer that can't code

#68
post #21

Accountants, Lawyers, and Surveyors have credentialling bodies that train, test and monitor performance. Accountants don't need to show they are qualified in interview because they have the letters ACA, ACCA, CEMA or whatever that they can clearly point to. Lawyers and Surveyors similarly have profession bodies that handle qualification. Software engineering is not uniquely broken but it is broken, but the author jum…

But technology is so uncertain past 6 years that successfully making half decent tech bets might mean your specialty is somewhere else.

Will GCP certifications still be useful? Should Google be the certifying body for their own technology? When a field is so dependent on proprietary tech, does it make sense to certify people as metaphorical Windows Metro experts?

Re: The myth of the developer that can't code

#69
I've worked with "developers that can't code".

One example was an external contractor who, according to their CV, had multiple years experience with programming in C.

The person was tasked to fix some errors in our code base that the static code analysis tool found, e.g. remove implicit type conversion, etc. They submitted their changes for review, claiming the analysis tool reports 0 issues now. Their code simply did not compile (and the analysis tool only works with a successful compilation)!

Even after explaining the issue, the developer asked if the task is completed now and if they could move on to the next one.

This wasn't the only time this developer proved that they "can't code".

The issue is that it is very easy to claim to have experience. There are a lot of self-taught programmers out there who learned coding at home by themselves. How do you differentiate those from people who "can't code", but claim to do?

I like the approach to let them implement a small(!) piece of code ahead of time and in the actual interview let them explain their code, their decisions and ask questions.

Re: The myth of the developer that can't code

#70
post #21

Accountants, Lawyers, and Surveyors have credentialling bodies that train, test and monitor performance. Accountants don't need to show they are qualified in interview because they have the letters ACA, ACCA, CEMA or whatever that they can clearly point to. Lawyers and Surveyors similarly have profession bodies that handle qualification. Software engineering is not uniquely broken but it is broken, but the author jum…

But technology is so uncertain past 6 years that successfully making half decent tech bets might mean your specialty is somewhere else. Will GCP certifications still be useful? Should Google be the certifying body for their own technology? When a field is so dependent on proprietary tech, does it make sense to certify people as metaphorical Windows Metro experts?

I keep reading that tech moves so fast that your tech stack becomes out of date. But, if you avoid the front end, it’s not hard to choose the technology that’s the right place on the hype cycle.

In 2008, I was looking for a job after being in at one company for nine years. I happen to keep all of my job search emails in a folder by year. Looking at the job reqs for standard enterprise development in 2008, they were looking for either Java, C# or a few were still looking for C++. Java has been in demand since 2000, C# since around 2004 they both still are.

As far as databases, the big four were Sql server. Oracle, Mysql and I think Postgres (wasn’t on my radar until 2012). I’ve been going back and forth between Mysql and Sql Server for two decades.

Javascript has been in demand since 2002. Definitely by 2008 when employers were asking for “AJAX frameworks”.

As far as your examples, it’s not hard to guess that you should stay away from basing your career on anything built on top of Google’s infrastructure (GCP) when they are in third place behind AWS and Azure, and aren’t really making that many inroads into large corporations. As far as Metro, by the time Metro came out, it had been clear for years to avoid desktop development of any kind outside of games if you wanted a technology with broad appeal.

Post reply on HN