Life at Cleo

What Makes Me a Good Software Engineer?

Fell shares some positive traits that he's found beneficial for his career.

A picture of Fell, a Tech Lead here at Cleo.

In the world of software engineering, the qualities that make someone successful aren't always what you might expect, and they’re not shared by all successful engineers. Whilst stereotypical software engineers are sometimes seen as asocial, logical computer-whisperers, in fact many different ways to thrive as a software engineer exist.

In this article, we'll explore some positive traits that I have found immensely beneficial for a career as a senior software engineer.

Deep Focus and Rapid Issue Resolution

When it comes to problem-solving in the world of software development, deep focus can be a game-changer. Individuals with this ability can delve into a particular problem with intensity, often leading to faster understanding of a given problem and an ability to quickly resolve it. Senior software engineers need to be able to dissect complex issues, and the ability to concentrate deeply on a problem can make all the difference.

I find that when a problem has grabbed me it can consume all of my focus and put me in a flow state, allowing me to quickly understand many facets of the issue at hand and quickly drive out a solution.

High Energy and Curiosity

The fast-paced nature of software development at a smaller company rewards high energy levels and an unquenchable curiosity. There’s always twice as many things to do as there are people to do them, and those with boundless enthusiasm and a natural sense of wonder thrive in this environment. They're the ones who eagerly embrace new approaches, learn rapidly, and find joy in exploring uncharted territories. This relentless curiosity ensures that they stay ahead in an ever-evolving field.

I’ve found that my desire to understand how something really works has allowed me a deep understanding of the tools that I use, which be seen in one of my favourite comments in the Cleo codebase:

Ease of Context Switching

Software engineering is often not about just focusing on one task at a time. The ability to seamlessly switch between different tasks and contexts is a valuable trait. Senior software engineers often juggle multiple projects, deal with diverse stakeholders, and adapt to changing requirements. Those who can transition between tasks effortlessly can excel in such an environment.

I naturally have an ability to change focus well between different tasks, and I find that being able to answer a colleague’s question before diving back into technical document writing or pairing with another developer to be invaluable.

Interest in People and Problem Understanding

Understanding the end-users and their problems is at the heart of effective software development. Senior software engineers who possess a genuine interest in people and their needs excel at scoping work appropriately. They're skilled at bridging the gap between technical solutions and real-world problems, ensuring that their work has a meaningful impact.

I love to work closely in social situations with my team, and I care deeply about both their needs and the needs of our users, and that drives me to do my best work.

What does that mean about me?

The traits mentioned above may not be immediately associated with the stereotypical image of a software engineer. However, they are abilities that can propel an individual to success in a senior software engineering role. These qualities—deep focus, high energy, ease of context switching, and a genuine interest in people and problem-solving—are attributes that come naturally to me, and that I benefit day to day. However, these are more than just my natural qualities: These are symptoms.

Some individuals who exhibit traits like these may have ADHD (Attention Deficit Hyperactivity Disorder), a neurodevelopmental condition which I was diagnosed with in late 2022. However, rather than being seen as a limitation, ADHD and other kinds of neurodiversity can be viewed as a unique lens through which these abilities manifest.

So, whether you identify with these traits or not, remember that your individuality is your greatest strength in the world of software engineering. When you're considering your career in software engineering, remember that success doesn't always come from conforming to stereotypes. Embrace your unique qualities and use them to your advantage.

Interested in joining Cleo?

Still have questions? Find answers below.

Read more

signing up takes
2 minutes

QR code to download cleo app
Talking to Cleo and seeing a breakdown of your money.