2

I am an experienced software engineer that is highly successful and over achieving throughout my career. I have a strong background in computer science concepts as well and can passionately talk through any type of algorithm problem. I also am neurodivergent with an ADHD diagnosis.

I make the best of my challenges and strengths where I can and have developed my own work style that allows me to be highly productive while developing software and while working with others. The big challenge that I have found recently is that no matter how hard I study or practice, I can never seem to quite meet the minimum requirements of a coding assessment pre-interview screening.

These assessments I feel are geared towards sprinting towards a perfect solution in a tiny amount of time. It is extremely hard for me to keep track of multiple things in my head at the same time in a way that neurotypical peoples find to be straightforward. I get lost in my head and then I start working backwarda from optimization, I catch myself then try to get back on track, but this costs me dear time that I do not have. My recent attempts involve me taking tons of notes to help but again this never leaves me enough time to code it out and I run out of time before I have a full solution. When I practice on Hackerrank and Leetcode I have been completing most easy tasks in 30 minutes and hard tasks in about 4 hours. Usually I run into problems because they want you to solve something like 2 medium tasks in only 45 minutes.

It all seems very unfair and unnecessarily exclusive to neurodivergent people that are just as if not more capable of performing the job functions. Is it typical for companies to in any way provide special accomodations for those with ADHD diagnoses? Are disability workplace protections just in place for employees or are these companies allowed to discriminate against neurodivergents during the interview process?

7
  • I've conducted analysis of these coding tasks, and I can tell you that they do not only target accuracy and speed. The ones we used could see code as it was typed out, so we could infer the though process of the applicant as they were writing code. Aug 13, 2021 at 12:47
  • @GregoryCurrie Do you curate these for all companies because the ones I interview at I can explain in detailed code comments what I am trying to do but I never have enough time to finish coding it out. I never get past the pre screen. Aug 13, 2021 at 12:58
  • @closevoters This is NOT about company specific policies. Aug 13, 2021 at 13:27
  • @JoeStrazzere Good question. I more or less worked for non FAANG and non tech industry, usually in a smaller IT organization where there are not a huge amount of software engineers. The problem is that this work is often uninteresting and career limiting. I love solving complex technical problems for their own sake and it always seems like the FAANG companies have a lot of possibilities. My entire career I have always felt like a huge fish in a small pond but it is lonely and people dont really understand me and just assume I am a genius when I am not... Aug 13, 2021 at 16:14
  • ... I really hate that because I know I am not a rock star. I dont want to be treated that way because I know that I am not. A rock star would have no problem with a coding test for instance. I just want to see where I really stand against the biggest and brightest and maybe that means I have to try and keep up with whales in the ocean, but at least I would feel like a fish that finally fits into the right school. Aug 13, 2021 at 16:17

2 Answers 2

8

Ask for an accommodation before the test.

This is no different from if you were hard of hearing, and asked to have a sign language interpreter in an interview. In most Western countries an employer is legally obliged to make reasonable accommodations for your disability.

I have sympathy with your situation. Coding tests are like a sprint, taking a simple problem and getting to a decent solution very quickly. Real software development is a distance race, taking a complex problem and producing a thoroughly tested and robust solution over a much longer time period. It is possible to be good at development and not at coding tests.

Explain your situation and ask for more time for the test, or some other way of assessing your coding ability. Point out that you have been successful in a coding career. Make it clear you have a medical condition which requires this.

2
  • 1
    Arent you in danger of not getting the job based on your disability then? I also have ADD and I never told any employer because I was afraid that they would not take me based on that. Since usually most people think ADD is like ADHD and only kids have this and you would jump around like crazy, and I am a very calm and collected person most of the time, but often overlook very small problems. Like I can solve a complex algo and have a good solution but I forgot that I named a variable John and created a new variable johnson even though it is the same as John. Nobody complained yet.
    – bibleblade
    Aug 16, 2021 at 10:24
  • @bibleblade There is still a general lack of awareness about ADHD in adults and this can often lead to misunderstandings and unintended discrimination. In fact, you might not be aware that ADD and ADHD are both considered just to be ADHD today. ADHD is now differentiated into two types, Hyperactivity type, and Inattentive type, and you can vary between the two. Aug 16, 2021 at 13:35
5

Personal Disclaimer: I have ADD. Not ADHD - I don't have the hyperactivity component; I was diagnosed with it when I was in elementary school. So while we're not exactly in the same boat, I feel I'm close enough to be able to comment.

And to be honest, I found your question a bit insulting.

Those tasks they're asking you to do? They're not that dissimilar to what you'd be doing on the job. And if it takes you twice as long to do it as another candidate, why are you assuming that they're discriminating against you because of a neurological condition, as opposed to them wanting the candidate that by all signs will be more productive? I mean, from their perspective, why would they assume you'd be more productive simply because the task was on-the-job?

You are a bit on the right track - you're attempting to practice this sort of thing on Hackerrank and Leetcode. But... have you worked with others to take stock on what you're doing? To pretend-evaluate you, and look at the code you produce and give you specific feedback?

I mean, I could go to ProjectEuler and crank out a solution to Problem #X... but aside from practicing coding, it doesn't actually help me improve in the eyes of an evaluator. For all I know, I'd be getting docked huge amounts of points because I'm not naming my variables descriptively, or because I'm not adequately testing my code and it has bugs, or because I'm not following SRP, etc, etc. I mean, as someone that's evaluated applicant code, I can tell you that I'd much rather have good but imcomplete code than completely bad code.

So here's my advice: stop blaming ADHD. If you don't do well in on an aspect of an interview? Figure out what you can do to improve for the next one. Even if ADHD is contributing to things not going well, blaming it ultimately doesn't help you out at all - it simply gives you a scapegoat and a reason not to improve for the next interview.

5
  • 1
    Thats the problem though, they are determining productivity on how you memorize algorithm patterns and type out code. You dont pass or fail based on comments. You dont pass or fail on unit test coverage or even coding style. You dont even get partial credit on an O(n^2) time complexity solution with an explanation of how you can achieve logarathmic time if you had more coding time. IMO a full view of productivity without everything else is incomplete and frankly unfair to people that can do a comprehensive and complete packaged solution just as quickly in a more natural setting. Aug 13, 2021 at 19:47
  • 3
    I also have ADHD. I have a successful programming career. I had to practise at algorithm questions from the perspective of the process, not the code. I had to practise focussing on the most idiot brute force implementation that doesn't quite fit the requirements, just to get something working, and then refine the solution from there. Stop trying to hold everything in your head at once, practise getting something down and then iterating on it. That's what the interviewers want to see
    – EmandM
    Aug 13, 2021 at 19:50
  • Also, the medium problems on Hackerrank and Leetcode always have some sort of runtime constraint to get all the tests working. Often in a real interview solution you can write the brute force solution and then talk about how you would improve it, rather than coding it up. That's generally sufficient to show you know what you're doing.
    – EmandM
    Aug 13, 2021 at 19:52
  • @maple_shaft don't memorize the algorithms, understand the underlying principles and derive the rest on the fly. In my experience interview questions usually aren't directly from textbook anyway and you have to adapt.
    – ojs
    Aug 14, 2021 at 9:48
  • 1
    @maple_shaft You're making some pretty big assumptions on how the code is being analyzed. Most employers, when getting code submissions from their applicants, actually look at the code, and check its quality (I know I do!) And your response kinda the point of my answer: you're blaming something outside of your control (they don't evaluate in a way that shows me in a positive light!) instead of asking "How do I improve what I'm doing so that I impress interviewers when they do these tests?" Even if you were technically correct, your approach doesn't lead to self-improvement.
    – Kevin
    Aug 14, 2021 at 16:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .