For those who don't know me, I'm autistic. Asperger's Syndrome to be precise. I've been a developer for the better part of a decade.
I didn't find out I was ASD until 19, and didn't really reconcile with that until likely years later. These posts will be a combination of advice I've given to those who are like me, as well as a letter of sorts to my past self who could have used a lot of it.
I write these posts in the hopes that someone like me will find value in knowing a very simple and very important truth about ASD:
You are not alone, and you are loved.
I'm currently a Senior Engineer at Square working to lead Ruby Architecture across the company. In my tenure there I've also come to accept myself as autistic more publicly, and have joined various neurodiversity efforts at the company.
In one recent meeting we were discussing what it meant to be neurodiverse at varying levels at the company. In the process of that discussion I'd realized all the tools and tricks I'd used to perform at that Senior level, how I dealt with the expectations, handled the stress, and was able to deliver.
These are insights that have helped me survive with autism and ADHD in work, and in many cases have allowed me to thrive. As I am but one person my experiences may not apply to you, but I do hope that they may help you in some ways or foster a discussion with your team whether it be manager to employee or employee to manager.
With that said, let us begin.
Perhaps the most crucial differentiator between who I was as a Junior engineer and a Senior engineer is memory.
The ability to remember things? Oh no, no no, hardly that as much as I wish that were the case. I'm horribly forgetful, easily distracted, and as cliché as it may be a single shiny object can easily send me spiraling for the rest of the day.
You see I have a problem here. If it's not written down there's absolutely no way I'm going to remember what in the world it was beyond the vague outlines. As a Junior engineer I did nothing to try and work around this, and it got me into constant trouble.
I'd have to be reminded constantly to get things done, and quite often I thought I'd get fired for it. Truthfully I'm pretty sure I got close a few times. If something else got my attention there was no chance I was going to remember what else I was working on.
What made the difference for me was quite honestly acknowledging that I had a problem. I had to own it and know that there wasn't going to be some miracle fix that would allow me to remember everything, no amount of training or anything else.
If there were no miracles, what then? Well the answer is really quite boring: notes.
I would keep notes religiously of everything, detailed accounts of debugging and records of conversations throughout the day, if even a few words. If it happend I was going to have some recording of it somewhere.
As much as I detest taking notes, I far more detest finding out that I didn't and having no information to go off of. I'm far more likley to curse myself for not taking notes than I am to if I did.
Now here's what makes this into a trait that made me into a more Senior engineer. Because of all of those notes I have a documented history of everything.
That means at any given time I can reference back to what I did a month or even a year ago, and give a detailed account of why decisions were made as well as various onboarding documents if I were to have to train someone new or transfer projects.
The notes became a source of living documentation that turned into things like blog posts, conference talks, ruby gems, experiments, mentoring sessions, and entire classes.
Those notes became the source of a significant amount of what helped me succeed at Square. A Senior, in ways, is expected to be a living memory of years of experiences and struggles condensed into a source of knowledge. This was, in a way, my living memory that I could share with others.
As I mentioned above in the section about notes I have the attention span of a field mouse on occasion. It's really quite pesky, there are things I need to be getting done and here I am getting drawn into every conversation within a 50 ft radius.
A few days late on a project would turn into a few weeks, perhaps a few months. Of course I always had a fairly reasonable excuse as to why this was and an ability to defer, though looking back I don't entirely believe my management chain bought that in my more Junior years.
If something else got my attention I was gone, checked out, never going to return.
I'm easily distracted. As with my memory I had to own that, and know that that's who I am. Quite honestly it's still something I have problems with and still seek to work on, but even recently I've learned new solutions for coping with this.
You see all that energy is real useful if you can harness it well. What I've chosen to do instead is to use an offshoot of notes to write entire project proposals. These proposals allow me to burn off obsessive energy into something I can explicitly seek approval on and get onto formal roadmaps.
Not all of them were going to be approved, but now I have a living memory of what was very interesting to me at a time that I may be able to pick up later and sell my team on.
On occasion I will allow myself a few weekends or nights to really dig into an interesting problem, but that too can be a bit dangerous so I try and refrain and budget work time for it.
As it turns out, being able to write formal documents and proposals is an extremely useful thing as a Senior. That's the way you get budget, new team members, set roadmap direction, and define entire organizations worth of work.
Combine with notes of short sprints and projects that I've done I can even hand off those projects to entirely new teams with a pretty decent head start. If the value proposition of that project is great enough it may even turn into a few additional headcount if upper management approves.
A lot of being Senior is being able to set the direction of your team and your organization and present compelling cases for things, which brings us to the next issue.
This is likely one of the worst for me. At times when I get distracted I can snap out of it, but on other times there's no saving it and I'll be spending all of my time pursuing something.
As a Junior this was disasterous and frequently sent me veering off course into whatever project really struck my fancy that week. Some of them weren't even tangentially related to my team, and it could be even worse if it delved into a self-righteous fantasy.
Thankfullly I could snap out of it if someone talked to me, but they had to notice. I certainly wouldn't.
What I found here is that this is the way I am in some cases, and one of the best things I could do about it was to let my manager know my triggers for getting into this state and the warning signs around it.
Your manager should be your ally, helping you to be more effective. If this isn't the case you may need a new manager as this is most certainly unhealthy for your job and your career.
They can help pull you back and get you back on path, but they have to know to be able to do any of this. That said, this is very much a last case resort and you should work to consciously pull yourself back as well.
Now your manager is not your counselor, nor should they have to try to be. Counseling is something that I definitely had to work on, and helped substantially with identifying these patterns.
So when does that actually come in handy? Well there are some problems that are truly titanic that will be terrifying in their own right. Once I learned to harness this energy to fire at those type of problems I was able to leverage the above items on notes and proposals to take down some truly gnarly problems.
My obsession became solving hard problems and finding solutions where others might not be able to. It was in finding people and combining strengths to do the impossible and deliver on projects that were thought to be absurd in some cases. Using proposals I learned to delegate and work through others by leveraging some really incredible people throughout the company.
Perhaps ironically my obsessive nature turned into a laser focus when directed properly and tempered by management to make sure it was being used effectively. Being Senior in this case is being able to maintain a singular focus on delivering a task far beyond the scope of a single person and being able to effectively lead that discussion.
I can't sit still, absolutely hate it. I roam, I wander, I know every barista in a 3 mile radius of whatever place I'm at likely by name.
At Square that meant that I'd frequently find new people to talk to at the coffee bar in the office and would spend quite a bit of time just chatting to blow off steam from a problem that was annoying me at a given time.
Sometimes I'd just really hate to sit back down and have to focus, and for the life of me there was zero chance I was getting that focus back. I'd be a figurative zombie just trying to get through the day and find some spark of motivation to get me back on task.
Don't even get me started on random Slack channels. That's almost worse for me.
Hate to tell you, but I don't really have a solution to this one quite yet. Most of what I've figured out so far is that this tends to happen if I'm not getting nearly enough sleep, which I'm absolutely horrid about, or if I've been burning the candle at both ends for a bit too long.
This ends up being pretty symptomatic of me being close to burn out the worse this gets, and is a huge warning sign I've communicated to my managers in the past. It's very likely about time for me to take a vacation and realize I haven't taken one all year and it's July. Well, maybe not quite that bad but you get the point.
Wait wait, if I have no real solution how in the world is this a strength? Remember that bit earlier about knowing people's strengths and working through others?
Through all that time getting coffee I made several good friends, heard their stories, learned about them and their work, and quite honestly really enjoyed myself.
Combined with all of the topics above I've started to see potentials in people where they may be able to work together with a project I'm on or potentially with someone else I know.
Amusingly my penchant for not sitting still ended up creating an entire network throughout the company of people I trust, as well as a lot of alliances that have gotten some truly amazing things done.
Part of being a Senior is networking and knowing the right people for the job at hand. Being on good terms with others in your company is absolutely critical to performing beyond the scope of your own team, and honestly you get to meet some really incredible people.
I used to be a very negative person. I could find something wrong with anything and it would drive me mad. Whether it was a project, a tool, a person, or who knows what I could get very easily annoyed and sometimes angry at various things.
It wasn't remotely productive and it got to be a really toxic thing that I'm glad people eventually called me out on when I was younger.
Now I won't say everything should be sunshine and rainbows but if your entire outlook is dour and gloom it's time to take a step back and evaluate because that stuff will eat you alive. It certainly almost got me more than once, and left me in some really dark places.
Counselors. Seriously. If you're going through this don't go through it alone, it's ok to talk things out and get help. If anything it's danged brave to be able to stare down your problems and admit to them.
One thing we did notice through talking though is I had an innate ability to find things that were wrong. Once I combined that with notes and proposals, networking, and all of the above items things started to take a very different turn.
The ability to find what's wrong or broken is a critical skill as a Senior. In many cases you're at a point where your managers will expect you to go out and find new work, find what's broken, and make sure things stay together.
I took that annoyance and turned it into actionable tasks that either I or someone else would do. In some cases this turned into fixing critical security holes, exceptionally slow runtimes, database issues, or any other number of issues.
At one point we had jokingly referred to this as RDD, or "Rage Driven Development".
To complain is one thing, to fix is something else entirely. The trick is you don't necessarily have to be the one doing the fixing, and sometimes it's ok to hand that off to someone else.
This ties very much into obsession and fixation, but presents a much different issue. You see if I got into something I would talk anyone's ear off as long as they would tolerate me.
As a child this certainly earned me no friends, and in Missouri where tech jobs and tech people weren't exactly commonplace I ended up being an extremely introverted nerd who would just write for days on whatever obsession I had that day on forums or the like.
As an adult I'm substantially better about this, I've learned to take turns while talking and actually invest and be interested in what others are talking about. Not to say I wasn't before, but I had to let everything out right that instant and tell them all of my amazing thoughts before my head exploded.
Sometimes I still do that.
For me the solution here was to find people who were more interested in what I had to say and not caring quite as much about what others thought of that. It was also allowing them to share and paying attention to what they wanted to say as well and being less selfish.
As it turns out being able to rant on a subject for hours makes for being a great teacher and conference speaker if you can harness it well. For me I do that with a series of cartoon lemurs by combining a lot of my other strengths around art with those obsessions.
It turns into blog posts, books, talks, lectures, classes, and all other manner of things. As it turned out there are definitely people out there which are interested in some of what I was talking about, and that was an amazing thing for me to find when I moved to San Francisco about 6 years ago.
People cared about all of my wild ideas, or were at least a bit more likely to tolerate them.
As a Senior this turned into an uncanny ability to explain pretty much anything on a dime and try and make it accessible because I wanted people to be able to understand what was bouncing around in my head.
These are but a few stories of some of the issues I've faced being an autistic person in tech, and a few of the ways I've gone about leveraging that to succeed. I can't say these stories will apply to everyone, but I hope they find who they need to find and perhaps inspire a bit of hope that not everything is so bad out there.
For me becoming a Senior in many ways was realizing that I've conquered some of my issues and have truly grown as a person. I know I've not dealt with all of them, and there are still many more left, but I know that with time they too shall pass.
And hey, one more thing before I go?
I believe in you, now go out and be awesome.