BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles The Most Common Developer Challenges That Prevent a Change Mindset—and How to Tackle Them

The Most Common Developer Challenges That Prevent a Change Mindset—and How to Tackle Them

Bookmarks

Key Takeaways

  • Encourage a culture of being hungry to learn: When guiding an engineering team, you’ve got to encourage constant growth and learning, like exploring different tech stacks.
  • Larger companies and corporations may not expect developers to master several tech stacks—but startups do. What can we learn from those environments?
  • Give yourself and your team a window of time to work out certain problems, then move on. Developers work for long periods of time on difficult tasks with slow progress.
  • Believe in an approach where everyone in the organization is responsible for developing and maintaining a culture of opportunity.
  • Build a business-impact-first mindset, which means treating technology as an enabler, not a driving force.

Some 83% of developers stated they are feeling burnout, and that’s because many aspects of their jobs are preventing a flexible mindset.

The truth is, being a software developer is synonymous with the continuous cycle of tight deadlines. Programming is a creative profession, yet much of our time is spent working on difficult tasks that slow down productivity: It takes away the joy from day-to-day projects, resulting in frustration.

There's often pressure to solve last-minute defects and stick to set timeframes, but another stress is the ever-growing digital world.

New technologies entering the space are becoming essential for software developers overnight. So, to succeed in this fast-paced industry, they better stay on top of the latest tools.

This is where chief technology officers (CTOs) or senior leaders overseeing developer teams can help shift old patterns, ignite a growth mentality, and teach developers to be flexible and agile. In other words, a change mindset.

This buzzword is used across many industries and spoken about in publications like HBR and Forbes, among others.

The idea is that we have to stop waiting to be forced into change, and instead be ahead of the game, when we live in a rapidly evolving world. In his book Think Again, Adam Grant writes:

"... We need to spend as much time rethinking as we do thinking."

So, here’s what obstacles software engineering teams face and what to do to cultivate a change mentality.

The common pitfalls

A phrase that particularly rings true with software engineering when talking about mindset is:

"Your team is only as strong as its weakest member."

One negative team member slacking can throw a spanner in the works, demoralizing and demotivating the rest of the team. Watch out for these team members who make excuses for not getting work done, don’t accept their inability, and make others doubt their own work - it could quickly lower productivity.

It’s also common knowledge that the more automation a company has, the more likely it will free up developers' time to focus on digital innovation that benefits customers. This is one of the ideas behind BOS Framework, a product that I am proud to be one of the engineers of.

Still, today, developers spend forever doing manual tasks, especially when troubleshooting. There are multiple tools out there that enterprises are slow to embrace, like code editors, defect trackers, and even Kubernetes, an open-source system helping automate applications’ deployment and operations.

And another factor is unrealistic deadlines, which impact software engineers' work-life balance, and their motivation can plummet as a result. The best investment for developers is to invest in their own development, especially in this ever-evolving technical landscape. But when working overtime and bogged down with manual tasks, it’s no wonder developers lack the motivation to take up new skills.

All these aspects impact dev teams’ change mindset. So what can team leads do about it?

Encourage a culture of being hungry to learn

Satya Nadella, CEO at Microsoft, initiated the "tech giant's cultural refresh with a new emphasis on continuous learning" to change employees' behavioral habits. He called it moving from being a group of "know-it-alls" to "learn-it-alls."

When fresh talent appears every second, those "oldies but goodies" in the industry with 10+ years of developer experience, may get left behind if they don’t up their game too.

Therefore, when guiding an engineering team, you’ve got to encourage constant growth and build learning into the daily routine. Start with quizzes, guides, and games and end with offering developers opportunities to work on projects with different tech stacks - a forcing mechanism to expand their knowledge.

For example, if an employee says they have become an AWS-certified architect, that’s wonderful. At our company, we suggest they also look at other cloud platforms to be more grounded in their architectural ability. This, of course, needs to be a mutual agreement between the two parties and not forced on the employee.

Ultimately, if your team focuses on certain tools too much without looking at other options, you could quickly become outdated and stop your company from innovating. Companies that build cultures of hunger for learning mean that the developers are always ahead of the curve, finding the best solutions for users and stakeholders.

Learn from startup environments

Larger companies and corporations may not expect developers to master several tech stacks simultaneously - but startups do. So what can we learn from those environments?

Steve Jobs was already ahead of the game by organizing Apple like a startup for improved collaboration and teamwork. He referred to Apple as the "biggest startup on the planet," where you could trust colleagues to come through on their side of the bargain without watching them all the time or having corporate committees.

The biggest advantage of working in a startup or smaller company is that you can wear many hats and learn about every aspect of the company. I joined my current job right out of college as a Software Engineering Intern and have been with them since. Over the past 10 years, I worked with many technologies, from web and mobile development to databases, IoT applications, and data science projects. From this experience, I quickly built a base of knowledge for various technology stacks and noticed the nuances of each one.

Developers often get attached to specific tools and want to apply them to everything. But if you just have a hammer, you treat everything like a nail. Working at a startup is an exciting opportunity for developers to build from scratch, pitch crazy ideas, and be part of a team attempting to solve complex problems.

It’s not like being a regular employee; you are part of something bigger and crafting a company’s future. Developers in these environments can often stop being lone rangers and learn to communicate effectively across various departments.

Therefore, when building a change mindset in a dev team, look to startups for inspiration and view startup experience on a CV as a plus. And if you already are a startup, learning is limitless - so look to competitors.  

Work on problems for a certain time

Give yourself and your team a window of time to work out certain problems, then move on to something new. Developers’ change mindset is often inhibited as they work for hours and hours on difficult tasks or get stuck on bugs with slow progress.

"It's part of the job," they'd say. However, I have a clear rule: If your team spends more than four hours on a problem, get them to take a walk. Then, they can come back to it with a mindset of change. If they spend another four hours on something with little traction, it's time for them to reach out to their peers; somebody is bound to have an answer. If developers learn to open themselves up to other team members' advice, it will stimulate - yet again - a change in mindset.

This is also why developers and engineers should never fall in love with only one programming language or technology; they’ve got to keep moving. The sky is the limit if they always investigate alternative solutions - that’s the basic expectation of engineers.

Believe in an approach where everyone is responsible

Everyone in a dev team should believe in the mission and vision of the organization where they work. But they should also be equally concerned about building and maintaining a culture of opportunity and transformation. This is a shared responsibility that relies on every single developer’s contribution.

The unofficial agreement is that companies are responsible for giving employees opportunities on a plate. I'll always be thankful to my seniors for pushing me to test myself and try new things, like training airmen in software development and data science at the Department of Defense.
There are always appropriate moments to force incredible opportunities onto team members.

However, a top-down approach to building culture doesn't always work: I believe in creating an organizational culture where everyone shares accountability. Culture should be adaptable, not just established by leaders. And employees must also show they are willing to explore and be adventurous; this is the difference between a good employee and an outstanding one.

Before going remote, every Friday at the workplace, we would pick a team member to choose a topic - anything in the field of software development, technology, cloud, and CI/ CD - and educate the entire team. It put developers out of their comfort zone and helped other team members learn something new every week.

Tech team leaders shouldn't just expect developers to follow a culture set in stone. Instead, they should allocate resources to ensure employees understand it, vet it, uphold its principles, and add to it. That way, developers are encouraged to think for themselves and criticize, boosting that much-needed change mindset.

Build a business-impact-first mindset

Change in an engineering team also comes from cultivating a business-impact-first frame of mind - one of the main pillars of success at BOS Framework and the philosophy on which I was trained. In other words, it means an ingrained culture where developers speak both business and engineering languages, viewing technology as a tool to achieve business outcomes.

This is because engineers with an entrepreneurial mindset will love to get it right while getting it done. Obviously, a stark over-exaggeration, but engineers are mostly perfectionists, while entrepreneurs don’t have time to overthink, are better at delegating, and learn things just in time. Engineering teams must not forget that their projects should have a commercial end.

Engineering leads must build a business case for every project that allows non-technical and business stakeholders to weigh in and inform decisions. Meanwhile, developers must start communicating with business stakeholders, peers, and other departments in corporate jargon to deliver tech-enabled business impact. Bridging the gap between product stakeholders and development teams helped me progress in my career and adapt to new roles more easily.

Developers can get stuck in an endless loop where they can’t remember the last time they learned new things at their job or impacted company culture. That’s why building a change-ready mindset in your company is essential to help break career plateaus: It puts team members at the core of processes, says no to staying with one tech stack for too long, and encourages constant progression.

About the Author

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT