As a software developer, there are boundless paths and different kinds of work available, especially with the trend of going remote. While this is mostly a self-serving article about my many years developing software, there are nuggets here to help newcomers learn what is essential for them.
The Indiana Jones franchise of movies was one of my favorites as a kid. The hunt for hidden treasure just captured my attention. But does fortune and glory really matter that much to everyone? In the software development world I would relate fortune and glory to money and prestige.
There seems to be a lot of emphases put on landing that high-end high-paying job with that elite technology company. Is it really what this is all about? Why? I love the question, why. Why did I start developing software? Did I do it for the money? Did I do it because of who I would get to work for? My answer is definitely no. So, why am I here?
My Fortune and Glory
The following motives are why I got into software development. Each person will have different reasons. Maybe some of the reasons will relate to money and prestige, but there will probably be more than just that. Some of your reasons may change over time. Some will stay the same. Keeping your motivations in the forefront of your mind will help guide your career path in positive directions.
I can still remember the first time I wrote a program. It was in 7th grade, and I had just moved to a new school. I was very out of place and didn’t quite fit in with any group of kids. Then there was this class with a thing that I could control and tell it what to do. I was learning Basic, and I thought the GOTO statement was completely magical. Looking back, yes, GOTO is black magic and should generally be avoided.
It was a magical thing to have this complex machine at my beck and call as an awkward tween. While I was okay at sports, or English, or History, this was something I could take pride in. That pride was just as magical as the green pixels showing on the screen.
The Creative Itch
I was always drawn to art—mostly 3D things like clay or sculpture. I have always needed a creative outlet, and software development fills that niche. While I’m usually not using code to create art, there is so much creativity in it. Choosing how to solve problems and how to troubleshoot issues are extremely creative processes.
There is also the analytical side of solving problems. I also love puzzling. Pattern matching colors and shapes brings an almost zen-like state to my mind. Solving problems with code gives me the same type of endorphin release.
Later I found another thing that struck a chord with me. Working with and for different people is very rewarding for me. These two types of interactions (direct and indirect) speak to me in different ways.
Direct interactions with people can take the form of working with other team members or delivering a customer solution. Being a hero or working with other heroes can be characterized as “prestige,” but this is more than that for me. This is about helping, helping others grow, learn, and accomplish great things.
Indirect interactions aren’t always directly observed (although they should be). I mean by this that I enjoy thinking of the person who will be using the solution that I am writing. I think about what they might feel or say when using the solution. I imagine how I can increase their happiness. Not only does this bring me joy, but it also makes the solution better as I empathize with the end-user.
The Holy Grail
Out of all those motives, nothing said I needed to make tons of money or work for the best technology companies. If my fortune and glory are not defined by money and prestige, what kind of work is important to me?
The easy answer is whatever satisfies my fortune and glory. Now, this could be a senior engineer with Google, but it doesn’t have to be. While I have never worked for Google, I have worked for companies of all sizes; start-ups, small development shops, medium product companies, and huge technology companies.
This means that I look for work where I solve problems and watch the magic make everyone (the team, the customers, and the end-users) happy. This is very generic, and many jobs can satisfy this, which is a key takeaway.
Most work can be amazing if you are actively trying to bring your fortune and glory to fruition.
“X” Marks the Spot
While my fortune and glory may be achievable with just about any work, there are gems that can make life and the enjoyment of it that much better. These can be big gems or little gems, but I try to appreciate them where I find them.
For me, these gems have been added over time. When I was young and fresh out of university, I didn’t care about finding work with all these gems. But as life evolved and family emerged, I found myself looking for more and more of them.
Depending on your lifestyle, getting paid enough means different things to different people. But having enough money to not worry about how to eat, stay warm, and generally be healthy is very important.
To be healthy in the long term, more than just pay is required. All the benefits you can get for yourself can lead to a stress-free life. A few important benefits could be health care, retirement planning, flexible work schedule, continued education, and parental leave.
Both pay and benefits can directly affect my work/life balance and the attitude of the people I am working for. With a family and a desire to enjoy life outside of work, having enough time to engage in both are extremely important to me.
I don’t like to work in isolation nor hoard knowledge. While I love writing articles and spreading my knowledge to larger audiences, mentoring others in a one-on-one interface is most fulfilling.
Another fulfilling item is work that improves our world in some way. I have gotten to work on projects that help the animals of our world, make workplaces safe, and bring entertainment into people's homes.
There are many little things that happen day-to-day that add up to a big thing. This could be a pat on the back in appreciation, listening to my ideas, shared learning (lunch-and-learns), etc. To me, these little gems boil down to the following attributes.
Working with Caring People
Working with caring people is huge. It comes across in so many different ways. People that care about their teammates and their work will do these little gems without even thinking about it. That is magical, more so than the magic I can create on my own.
Small groups can exist anywhere, from that small start-up to the biggest corporation. Structuring teams in a way to create small families build care. Care naturally happens because it is easy to see how my failure or success affects the team.
Trust and Support
Without trust and support, especially from stakeholders or management, any high functioning team can crumble to the ground. The more trust and support the team receives, the greater the care team members take in their work.
Let It Go
At the end of “The Last Crusade,” Indy has to learn to let go of the Holy Grail because that is not what is important. After more than 20 years of writing software, it is my opinion that money and prestige are secondary to my primary happiness. I get to love what I do, and that is a precious gift. I want to appreciate this gift, not take it for granted.
Figure out what makes you happy, why you started developing in the first place, grow it into what you need today, then find somewhere that aligns with those needs and hold onto it—pure magic.