The past few days I've been writing about autonomy & how you learn to work autonomously.
I've received several replies from readers about those posts, including some great follow-up ideas from other senior developers. Here are two of my favorite points from those emails:
Estimating
Learning to estimate work is a big part of working autonomously. Most of your work should be divided into tasks that should take a few days to complete - a week at the most.
If you're working on a task that is so complicated that you won't be able to finish it in a week, that's a good sign that you need to break the task into smaller segments. It's time to talk to people on your team about the complications, how to divide up the work, and whether there are ways to make the task simpler.
Working autonomously depends on having achieveable, bite-sized tasks that build on one another. Learn to estimate complexity, break down overly complex tasks, and keep your requirements achieveable. You'll find it much easier to deliver work autonomously.
Repeating yourself
Here's another one from my coworker:
"A different corollary re: asking questions that I’ve seen with very junior devs - finding yourself asking the same question repeatedly is a sign that you need to change something to truly internalize the answer. Maybe you need to go a step deeper beyond your original question to build a more solid foundation/context."
Instead of seeking to understand "how do I do my current ticket?" you should aim to understand "how does the code work?" & then you can answer what part of the code should change to accomplish your current task.