Many great answers already, but as another autistic individual I wanted to add my 2 cents. Oh, and like the rest, disclaimer: autism is not one single thing, it's a wide spectrum of traits with varying severities. Also I'm going to say "employee" a lot because "autist" or "autistic individual" sounds ridiculous if you say it more than twice, just know that this entire thing is about autistic employees.
My career has been going for about 10 years now, I'll list the things I've had trouble with in the past and how they were solved as well as things I still have problems with and how I think I can be accommodated. I've also recently completed therapy where I tried to learn exactly these things about myself to increase my chances of success and happiness at work.
I need clarity, I don't fully understand what it entails, but anytime I feel like something is not clear to me I will ask questions until the feeling is gone. This can mean asking about the priorities of certain tasks or it can mean asking for a full technical specification of the required work before starting. It can result in discussions, because a lot of my questions come in the form of "but if x is like y, how can a be like b?". You can help the employee asking a lot of questions by realizing they are not trying to be a smartass or poke holes in their assignments, they are trying to envision what is expected of them and they don't want to start if they're not sure their vision 100% matches yours.
Which is a nice segue to structure. Structure is having predictable and consistent rhythms for things, my first job we did a lot of overtime, we would work entire nights and then skip a day or two to compensate, we would focus on this product then on that one then back to this, build a feature only to remove it again only to build it again, etc. It was chaos, and after 5 years of that I was toast. I had a burnout, which spiralled into depression. Structure is incredibly important for me. Examples of good structure are:
- Having set working days, times and locations.
- Make coworkers that the employee depends on be in the office according to a predictable pattern.
- Have recurring meetings at a set time and location.
- Start and stop meetings and similar activities at their planned time.
- Communicate any change of plans ahead of time to allow for acclimatisation.
- Let the employee focus on one product at a time, minimize context switches, communicate upcoming context switches.
Another huge problem area for me is planning. I can't break down a task into smaller steps. Give me a task that's less than half a day's work and I'll complete it in less than half a day. Give me a task that's a day's work and I'll complete it in half a week. Big tasks that are not chopped up into smaller pieces are near impossible for me. And ask me for a time estimate on big projects and you might as well just use a randomizer for your answer. I sit with a coworker each week where I discuss my current work and how I plan to approach it. He then evaluates with me if that's a feasible approach and if there is anything to keep in mind or to clarify before starting.
Like many of the other answers mention, distractions are plentiful and intrusive. Sudden and/or loud noises are detrimental to productivity. Crowded areas as well. You can provide a calm space in the office, for example we have one open office with a small meeting room next to it, those seeking a stimuli-free environment can sit in that meeting room. Providing noise-cancelling headphones is also a great idea. You can also let your employees who are more easily distracted or stressed out by stimuli have first pick in seating arrangements, they will probably pick a spot in a corner somewhere away from the windows and the doors.
Task initiation can be hard too. If an employee seems to show no progress on a task they started, perhaps you can ask them if something is blocking them or ask them to explain their plan for tackling the issue. If it seems like they have no overview of the work break it down with them and make them do smaller parts at once. You don't need to take away ownership of the issue, that feels really bad, but if you can split the ticket into three small tickets and leave them all assigned to them that can help a lot in starting, staying focussed and working efficiently.
Any work that requires the above mentioned skills will obviously take longer. But it will also add stress. If an employee is struggling with a lot of work that's heavy on executive functioning skills, consider giving them some tasks they naturally excel at. If you have a backlog lying around that needs labeling, sorting, re-organizing or similar, assign it to them (attach proper labels to Jira tckets, hunt down ticket creators for more information, do investigative reproduction work, do some testing, etc). If a project needs some maintenance work that doesn't involve any big decision but only menial labour let your employee who's struggling with too many decisions do it (A while back I spent over a week enabling linting warnings in our codebase and fixing the 2k+ warnings that were now showing up).
It's taken me many years, decades if you count the school years, to learn about what I need. And there is still much to learn. Above were the big ones that were once huge problems but are manageable now. Some other issues I face that I don't have good solutions for yet are:
- Prioritizing in general, but mostly re-prioritizing on the fly. When I have three different tasks with different deadlines, I might get right which one I should start first and which one can wait till later. But when things take longer than expected or requirements change I won't switch or re-evaluate my priority list. If you know the employee has multiple deadlines, regularly evaluate with them how far they are with each assignment and steer them if you see they're not prioritizing one task enough.
- Realizing I'm stuck. Once I've asked all my questions and have tickets I think I understand I get started but then sometimes I seem to accomplish nothing for days. Usually that is because something has changed and I no longer have a good overview, or something was more/harder work than I anticipated and it messes with my planning.
- Dealing with changes. I still don't know which changes are bad and which don't matter, but it seems that anything that changes what (I think) is expected of me is bad. New seating arrangements is always something people worry about for me, they'll come up beforehand and discuss it with me and ask if that's not too much change and it's usually fine aside from a few days of getting used to it. While someone renaming a ticket can confuse me and cause unproductive sessions of thought loops and doubt. Best thing you can do is ask, always involve your employee in anything that might mess with what's in their head.
- Meta cognition, this is thinking about what you're thinking about. Say I'm building a new feature and I think library x will do the trick, I'll add the library to the project and start experimenting with its features. I'll have some findings, possibly decide to use the library to build the feature and then I run into a wall. Say, the library's version is incompatible with some version in our project. At that moment A neurotypical person will make a judgement call, is it worth it to look into that version incompatibility or should I look for an alternative. That thought won't come up with me, I can make a plan and I can execute a plan but I can't do both at once. At that moment the plan is to find a library (check), see if it does what we need (check) and to implement the feature (unchecked). And so I will waste a lot of time on the last step of implementing the feature.
This has become quite the wall of text, but I hope it helps you gain some insight. If you want to look more into what skills someone with ASD might have problems with, you can search for "executive functions". There is plenty of research about it and it covers the general topics that autistic folks struggle with. If you understand the list of symptoms any employee with ASD might be able to tell you which items on the list they can't do very well. Social skills can be taught, executive functioning skills is a set of skills that you either can or can't do, they won't improve a lot. So they require coping strategies, accommodations from the workplace as well as discipline and insight from the employee.
One last thing. My social skills were already developed more than enough to function in a regular working environment. But obviously social behaviour is the prime issue with ASD. Luckily, we can learn it, we just don't develop it naturally like normal people. Social behaviour is way too much to get into now anyway, but as a general rule of thumb, try to address any real problems as fast as possible and as clear as possible. If they say something rude in a meeting, take them apart after the meeting and explain exactly what they did and why it was wrong. You won't hurt their feelings, they'll just be glad someone is straight with them and helps them understand how to improve. Don't wait, don't save up multiple occurrences, be direct and keep consistently pointing out the good and the bad behaviour, it will help them a lot if they can recognize a pattern.
Here is some follow-up material: