Thanks for your interest in Bueller and Co. accounting. We love to hire the most passionate accountant rock stars in the industry. In advance of the interview, please send us links to some of the side accounting projects you’ve done for fun in your spare time.
But the difference is, good programmers actually LIKE to code. Even in our spare time. For fun. A better analogy is a graphic artist. "Show us some of your oil paintings/charcoal sketches/etc." They won't be doing any oil paintings at work, but they probably paint/sketch/etc. for fun. At least the good ones.
No, no we don't. Not all of us. Generalizing like that is why software development hiring often goes off the rails. Every shop looks for beer & pizza loving, video game-playing, hobby-programming guys who dabble in maker projects and there's a whole world of people out there who are top-notch programmers but have families, non-technical hobbies, and just in general have lives different from the stereotypical brogrammer culture.
Personally, I program a little bit for my own purposes, but nothing more complicated than simple custom script-like utilities to automate things I do all the time. Sometimes I'll put a little time into creating a toy project to learn a new technology, but otherwise I really like to go home and not think about programming for a while. I like to give my brain different things to do to keep it challenged but not bored.
Step out of the bubble/box sometime, meet people different from yourself.
Is this my only hobby? Nope. But, would you write code if you had a billion dollars? I would. Mind you, I wouldn't go into a big corporate shop Monday-Friday 9:00am-5:00pm and write random crap that some middle manager thinks he needs by the end of the month, but I'd gladly write code. At it's finest, it's an art.
Let's use photographers as another example. Any good photographer would still spend a lot of their time in photography even if they had a billion dollars. They probably wouldn't take the exact same wedding photos every Weekend though.
You really can't be a REALLY good programmer without side projects where you get to play around with new technologies, with no deadlines, no managers, no infrastructure, just exploration.
I know there's lots of people who are flooding into this field now just because it pays well, which is understandable, and they might even do a good job and even take pride in their work, but if it's just a job then they aren't ever going to do as well as someone who actually wants to do this for fun. And working with people who are doing it as "just a job" kind of sucks the joy out of the work itself.
> But, would you write code if you had a billion dollars?
Probably. I enjoy writing code and the challenges associated with designing a solution. If I had unlimited money (meaning I didn't have to work), I would probably write code in my spare time. I do think that it is fun.
> You really can't be a REALLY good programmer without side projects where you get to play around with new technologies, with no deadlines, no managers, no infrastructure, just exploration.
Guess I'll never be one of those really good programmers for the rest of my life. I do like to program, but I have a laundry list of hobbies that doesn't consist of programming. I already do it for a living 40 hours a week.
> You really can’t be a REALLY good company without innovation (side) projects where you play around with new technologies, with no expected results or deadlines, no managers, no infrastructure, just exploration.
That's the way it would change. Some places are a lot more open to 'directionless' work and others are amazingly focused on deadlines and the like. If a place is cool with you spending X% of your time on open source work that may or may not be directly related to your 'real' work than that's a much nicer place to be.
Code is (can be) an art just as much as tax preparation can be an art. But at the end of the project, for most of the rest of the world, it's just a means to an end.
I've written some very elegant code in my life that I later revisited and was very proud of. But as a life's achievement? No way.
Most code you will ever write will be thrown away or not used. And of the percentage that is used, most of that could have been written less wonderfully by a more crude programmer and still met the requirements.
Programming is not hard. Good programming is not hard. Good solutions can be difficult to achieve, but that is less about the difficulty in writing good code than it is about understanding the many different objectives and variables in a situation and reconciling that with the legacy or other constraints.
Who am I to judge where someone finds their self worth. But at the end of a decade of doing something, maybe it's good to look around and as, "What is this worth to humanity - even some small subset of?"
There are too many "photographers", but at least they can show their work to the general population and evoke some kind of emotional response (other than, "ooh, that looks sooo boring"). There are many, many exceptional musicians who will never make a living with their music, but at least they bring joy to listeners. Meanwhile, Github fills up with the latest Javascript version of something that's already been done a million times (and could probably have been done with Unix shell scripts).
> There are many, many exceptional musicians who will never make a living with their music, but at least they bring joy to listeners.
Over the years I've come to realize that there is an astonishing abundance of musical talent out there that will never be even a blip on the radar of the Music Industry. Big labels prefer to package and sell the slightly newer Same Old Thing with mass appeal. I could spend the rest of my life listening to musicians with zero name recognition and never feel like I've missed any good music.
That slightly new Same Old Thing is what the current software developer hiring process gets. Yeah, I got all the right buzzwords (this year) on my resumé, but last year I had all the right buzzwords, too, but I was pretty much doing the same thing then, and the year before that, back to the early part of my career. Granted you don't see much demand for cvs and Perl with Sybase on OS/2 these days, but github and ruby/python with PostgresSQL on Amazon RDS are incremental updates, not radically new.
How many skilled programmers are there out there with little-to-no background in these tools, but have the ability to solve real world problems like a programming Richard Feynman.
Maybe they're trying to hire people with some intersection between work and passion. If I had two similarly qualified candidates but one has a huge interest in coding on the side, I'd be inclined to pick her over the other one if I were a hiring manager.
And to be fair, I've had many ask me for side projects and whatnot (with me providing nothing) and have still received offers from them after an interview. Sometimes, these things are just nice to haves. From a recruiter's perspective, why not ask?
No one said anything about a brogramming culture but you seem very incensed. Step down from the soap box and take a breath or two.
Exactly! I used to be a climate scientist, and wrote open source libraries on my free time. I now work as a software engineer, and I love my job. But on my free time I now make music.
That's fair, but a hiring manager might be more easily able to see this overlap if you have some recent side projects.
And again, I'm not even the type to code for fun at home (at least not since my first two years out of college). My significant other never codes for fun but is probably one of the most talented programmers I know. I'm just stating some reasons why one might ask this as an interviewer.
The absence of side projects doesn't indicate a lack of passion but the opposite of this is mostly true.
He should be mad. The idea that what you are professionally capable of needs to be proven or accentuated with spare-time projects is nonsense and needs to die. What someone does with their personal time should have no bearing on their professional life - if all of that spare-time coding sharpens their skills, that should be self-evident during the interviewing process and give them an advantage anyway.
To me, brogramming culture includes the beer & pizza, maker, video game-playing, hobby programmer type. There's more to it, but imagine a software company that includes no people with interests in any of those activities. Do you know any like that?
I see your point, and I think it may in general be true. But are you sure there aren't passionate accountants who have, on their own time, tried out innovative ideas to make accounting practices easier to understand, faster, or more accurate? If you could find them, and see their work, you might really want to hire them.
I've met people who are passionate about finance, usually they are traders though. I've never met a truly passionate accountant. But then I don't know many. I don't know how you would do accounting in your spare time. Maybe volunteer work?
I know someone (an old friend of my wife) who went to school for accounting, and did indeed donate time at local libraries to help people with taxes.
I'm not sure if that was because they liked accounting, or liked helping people and had skills in accounting.
I could see "side projects" being interesting ways to interpret different tax laws with each other. As a "game" with a very large set of rules and formulas that occasionally changes in small but fundamental ways, I could see a certain type of person reveling in their ability to find interesting rule combinations ("loopholes").
For pay or for obligation, but not because it's just fun. You cannot tell me that finding someone else's financial records online and then applying your approach to accounting on them, just for kicks, is happening. Maybe if you're a finance researcher... but no, not even then.
Doing side programming because you get paid, or because you have an idea that you think could be useful or marketable later, yeah that happens.
Doing side projects because you want to learn a new language or tool, hoping it will make you more able to do your work better in the future, sure. That's a great reason.
There are actually a lot of good reasons to do side programming. But making that a big part of a hiring process is unnecessarily focusing on a behavior that is arguably not going to separate a good candidate from an average candidate. I'm sure there's a lot of really garbage side project code out there.
The analogy is horrible because there is nothing about graphics art that precludes one to be a fine artist.
I really wish people would stop with this hobby project bs. No one looks at your github, no one looks at your websites, and no one reads your blog posts about using Arduino boards to build a non-GMO farm in your living room.
Hey! I actually like the organic home non-gmo automated farming. I look at those :) I don't look at the Nth iteration of TodoMVC written in brainfuck, however.
> But the difference is, good programmers actually LIKE to code. Even in our spare time.
I have no idea what you are talking about. Working on my side projects is very very different than working for a company. As your child comment says, programming can indeed be an art. I often compare it to the musician who passionately plays their instrument at home, but makes shitty cookie-cutter jingles for advertisements. Or, a pejorative analogy that seems to be more prevalent in popular Western culture, a philosophy major intimately familiar with Cartesian duality and Berkeleian idealism who writes clickbait articles for a living.
You can bet your horses that unless the company I work for creates a product that's very important to me, that I'm putting in no more than my requisite 8 hours. This ignores the host of incidental skills (mathematics, systems design, etc.) that I think a good programmer should study that "side projects" does nothing for.
Some doctors actually LIKE to practice medicine. Some of these doctors will travel to third world countries or join the military to get additional practice time at less pay.
The difference, is that you still need to be licensed and certified to practice medicine.
And if programming careers were like medicine, we'd all have to do four years of residency working in our specialty, for 80 hours a week for half the salary before we could be licensed to program without supervision.
If it were like civil engineering, we'd need to attend a certified program at university, take an exam in our focus afterwards, then work under a Certified Licensed Programmer for four years. After which, we'd have to take another exam to get our state license that allows us to practice programming on our own. *
Maybe we could establish a huge bureaucracy around programming, requiring a decade of schooling and license in order to practice the art. Then we could make these pesky interviews a bit easier!
* The first half of this is already in place. I attended a ABET CS program, and I'm sure many others have as well. ABET has a FE exam for CS/EE that we could take.
> Thanks for your interest in Bueller and Co. accounting. We love to hire the most passionate accountant rock stars in the industry. In advance of the interview, please send us links to some of the side accounting projects you’ve done for fun in your spare time.
Funny, when I did consulting work, I hired an accountant who did side-gigs in addition to her full-time job.
Or we could create simple evidence-driven tests of ability which could be taken at any time, and which would pre-qualify people as competent; and then we could hire pre-qualified people mostly sight-unseen. You know, like in any trade that isn't infected by the professional-licensing meme.
The issue there is preventing fraud -- how do you know that I didn't just pay someone to take the test for me?
Do you add some kind of monitoring, like a mandatory proctor? Or do you have a in-person interview component to verify that I seem like I'm legit? If so, how would such a component differ from what we have now?
I imagine that there could be some kind of periodic testing. But that starts sounding like a licensing and credentialing system, maybe combined with some kind of biometric identification (or just gov't ID requirement?).
It's an interesting idea; if we could test once for technical competence, then have a shorter, less-formal interview for culture fit or something, everyone could end up saving some time when interviewing.
You appear to have invented a hypothetical situation as a counterpoint to some actual, if anecdotal, observations. Do you have any concrete examples of such an evidence-driven test?
The software industry's aversion to regulation and licensing is definitely a proximate cause for the current state of interviewing. In order to "weed out" the ones who read the Learn <thing> in 21 Days or are just flat out incompetent despite calling themselves Senior Developers, companies have developed the elaborate and costly (8 developers spending 2 hours out of their day interviewing amounts to a couple of million dollars in time at a minimum) process over and over at each separate hiring point, rather than get together and agree on some sort of industry-wide standard that candidates must meet. Of course, the argument is that they get to impose their own standards of competence and merit, but looking at the makeup of the MAGA (Microsoft, Apple, Google, Amazon) workforce, this process has devolved according to the Iron Law of Oligarchy.
Oh yeah, but there are also a couple of startups out there that promise to solve the hiring problem with their special neural network/big data/cloud-based secret sauce for screening candidates. Shockingly, their algorithm identifies the very sort of people already able to hurdle the current process as being the right candidate under their methodology.
Yeah, if you're just talking about a one-time thing, then it's 16 hours times however many candidates make it to that phase times the hourly pay of the developers. That's still chunk of money.
In the context of the later two, what benefits do you think it would add to development that their QMS process plus FDA PMA/510k submissions don't? Legit question, not snark.
For a doctor in a hospital (or building a bridge, or many of the other classic examples), there is often one opportunity to act and it better be right. The cost to being wrong is very high, so the gate is to qualify people before the action can be taken. But you can test the shit out of a car or medical device before it hits the market.
Except for the part where other professions do hire like software development (and a lot of firms don't require take home tests). Generally jobs that require a technical skill set and are equally high paying do focus on these things. Consulting has case study interviews and quantitative tests, finance firms outside of the sales heavy organizations are known for asking complex math problems and puzzles. Hell, even accounting firms do case studies for people with a bit of experience (something you get good at by dedicating extra time outside of work).
In similar fields that don't do these types of challenges, they focus on academic excellence and professional certifications. A doctor will get hired because they came from a top residency program, a lawyer will get hired because they made law review at a T14 school.
The only example that I can't really debunk is the civil engineering one, although, it isn't known for being high paying and i'm not super familiar with the industry.
Are all-day interviews typical in other professions? Honest question. I don't think it's a good or bad thing. I appreciate meeting a lot more people when it's a long interview, but of course it is tiring.
Can't speak for many professions, but a long series of interviews where you do a bunch of modules and meet a large proportion of your team is pretty typical in consulting.
I think it very much depends, some professions have much longer interviews (at least historically), namely where banks would do super days where you could be having possibly 10 interviews (compared to maybe 4-5 you'd have in software). However, the difference here is that a lot of software companies will then later have you talk to different managers on the phone rather than knowing which team you'd be on at the time you get the initial offer.
You forgot to mention that standardized test are used in a lot of these professions (eg, accounting and medicine).
It often seems to me that the people who complain about software hiring actually like the completely vacuous "talk about yourself" type interview that you get for some corporate jobs. Either that or they just like bitching and it never occurs to them to consider why things are the way they are. Not that there isn't a ton of room for improvement - it's known that the whiteboard coding interview process gives terrible signal - but that's because it's an extremely difficult problem, not because the current methodology is particularly stupid.
I wrote this a while back on a similar article complaining about technical interviews:
Med school is difficult. An internship is difficult. A fellowship program is difficult. Undergraduate degrees are a rubber stamp, CS included.
There are 20k oncologists across all fields of oncology within the US. That's also about the number of engineers Google employs. Most other industries we like to compare ourselves to are leagues above ours in individual merit. My father is an oncologist, and I'm reasonably confident he has some familiarity with every genitourinary oncologist in North America, Australia, and Europe. More importantly, he's on a first name basis with all of their educators. When he needs to hire a new doctor, he doesn't post an ad on health stack exchange. He makes an offer to a specific individual who he already knows.
One thing that we as an industry fail to understand is that we're not special. We desperately claw to it in these conversations. I'm willing to admit it: I'm easily replaceable. Very few of us have any name recognition that exists in other fields. I worked in finance for half a decade before moving to software. When I'd go to interview, people already knew who I was because of the basic human interaction I had as part of my job. When I walk into the door of my next interview, the only thing people know about me is what's on my resume/blog/stack overflow answers.
Personally, I find technical interviews to be a cheap and easy filter. You may not always get the best person from your pool of applicants, but you get someone that's better than most of them. The marginal benefit of one vs. the other is rarely meaningful.
> a similar article complaining about technical interviews
From this article:
"The interview will be 8 hours long and will include meeting our entire staff, as well as some practice problems to determine your problem-solving proficiency. Problems will be done on a whiteboard in front of our hospital directors and will include chemistry and biochemistry problems like identifying hybridization states and lipid synthesis."
"When you click on this link you’ll be taken to a 30 minute test where you’ll read mock cases and identify different problems with them. After you take the test, we’ll let you know if you’ve been selected for a phone interview."
Can you explain how those are unrelated arguments?
Definitely, but when is the last time you interviewed a PhD? If so, did you give them technical questions? The comparison is between practitioners, not academics.
Beyond that, other industries DO use technical interviews. My entry-level interview in finance was extremely technical, but no subsequent interviews were technical. I just think the comparisons being drawn aren't realistic.
I work in med-tech, specifically orthopedics. I recently interviewed for a side job to help build an application related to genomic research. The most technical question I received (related to programming) was "do you have experience in python", and the answer didn't even matter. Why? My boss worked with their lead engineer, and all their researchers know my father. The human element changes things dramatically, and that seems significantly less prevalent in programming.
If other professions hired like software development there would be no licensing and no credibility. Imagine your doctor, lawyer, pilot, construction engineer, or anybody else being hired because they had a nice resume and nailed a 30 minute interview.
When things go bad you could try to sue them, but they will always find a way to blame somebody else. After all there is nothing legally binding to affirm they are competent professionals.
These are great, but she totally missed the opportunity to list about 20 skills that were important to have for the job. Those skills would encompass upper management, project management, deep technical expertise, willingness to be hands on and work as much as necessary at times, and possibly also cover some support shifts.
You're a professional baseball player. The team has never seen you play, but asks to see how many pushups you can do in a minute. Then sees how good you are at jumping jacks. These things test your athleticism to some degree, but really have no bearing on how good of a baseball player you are.
All examples are credentialed professionals; and more than a degree.
Offering my clients $1M+ in E&O insurance and proof of industry certifications are the nearest equivalents to a Lawyer demonstrating they've passed the bar (that I can think of).
This writeup made me chuckle, because we've all had to jump through those hoops in our career. The fact of the matter is, that most of those other professional industries have such a higher bar to getting hired. So much dedication, years of work, and trying your damnedest just to meat the right person who can make your career.
The same is also true for good software jobs, but at least we have the option to dance like a monkey for the chance to get a job. I prefer that to the reality of having to know someone to even get my resume looked at.
I have done my share of software-hiring and have been hired plenty of times too.
It's double-sided for a candidate to complain about whiteboard examples, code tests, and code samples in the same breath. You're essentially saying, "Pay me a higher than average salary, with no evidence that I can actually do my job". Pick two, but not all three.
I think whiteboard interviews suck.
I think code tests can often be heavy-handed.
I think providing code-samples, from a side project or something you spend an hour on JUST to use for applying to jobs, is completely justifiable.
I see two problems with the implied argument here. The first is that other industries would probably very much like to do these kinds of things, if it weren't impractical to do so. The relevant difference is in fact that these practices are practical for software whereas they aren't for civil engineering and law.
The second is that software development may be unusual in that it's very easy to phrase what are essentially IQ test questions as "coding" questions, even though the code part is secondary. Arguably, the smarter thing would just be to give an actual IQ test, but I think people are squeamish about that idea, so coding questions can be used as a proxy.
61 comments
[ 3.2 ms ] story [ 132 ms ] threadBut the difference is, good programmers actually LIKE to code. Even in our spare time. For fun. A better analogy is a graphic artist. "Show us some of your oil paintings/charcoal sketches/etc." They won't be doing any oil paintings at work, but they probably paint/sketch/etc. for fun. At least the good ones.
Personally, I program a little bit for my own purposes, but nothing more complicated than simple custom script-like utilities to automate things I do all the time. Sometimes I'll put a little time into creating a toy project to learn a new technology, but otherwise I really like to go home and not think about programming for a while. I like to give my brain different things to do to keep it challenged but not bored.
Step out of the bubble/box sometime, meet people different from yourself.
Let's use photographers as another example. Any good photographer would still spend a lot of their time in photography even if they had a billion dollars. They probably wouldn't take the exact same wedding photos every Weekend though.
You really can't be a REALLY good programmer without side projects where you get to play around with new technologies, with no deadlines, no managers, no infrastructure, just exploration.
I know there's lots of people who are flooding into this field now just because it pays well, which is understandable, and they might even do a good job and even take pride in their work, but if it's just a job then they aren't ever going to do as well as someone who actually wants to do this for fun. And working with people who are doing it as "just a job" kind of sucks the joy out of the work itself.
Probably. I enjoy writing code and the challenges associated with designing a solution. If I had unlimited money (meaning I didn't have to work), I would probably write code in my spare time. I do think that it is fun.
> You really can't be a REALLY good programmer without side projects where you get to play around with new technologies, with no deadlines, no managers, no infrastructure, just exploration.
Guess I'll never be one of those really good programmers for the rest of my life. I do like to program, but I have a laundry list of hobbies that doesn't consist of programming. I already do it for a living 40 hours a week.
There, fixed it.
I've written some very elegant code in my life that I later revisited and was very proud of. But as a life's achievement? No way.
Most code you will ever write will be thrown away or not used. And of the percentage that is used, most of that could have been written less wonderfully by a more crude programmer and still met the requirements.
Programming is not hard. Good programming is not hard. Good solutions can be difficult to achieve, but that is less about the difficulty in writing good code than it is about understanding the many different objectives and variables in a situation and reconciling that with the legacy or other constraints.
Who am I to judge where someone finds their self worth. But at the end of a decade of doing something, maybe it's good to look around and as, "What is this worth to humanity - even some small subset of?"
There are too many "photographers", but at least they can show their work to the general population and evoke some kind of emotional response (other than, "ooh, that looks sooo boring"). There are many, many exceptional musicians who will never make a living with their music, but at least they bring joy to listeners. Meanwhile, Github fills up with the latest Javascript version of something that's already been done a million times (and could probably have been done with Unix shell scripts).
Over the years I've come to realize that there is an astonishing abundance of musical talent out there that will never be even a blip on the radar of the Music Industry. Big labels prefer to package and sell the slightly newer Same Old Thing with mass appeal. I could spend the rest of my life listening to musicians with zero name recognition and never feel like I've missed any good music.
That slightly new Same Old Thing is what the current software developer hiring process gets. Yeah, I got all the right buzzwords (this year) on my resumé, but last year I had all the right buzzwords, too, but I was pretty much doing the same thing then, and the year before that, back to the early part of my career. Granted you don't see much demand for cvs and Perl with Sybase on OS/2 these days, but github and ruby/python with PostgresSQL on Amazon RDS are incremental updates, not radically new.
How many skilled programmers are there out there with little-to-no background in these tools, but have the ability to solve real world problems like a programming Richard Feynman.
And to be fair, I've had many ask me for side projects and whatnot (with me providing nothing) and have still received offers from them after an interview. Sometimes, these things are just nice to haves. From a recruiter's perspective, why not ask?
No one said anything about a brogramming culture but you seem very incensed. Step down from the soap box and take a breath or two.
And again, I'm not even the type to code for fun at home (at least not since my first two years out of college). My significant other never codes for fun but is probably one of the most talented programmers I know. I'm just stating some reasons why one might ask this as an interviewer.
The absence of side projects doesn't indicate a lack of passion but the opposite of this is mostly true.
I don't have evidence to back this up, but I strongly believe a team of well-rounded people will out perform a group of extreme nerds over time.
I'm not sure if that was because they liked accounting, or liked helping people and had skills in accounting.
I could see "side projects" being interesting ways to interpret different tax laws with each other. As a "game" with a very large set of rules and formulas that occasionally changes in small but fundamental ways, I could see a certain type of person reveling in their ability to find interesting rule combinations ("loopholes").
Doing side programming because you get paid, or because you have an idea that you think could be useful or marketable later, yeah that happens.
Doing side projects because you want to learn a new language or tool, hoping it will make you more able to do your work better in the future, sure. That's a great reason.
There are actually a lot of good reasons to do side programming. But making that a big part of a hiring process is unnecessarily focusing on a behavior that is arguably not going to separate a good candidate from an average candidate. I'm sure there's a lot of really garbage side project code out there.
I really wish people would stop with this hobby project bs. No one looks at your github, no one looks at your websites, and no one reads your blog posts about using Arduino boards to build a non-GMO farm in your living room.
I have no idea what you are talking about. Working on my side projects is very very different than working for a company. As your child comment says, programming can indeed be an art. I often compare it to the musician who passionately plays their instrument at home, but makes shitty cookie-cutter jingles for advertisements. Or, a pejorative analogy that seems to be more prevalent in popular Western culture, a philosophy major intimately familiar with Cartesian duality and Berkeleian idealism who writes clickbait articles for a living.
You can bet your horses that unless the company I work for creates a product that's very important to me, that I'm putting in no more than my requisite 8 hours. This ignores the host of incidental skills (mathematics, systems design, etc.) that I think a good programmer should study that "side projects" does nothing for.
Some doctors actually LIKE to practice medicine. Some of these doctors will travel to third world countries or join the military to get additional practice time at less pay.
The difference, is that you still need to be licensed and certified to practice medicine.
If it were like civil engineering, we'd need to attend a certified program at university, take an exam in our focus afterwards, then work under a Certified Licensed Programmer for four years. After which, we'd have to take another exam to get our state license that allows us to practice programming on our own. *
Maybe we could establish a huge bureaucracy around programming, requiring a decade of schooling and license in order to practice the art. Then we could make these pesky interviews a bit easier!
* The first half of this is already in place. I attended a ABET CS program, and I'm sure many others have as well. ABET has a FE exam for CS/EE that we could take.
> Thanks for your interest in Bueller and Co. accounting. We love to hire the most passionate accountant rock stars in the industry. In advance of the interview, please send us links to some of the side accounting projects you’ve done for fun in your spare time.
Funny, when I did consulting work, I hired an accountant who did side-gigs in addition to her full-time job.
Do you add some kind of monitoring, like a mandatory proctor? Or do you have a in-person interview component to verify that I seem like I'm legit? If so, how would such a component differ from what we have now?
It's an interesting idea; if we could test once for technical competence, then have a shorter, less-formal interview for culture fit or something, everyone could end up saving some time when interviewing.
Sounds like a startup, only there's never any supervision.
Oh yeah, but there are also a couple of startups out there that promise to solve the hiring problem with their special neural network/big data/cloud-based secret sauce for screening candidates. Shockingly, their algorithm identifies the very sort of people already able to hurdle the current process as being the right candidate under their methodology.
For a doctor in a hospital (or building a bridge, or many of the other classic examples), there is often one opportunity to act and it better be right. The cost to being wrong is very high, so the gate is to qualify people before the action can be taken. But you can test the shit out of a car or medical device before it hits the market.
Paid, or for fun and published freely online?
In similar fields that don't do these types of challenges, they focus on academic excellence and professional certifications. A doctor will get hired because they came from a top residency program, a lawyer will get hired because they made law review at a T14 school.
The only example that I can't really debunk is the civil engineering one, although, it isn't known for being high paying and i'm not super familiar with the industry.
It often seems to me that the people who complain about software hiring actually like the completely vacuous "talk about yourself" type interview that you get for some corporate jobs. Either that or they just like bitching and it never occurs to them to consider why things are the way they are. Not that there isn't a ton of room for improvement - it's known that the whiteboard coding interview process gives terrible signal - but that's because it's an extremely difficult problem, not because the current methodology is particularly stupid.
Med school is difficult. An internship is difficult. A fellowship program is difficult. Undergraduate degrees are a rubber stamp, CS included.
There are 20k oncologists across all fields of oncology within the US. That's also about the number of engineers Google employs. Most other industries we like to compare ourselves to are leagues above ours in individual merit. My father is an oncologist, and I'm reasonably confident he has some familiarity with every genitourinary oncologist in North America, Australia, and Europe. More importantly, he's on a first name basis with all of their educators. When he needs to hire a new doctor, he doesn't post an ad on health stack exchange. He makes an offer to a specific individual who he already knows.
One thing that we as an industry fail to understand is that we're not special. We desperately claw to it in these conversations. I'm willing to admit it: I'm easily replaceable. Very few of us have any name recognition that exists in other fields. I worked in finance for half a decade before moving to software. When I'd go to interview, people already knew who I was because of the basic human interaction I had as part of my job. When I walk into the door of my next interview, the only thing people know about me is what's on my resume/blog/stack overflow answers.
Personally, I find technical interviews to be a cheap and easy filter. You may not always get the best person from your pool of applicants, but you get someone that's better than most of them. The marginal benefit of one vs. the other is rarely meaningful.
> a similar article complaining about technical interviews
From this article:
"The interview will be 8 hours long and will include meeting our entire staff, as well as some practice problems to determine your problem-solving proficiency. Problems will be done on a whiteboard in front of our hospital directors and will include chemistry and biochemistry problems like identifying hybridization states and lipid synthesis."
"When you click on this link you’ll be taken to a 30 minute test where you’ll read mock cases and identify different problems with them. After you take the test, we’ll let you know if you’ve been selected for a phone interview."
Can you explain how those are unrelated arguments?
I don't think that rings true to those with PhD degrees doing academic research in CS.
Beyond that, other industries DO use technical interviews. My entry-level interview in finance was extremely technical, but no subsequent interviews were technical. I just think the comparisons being drawn aren't realistic.
I work in med-tech, specifically orthopedics. I recently interviewed for a side job to help build an application related to genomic research. The most technical question I received (related to programming) was "do you have experience in python", and the answer didn't even matter. Why? My boss worked with their lead engineer, and all their researchers know my father. The human element changes things dramatically, and that seems significantly less prevalent in programming.
When things go bad you could try to sue them, but they will always find a way to blame somebody else. After all there is nothing legally binding to affirm they are competent professionals.
So true.
You're a professional baseball player. The team has never seen you play, but asks to see how many pushups you can do in a minute. Then sees how good you are at jumping jacks. These things test your athleticism to some degree, but really have no bearing on how good of a baseball player you are.
Offering my clients $1M+ in E&O insurance and proof of industry certifications are the nearest equivalents to a Lawyer demonstrating they've passed the bar (that I can think of).
The same is also true for good software jobs, but at least we have the option to dance like a monkey for the chance to get a job. I prefer that to the reality of having to know someone to even get my resume looked at.
It's double-sided for a candidate to complain about whiteboard examples, code tests, and code samples in the same breath. You're essentially saying, "Pay me a higher than average salary, with no evidence that I can actually do my job". Pick two, but not all three.
I think whiteboard interviews suck.
I think code tests can often be heavy-handed.
I think providing code-samples, from a side project or something you spend an hour on JUST to use for applying to jobs, is completely justifiable.
The second is that software development may be unusual in that it's very easy to phrase what are essentially IQ test questions as "coding" questions, even though the code part is secondary. Arguably, the smarter thing would just be to give an actual IQ test, but I think people are squeamish about that idea, so coding questions can be used as a proxy.