I like how the author saves for the very end the disclosure that he has apparently never actually worked as a programmer and is therefore in no position to assess whether the industry employs terrible engineers or not.
Short rebuttal: I’ve worked with terrible engineers.
I got the feeling like the author didn’t have a lot of real-world working experience. I wish I could tell him that a big part of working (and success – I guess) is knowing how to work well with others – terrible or not.
Now do you feel that the rest of the post is invalidated? Where does he work? Maybe he is not that far from it.
He mentioned the The Hiring Post which was a much better post on the issue.
For me a terrible colleague is the one who doesn’t want to learn and improve - we all make mistakes, but we don’t all learn from our mistakes (or do we learn the wrong lesson?)
Haven’t you ever notice how some people always bring out the worst in you? A bad boss can turn a good team into a terrible team very quickly :~)
It takes a special kind of horribleness to come in on a perfectly good team and drive the team, and the project, into the ground.
I have witnessed this in my recent past. Horribleness is scary because the potential for it lies everywhere.
[Comment removed by author]
Hm? I’d take a 6 with a 9 in soft skill over the reverse anytime. The one is a guided missile with a bit less of punch, the other a heavy-hitter that often misses and needs a lot of aiming.
Figuring out who is what is the other difficulty, though :).
Thanks for bringing that up. Lack of skills to evaluate the quality of the received work is a huge issue in the industry, in my opinion.
Nearly all lawyers I have been in contact with are terrible. 5% are adequate. 2% or less are great.
If you want to be surrounded by talent, stay small. Never work at a large organization.
That hasn’t been my experience. I’ve worked with teams large and small, and both had a similar mix of talent. The other counter is that larger organizations can spend more resources on specialization, so you get to work with people who are extremely deep in specific areas.
I live in mortal fear of programming interviews. I have practiced software dev in some way, shape or form for almost twenty years now; professionally, for ten. I’ve worked on a variety of platforms: desktop, web, mobile, even a touch of kernel fun. I’ve hacked on wifi drivers to stabilize them, written interpreters, protocol dissectors, and fought against mammoth coupling induced by ‘easy’ frameworks. I’m competent in most mainstream languages, and have excellent OOP design skills (working on FP right now).
No matter how much I level up, focus on fundamentals, and practice, I feel like I’m not ever going to be able to work somewhere gated by these interviews. I do alright in them, sometimes making a mistake. I honestly think I react more to the power differential than anything else. It’s utterly toxic, and exists to serve the ego of the business and interviewers. I interviewed with a company that had an 8 hour interview process. A few hours after I called them and said, “you know what? Answer from me is no.”
I’m probably not the only person who feels like this. But I will say that businesses that actually try to work on their hiring instead of signing on to megacorp-style-maximum-bitchiness-interviews will find great candidates.
There’s another discussion here, and that’s centered around the infantile institutional need that manifests as businesses clamoring for the ‘best’ talent when they have relatively basic needs (think CRUD).
No, you’re not alone. I’ve had plenty of people suggest I apply at $bigCorp, including some who I’d worked with previously who worked at $bigCorp as well, so I have to assume I’m capable of doing the work. But I’d never pass the interviews. Not because I’m uncomfortable or shy, just because it’s both a whole lot of rote memorisation of stuff you would google when you needed it, and the process is generally degrading and I don’t “relate well” when I feel like somebody’s trying to put me in my place.
It’s incredibly degrading, especially when I know very well that many of the day-to-day operations won’t involve anything close to their ‘tough’ questions. It’s hazing borne out of a bureaucratic cover-your-ass, which leads to overinflation of status symbols: “tech’s basically a meritocracy, but it’s be even better if you went to Stanford.” This causes a run on said status symbols, and further degrades the culture as legions of programmers imbibe the Right Way To Hire from the Great Companies.
When I interview someone these days, I tend to concentrate on the “Tell me about some project you have done and enjoyed.”
If you’re a good programmer, your passion for the subject will soon overcome your nervousness as I ask you to explain why you did X? Or what was so cool about Y? Or huh, wouldn’t Z be really hard to do… so how did you solve that?
ie. The focus is off you, I’m just another colleague at the whiteboard you’re explaining some cool stuff to.
It is also incredibly hard to fake, since fake answers to me will set off alarm bells.. (gee that probably wouldn’t work!) and then I will drill deeper into the details.
Of course, if you know nothing about programming to start with…. you can’t use this technique.
But then I’m not looking for someone perfectly up to date in technology X. Google exists. I expect you can read. I’m looking for someone with potential, with an interest in what she is doing, a sense of taste, someone who understands what they are doing and why and can explain why.
I have come to fear programmers who can’t explain what they are doing and why it is good… since they can’t be reasoned with.
I’ve already talked about this on Hacker News (https://news.ycombinator.com/item?id=9167452) but I want to reiterate Dan Kubb’s quote “if I’m not embarrassed by code I wrote 6 months ago, I’m not pushing myself hard enough”.
I’m done listening to anyone other than people who still write code, which pretty much eliminates anything TechCrunch says. Uncle Bob said it best recently: programmers rule the world
I’ve been thinking along these lines recently. A lot of ‘tech’ fixates on magical events: releasing popular OSS projects, speaking at important conferences, receiving VC funding, or megacorp job offers. Those are fine and good, but they’re also not terribly common. On sites like HN, you’d think they were, however.
The most disgusting thing about tech: the focus on accrual of status symbols. It’s almost like we’re supposed to be professional Twitterers/speakers/contributors and (oh yeah) sometimes write code for the day job. Quality of code or intensity of problems encountered? Not as important! Brand? Very important!
This is anathema to the pre-Eternal September 2 (er, social) hacker culture, which focused more on deep knowledge over self-aggrandizing.
“if I’m not embarrassed by code I wrote 6 months ago, I’m not pushing myself hard enough”.
The world terrible is for those who don’t do that.
I worked at a place that said, “We’re looking for the right type of person for our environment. Then we can train and shape them in the areas they need help.” It was probably one of the most pleasurable places I’ve worked. They made good on their promise. The first few weeks were really intimidating… you start off wondering if you’re going to have the chops to hang with the others that work there. In the end, it makes you think about things before you do them, it makes you care about your work, and you tend to come out the other side a better engineer.