Soft Skills Series: How Adaptability Fuels Career Advancement
Part two of my three-part series on growing your soft skills
Welcome to Path to Staff Engineering! I will teach you the skills to level up to the Staff level faster. If it's your first time here, subscribe to continue receiving this free content.
Read time: 5 minutes
In my last post, I introduced the most significant difference between Senior and Staff – soft skills.
We also covered the first of three soft skills: Communication, Adaptability, and Challenging Situation Management.
Now, let's dive into Adaptability.
Why Adaptability?
Adaptability is the art of being flexible. Flexible to the ever-changing needs of software engineering. If we want to keep up, we have to change our environment. We have to grow.
How to be Adaptable
I've grouped Adaptability into three categories: (1) Type of Work, (2) Team Dynamics, and (3) Decision-Making.
In every category, I'll share examples and show how you can be adaptable.
Type of Work
At work, you can be adaptable through Domains, Roles, and Leadership Roles.
Domain Flexibility
Be flexible with your tech stack. Proactively learn other languages. Grow your arsenal of skills and become more useful.
Example: I was hired as an iOS engineer at my first job but was reassigned to full-stack on my first day. I wasn’t a fan, but I spent a month learning new languages. That paid off immensely – I can now code in Objective C / Swift and frontend/backend frameworks. I was also seen as more useful by the company.
How to be adaptable: Seek out languages that interest you. Match them with what the company needs. Learn them and apply them across the company.
Role Flexibility
Learn design, product management (PM), and data science (DS) skills. These are the three roles you'll be working with closely. Be ready to step in if needed.
Example: I’ve learned Figma and Dribbble. I’ve read Product Requirement Docs and understand how PMs think. I’ve familiarized myself with the tools that DS-es use. If one of these roles is missing for my next project, I can substitute.
How to be adaptable: Read, observe, and imitate. Observe superstars in your company, learn their tools, and emulate them. Ask them questions, and be ready to step in.
Stepping Into Leadership Roles
Be ready to lead a team or org. Transitioning from a Mid-level (IC4) to a Senior (IC5) engineer can be tough. This is especially true if you become a Team or Project Lead. Preparing for this change is essential.
Example: I was assigned to lead a company-wide project when I was an IC4 at Lyft. Thankfully, I had spent time in the early years of my career observing how others lead. I applied these leadership traits to this project and succeeded tremendously.
How to be adaptable: Again – read, observe, and imitate. You want to find success stories at your company, aka folks who've led large projects or teams. If there aren't many, look to YouTube or books (e.g. Extreme Ownership). These investments will go a long way.
Found this helpful? Subscribe to make sure you don’t miss the next part of the Soft Skill series.
Team Dynamics
Adapting to different team dynamics can be tough since it requires working with others. Here’s how to be flexible with managers, teammates, and project timelines.
Adapting to Managers
Understand your style and see if it aligns with your manager. Some managers provide full autonomy. Some emphasize communication and collaboration, while others emphasize technical excellence. If incompatible, you need to change.
Example: I once had a manager with a hands-off approach that suited me well. However, after a reorganization, my manager started closely monitoring my work. It took me a few months to realize how much I disliked this. I finally changed teams for a better fit and found myself enjoying work a lot more.
How to be adaptable: Understand your preferred style. Know how much autonomy and feedback you need. See how it aligns with your manager's style. If there's a mismatch, consider exploring other teams or companies to find a better fit.
Teammate Collaboration
Find what styles and cadences fit your team best. Focus on flexible communication channels. For instance, decide on communication cadences and preferences (async or sync). If you're the team lead, set these up at the start of a project.
Example: I balance project needs with teammate preferences. Fast-paced projects require daily stand-ups. I see if the team prefers asynchronous updates. I use the standup to keep everyone in sync and accountable.
How to be adaptable: Spend time talking to your teammates to figure out their preferences. Be prepared to change your collaboration style.
Timelines: Plan your timelines well.
Know the potential points of failure within your control. Accept that parts of a project need to be moved around.
Example: I'm in charge of scoping Project X. For every part of this project, I've added 2 weeks of buffer for unknowns that might come up. I talk to my PM to identify potential points of failure. I then set everyone's expectations for the project's timeline.
How to be adaptable: Add buffers to estimates. Anticipate potential points of failure. Communicate early and often if the timeline is about to be delayed.
Found this helpful? Subscribe to make sure you don’t miss the next part of the Soft Skill series.
Decision Making
Last but not least, being adaptable in your decision-making is key. You need to make decisions fast. Bezos calls this walking through reversible doors.
Changing Your Stance
Be open to changing your position. When new data or evidence conflicts with your initial stance, you should be adaptable. Recognize that you were initially incorrect. Align with others on the right decision.
Example: I've been wrong so, so many times. I was once adamant that "changing to Architecture X would save engineers so much time". But when a teammate shared contradictory facts, I recognized my mistake and stopped pushing for this change. I changed my stance.
How to be adaptable: When faced with a mistake, be humble and recognize when you're wrong. Be open to listening to others and make the best decision for the team or company.
Be Open
Stay open to new ideas and make others stakeholders. You don't have all the info. You need the opinions of others to advance your idea. Share your idea with them, and make it theirs. Involve them in the decision and make them a stakeholder.
Example: I once proposed a new foundational framework for the team. I pitched it to individual teammates and sought their feedback. They eventually joined the project, and we accomplished this project four months ahead of schedule.
How to be adaptable: In order to make the best decision, you need the input of others. Be open to feedback. Bring others along for the ride. Make them stakeholders.
TL;DR
Three categories where you can be more Adaptable: Type of Work, Team and Project Dynamics, and Decision Making.
Be ready to be flexible on the type of work, your role, and stepping into leadership positions.
Learn how to adapt to managers, teammates, and timelines. These will help you collaborate better with others.
Be open to changing your stance and new ideas.
Thanks for reading. I hope this helps you in your journey to grow as a software engineer. Have thoughts or feedback? Comment or reach out to me here or on LinkedIn.