Should Senior Developers Refuse Interview Coding Challenges?

Whether on a whiteboard, a timed challenge at the office, or a take-home project, many senior-level developers and engineers are asking themselves if coding challenges are still something they should have to participate in.

It’s an understandable consideration if you’re an experienced tech professional. Should you, a ten-year veteran of fill-in-the-blank-language, be asked to show your work? More to the point, should a company still consider you if a coding test is rebuffed?

There’s no clear path forward here. If you refuse any part of the interview process, expect the company to stop the process altogether. Put yourself in their shoes: Why would they want to hire someone who refuses an industry-standard practice for the interview process?

If you refuse to do some coding as part of the interview process, this is the likely scenario. To a potential employer, your refusal to show your skillset is not a ‘gotcha’ moment; it shows them you’re willing to be difficult about something fairly standard. In addition to skilled tech professionals, companies are hiring for culture. By refusing to do any coding at all, you’re drawing lines in the sand before you’ve signed an offer of employment.

Some “industry standard” indignities shouldn’t exist. If you’re asked to stand at the whiteboard and invert a binary tree or some such nonsense, most hiring managers would likely accept your counter-offer of a coding challenge or take-home work. But rather than say “I’m not doing that,” position it like this:

I’m not sure a whiteboard is the best showcase for proving my knowledge. I understand why we have them, but I’d be far more comfortable with a mini project where I can use every developer’s two best friends: documentation and the web.

(Many interviewers or hiring managers haven’t thought beyond whiteboards. It’s entirely possible they hate them as much as tech pros do, so offering up an alternative may give them an ‘out’ they didn’t know existed.)

Beyond the whiteboard, there are two core options for hiring firms: take-home projects, and on-site testing. The on-site coding challenges are typically what you’d expect: they sit you down at a machine, explain what they’re looking for, and give you a timeframe to complete the project. Sometimes the company is just looking to see that you know some basics. Other times, the projects are impossible. They just want to see how much you can accomplish.

The on-site challenge is, to us, a fair compromise. It’s not the indignity of a whiteboard, but helps your potential employer see that you grasp core competencies. Take-home challenges are a bit more comfortable, but have their own considerations.

First, consider if the company is asking you to do work on their platform as a ‘test.’ Are they asking you to write code they can reuse or slip into their stack? Did they ask you to squash a bug or add a feature for an existing app or service? That’s not a challenge – that’s work.

Second, take-home coding challenges can be lengthy. Some companies give you a wink-and-a-nod that you should only spend a few hours on your project, knowing you’ll invest as much time as is necessary. One Redditor claims to have successfully billed companies for take-home projects, though we’ve not heard of anyone owning up to this beyond the anonymity of Reddit. But, if a project yielded results the company could use in production, or you’ve been asked to spend a day or better on said challenge, you wouldn’t be out of line to inquire about compensation of some sort.

Refusing any coding as part of the interview process will most likely end the process. This isn’t great unless you’re looking for an easy way out of interviewing for a company you’re unsure of. Asking for projects where you can sit at a computer and actually code are better options, though the company may not be set up for that. A take-home project is far more comfortable, though the scope can be wider, and we’re not a fan of tech professionals spending hours on something that will get the once-over from a busy team lead.

You know your skillset. Potential employers simply want to know you’re the right person for the job. Your best move is to find common ground so they see what you’re capable of, and you don’t feel taken advantage of.

49 Responses to “Should Senior Developers Refuse Interview Coding Challenges?”

  1. It’s become a strange, useless process. The interviewer has no training on how to interview so they go to Google and get a set of coding questions. The interviewee knows this so they study the same questions. What has this proven? That they can use the internet. When I interviewed candidates I would start with what they actually have done. Usually, a coding or design question will fall out of that. Now it’s some kid out of college asking a 25-year coding veteran to reverse a string in C or python or java or whatever the language du jour is. And those stupid out-of-the-box questions are useless too. A vanishingly small number of people have the understanding to interpret the answer. A mango, goat and cheese doodle are on one side of a river. A frog with a scorpion on it’s back is your only way across. How many bananas will balance on your average weather vane?
    Companies need to free up a few dollars and pay to train their people to interview and to understand how to interpret the answers. Just assuming someone knows that is a waste of time. This is how we get really poor hiring practices of only hiring people like yourself. A mango eating goat herder is going to lean toward hiring similar even if the job is banana rangling.

  2. Fred Bed

    I have never agreed to a whiteboard test. If my prior work, resume, references, and/or reputation isn’t sufficient for a company to determine what I can do, then that’s not a place I want to work.

    I (sort of) get whiteboard tests for graduate hires. But experienced devs? No way. Not now, not ever. F that. Full stop.

  3. Mia Kennedy

    Asking a senior engineer with 10 years of experience to complete a coding challenge is stupid and a waste of time. No other industries do these things. Teachers and professors don’t take home quizzes and such neither do accounts etc. Its an old barbaric practice that should be tossed.

    • Actually, professors are required to teach a live class in front of the hiring committee & real students during the hiring process. And teachers have to teach unpaid while finishing their degree to get certification. And instructors at all levels are required to be evaluated for their annual reviews.

      • Michael Brown

        “Actually, professors are required to teach a live class in front of the hiring committee & real students during the hiring process.” <— ummmm no they aren't. You just completely pulled that out of your back-side. You tried it tho.

      • No they don’t… that’s not a thing. Professors don’t do that.. Why tf would they? I can tell you have no experience with academia. Most professors already have live teaching experience either from TAing when they were pursuing their PhD/PostDoc or Adjuncting during their PhD/PostDoc. IF they’re getting hired, it’s likely by the program they’ve been working with already for many years.

        Not even teachers do live teaching. Now yes ESL teachers by some companies in other countries do this bullshit, specifically Japan and China where you might do a demo class. But even then it actually isn’t a high stress situation. It’s standardized in the sense that it’ll be a short lesson that, is 100% relevant to what you’re gonna be doing for the job.

        In Technology, doing binary tree coding challenges in live coding interviews which I always fail these btw because of how I choose to code. Aka, something I start at the end of the script then work my way back.. Which confuses the interviewer. Though one time an interviewer said “is this even Python” when I was coding, and my code fucking worked.. he showed me how he does it. And His syntax was from Python 2.5 and I was like wtf is this outdated shit? He basically didn’t like the fact that I used a walrus in my Python he wanted me to write that shit out fully. And that’s just me using Python 3.8 syntax which is already considered outdated.

  4. It’s fine to challenge a question on level or realism. I’ve done that with FAANG interviews and still got an offer so long as I identified the class of problem and could speak towards the solution.

    The other side of that is, i’ve been in plenty of interviews where they were looking for justification to hire outsourced grunts and wanted a local stalking horse they could poorly rate for their documentation. That type of mono-culture panel beat down has to stop.

    • Chris

      Agreed. Companies are fighting for experienced help from people with proven track records. I’ve had multiple 30 min phone interviews with Fortune 100/ 500 companies where I received a great offer while on the initial call. I laugh at these wanna be contenders who think I am going to waste my time with a code review, take home projects or taking off of work multiple times to go in and interview.

  5. Let’s think this way. Seniors have instinct how to solve problems and perform work. If they forgot the commands or formula, they know how to get answers. They dont memorize things. If you memorize 20 years of experience, you will be crazy or dumb. Juniors who just out of college, they are fresh for memory. It is unfair to put two together for the process. All is matter to hire who has motivation, passion to do jobs well. I see these juniors after get into the jobs, only work 3 hours for projects, the rest, having fun with free food. I also hear many projects are not successful. They might know how to code, but seniors foresee the designs and structures. Seniors will accomplish the projects’ goals. Will you say you are bigger than your parents?

    • I have been at a company for over 10 years and am the one person in our department that does Front End Development. Mostly Html/CSS, JavaScript, PHP, and JQuery. Every project I do is different though and I am always learning. I’ve never focused on one language. I’ve built angular apps on my own for keeping up to date on new tech but never used it at work. The rapid rate at which languages evolve is crazy. Lately I’ve been looking at relocating to another state. I’ve seen some positions asking for senior react and angular devs with 5-10 years experience. It’s funny because they are fairly new languages. I believe Google started on its version of Angualr 2 in 2015-2016. Out of the remote Jobs I’ve applied for I’ve received 3 phone interviews and each one has wanted me to take a test. First one sends me a test that should take 1:30-2 hours. Right after starting it I realize it is for backend development. So I write back and they say they made a mistake but didn’t want to send the other Front End test because it is about 3 hours long. I’m like wtf. The other companies also sent test and they were like 1:30-2:30 long. I gave up on working remotely. I’m looking for an onsite position now but that has also been a challenge since I’ve been turned down since I don’t live in the state I applied a couple times. As for programming, I think you either understand logic and can figure out a language after looking it over or you just are not a coder. I’ve had some good interviews for onsite positions but they have been taking forever to get back. For me, my memory sucks after sustaining a TBI and I can’t memorize every language but I can understand languages and figure things out. But who actually memorizes everything? By the time you learn something a new language has already taken its place.

  6. I took a code test for a job back in 2010. It was really stupid. I succeeded and was offered the job. Then when I saw the quality of code in their repositories I didn’t know whether to laugh or cry. Absolute garbage code everywhere. And they had the audacity to give a senior engineer a code writing test?

    I refuse to take tests or write code on white boards during interviews. As a senior engineer whose code is currently used by a branch of the US military as well as by a major US research university, any company who is too stupid to recognize this along with all of my other accomplishments is not worth my time. That indicates a lack of common sense and I have no interest in working for them. If it’s a case of believing that everything on my resume is a lie and must be proven, then call my former managers on my list of references to corroborate. Ask them anything. That will take a lot less time than wasting my time and theirs with silly tests and white board antics.

    In my career, I have interviewed a lot of folks for various positions. Not once have I asked an experienced software developer to write code on a white board or take a test. If you verify their previous employment and technologies BEFORE THE INTERVIEW, you save a lot of time during the interview for meaningful questions, such as, “Do you think the move to agile development has helped or hindered software development, and why?”

  7. The issue is the coding challenges are based on situations that have nothing to do with real world problems. Also the challenges typically include some problem that no one in their right mind would solve anymore because they would use a library or open source resource to solve rather than deal with low level stuff. However if what you want is a newbie from college who has just been through these things in algorithm class go for it. He will be cheaper. You won’t make many deadlines but go ahead. What I wish we could do is show a portfolio of code we wrote and have to talk about it or code review it. Kind of like you would for a different kind of artist like a graphic designer.

  8. Bradley Beach

    I like it when I get asked to do stupid things during an interview. Whiteboard an algorithm, how many ping pong balls can fit in an 747, you know the drill. It let’s me know really fast that I have no interest working at that company. I politely thank them for their consideration, inform them of the uselessness of their question, and walk out.

  9. Wes Hatley

    I am a senior developer and being tasked with destructuring someone’s “new” way of writing FizzBuzz or Bubblesort guarantees that LinkedIn conversation ends up in my trash. I always advise I’m happy to share code I’ve written with other senior software engineers, showcase things I’ve created, have discussions about theory, structuring, methodology, decision making, etc. If you insult me with busy work I’ll entertain any of the other 10+ messages a day I get in my LinkedIn inbox from recruiters that aren’t looking to waste my time. This article seems to overlook that the demand these days is so insanely high for senior devs that they don’t have to debase themselves like animals in a circus.

  10. The guy that wrote this article is just a writer. He doesnt lnow wtf hes talking about and preaches a gospel of conformity. What kind of person does it take to advise professionals on their profession when you’re not in it yourself? Pretty sure it takes a douchebag.

  11. Shadowncs

    Never really understood what is wrong with coding challenges.
    Is it not something senior sw devs enjoy? I sure do after 20 years, every time I get one whether in an interview or not.
    Is it not an opportunity to springboard the discussion to the real points like scalability, efficiency, portability, maintainability?
    And you know what – plenty of top notch developers think like me. I hired quite a few of them.
    So I respectfully disagree:
    – if it is just busy work, get to the business of making it interesting! Throw in some curveballs at yourself to make it reallly challenging so you can amaze.
    – never write code on a whiteboard because of course the “coding challenge” is in fact a design challenge. Guaranteed, always.
    – If you get stuck say so and work it out after the interview and follow up.

    It really is one of the fun parts of the interview so treat it like that. Unless of course you are intimidated by writing code in which case I’d reassess your seniority level.

    • Algorithm development is not a race, to be done on the spot and in a microscopic amount of time. Most engineers take time to think things through, consult reference materials, and try more than one algorithm before settling on the final version. White board exercises prove nothing. I’ve written code that I thought was a good solution, only to rework it the next day after getting an epiphany while laying in bed that night. Tests and white board coding cannot separate good engineers from bad ones. Thoughtful, cerebral questions by the interviewers do a much better job of that.

    • Michael Brown

      … didn’t understand because when you wrote this you likely were not an actual software developer who has had to deal with this crap…at least not a professional one who earns their money from writing maintainable, scalable software used in production. Your initial assertion and the wall of nonsense that followed it pretty much gave you away.

  12. Vivek

    Do you ask a handyman to do a sample project before you hire him? NO!!! You decide based on your conversation with him and look for his online reviews. Do you do the same thing with other professionals like Doctors, Lawyers, etc?

  13. David

    I’ve passed nearly every test but some interviewers want to be difficult. For example one guy gave a 90min test that I finished in around 30. Then he failed me on an algorithm that I used.
    There’s others who start asking text book definitions so these type of people I just tell them on their face to ask relevant questions because their goal is usually to kill some time or show who’s better

  14. Ritchey Mulhollem

    NO! Absolutely NOT for senior level developers! If you don’t immediately like what you see on my resume, how is a code challenge going to change your mind on anything?

    Let’s put it this way. Has anyone ever been hired based on a code challenge? Anyone? Because I haven’t.

  15. Joe Siczpak

    Some years ago, the two tech bullies on an interview asked me to go to the board and write code for a recursive descent parser. I didn’t want to, but tried anyway. The two tech bullies kept interrupting, so I stopped and erased the mess I’d begun to write. Instead, I drew a binary tree and explained the algorithm. Later, one of the tech weenies whined, “He didn’t want to go to the whiteboard and write code.” No offer.

    For a recent interview I did a hackerrank two-hour test about tic-tac-toe. Due to the countdown timer, I found it difficult to concentrate. Fortunately, I had practiced on several other hackerrank problems in advance, so was very familiar with the UI and its quirks. The hiring company rejected me out of hand with no discussion. Too bad for them.

    A few weeks later, I had an on-site interview where I met three different developers, each armed with several programming and log questions. I found that much more tolerable. What I did was scratch out my solution on a sheet of paper, while making small talk. Then I merely told the interview that the code would not compile, but they are looking to see how I think. I guess I did about four coding tests and discussed several logic problems. I left the interview not expecting any further discussion, but got an offer the next week.

    I think it’s more important to be willing to discuss the toy problems and attempt to write some code, rather than discount it out of hand.

  16. Actually, a company I interviewed with asked me to do a presentation about some code that I had already written. Talk about the design, show where it may be lacking, what was done to ameliorate any problems, etc. This was all pre-arranged so I had time to prepare everything.

    At first, I thought it was a bit crazy. But, y’know, it worked out pretty well. I was able to talk about something I know a lot about and was able to work with co-workers so that they understood what I talking about. We could discuss the design trade-offs and why I had made those decisions, etc. Sort of like a formal code review. They could get some ideas of my personality, how/if I would fit in with the group, etc.

    I thought that went much better than “solve this problem.”

  17. Harsh Reality

    If a senior developer is willing to waste their time on white board hoop-jumping, “timed office challenges” or (worse… far worse than ANY of those) a take home test, they are clearly desperate and will tolerate any number of indignities and pointless lunacy.

    They represent a few good ways to identify future employees that will allow the company to use them as a door mat but are entirely useless otherwise.

  18. Startups giving tech challenges to seniors/leads is ridicolous. Just have a chat with them, you will easily find out if the resume is true or a bs. Of course, if you can’t even spell python correctly… That said, you startup wanna test me to find out if I know how to code and design stuff. Yea, because my years at Google prove nothing. Oh and because as a senior/lead I have nothing to do on my spare time.

  19. I have an alternative, which I suggest to whoever does tech interviews: get some piece of code from the web or from your repo, some piece of code that works but that needs some love.
    Show the code to the candidate and make it crystal clear the code works, there are no tricks. It compiles and works perfectly. This does not mean it performs. Now the question to the candidate: “How would you improve this code?”
    Juniors tend to find tricks in the commas (they do not believe it works); Seniors check docs, names, algorithms, …

  20. #BeenThere

    I’d done one such “Coding Exercise” ~a year ago. It was fun and I made it a deeper dive for me. Yet then, I remember being in the on-site and needing to a) establish some rapport, and b) actually enquire if anyone had reviewed the exercise artifacts. Blank-stares and crickets. Sadana?

  21. Francois Rabelais

    As someone who interviews those “senior engineers” regularly this article and the comments make me laugh. I have seen “senior” software engineers who couldn’t do an asymptotic analysis of a simple loop or code up in-order traversal of a binary tree. And you’re telling me I should just take their word for it and trust they are going to perform because their previous workplace also trusted them? Yes, that is not going to happen.

    The software industry is not in any way regulated, any other engineer or a doctor or a lawyer would need to get a license, pass the bar exam and what have you. Anyone can call themselves a software engineer and now you also want people to be able to get away with it.

    You’re being hired to solve engineering problems. It’s only fair if your future coworkers want to make sure you’re in fact capable of solving those problems.

    But by all means refuse a coding challenge, that will only save me time and tell me everything I need to know without much effort on my part. Oh and congratulations on being unhirable by any major tech company. Google, Facebook, Apple, Microsoft, Amazon, Uber – you will never work anywhere close to those.

    • alwaysblue

      Yes, because you can always tell a doctor, lawyer, is good because they’re licensed, right? Sounds like the typical, lazy hiring manager who is in over their head, trying to find the shortcut to avoid having to put, as you said in your own words, “much effort on your part” in these interviews that you expect of your candidates. If your idea of a good technical interview is using gimmicky, false-positive parlor tricks as a crutch, instead of an actual in-depth technical conversation with the candidate on their work, that tells me everything I need to know about your ability as a hiring manager, and any programmer worth their salt would do best to steer clear of working for you. And there are many excellent programmers who have had rewarding careers in the many places on the planet outside of the big tech companies, so you can save the “end-all, be-all” rubbish.

    • Ok, and being able to code an “in-order traversal of a binary tree” means that you are a senior developer or that you are a good developer? I don’t think so buddy, I highly doubt you work at any reputable company. Many of these algorithms aren’t even used in most systems, in fact I’ve never used most of them in my 15+ years as a developer, why? Because many frameworks and libraries abstract these algos away from the API, so when “Senior developers” use frameworks and libraries, there’s no need to use the algos, the algos are in the libraries to optimize them. So unless you are working on a library or framework design, 99% of the time, most algos are not needed. So you are testing developers on things that are not relevant! So who is the ignorant one then in this equation, interviewer vs. developer?

  22. Leon Chen

    I have been doing mobile development for 6 years and I never had to do “in-order traversal of a binary tree”. So yea someone can certainly be senior and not know a damn thing about it. There are a lot more companies under the sun than Google, Facebook, Apple, Microsoft, Amazon, Uber so I’d gladly take my job somewhere else where they don’t ask abstract code-monkey challenges and avoid working with elitists like you.

    • 15 years of Dec experience of financial risk and trading systems and I never had to do stupid algorithmic codility tests. The market however moved this way taking the lead from FANG. Now with 15 years of vast knowledge and education from top red brick uni (Imperial) I need to revise algorithms that I will really ever use? Better enrich my machine learning deep learning and improve my front end react angular skills.

  23. Coding challenges are time wasters. I tried applying for 2 companies and both of them gave me 2 code challenges coz I didn’t know there was one. Being unemployed I took the job and I ended up doing 2 codes for them. The thing is, 1 gave me something that was out of my field (we are not a master of everything and sometimes we are locked down to the product that we built and maintain) so it took me some time to develop, the other one was in my element so I was able to breeze through it. Now the question is, Did that fully show how good I am as a developer? No, it merely showed which parts Im used to and which parts are Im new to. If I had both test that were closer to my elements I would breeze through them and both companies would think Im awesome, on the other hand If I had both test that was out of my current expertise, it might take some time and both of them would think I suck. So in short no, it does not reflect current skills plus if you want a guy that knows everything and good at everything look for someone who lives on a basement and works 40 hours a day with no other life. Companies always talk about work life balance BS but would ask so much of your personal time

  24. Reinier Garcia

    It’s not worth it to get involved in a Coding Interview. The only thing I would do is to keep searching for a normal company. Algorithm questions are stupid and not relevant with almost no real life scenario. When a representative from a company ask you to solve an Algorithm problem, that only means that either he or his CTO don’t have a single clue of how things are getting done in a daily basis. There is a divorce between what they think is “important” and the REALITY. It might also mean that there is some kind of sicken cult to the code in that company. The kind of people that love coding using Vim and is so worthless that tries to compensate showing passion for the algorithms, or leet code in general.

    In this World, in the normal world, every time you need to use a specific algorithm to solve a problem, you can perfectly go to the Internet and copy a function, in lots of languages, that already solves that problem. There is no need to expend the company’s money and your precious time trying to reinvent the wheel or the warm water. It’s just stupid. But of course, as Einstein said once:

    “There is only two things absolutely infinite. The Universe and the Human Stupidity”

    A few more things:

    a) I don’t do pair coding. Just go back to your desk, you cat lover little moron. When the PR is ready you can review my code from your own desk. I don’t need you looking over my shoulder or breathing over my neck. And nobody touches my keyboard!!

    b) When I apply for another Job, the only things I do are:

    A quick phone conversation with a key presser/recruiter. Maybe a zoom chat instead, I don’t mind too much. But if this is the case, please don’t send me another member of your recruiting agency. I had enough so I won’t talk to him/her. I only deal with one recruiter at the time from the same agency. Too much complications and too much talking and I don’t have time for that. By the way, recruiters from India, Afghanistan, Nepal or similar, simply doesn’t exist for me. English is not my first language, so I don’t need toxic pushy people around me that speaks even worst than I, and that I can not understand a single word of what they are saying, while they show no respect for labor in general.
    Maybe a coding challenge OnLine. No cameras recording me, not print screens, no showing my ID on camera or any other kind of fascist shits. And hell yeah,… I will copy from the Internet whatever I want to solve it, as any normal developer does every single day. As it should be. That’s for sure. Not a coding interview either.
    Another phone talk or Zoom conversation with the Development Manager or similar.
    A Coding Challenge at home, to deliver in a few days. I will spend those days almost with no sleep, just coding for 14–16 hours every day, like if there is no tomorrow.
    A Tech Interview with the members of the Development Team, to review the Coding Challenge and to answer any other question.
    The final phone call if I’m accepted, to talk about the offer and salary, etc, Those details, previous to sign the contract.
    c) Don’t ask me at the end of the week (end of the week meeting), what are my plans for the weekend. I’m gone lie to you as anybody else. My private life is not your business.

    d) Don’t ask me to laugh with your liberal jokes about Trump in the middle of the Standup Meeting. On November 3rd I will laugh last.

    e) Don’t ask me how was my weekend on Monday morning, in front of everybody. I don’t saw a rainbow, I don’t hugged a tree, I don’t recycled my sandals and I don’t saved a f… unicorn. I went to the shooting range to practice and also went fishing, dude. Ok? And as I’m not gonna say that in front of a bunch of cat lovers, scared commies, so I will lie as usual.

  25. I’m a senior person in tech with decades of experience, and I’ve worked at a number of companies in my career. The requirement to go through a whiteboard coding test is and always has been far from universal in my experience. Most of my jobs, including my current job, have not required a whiteboard coding test in the interview process. The big tech companies do tend to require whiteboard coding tests. The practice is, in my experience, much more varied in startups and in software development roles for non-tech companies. Note that software developers work for both tech companies (where the actual product is software) and non-tech companies (where software is used to produce the final product which is something else).

    While I’ve never refused a whiteboard coding test, my batting average in terms of actually getting an offer differs substantially based on whether a whiteboard coding test is required. If no such test is required, I’m batting nearly 1.000 over a long career in getting an offer. If a test is required, the probability of my getting an offer is much lower (although nonzero).

    So whether an employer does or does not require such a test sends a strong message to me as a candidate. I’ll never refuse to do the whiteboard coding test, and I’ll never say anything negative about going through that process. But if the employer requires a whiteboard coding test, it sends the message that they are significantly less serious about me as a candidate than an employer which is persuaded based on my background that such a test can be waived. My background includes both my experience and the people in my network who may have introduced me to the employer.

    I won’t say anything to the employer–but the fact that they required the test conveys certain information (negatively) about how serious they are about me as a candidate. I may well use that data point in my job search. If that isn’t the message that an employer wants to send, they shouldn’t require such a test.

  26. i’m senior but getting back into development after a long break. I have great soft skills and time management skills. I’m working on my tech skills. I dread taking coding tests and don’t do to well. I take them because refusing to ends the conversation.

    Do they do this because they don’t expect anyone to have a personality or people skills?

  27. Interview coding tests always leave me not just incredibly exhausted, but actually literally violated.

    For a lot of people it’s stressful and uncomfortable enough to be in an interview situation in the first place, and it’s extra humiliating to try to do something pointless while you know that 90% of your brain capacity is not available due to the circumstances. Not to mention knowing how the whole situation doesn’t reflect normal work conditions whatsoever.

    Sure, it can be easy if they ask you to do something you do routinely. For me it would be easy if they asked me to create a complete small web api solution with controllers, models, dtos, mapping, database, jwt token authentication, unit testing, even integration testing with in-memory database, all properly organized to be clean and extensible, in like 20 minutes. Of course no, they don’t ask you to do that, even if it’s a web api developer job…

    They ask you instead to do things that nobody these days do in their daily work. I’d think it’s often actually easier to pass a test if you started to program 2 months ago and just freshly done some fundamentals or algorithm course… Than if you’re someone with 10+ years of experience in software architecture, clean code, and a huge amount of tool- and stack-specific knowledge which ensure that you can actually work properly and efficiently week after week and deal with the increasing complexity without messing up the project.

    Perhaps no wonder why so many software solutions are total crap these days.

    I actually think take-home tests are incomparably better. On those you can work like you normally do, use the tools you normally do, and show some architecture as well, making them significantly more representative of your actual skills. They take way more time, yes, but they can be a good experience, and you can save/publish them as a sample project. For example once I got a job just by showing a company some of my earlier samples.

  28. You may need to take the test to get the job. But I consider this to be a bigoted hiring practice. Consider –

    It confuses the idea of software development and programming

    Different schools in different regions use different problems in their courses, for example, RVL trees, vs red-black trees. One can be fully qualified, but not be familiar with the particular fashion of the test.

    While people often point to the 10% of programmers that do 90% of the productivity, actual measured results (SEI as usual) are those top producers only consistently score in the top 50% on cost-of-quality on an activity. The highest performance is linked to current freshness and familiarity with the problem, change the business problem and top performers stop performing.

    It is anti-agile, anti-econmomicly resiliant, and alienating; it encourages over-specialization in a single technology product and problem space to be competitive.

    Ultimately the testing first selects an education and localized cultural cohort favouring an existing ‘insider’ group. It is an anti-inclusive approach.

    Developers with a wider variety of experience will adapt and accelerate performance in a problem space faster than those with less experience. but the testing will favour those with less experience.

    I think this is the same in all professions, a Physician for example from a different jurisdiction or practice may use different protocols or medications. testing them on protocols or medications of a local practice doesn’t test competency to practice medicine it tests existing membership in a local sub-culture.

    Same with a lawyer, same with an engineer, same with a barista…

    When i ask testers about this stuff and things a tester should know, such as Bloom’s Taxonomy I usually get told that I am not allowed to ask questions in interviews.

  29. Coding interviews are plainly stupid especially when ask that to a 15+ yr experienced engineers, companies like google have instituted it and others have followed the practice. Coding one problem out does not mean am a great Engineer – you haven’t tested my knowledge on OO Design, DB, Threading, System design, Distributed systems and services, as well as other analytical skills. More importantly all the work done over 15-20 yrs is ignored as junk if you fail the coding test or do not provide an optimal code solution.

    I believe the interviews 20 yrs back even for new graduates only involved a small coding snippet/test or some sort of OO class code examination etc.

  30. I’m a Generation X developer. It used to be that the term ‘Engineer’ was only applicable to the main Engineering courses of 5 year-completion. Developers were programmers. Now, everyone is an engineer, ridiculous! Even the ones who got a 2-year diploma course on computers.
    I don’t like taking coding tests, so I will definitely not show up to the test day, and find another company without it, but would rely on my background, network/people I worked with, and my work accomplishments.


    In my 30+ year career, I have been on both sides of the interview desk many times. 20 years ago I asked coding questions. Then about 10 years ago I changed how I do interviews for software developers. I simply talk to the candidate about things they have done on their resume. I look for things like is the candidate interested in the software they developed? Do they get excited when talking about a particularly difficult problem in their work on those projects? What new ideas did they come up with during the development of said software. In a very short time usually less than 30 minutes I have an almost perfect picture of the candidate as a software developer. Since I have been using this process, my success rate of finding great engineers who are great hires has improved to almost 90%. Using the old system of coding challenges at best I had a success rate of 50%.

  32. Absolutely, they should refuse. It all started with Google and spread to other big techs, but the problem is even “3rd rate”, low rung and at times unknown companies have started following it. They may be huge in size like Costco, GM Financials, Honda etc. and other non-tech giants but they are really “3rd rate” compared to Google and big techs. They need to be told that they are not Google and they don’t innovate like Google and other big tech companies. They just use the technologies created by Google, Oracle, IBM etc. to enable their business operations, hence they must stop throwing tantrums like Google and big techs. when it comes to hiring.

  33. If I’m already employed. Yes I will refuse. I don’t need their job. If someone has employed me for 10+ years to do what new employer wants me to do. Why should I jump through hoops to show them I can do it? I know my strengths and weaknesses. I can tell them if I would be a good fit based on what they are looking for. If they don’t trust me. Then why should I trust them? Personally I think more people should push back on this. Its an insulting practice to say the least. Its like asking a carpenter to build you a coffee table before you hire them to remodel your bathroom.