Start by working closer to your end users
Photo by Melinda Gimpel on Unsplash
The software engineering profession is one of the few professions on earth where the work you do can affect millions of people. Even if the impact of the code changes made by a software engineer is small, the sum of the impact across millions of users can be rather large.
Sometimes as engineers, when we are trying to debug a backend bug or figure out why the styling we are trying to apply on the frontend isn’t working as expected, we lose sight of the impact we are making. It makes sense that the things that frustrate us about our job, like debugging tricky technical issues for example, are not going to be the things that bring engineers fulfillment in their day to day work. I have definitely gone through periods as a software engineer where I felt a deep sense of passion and purpose for the products I was building. Other times, I questioned whether my work was actually making an impact on people’s lives and pondered the changes I would need to make to feel that sense of purpose again. While your feeling of purpose is never going to be consistently high every day on the job, there are ways to feel a higher sense of purpose. Here are the things that I have found to bring me fulfillment as a software engineer.
I have found that fewer layers of communication between me and my product’s end user bring me a higher sense of fulfillment on the job. My hope is that the features I build are, at a minimum, going to make the lives of the users of that system a little easier. That being said, if all I ever hear about my software is the complaints about how features work or the bugs that users find, I may feel that there are no users out there that actually appreciate the work I am doing. That’s why it is important for me that the feedback loop goes through fewer layers of communication to get from an end user to me as an engineer.
When I, as an engineer, am closer to the end user, I am naturally going to hear more user feedback (both good and bad). In this scenario, the feedback is not always going to be “the users don’t like this” or “that workflow we tried to build for the user isn’t going to work for the user because x, y, and z.” I will also hear about how a user beta tested a feature I built and loved it or about how no bugs have been reported yet for the feature that was just launched. While it is important to hear about what users dislike about the software systems we build so that we can keep this feedback in mind as we are making improvements to the system, my ability to take feedback and bring delight to users through software improvements brings me fulfillment. This fulfillment does not happen without hearing about the positive impact my work is making for the people using my software.
The people you work with can really make or break how you feel about the software you build. Working in a positive environment is important, but positivity can sometimes be misplaced. Some workplaces can use positivity as a blanket to try to cover up the parts of the company that are not working well and need to be improved. To me, working in a positive environment means being positive about the things that are actually working well while having the tough conversations that need to happen to make positive improvements in the way processes work. While a pat on the back can feel nice in the moment, I feel more fulfilled when I see myself consistently become a better engineer each day than I was the day before. I also get fulfillment from seeing the team I am on continue to become more skilled and proficient in our work. This can only happen in a work environment that wants to see everyone succeed and is upfront about the things we can do to improve.
As an engineer, the thoughts of working for a giant technology company and making an impact on the lives of millions of users can sound exciting. However, it seems that more and more conversations around the ethics of these large technology companies are taking place every day. Because of that, you could have a hard time feeling good about the impact you are making if the ethics of the company you are building software for are consistently being called into question. On top of that, many great paying software engineering related jobs exist in investment firms and hedge funds where the main goal is to make money. I feel more purposeful in my work when I know the software I am building is being used for the good of humanity. In my career, I hope to always work for companies that I can look back on later in life feeling like my contributions helped people in some small way.