Software Engineerings Soft Skills Part 3 — Adaptability and Flexibility

Oguz Ozcan
5 min readApr 18, 2023

--

Welcome back to the third installment of our series on software engineering soft skills. In this article, we’ll delve into the crucial skill of adaptability and flexibility — something every engineer should possess and continue to hone throughout their career. We’ll explore why it’s essential to embrace change, what being flexible as a software engineer entails, and how you can improve this skill.

Let’s dive into things we can do to improve adaptability and flexibility!

1. Change is inevitable embrace it!

We as engineers work in projects where the requirements are defined by customers. The projects can be either for directly end users or enterprise businesses. In the former, the requirements are mostly defined by product managers via the users experience researches and in the latter another company defines the requirements formally in an official document or meeting. Even you work on waterfall or agile approaches with small iterations, the requirements can change in the middle of the way, projects might cancel, project priorities might change and you can be moved to another project. Sometimes it is better that you realize this prioritization yourself as a senior/staff engineer and change your project voluntarily or you migth get a recognition or impact if you play a role to cancel the project or change priorities of the project.

In all of the companies that I’ve worked for, I have at least one story where things suddenly change. For one time, in the middle of our 3 weeks sprint we had a customer visit and we did a demo of our product. The customers asked some questions and did some informal requests. After they left, we found ourselves in a meeting room organised by our managers and we started a new planning in the middle of our spring with their new requests. It was the first time we hear those requests, and from their attitude I didn’t think they were critical. However, our leadership wasn’t in the same idea and they wanted to please the customer. Me and some other engineers tried to push back, however that company wasn’t care too much about what engineers think or have in mind. After the meeting we find ourselves with a completely new tasks to complete in a week. Yes i know it was a toxic company and it wasn’t a good management style. People including me were not happy with most of the things, but still, as an engineer you should change your work and adopt to change, even thought you don’t like it!

2. Practice Good Communication

Effective communication is essential for any software engineering project, and it’s especially important when it comes to adapting to changes. You’ll need to be able to clearly communicate with team members and stakeholders, explaining technical concepts in a way that everyone can understand. This will help ensure everyone is on the same page and can work together to adapt to changes as needed.

You can check the first article of the software engineering soft skill series which is about communication!

3. Collaborate Effectively

Collaboration is another key skill for adaptability and flexibility in software engineering. Being able to work effectively with others and contribute to a team effort is essential for adapting to changes as a group. This means being open to feedback, sharing ideas and expertise, and being willing to compromise when necessary to achieve a common goal.

You can check the second article in this series to refresh your mind!

4. Build Resilience

Software engineering can be challenging and stressful, and unexpected setbacks and changes can be frustrating. Building resilience, the ability to bounce back from setbacks, is an important soft skill for adapting and staying flexible. This means developing coping strategies, such as taking breaks or seeking support when needed, and staying focused on your goals even in the face of challenges.

Personally, during the times that I need support I setup a meeting with my manager or some other colleagues to discuss and share my feelings. Learning their perspective and getting tips and tricks to overcome these situations helps a lot. I was also using time offs to refresh and recent years I realized how important it is to take a break sometimes and come back to work with a fresh mind.

Ok, but why this is an important skill?

Think about it, you hire people, best talent and you want them to solve problems. But when things change they push back, behave bad or just give up. This doesn’t make sense right? If you see a new opportunity, what would you do? You want to be the first to reach to customers and create a product for the market right?

What kind of flexibility or adaptations are we talking about?

Changing your programming language, Learning a new technology, Facing to a re-org at your company, having a new manager, having a new director or CEO, a new teammate joining to your team, you changing your team, changing your company. See there are many things that we do time to time, which requires flexibility and adaptation skills.

More specific technical examples can be moving to containerisation technologies, learning a new UI Framework, moving to NoSQL databases, migrating your on premise services to cloud providers like AWS etc. These all require adaptation to something new. Actually, learning is constant adaptation and requires flexibility.

Change creates opportunity!

Change create opportunities

When things change in the companies, there are two types of people. One who complains about the change and do nothing. Second, the ones who accepts and adopts to change quickly. This is a behaviour and that increases visibility and credibility of the engineers. In one of my teams, we had reorgs happening frequently and naturally that was causing anxiety, stress and unhappiness. However, there were engineers who loves reorgs and use that for their advantage. They did receive good ratings or even for promotion, some people voluntarily changed teams and moved to those orgs.

In conclusion, being adaptable and flexible is a critical skill for software engineers to possess. It requires embracing change, recognizing opportunities, and changing your mindset. By honing this skill, you’ll become an invaluable asset to any team or organization. Let me know your thoughts in the comments below, and don’t forget to follow me for more articles on software engineering soft skills.

Let me know what you think in the comments and follow me for more!

--

--

Oguz Ozcan
Oguz Ozcan

Written by Oguz Ozcan

Senior Software Engineer@Meta who is interested in growth, mentoring, overcoming impostor syndrome, psychology

No responses yet