Get Promoted as a Software Engineer with ADHD or ASD

Most people think about their career growth in 2 parts: technical skills and soft skills. In theory, we need to improve both to become a more successful, more senior engineer. However, most engineers are very good at improving their technical skills on a day to day basis. Constant practice (doing the job), feedback (code reviews) and an interest in the topic provide a great basis for you to grow.

So where people struggle is… soft skills! The fuzzy, fluffy bastards that trip us all up. Soft skills are thought about and designed in neurotypical terms, and they’re always going to be a struggle for us.

Lucky for us, people don’t actually care about your soft skills. They care about what your soft skills let you do: solve bigger, more ambiguous, more impactful problems. So don’t focus on the soft skills, focus on the things your soft skills will let you do! Then, you can invent your own neurodivergent skills to help you solve the big problems that everyone cares about.

So how do we go about solving bigger problems?

Solving Bigger Problems

Step 1 - Understand your team’s goals
You can’t fill gaps until you know what you’re trying to achieve. Your team’s goals are bigger than your project, and even your roadmap.

Make sure you understand for your team:

  • What success looks like

  • What failure looks like

  • What were the other alternatives and why aren’t you using them

Step 2 - Look for things that might make your team fail
Now you know what your aiming for, you need to keep an eye out for things that might prevent you meeting your goals. Some ideas are:

  • Missing logging will result in not understanding whether you’ve been successful.

  • Poor testing means you’ll be riddled with bugs

  • You’re building the wrong features for your goals

  • Someone is getting blocked on an issue

  • One of the projects if falling behind

  • No one knows how to solve a particular technical problem

  • Team morale is dipping

  • Your team doesn’t trust each other

  • A key component of the code is slowing everyone down

Step 3 - Solve them!
You now know some problems. You can complain about them, but that’s not growth. Instead, you can fix them! But how do you do that?

  • Just go fix it yourself

  • Surface it so everyone else can see it (maybe do the first bit of the fix) then encourage someone else to do it

  • Tell your manager/mentor about it, say you want to solve it and ask if they have any thoughts about how you could do that.

Step 4 - Repeat
You’ve got the cycle once, now do it continuously until it becomes your unconscious way of working. You want your 1:1s with your manager to move from:
“I’m working on the project you told me to work on” → “I think this is going to be a problem so I got Jeff to take a look at it, I’m going to go work on Project A because it’s falling behind a bit”.

While you’re doing this, you still have to pay attention to your main project(s) - if the gap filling is going to cause delays, have that conversation with your team and manager.


Previous
Previous

Deadlines & Estimates

Next
Next

Saying No Like a Pro