Healthcare to software engineering: Lessons that shaped my career
Did you read the last blog post about how Marko Petric changed from Civil Engineering to Software Engineering? Well, he’s not alone! I started my career as a healthcare worker, taking care of patients in palliative care and the emergency room.
Software engineering has become a very diverse field, both in who works with it and what we build. People from all walks of life, and from diverse backgrounds, contribute to making software products that shape people’s everyday life. Do you remember the last time you had zero digital interactions in a day? Yeah, right. Me neither.
Software engineers don’t just write code. While it is a big part of the job, most digital products are complex ecosystems that exist on more than one platform, built by cross-functional teams with different team members with different skills. Each software product has a degree of planning, structuring, communicating, collaborative problem-solving, and decision-making. Coding, as you see, is just one part of the big picture.
I am certain that anyone can learn to code (I mean, I did!). I am also certain that there are many skills that are needed to bring good software products to life. While one person cannot possess all of these skills at once, everyone is different and that is what makes this area of work so fantastic. I’d like to think of Software Engineers not purely as coders but as problem-solvers and creatives. Healthcare and software have more in common than is obvious at first glance.
Problem-solving under pressure
In healthcare, I had to do my thinking fast and my decision-making faster. Whether in supporting a palliative patient or in the emergency room, I learned to assess, adapt, and take action efficiently. Mistakes are a no-go. While software arguably has fewer life-or-death situations, we make decisions all the time. Code is logical, it follows set rules and that makes some things straightforward. Yet, software consists of many moving parts and the field can change often and unpredictably. My fast thinking and problem solving on-the-go translate to:
- Debugging, analysing, and resolving issues quicker.
- Managing high-stakes production incidents.
- Staying calm and logical under tight deadlines and unknown circumstances
Communication is key
Healthcare requires clear and precise communication - whether it’s coordinating team members, explaining something to a patient, or updating family members. Similarly, in software engineering, communication is key to:
- Collaborating across cross-functional teams
- Explaining technical concepts to non-technical stakeholders
- Writing clear documentation others can rely on
- Helping ensure the team stays focused on solving the problem at hand
Empathy and user-centric thinking
In healthcare, I needed to be able to understand and anticipate a person’s needs and wants. This mindset and skillset translates directly to software engineering as a field: Code doesn’t have feelings, or wishes, or a dream for the future - but the people using our software products do. The people building the software do. Ensuring we are solving real problems for real people, as well as helping team members grow and excel, is an important part of our work. Software Engineers need to consider:
- Accessibility and usability of products.
- The frustrations and pain points of end-users, preferably before they arise.
- Designing solutions that are intuitive, inclusive and easy to understand - both for users and other engineers.
Handling complexity and multitasking
In healthcare, there are no two situations that are the same. Managing multiple patients, each with unique needs, all the while handling unpredictable challenges helped me develop:
- Strong prioritization skills
- The ability to balance short-term fixes with long-term solutions
- Comfort with ambiguity and evolving requirements, while maintaining a problem-solver mindset
Responsibility and ownership
In healthcare, the stakes are high. Accountability is essential. That sense of responsibility and ability to critically think about myself and my own performance has carried over to my software engineering, where I take ownership of my work and ensure that:
- The code is well-structured and maintainable
- Solutions are reliable and thoroughly tested
- I try to be proactive, to minimize the need to be reactive
Teamwork and collaboration
Both healthcare and software engineering are heavily reliant on teamwork. In my role as a healthcare worker, collaboration was crucial to ensure I provided the best possible care. Likewise, onboarding new colleagues and supporting them when things don’t go as planned is of utmost importance. Now, as a software engineer, I apply that same mindset by:
- Pair programming and mentoring colleagues
- Participating in design discussions and code reviews
- Supporting team members to achieve shared goals
Adapting to changes and continuous learning
Medical guidelines evolve, and patient statuses change. Best practices change, and IT only moves forward and onward. Plans are uprooted on a daily in both healthcare and software, and concepts like staying updated, being curious, and adapting are important in both areas of work. Healthcare experience has made me comfortable with:
- Learning new frameworks and programming languages
- Adapting to changing business needs and project goals
- Staying up to date with industry best practices
- Asking questions and sharing knowledge
Nothing is an obstacle
Switching careers reinforced my belief that personal growth is accelerated by challenging ourselves. In software engineering, we exist on a constant balance board between the tech and the people, and we work collaboratively towards a more accessible world. I always look for new areas where I can become an amateur again. The skills I honed in healthcare - problem-solving, communication, adaptability, and teamwork - have helped me become the Software Engineer I am today. The fields are vastly different, yet share core principles. I still work with people and problem-solving. The main challenge is making an impact, only now my main medium is code.
Previous post:
Why a Proof-of-Concept is Essential