Software Engineering Motivation: Why It Matters and How to Improve It

Loi Le
7 min readJun 27, 2023

--

“The only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle” — Steve Jobs

When I interview a candidate for a software engineering position, I always ask them what motivates them to do their job. This question reveals a lot about their personality and values. I believe that motivation is a key factor that influences the performance, satisfaction and well-being of software engineers. In this blog post, I will share with you some of the different types of motivation that I have experienced and how they have shaped my journey as a software engineer. I hope that my stories will inspire you to reflect on your own motivation and how to nurture it and make it positive.

Money

This might seem like an obvious or a taboo answer, but I think it is a valid and honest one. Money is a powerful and attractive motivator that can offer many benefits and opportunities. Software engineering is a well-paid and lucrative profession that can enable you to afford a comfortable and enjoyable lifestyle, to support your family and friends, and to save for your future goals. However, money is not without its drawbacks and risks. Relying too much on it as a motivator can have some negative consequences.

I once worked with a brilliant software engineer who had amazing technical skills and knowledge. He was always up to date with the latest technologies and trends, and he could solve any problem or challenge that came his way. However, his performance was terrible because he secretly worked freelance for another company. He often missed deadlines, delivered poor quality work. He was always looking for more money and did not care about the company’s vision or values. He ended up leaving our company for a higher salary, but he did not last long in his new job either for the same reason.

I also have a friend who works remotely full time for one company and part time for two other companies. He works too much and has no time for his family, especially his little daughter. He wakes up early in the morning and works until late at night, sometimes even on weekends and holidays. He barely sleeps or eats well, and he does not exercise or relax. He always looks tired, sleepy and drained. The worst part is that he does not earn much money from his three jobs, because he does not have time to update his skills, so he is not confident to find a better-paying job. He has to work on outdated or boring projects that do not challenge or interest him. He also does not enjoy or appreciate his work. He wishes he had more time and energy for his family and himself, but he does not know how to change his situation.

Modern Technologies

Learning new things every day is one of the fascinating parts of being a software engineer. This can help you maintain your curiosity and passion as well as avoid boredom and stagnation. You can also explore new fields of interest and opportunities in the software industry. By learning new skills, tools and methods, you can solve the problems they encounter in your projects more effectively and expand your potential and value to your users and clients.

However, learning new things can also be challenging and stressful, as the software industry is constantly evolving and innovating. It is important to master a technology before applying it to a situation, but it takes a lot of time and effort to do so. With so many things to learn, it is easy to lose focus. You may have met some people who always chase after the latest trends in technology, but do not have a deep understanding of how they work or what they are good for. They may want to use them in their projects just because they are new and exciting or because they think they will impress their employers or customers, but they may not be the best solutions for the problems they are trying to solve. They may end up wasting time and resources on technologies that are not suitable, reliable or secure for their purposes, or that do not add any real value to their products or services.

Ultimately, technology is only a means to an end, and the end is solving problems. Therefore, the first and foremost thing is to understand the problem clearly. You also need to have a deep knowledge of your tools, so you can apply them correctly. Knowing yourself and following a learning path can help you keep your focus and strength in this ever-changing world of technology.

Job title or proving their worth

At my first company, they had an annual award for the employee of the year in each job title at the year-end party. I was nominated for the Developer Of The Year award in my first year. I felt very proud even though I didn’t win the award that year. The nomination motivated me a lot, so I decided to work hard to get the award the next year. I tried to wow my manager and team leader by taking on most of the hardest features of the team and completing them in a short time. I also tried to be more active and creative in the meetings and suggest many ideas to get their attention. And that year, I got the award as I hoped. I also got promoted to be a senior developer in the team, which was another achievement for me. But then, I ran into a problem. I realized that I lacked the skills and experience to perform this role well. And the previous year, I only cared about doing the features as fast as possible without thinking about the long-term consequences, so when they went live, many issues arose that affected our users and clients. This was a very stressful time for me and I had to work hard to fix the issues and learn from my mistakes. It was also a great lesson learned for me about being humble and responsible.

Job title and worth can motivate you to some degree, as they can inspire you to overcome challenges and achieve more. But they can also hurt you if you care too much about the external rewards and recognition and ignore the internal satisfaction and growth. You might end up doing things that go against your values or interests, or that lower your quality or integrity. You might also lose your passion and joy for your work and feel stressed and unhappy. I think a better motivation is to find meaning and purpose in your work and to enjoy the process of learning and creating. That way, you can be more authentic and fulfilled in your career.

Solve real-world challenges

Overcoming the challenges can inspire you to work on meaningful projects that have a positive impact on society or the environment. This also makes you feel satisfied and fulfilled by seeing the results of your work and how it benefits others.

However, as software engineers, we spend most of our time working on the technical side, facing and resolving technical challenges. These challenges can be related to various aspects, such as design, coding, testing, optimization, etc. So, sometimes, we may forget the real challenge we have to solve. A friend of mine told me that he is more interested in the technical side than the business side, so he focuses on resolving technical challenges. For the business side, he thinks it belongs to those like a Business Analyst or a Product Owner. He said that he did not care much about the requirement nor the user needs, as long as he could write elegant and efficient code. Do you agree with him? I think it doesn’t matter whether big or beautiful your ax is, it all depends on the tree you want to cut down.

I have a daughter who is seven years old. She is good at problem solving, but sometimes she gets low marks in Math or English tests. The root cause is not related to her knowledge or ability. She has a habit of not reading the question carefully, so she provides the wrong solution and then the wrong result. I would like to teach her; but it seems she will learn better from life experiences.

In conclusion, as software engineers, you can have different motivations for your work, such as income, cutting-edge technologies, job title or proving your worth, and addressing real-world problems. These factors can influence your work quality, happiness and development in both positive and negative ways. Hence, it is important for you to balance your motivations and align them with your personal and professional aspirations. You should also pay attention to the real-world challenge you are trying to solve and how your solution meets the user expectations and requirements. This way, you can engage in meaningful projects that benefit society or the environment; and also appreciate the results of your work and how you assist others.

--

--