Neurodivergent obsession over what I did wrong is a challenge.
Handling Criticism as Neurodivergent Developer
filed under "Developer Diaries"
I've been working as a web developer for a very long time. I've worked on clients big and small in numerous platforms, and have even developed my own platforms as the project has called for it.. And I've been doing this for over half my life now.
Not too long ago I was working on a dream project; you know the one. The client is one you personally love. The project is for something you yourself use - and will use - for years.
It was a rush order, but I knew I could do it. I was collaborating with the client directly, who would be implementing some of their legacy tech into the stack while I worked on building the front-end.
Every day was a joy. I couldn't wait to sit down and start writing code. I got to look under the hood and revel in something that had been a part of my daily life for a very long time, and make it (what I thought would be) better.
The development process was a bit different than what we'd normally do; I was working directly with the client themselves with no "buffer" or code review in between. Usually we have a QA person slotted in to look everything over before the client looks at it, but in this case I was doing daily code commits to their repo, and the development stack was pretty complicated and not easy for someone to get running in order to QA themselves.
I think you know where this is going.
Client put together a round of QA changes, which I did, and I was waiting on more that they said was coming.
They never came.
Instead, I was told that the project was cancelled, and the only information I could get was this one statement:
"The code wasn't up to the quality they expected."
I had a sync with the boss and project manager; we actually pulled up the code and went through it quickly. Questions were asked about why we weren't doing our regular QA process, and thankfully I didn't lose my job.
The boss had questioned the code style and structure, wondering if it was appropriate for this type of project; I assured him that it was the standard style for this kind of project, and I actually had improved the organization of it making maintenance even simpler, but that created an additional seed of doubt:
Was I out of touch with modern development techniques for this stack?
I literally spent months researching, analyzing, and agonizing over that my code quality wasn't up to snuff. I didn't tell anyone, but.. Hearing that really impacted me.
As a neurodivergent person, getting told you failed without giving a clear definition of the specific failure is like a cop telling you you're getting a ticket, but not specifying what the ticket is actually for.
My obsession at least reassured me that my development methodology for the stack was fine: I literally poured through thousands upon thousands of lines of code for similar projects by developers who are experts in the field, and found nothing that stood out when compared to mine.
What I think happened is this: I failed to interpret the design properly provided by the artist.
I'm used to working in situations where I take a design and "massage" it into something that also meets usability, accessibility, visual perception and responsive flows as I'm used to interpreting them (while also simplifying code management).
It's rare that pixel perfect is an actual request, but in this case, I think my zeal to do a good job and "improve" things actually ended up costing me a good chunk of sanity, confidence and a great feather in my cap with the project.
I still obsess over it. I will always obsess over it to some extent. I think many folks like me know what it's like to lie awake at night thinking about what could have been done differently in numerous situations.. For some it'll be a conversation with someone years ago that went awkward.
For me, it will be this one project until something else comes along.
As I noted before, I've been doing this a long time. I actually have a not-insignificant list of clients who are exceptionally happy with my work and come back for more, even willing to pay a premium just for me. Hell, even this client early in the project had commented on how fast the site rendered and met high-bar performance metrics.
The hardest part is reminding myself that those praises carry just as much weight as the complaints, if not more.