Hi everyone, I work on Android and currently my team isn't having a lot of OKR work, at least Android-specific. This means I got some time to understand the system better and improve my craftsmanship.
What could I pick up now which will help me in career growth and better understanding of the system? As of now, I am writing a couple of lint rules. I also tried exploring few other repos but there are just too many to explore in-depth.
I would suggest branching out from the apps, systems, and projects tied to your usual routine. Digging into other repos can help build your perspective on projects you otherwise wouldn't have exposure to, but can be draining if that's the only thing to fill the time.
Instead, here's are 3 things you can consider investing some time in, which in my opinion are well-worth it and should be done even when you're busy with OKR work:
Another framing I like is to "shadow" someone you respect on the team and basically make their life easier. The senior/staff engineers on the team will probably have more work than they can handle. Can you look at their PRs, their design docs, and their calendars to identify good questions, or simply provide some feedback?
Once you develop a relationship with them, you'll have a lot more direction ("narrative") around this extra work you'll do.
As a junior engineer, one of the most valuable ways you can spend your time is relationship building. When I was getting up to speed, I spent a significant amount of time talking with my teammates to understand what they were working on and what they thought would be good areas to grow into. In my spare cycles, I’d pick up a ticket from someone else’s OKR to help them deliver on time.
I first started with my on boarding buddy who introduced me to other people on the team. My first OKR was joint with another senior engineer and I spent a lot of time just learning from that engineer. After ~9 months on the team, I understood the most critical pain points on the team and began pitching ideas on how to solve them. This knowledge was built over time by talking to my teammates, getting involved with site-up / GCNs outside of my oncall (aka immediate fires affecting prod), and getting my hands dirty on things outside my immediate scope.
I only have context on Infra at LinkedIn, but everyone on my team always has more tickets than they can actually physically do in their backlog. And people are more than happy to get you started as long as you actually have time to do the ticket (NOTE: do not commit to something you don’t have time for. It’s a bad look and people don’t like their time being wasted).
If you do this correctly, you will naturally gain the trust of both your teammates and manager to be given high impact tasks and you will never have the problem of too little work to do. Your teammates will vouch for you during perf review, and will want you on their projects. In a healthy team environment, your teammates will even be invested in your growth (after all, senior+ is evaluated on their ability to grow juniors)