How to Use Philosophy in Software Engineering

How to Use Philosophy in Software Engineering, Career Story with Xuan Wang

Meet Xuan Wang, mentee and mentor at OneUpOneDown and Software Engineer at a health tech company in the UK. Xuan started her career as a philosophy teacher, but after 7 years in the industry, she decided to follow her newborn passion for software engineering. She strongly believes that technology should be used to help people and she is extremely motivated to learn and develop in this sector in order to do make others’ lives better. Find out how she managed to use her philosophy knowledge in the world of software development below.

In 2-3 sentences, please tell us a little about you! (your background/story and anything you feel you’d like to share)

I am Xuan, a software engineer passionate about using tech to solve practical problems. I grew up in a village in South China, spent the last two decades in Beijing, Washington DC and New York, and I am now based in London.

Why did you sign up to be a part of OneUpOneDown?

I am still relatively new in my tech career (2nd year, 2nd job). Coming from a non-tech and non-CS background, I’d really appreciate guidance on how to learn and grow to become a better engineer, both in terms of technical skills and career progression.

What does success mean to you? How do you align with your definition at the moment?

My main goal is to learn as much as I can, to grow and become as good of an engineer as I can be. My idea of a “good engineer” is someone who uses technology to discover, and solve problems in a practical and sustainable way. That requires good design and system thinking, good engineering practices, and experience with building products for diverse and inclusive groups. That’s something that I can only learn by doing, and by learning from experience engineers and industry leaders.

What prompted you to pursue the career or business you’re working in/on now?

It might sound like a cliche, but I strongly believe that the best use of technology is to make people’s lives better. The current industry I am in is health tech – we partner with NHS to deliver medications to people’s doors. COVID has changed the way people work, live and interact, and new services such as prescription delivery really help to make people’s lives better, especially for people who are not mobile, or vulnerable.

How did you know this is what you wanted to do?

I was studying the philosophy of technology and had a good understanding of how tech is transforming the nature of work in every industry. I want to be part of that transformation, not just a bystander observing the transformation. COVID has accelerated that process of transformation, and I want to help businesses with the transition.

Have you made any big transitions or changes in your career? What were they? How did you do it?

I used to teach philosophy, and now I work as a software engineer, developing tools to optimise and support the warehouse work processes. I used to use Python to automate boring grading tasks (~150 students per course), which got me completely hooked on programming! When my family and I relocated to the UK from the US, systematically learning to code and switching my career to the tech industry became an obvious choice. So I decided to attend a coding bootcamp, which ended right before the lockdown last March. I was fortunate to find a job as a software engineer, and have been working in tech ever since.

If you made a significant change, what were the unique perspectives that you were able to carry from your old position to your new position? And if so, how has this benefited or shaped your current career, or how do you think it will in the future?

I often joke that being a teacher ultimately is a customer service job, since it requires an empathetic understanding of each student’s educational and intellectual background, personality and learning styles in order to be able to help them make the most out of their time in class. The same applies to software development. A clear understanding of the problems that customers from different backgrounds and with different special needs face, can help us design a better, more accessible and inclusive product. 

Another benefit from being a philosophy teacher for 7 years is that I learned how to explain an abstract concept to different audiences, using concrete examples, tailored to their knowledge background. Oftentimes we engineers forget that our audiences are not as immersed in technical jargon as we are, which sometimes makes it harder to get buy-in from stakeholders, product owners or senior management, or causes misalignment of goals across the board. Having an audience awareness and being able to use analogies from examples that the audience can relate to really helped me succeed in my last few projects and interviews.

What is something that has been particularly challenging throughout your career?

Throughout my career, a lot of the learning I did was self-learning. But because I am new to the industry, I don’t know what I don’t know, or what are the possible career paths that are available in our organisation, or in the tech career in general. I just try to learn as much as I can, but sometimes I do feel quite directionless.

What have been your go-to tools and strategies to overcome challenging experiences or people in your career?

Join local tech meetups, meet people outside my organisation that have skills that I hope to develop, or who are doing the work that I am interested in, and ask them for guidance and help.

What is one personal or professional skill you’re working on at the moment and why?

Career trajectory – what goals to achieve and how to achieve them within a certain timeframe, and how to learn the best practices of engineering.

What is something you wish you’d known when you were first starting out in your career?

That it takes a lot of time to understand the business logic and the existing codebase, and that even the more experienced engineers on the team don’t always know everything. When I started my first tech job, I stumbled onto a decade-old codebase, with a really complex supply chain system built and was supported by my team, with very little documentation. Lots of the knowledge lived in people’s heads, so it took me a long time to slowly extract the knowledge and compile it together, by asking many dumb questions. I was so clueless and felt really overwhelmed and stressed out. If I could travel back in time, I’d pat myself on the shoulder, and tell myself that it is OK to feel clueless and that it takes lots of time to get familiar with a complex system.

What is one piece of advice you’d give to someone who is about to embark on the journey that you have been on for the most recent period of your life?

Most (good) tech teams focus more on the candidate’s passion for tech and their ability to learn and communicate rather than their experience and tech stack, when they are hiring. So don’t worry if you don’t have much experience when you are just starting out, even though lots of job ads require years of experience. Keep an open mind, keep learning, keep networking, don’t lose the fire in you – it will take you far.

Follow OneUpOneDown on Facebook, LinkedIn, Twitter and Instagram to stay tuned with the latest news.

Follow OneUpOneDown on Facebook, LinkedIn and Instagram to stay tuned with the latest news.