Move fast and learn things
Advice is a lot like book reviews, if you get the same recommendation again and again, it's probably time for you to act on it. Recently, mine has been a Staff Engineer and an Engineering Manager telling me that I might need to explain my growth trajectory on my resume. "It's not that you've done anything wrong, it's that your competency has outpaced normal expectations".
I think they probably have a point (although writing an "explanation" feels defensive, so I want to treat this more as a reminder to myself of what works for me). It's undeniably uncommon for people to go from a non-technical role (in 2021) to getting a software engineering position in a fintech company (in 2022) and then getting two promotions (by 2024). That is a rapid, unusual, and understandably questionable rate of improvement.
However, it also happens to just be the rate that I've learned at. There are a lot of explanations for that ranging from pure luck to privilege to exceptional mentorship, but I want to dial in what I think might be my personal secret sauces that I've consciously done right to have the success that I've had.
First, is that if I rate myself highly at any skill, it's self-teaching. Prior to joining any tech company, I was already an expert at these skills. I had trained as a teacher, giving me a suite of pedagogical skills that I can apply for my students benefit and my own. I had worked for years as an outdoor educator where I had learned how to structure practical, hands-on learning, and I had already been applying these skills to myself to achieve national recognition for my advanced facilitation skills (APIOL & POL from the Institute of Outdoor Learning).
For the last three years, I've been using those skills every day at work (and on weekends). For example, I use different learning mediums, create bite-sized hands-on tasks, and self-identify when I need additional learning scaffolding to complete a task. As a teacher, I know the importance of setting clear learning objectives for myself, and breaking down those objectives to ensure that I (as a student) am constantly in my "stretch zone". If you can be your own best teacher alongside your own best student, it's not hard to learn quickly.
Second, has been the benefit of my philosophy degree. Please hear me out because I know "the benefit of my philosophy degree" is normally an oxymoron. I loved my bachelors, and over the course of it I heavily focused on analytical philosophy, with a specific interest in logic. I studied in advanced first-order logic classes for years, so my theory is that when I started learning about high-level programming languages, it was mostly adding syntactic sugar (and a lot of side-effects) to a world I was already familiar with and loved.
But on top of that, a philosophy degree is heavily focused on efficient, often technical communication. Ask my references, I'm confident they'll tell you that comes across. Combined with teaching skills, I am able to synthesize and articulate complex and abstract domains clearly, and better yet - quickly diagnose my own misunderstandings. Having and honing that skill has been a difference maker for me, given that a lot of learning is clarifying what you don't understand.
I should close this post by highlighting a less concrete skill, but vitally important thing to mention if I'm talking about why I've grown as quickly as I have over the past three years. I principally value learning.
I truly enjoy software engineering, but I might like learning even more. Learning is a continuous process, you can never "know" enough. Rather getting demoralized by that reality, knowing it energizes me. I love that I know so little, it means I have a lot more learning to do.