-
Job Hunt 2022 Retrospective
20 November, 2022I recently took an offer as a Director of Engineering with BlocPower where I will be working on creating the Building Data Collective.
I am writing up my job search because several people have asked me about my experience of landing a job in climate tech. I am also writing it up because its the sort of thing that I just don’t see written about much. I don’t know who is interested in hearing about it, but somebody should be out there being open about their experiences with this stuff and I just happen to be somebody.
My Parameters
I want to state up front where I am coming from as it is not where 99% of job seekers are. This is important to understand for context and hopefully is not so out there as to make the rest completely unrelateable.
- I was employed while looking around. While I feel like the role I was in was a poor fit, I was not miserable and enjoyed my coworkers and the work itself. While I am well aware that I was underpaid by industry standards, I am financially comfortable so there wasn’t a lot of pressure to “make a move”.
- I do not tend to optimize for money. I had taken pay cuts for my last two jobs and I wanted to go up for this one, but my bar is still well below what someone with my experience who optimizes for salary would be getting.
- I am extremely senior and technical. My last 3 roles have been Engineering Director at Surge Consulting, CTO at Operation Spark, and Principal Engineer at findhelp (I was also for a time in an Engineering Manager and Engineering Director here as well).
- I also do not optimize for people I want to work with. While I believe that this (and money) are perfectly legitimate things to optimize for - and I have in my notes a long list of people I would love to work with - it was not my focus in this case. I was aiming largely for the industry, and a role that would use more of my abilities beyond the technical ones to make the biggest impact.
- I am extremely confident in my interviewing skills. I have personally interviewed close to 300 senior developers and led teams that interviewed thousands. I have designed interviewing processes at my last 3 companies. I have presented at conferences on interviewing developers. By now there is no impostor syndrome left; I have a very good idea of where I rank alongside others.
- I believe my resume is very strong. Resumes are a black art and different hiring managers have their own opinions but I’ve been a hiring manager in a wide range of situations and my resume is exactly what I would want to see.
- Once I make it past initial screening I very rarely get eliminated by interviewing. I far from always get the offer, but its almost always after the very last interview in the process. It has been many years since I walked out of an interview feeling like I’ve anything but nailed it.
Summary
- Total time from starting casually looking to getting hired was eight months.
- In my notes I applied to 39 companies. Because I was not always fastidious with tracking things (boo on me!), I estimate the actual number is closer to 60. I rarely one-click apply. I always put some significant effort toward each application.
- Beyond an introductory call, I got into the interviewing process with maybe 15
- I dropped out of the process purposefully of two.
- Three companies dropped me midway through the process due to the role disappearing or changing.
- One company dropped me from consideration for a manager role after the first interview and redirected me to a high level IC role (unfortunately none of those were available at the time).
- I went through 8 full interviewing processes of 4+ rounds (not counting intro calls) and got 1 offer which happened to match up to my skills and ambitions super well.
- I never received what I would consider actionable feedback. Much of the feedback I received was along the lines of “it came down to you and one other person and we just felt like they were a better fit”.
- I mostly applied to companies of 10-200 people. While I did talk to a Big Tech org (Meta), I didn’t enter their interviewing pipeline. I was willing to consider it, but my recruiter contact disappeared and this was not something I was actively pursuing so I let it go.
- I got some good leads from active and engaged recruiters initially after setting my LinkedIn profile to “casually looking”. This lasted for a month or two. Afterwards, the contacts from recruiters I received were all extremely impersonal and not even close to what my profile clearly stated I was interested in.
- Even among all-remote companies, location can still be an issue as hiring from a new state implies a whole new tax regime. Two very promising processes had to drop me early due to not having a foothold in Louisiana (I also have friends this has happened to).
- While getting an internal advocate was the best strategy for landing an interview, it was far from a sure thing. Quite a few times I had passionate advocates (even high-level internal-to-the-company advocates) making connections only to see the ball get dropped for a variety of reasons.
I am reinforced in my belief that for very experienced people (and perhaps most others), the big impediment to getting hired at most companies is not resume, skill, or even ability to demonstrate skill, so much as the fact that the vast majority of companies simply do not have their hiring sh*t together. Positions are far less solid, needs are far less thought through, and hiring processes are simply not welled tuned. I fully believe that somewhere around half of all online job applications go into a queue that no one monitors in a system rarely logged into. I suspect this is often due to turnover or confusion on the part of hiring managers. I realize that sounds like a rationalization but I have been on the other side of the table as well. I have personally taken over a hiring process that had only a trickle of candidates, only to discover a whole tab in Lever bursting with submissions that no one had known to check.
I believe that this is doubly so the case in climate tech. While I think it an incorrect stereotype that most climate tech companies are bootstrapped 5-people shops without a serious product, I do think that as an industry overall they are far less mature on the process side. As one of many indicators, consider that in a good interview process the final round should be largely a double check, not a significant filter. Every moment that you spend talking to a candidate who you do not end up hiring is a waste of both your and the candidate’s time. If a company is having 4, 5, 6 rounds of interview then with each successive round they should be less likely to eliminate someone, a final-round elimination might be necessary but should be considered a failure of process worthy of retrospective and adjustment. This seems to be rarely the way people in climate tech are thinking about things.
Similarly, I consider interviews where a large cross-section of a department/company has to meet you to be a signal of insecurity. When unsure of the effectiveness of the hiring process it is not uncommon for managers to seek consensus from the team. While understandable, and usually an attempt to de-bias, the distribution of responsibility has the opposite effect by granting everyone veto power - a situation where bias is all but guaranteed!
I think far too many people in hiring are unsure of themselves and feel a predisposition to zero-risk. However, hiring ultimately is a risk, there is only so much mitigation possible.
Strategy and Job search evolution
After applying and as I start hearing back from applications, I naturally spend more time engaging with those companies and less applying to new opportunities. Hence my job searches tend to cluster into natural rounds.
Round 1
My initial job search started in early March 2022 as a result of a few particularly despiriting months at work combined with some difficult departures, and no acknowledgment from leadership that they agreed with nor even saw the same problems I was calling out repeatedly. As this was largely about frustration, my efforts were minimal and unserious - consisting largely of asking around in a few Slacks, casually browsing TechJobsForGood listings, and toggling the “show recruiters I’m available” switch on LinkedIn. I also wrote down and made clear my criteria which, at the time, was jobs that could check multiple of the following check boxes.
- In the climate tech industry (using a loose definition)
- Building productivity tooling - especially developer productivity tooling
- Companies doing something non-trivial with AI/ML so I could work adjacent to it and get my toes wet
- Companies committed to functional programming - especially any LISP
For roles I was looking specifically for staff+/principal developer or engineering manager/director positions where I could help set technical and product direction.
This resulted in a round of interviewing that lasted until approximately mid-June. Deep into the process, one company rethought their needs. Another I dropped out of due to misalignment of expectations. Two had my initial contact leave the company and the process get abandoned. Four other companies (2 climate tech, 2 productivity tech) moved me all the way through multiple rounds only to get no offer.
Reading between the lines a bit where they did not tell me explicitly (sometimes they did), the reasons were roughly
- A misalignment when talking to the (final interview) COO between his and my expectations of how much I would work on product direction versus just heads-down coding
- Another hire was a better fit (possibly due to me having no professional experience with Clojure)
- A discomfort with my contracting background due to specific bad previous experiences within a smaller startup. To their credit, they took the time to actually call me up and talk to me about their hesitations and apologized for not previously having this as a filtering criteria.
- A last-minute change in direction for the role, orienting it toward more junior managers and a better fitting candidate for the new direction
This was of course very despiriting as I spent significant time getting to know all these companies and envisioning myself working there. As I geared up for another round I decided a shift in strategy might be appropriate.
Strategy shift
In addition to having spent many years mentoring tech job seekers, I have been a bootcamp CTO where I worked with grads seeking their first job directly. I have built up a long repository of advice for how one should conduct and strategize about a job search. As in my mind I hadn’t been “seriously looking”, I had so far been implementing very little of it.
In a conversation catching my father up on the previous round, he called me out that whatever I was doing wasn’t working. “It’s fine, I don’t think of this as a failure at all” I told him through clenched teeth. That evening I acknowledged quietly to myself that he’s probably right. If I was going to be serious about what I was doing, I should practice what I preach.
So, suggestion #1 (well, not technically #1 on everyone’s list, more the big one I wanted to try out) was to build up a series of internal advocates at companies by focusing on an industry. I would do this by joining an industry-focused community and participating within it. In my case this meant taking a first step of narrowing down my own criteria even further. Fortunately I already had a pretty good idea of what I wanted to do. Earlier that year, and wanting to be more intentional about my charitable giving, I had taken the Effective Altruism introductory course. And, while I find myself disagreeing with much of the ways in which this community construes their arguments (a whole different topic, but Doing Good Better is full of spurious correlation, lazy analysis, and some strangely colonialist thinking), I also agree wholeheartedly with many of their general points. In this particular case, the argument goes that to do the most good, you should either optimize your career for money and donate most of it, or find an important industry in a role that you can do significantly better than others. Well, I really believe that climate change is a society-level threat, I really do think that climate tech will have to be a large part of our way out of the mess, and - not sure if anyone’s noticed here - but I do have a bit of an ego. So toss everything else out the window, I should be focusing explicitly and ruthlessly on climate tech and specifically on roles where I can use my specific blend of contracting, mentoring, business-strategy, community-building, and technical experience to make the biggest impact possible.
The general idea of this join-a-community strategy is that, by becoming an active participant, you build up your visibility. Others in the community - the most active of whom are typically movers and shakers themselves - tend to take notice. You request informational interviews, chat, build up relationships and have them become advocates for you within their extended network. That - as I tell people often - is networking; it’s not just eating crappy pizza in the back of a dev meetup.
Again, in my case I already had a community in mind. In my late-night-kitchen-cleaning sessions I had listened to, and enjoyed, a couple episodes of the MyClimateJourney podcast. In these podcasts they heavily promote their exclusive (and paid) slack community. Well, $10 per month for a slack is a lot sure, but its nothing if the end result is being able to execute better on a strategic roadmap. Just a few leads from there could easily pay off. I signed up and started introducing myself.
I’ll also note that I purposefully did not pick an area of specialization within climate tech. The entire field is somewhat new but highly technical with tremendous amounts of low-hanging fruit many unproven approaches. I figured that - given the little time for research I have available - so long as I avoided the obvious scammers, one guess at what area might be highly impactful would be as good as another. We’re talking about making an impact here, I can get excited about the details later.
Rounds 2 and (spoiler alert) 3
So I joined, having made a point of being active (difficult as I am in, like…15 other slacks and an IRC, and work) and started connecting. I would monitor the Slack’s job listings for postings that seemed interesting (many in the summer, starting to thin out significantly into the fall), answer questions when I could, and just try to engage in general chat for the sake of community presence. (Pro tip for technical communities - make a technical statement that is mildly controversial and watch the engagement roll in.)
I connected with people almost immediately with a couple reaching out directly to me, and myself making the effort to reach out to others for an introductory conversation whenever I saw something that seemed interesting. In the meantime I monitored ClimateBase and - as I was now more focused on getting an insider edge - connecting to people on Slack (MCJ or Rands Leadership Slack) and LinkedIn.
So did all this work?
Well somewhat. I certainly got a great round of initial interest and quickly entered several interview processes.
- One petered out after a very enthusiastic recruiter interview. When following up, the recruiter had left the company and their replacement was unwilling to push me along without the department pulling me in. My contact within the company in the meantime kept telling me the position was open and he had no idea what counted as a “pull”…Ah, big-org problems.
- Another moved me along for about half the process with final rounds scheduled when I got word they filled the role
- A third passed me through their full process with great feedback and multiple rounds of direct engagement from their CTO only to ultimately get a rejection and no feedback whatsoever. Very disappointing for how open they had been earlier in the process.
- A fourth also passed me through their full process and multiple panel interviews with the hiring manager himself as my advocate. He did me the favor of calling me with the rejection. Apparently I had high marks throughout but the members themselves of the team I’d be managing felt like we “didn’t gel”. Yeah, not a lot I can do with that one.
And this put me into the third round. Now by this time things had gotten markedly better at work and - while my Effective Altruism-acquired logic still applied - I was no longer approaching things with the same vigor. Still, even without heavy enthusiasm, by now the process itself was humming along.
- One company I had started conversations with months ago that were slow-walked ended up taking me through the entire process only again to end in a “we found someone else” situation. (Lest I sound bitter, I think this is absolutely legitimate for a startup. For example many need a high-level person who can handle their ops. I, in the meantime, lead with “I really dislike doing ops”. Picking someone else over me here totally makes sense, I simply wish they could realize that sooner.)
- A second company, I ultimately talked to the CTO who basically explained the bulk of their needs were just some UI performance optimization - not a great fit for what I’m looking for.
- A third I was in process and heading into final rounds when I hit pause as…
- I got an offer. This was a company I had started conversations with at the very end of Round 2. It seemed scrappy and disorganized and like it will be a real pain in the ass at least for a while. But also potential for building up some fascinating connections, having some fun, making a real outsized impact, and a task that - on paper at least - I can’t think of anyone else who is more qualified for than me.
And hence where I am now.
Retrospective and Takeaways
To start with, it doesn’t matter how hot the market is. If you have something specific in mind and no pre-existing connections, its going to take longer than you think.
I am also more convinced than ever that if you are targeting high-level non-IC positions at smaller companies your best bet is one of two options:
- Start as an IC - maybe even at the risk of taking a career-step backwards - establish yourself as a power-player, and work to transition
- Build up a network of internal advocates, ideally multiple.
Without the above it is simply too common that you get lost among the shuffle. A company might know they need a Head of Engineering, but they likely have very little idea of how to filter resumes for one. Unless you’re rolling in with a resume that happens to hit their preconceived notions of the role directly on the head it’s going to be hard to even open a conversation.
I also think that I spent more time chasing companies than I needed to. A few places that seemed extremely exciting to me in the digital-twin modeling space, I could never get a hold of anyone either via applying, follow-ups, cold reach-out on LinkedIn, or even occasional referrals. If a place is giving you complete radio silence, there might just not be anyone on the other end to pick up the phone.
I do wish I had identified and focused on what I wanted earlier. I also think I could have taken time to investigate other climate tech communities, participated even more, and reached out to others even more than I did. At another time (read: pre-kids) I might have even done significant research into the area on my own time, doing literature reviews and building up strong opinions on what seemed the most exciting. That said, the process of interviewing was very educational in itself. “What questions do you have for us” usually translated into me learning something about the state of the industry.
Having switched jobs 3 times in 6 years (2 layoffs and this), I hope I’ve found a great long-term home and to be done with it for a while, but if I find myself in the position in the future I might try to apply to enough places so that I can run some hypothesis testing. Does a custom cover letter actually reliably get me the best results? What is the best response rate I can get just by cold-applying with a really strong resume? Do connections made via an individual that vouches for me (even if we met relatively recently) work better than ones I made myself by a cold approach? All interesting stuff that I have opinions on and would love to gather some data on.
-
What is Dependency Injection?
31 January, 2020Recently I was asked in the Operation Code Slack to help someone understand dependency injection. What follows is my answer - as always, editted for clarity and to make me seem like a better writer.
This is also in the context of javascript, though the concepts apply regardless.
So what is Dependency Injection?
This is one of those terms that feels complex but is really so simple it is almost silly there exists a term for it. At it’s core, dependency injection is really just a certain way of having your code use other bits of code. The term exists not as an academic topic, but simply make it easier for developers to talk to each other about how their code is structured.
-
TDD With No More Tears
2 December, 2019This is a writeup of Talk of the same title, exploring what I consider to be an approach to test driven development that is both more practical and easier to apply on a non-toy project.
Let’s begin.
Test driven development (TDD) is important, it is useful, it results in better structured code; and - for experienced practitioners - lower development times with fewer bugs. So of course we want to scream:
Amirite? As a rapid aside, let’s consider the source of this meme. It comes originally from Hyperbole and a Half - a fantastic, hilarious, and insightful blog largely about the author Allie Brosh’s struggle with depression and mania. The original text was “Clean all the things” and - rather than a call to arms - was in part a statement on the frivolity of fleeting excitation.
The irony of this image as an expression of enthusiasm is…palpable.
So no, I do not actually believe that you should use TDD all of the time and for everything. Of course and definitively not! Test driven development is a technique and - like all techniques - is useful only so long as it is useful and when it is not, it is useless. I have no idea why this is seen as a difficult concept.
-
Understanding Domino's v Robles
4 November, 2019This is about the web accessibility-related Domino’s v Robles court case in the US court system. If you don’t care to read through a big long article and want to skip to the end, head on to the conclusion.
I found myself with some time on my hands earlier this month and thought that it might be nice to dive into a high profile and controversial current events in tech issue as - in my experience - the facts rarely match the hype. Letting the ravings of friends and acquaintances guide me, I picked up the Domino’s Pizza LLC v Robles case to see if I could make heads or tails of what actually went down. What follows is a writeup of a talk I gave on the subject.
Now before I go much further, I should clarify that I am definitely and 100% NOT A LAWYER. I am sure that I got at least some of the following wrong and I stand to be corrected.
I can read ok though, and went through and read the various opinions issued and some of the more in-depth articles on what went on. I also ran my understanding past a friend who is a very good lawyer, so I believe that I’m on as firm ground as a non-lawyer can reasonably be.
I am also not someone who particularly specializes in web accessibility. It is important and I know the basics, but I do not claim to be an expert. I quite possibly misspell the word accessibility as well.
Finally, I’ll note that in the following narrative I occasionally reference but omit a lot of discussion of previous case law and finer points of order. This article is long enough and if you’re interested in diving down to that level just read the opinion itself.
The Story
So before we get too far into it, what are the basics of the story here?
It is this: Domino’s Pizza lost a court case having to do with the accessibility of their website and mobile app.
The details of this were of course poorly reported and even worse understood. In fact, judging by the reaction of many, you’d think this decision was the end of the world.
Honestly, I can sympathize. Being sued is scary, accessibility is ambiguous, and accessibility compliance is not even a binary yes or no thing. What do they even expect from us!?
And then of course there is the economic argument. How many small businesses might go out of business because they cannot afford the extra cost?! The degree to which you are concerned with that will probably depend on your political inclinations, but surely everyone would agree that we want to keep the amount of red tape that small businesses trying to bootstrap themselves deal with to an absolute minimum.
And then there’s the other side of the coin. Fire off the 21-gun-salute, it is the dawning of the Accessibility Age of Aquarius! The good guys have won and everything will be great forever!
Neither of those is exactly true, and telling the wrong story both spreads FUD (Fear Uncertainty and Doubt) and sets people up for disappointment.
But first, let’s review…
The Timeline
So let’s review the basic timeline
- September 2016 - Guillermo Robles files Robles v. Domino’s Pizza LLC in the Central Distrinct of California
- March 2017 - case is dismissed without prejudice by the district
- October 2018 - appeal of the dismissal is argued in front of the 9th Circuit Court of Appeals
- January 2019 - dismissal is overruled by the 9th Circuit
- March 2019 - appeal of the 9th Circuit decision is filed with the Supreme Court
- October 2019 - Supreme Court declines to review the decision
If you are unaware of how dismissal works; essentially a judge may be asked to block a case for a variety of reasons. If granted, the case stops right there and then. For the most part, a motion to dismiss being granted means that the court agrees that some point of law clearly renders the plantiff’s argument moot (and typically that the plantiff has not addressed this).
If you are unaware of how appeals work; there is a hierarchy of federal courts. If you lose, you can petition an upper court of appeals to review the decision and they are free to take it up or turn down your appeal.
So note that what happened here did not include a ruling over Domino’s website.
- Instead, the district court granted a motion to dismiss, meaning they did not hear the case and rule on it.
- The 9th Circuit court overruled the dismissal, saying that yes, you do have to hear the case.
- The Supreme Court refused to review the 9th Circuit’s decision, in effect agreeing that yes, the case can continue.
Again, I want to emphasize that there was no actual decision on anything other than that a specific lawsuit can continue and be argued. Keep that in mind as we walk through this stuff.
So this past October, there was a wide level of outcry and confusion about this decision. Everything from legitimate business concerns to wild-eyed conspiracies.
Most of it was fairly uninformed over what exactly was ruled.
So just from the timeline we can already say a few things.
- No major new law or ruling has been issued.
- Domino’s didn’t actually argue a lawsuit about what was required for accessibility.
So most of these headlines are at least wrong on some level.
The 9th Circuit’s Opinion
So now let’s look at the 9th Circuit’s actual decision and the opinion they issued. I will say that you don’t have to read my recitation, you can go through this stuff yourself. It is quite readable and discussion starts on page 10.
In reviewing the lower court’s decision, they broke it down into three questions to be addressed.
- Does the ADA Title III apply to Domino’s website and mobile app?
- Does applying Title III here violate Domino’s right to due process?
- Should the court invoke the Primary Jurisdiction Doctrine here?
We’ll dive into their reasoning on all three, but first, some background.
The ADA and Title III
The Americans with Disabilities Act passed by an overwhelming bipartisan majority in 1990 and went into effect in 1992.
The purpose of the ADA is:
“To provide a clear and comprehensive national mandate for the elimination of discrimination against individuals with disabilities.”
It is described as similar in scope and intent to the Civil Rights Act of 1964 and imposes obligations to accomodate people with disabilities on employers, public entities, and other organizations. Title III specifically brings them to bear on places of public accommodation.
What exactly is a place of public accommodation? It gets a bit complex but think restaurants, hotels, stores, schools, hospitals; but not private clubs or churches and you’ll be in the right ballpark.
Fellow programmers and other armchair lawyers - I feel you - that sort of ambiguity sounds unacceptable! How would we even code that as a Python function?! However, the legal term has existed since at least 1964 and I have not seen anyone seriously arguing that they do not know if their organization is a place of public accommodation or not. I’m sure there’s some edge cases, but for the most part, no one seems terribly confused by this.
So Title III specifically says that a public accommodation must:
“…take those steps that may be necessary to ensure that no individual with a disability is excluded, denied services, segregated or otherwise treated differently than other individuals because of the absence of auxiliary aids and services, unless the public accommodation can demonstrate that taking those steps would fundamentally alter the nature of the goods, services, facilities, privileges, advantages, or accommodations being offered or would result in an undue burden”
In other words, you have to legitimately try to accommodate disabled people in such a way so that they can use your services to get the same benefits and in the same manner as anyone else.
It is worth mentioning that this is not the opinion of a court or regulation issued by a bureaucratic body. This is the actual law and carries a significantly higher precedence. In general courts have tried to be fair about applying things but yes, it is now and has been legal since 1992 to sue over violations.
So now let’s get back to the meat of the case at hand.
Does the ADA Apply to Websites?
Domino’s argues that no, the ADA does not apply to their or any website. See the language of the ADA - which passed in the same year as the Web was born - is largely over physical locations and there are indeed a smattering of rulings that may support this.
The court here points out that the issue is over services of a place not services in a place. Does that sound like weird, pedantic minutiae? Sure. But it is not limited to this case as I’ve seen that exact phrasing referenced over and over. It seems more a cutesy manner of highlighting responsibilities than some sort of verbal gymnastics to get the law to fit. What the court does in practice is administer what they refer to as a Nexus Test - basically is there some resonable connection between services of a physical place of public accomodation and those offerred online?
Now granted - there can be some ambiguity here. Just not in this case. The court points out that in this case, things are completely unambiguous. Not only does the Domino’s website offer services such as their Pizza Tracker, but it is heavily advertised as the main way offered by Domino’s to find a location near you. This alone creates a clear and unambiguous nexus between their physical and online services.
Additionally, the court points out that yes indeed, the Department of Justice and the courts have held over and over since the mid-90s that the ADA can apply to websites. There have been plenty of similar lawsuits and ink spilled on who has and who doesn’t have to be compliant. None of this should come as a surprise to anyone.
And on a personal note - watching the actual arguments in front of the 9th circuit it seems to me that even the Domino’s lawyer is unclear on what argument they’re making here. It is even pointed out by a judge that they seem to have previously conceded the point that yes, websites can be public accommodations and therefore the law applies.
The court therefore concludes that on this point they have no reason and questionable ability to overturn decades of precedent. Yes, Title III has always and currently continues to apply to many websites in general and very much to the Domino’s website in particular.
This Lawsuit is a Violation of Domino’s Due Process
This is the main thread of Domino’s argument and is the one the lower court’s ruling was primarily based upon.
To start with, due process is the idea that - among other things - the court and judges should try to structure things so as to comply with basic fairness as accorded by the law. Yes, unfair outcomes happen all the time, but courts will at least attempt to apply the basic process of the law evenly and judiciously.
And as far as basic fairness goes, Domino’s seems to have a point. Yes, ignorance is no excuse when going 35mph in a 50, but there are after all hundreds of thousands of laws and regulations that a business might have to abide by. Courts therefore tend to be flexible here and give businesses the benefit of the doubt.
Unfortunately, as noted above, the court states that this is not a matter where Domino’s can reasonably claim ignorance as this has been a well known ruling by the DOJ as early as 1996, and confirmed in multiple court cases. It is far from a niche issue, as Domino’s own arguments make clear and either way, this isn’t really the case that they’re making.
Instead, their argument is twofold.
The No Guidelines Argument
The Department of Justice - Domino’s argues - has not issued guidelines on what exactly constitutes an accessible website in the eyes of the law. As this is the case, Domino’s cannot possibly try to comply as they do not know what they are supposed to be complying with.
This is the main thrust of Domino’s entire argument and one we can all be sympathetic to. You tell me that I can get in trouble but not how to avoid it? What nonsense is this?!
However, the court points out that this is how the law already works in a myriad of cited instances. The law in this case creates a set of obligations, it does not specify how specifically they are to be met. An agency such as the DOJ might choose to issue further guidance, but it is in no way a necessity. In fact, they might purposefully choose to stay silent on a matter (as seems to be the case here) to provide businesses with a maximum degree of flexibility to decide how the law can apply to their specific situation.
In fact, the corollary here would be absurd. If lack of agency guidance was enough to exempt someone from legal obligations, then a law enacted by Congress could effectively be voided simply by an agency refusing to issue any. Worse, you could assert a right to ignore the law simply by claiming any available guidance was not issued by the correct agency or not specific enough to your given situation!
This is simply not how the law works.
The Imposing-WCAG 2.0 Violates Due Process Argument
Domino’s argues further that the assertion in the lawsuit that they should follow the WCAG 2.0 (Web Content Accessibilty Guidelines) is a violation of their due process. The WCAG are issued by the W3C (Word Wide Web Consortium) which is an open but private organization and these guidelines have no standing in the law. The court is sympathetic here but points out that this is based on a misreading of the original complaint. The lawsuit doesn’t say they have to follow WCAG, that is not something a lawsuit can legally assert. Instead it says that Domino’s is violating rights granted to Robles by not living up to their obligations under the ADA. It further suggests that the court might order compliance with WCAG, but - the 9th points out - this is not the issue at stake at all but a potential remediation to be hashed out during the actual suit. It certainly cannot form a basis for dismissing the case outright.
Look - the court is arguing - the way the law works is that you have these obligations under the ADA. It is left up to you how to fulfill them but someone can certainly sue you for not doing so properly. You can then make the case that yes indeed, you were complying with the law and win the lawsuit. You can point to your compliance to WCAG, another standard, or just specific accommodations that you have made, but you actually have to make that argument!
You can even argue that the lawsuit be dismissed because your compliance is so obvious that the suit lacks any merit at all. However, this is not what Domino’s is saying here. They are claiming that no official standard exists for them to follow and therefore no lawsuit is possible as their obligations are ambiguous. This the court is having none of - no, they say, your obligations are flexible but not ambiguous. To rule in agreement would fly in the face of a great deal of case law that determines the exact opposite. So while yes, Domino’s can reasonably argue that their website is already accessible, they cannot argue that the issue of accessibility itself does not apply - and that is what their motion do dismiss is all about.
Primary Jurisdiction Doctrine
The final thrust of the argument is that the court should defer to accessibility and legal experts employed by the Department of Justice to render guidelines or a decision that will either clarify the points at issue in this case or even render it moot. This is referred to as the Primary Jursidication Doctrine, is occasionally applied by courts in similar cases, and was cited in the lower court’s decision to dismiss the lawsuit without prejudice (meaning a similar suit can be refiled at a later date).
The 9th Circuit points out here that nothing actually obligates the court to apply this doctrine and that either way the intent is as a short-term delay while a government agency provides clarity. While this might have been a reasonable position when the district court issued its ruling, the ground had since shifted. You see, in July 2010, the DOJ had issued an ANPRM (Advanced Notice of Proposed Rule Making) stating that they were indeed exploring how they might issue web accessibility guidelines. This project lingered on with little to show for it but nevertheless, when the district court ruled on this in March 2017, the ANPRM was still active and it was possible, if not realistic, to believe that rules clarifying web accessibility standards would be forthcoming. On December 2017 however, the DOJ withdrew the ANPRM, effectively saying that they are no longer working on such guidelines.
The appeals court reasons that, as any further guidance from the DOJ will certainly not be forthcoming, the original logic that deferred primary jurisdiction certainly does not apply. In any case - as the DOJ clearly does believe that websites should be held to accessibility standards - it is possible to imagine guidance that might affect a judgment of wither a website is accessible, but difficult to imagine any that would affect the outcome of a motion to dismiss.
Conclusion
The above is the logic the 9th Circuit court of appeals used to overrule the district court’s motion to dismiss and honestly…it’s pretty solid.
To reiterate what happened:
- This particular ruling was not about what is and isn’t accessible on the web. It was simply about whether the lawsuit filed by Guillermo Robles against Domino’s Pizza LLC may proceed rather than being dismissed out of hand.
- No law or interpretation of the law therefore changed. Everything is the same as it was since at least 1996 and people continue to be able to sue certain websites for lack of ADA compliance. The only difference is that for a twenty two month period, the district court opinion was available to be cited in some motions to dismiss and it now no longer is.
- The court can only rule on what was argued and Domino’s did not argue that their website is accessible or that a certain standard be or not be adopted, instead they argued that lack of guidance from the DOJ specific to their situation meant they didn’t have to follow the law, and the court - while sympathetic to the awkward lack of guidance - pointed out that this is not something unique to the web and either way is simply not how the law works.
- Domino’s did not lose a lawsuit, they simply have to actually argue the lawsuit. This lawsuit is no different than hundreds of others that have been filed over the years. These lawsuits can also still be dismissed, they simply cannot be dismissed automatically. The Americans with Disabilities Act applies.
- The Supreme Court did not rule on anything. They simply declined to take up further appeals indicating that they find no flaw in the 9th Circuit court’s logic.
What happens now? Well…Domino’s has to actually defend themselves in the lawsuit or settle. Personally (and I can’t say this enough, I am not a lawyer) - unless something really incriminating emerges in discovery - it doesn’t seem to me like Guillermo Robles’ case is all that strong. He might well lose the suit, but he does get his chance to argue it, and there is nothing here so obvious or in violation of Domino’s rights as for the suit to be dismissed out of hand.
And what about what you - the web developer or product owner? What should you do with respect to web accessibility to eliminate the possibility of being sued?
Well we don’t concretely know. But we can say the following will improve your chances:
- If your site provides a service to the public you should have accessibilty in mind.
- If the services offerred on your site tie in with a physical place of public accommodation then you certainly should consider accessibility as you have obligations under the ADA. If in doubt, ask a lawyer.
- How exactly you fulfill your obligations is up to you, but you do want to be able to make an argument over how you are accommodating people with disabilities. So long as you are making a legitimate attempt here, the courts are likely to be lenient.
- When in doubt, consider WCAG 2.0. There are lots of different levels of compliance and tips and tricks to choose from and no one is expecting businesses to be 100% with this stuff. This might also be a factor if your company is ever bought as evaluating your exposure to a potential ADA lawsuit is one of the factors taken into account in conducting due diligence.
Also, consult a lawyer. I don’t know if I’ve mentioned it, but I am not one.
-
Announcing Tech Terms for Memorization
23 September, 2018TLDR; I created a project to help students in software development via memorization techniques.
Read on for background!
My academic career is that of an all right student. Perennially in the
A-
toB-
range, good at understanding concepts, and able to cram just hard enough to do fine on tests. I never understood the point of doing much more. I always regarded “deep understanding” and rote memorization to be wholly independent of each other with the latter being helpful for tests and little else. Many people parrot back facts without any understanding whatsoever, merely impersonating intelligence without the ability to synthesize anything new. At the same time, you can really understand things while having a shit memory; the internet exists, we can always look things up.During the past year, my opinion on this has been evolving.
OLDER
- 05 Jun The Problem With Repositories
- 03 Nov Take Home Programming Interviews Suck
- 07 Oct The Absurdly Underestimated Dangers of CSV Injection
- 03 Aug On `this` in Javascript
- 17 Apr On Javascript vs C# and the importance of community
- 25 Nov Understanding the State of Javascript Modules
- 29 Oct Why You Don't Get React
- 07 Aug Predictions: XHTML
- 15 Jul CSS Only Tabs
- 14 Jul You don't need to learn map/reduce
- 14 Feb This can easily be the most important OSS thing I've done
- 18 Oct Why width 50% inline-blocks don't display side-by-side
- 12 Sep Talk Roundup - Be the Es6iest
- 27 Aug Automated Testing Venn Diagram
- 03 Jul Learn reduce
- 08 Jun Color Mixing Demo App
- 06 May Some self-indulgence from the nolatech chat
- 01 May Why Not MsTest
- 20 Apr Stop teaching h tags
- 19 Feb node-gyp won't install on Windows
- 10 Nov Don't Teach Object Oriented Javascript
- 31 Oct Use Simple Modules To Fix Up Your Ugly Brownfield App 1
- 02 Aug Talk Roundup - Be the Javascriptiest
- 29 Apr On this and new
- 09 Oct Open IIS Express to the Network
- 26 Sep Setting Up RequireJs
- 29 Apr Stop that = this'ing
- 16 Jan Error Handling and the Message Repackaging Anti-Pattern
- 12 May QuickTime and a TIFF (Uncompressed) decompressor are needed to see this picture