How to feel engaged at work: a software engineer's guide
It's another day at work.
You clock in. You work on your JIRA tickets. You clock out.
And at the end of the day, you get a vague sense of dissatisfaction.
"Oh, I'm just building another CRUD app", you might think to yourself. Yet another API to push bits around; yet another dashboard to display ever more tables of data.
If only you could do something satisfying, something meaningful.
Something that you care about.
But you don't have the energy. At the end of the day, you just get an overwhelming feeling of blah.
Like you, I've also felt stuck in a rut at many points in my career.
But getting out of this rut isn't insurmountable. And in the rest of this blog post, I dig into 4 principles that you can use to reignite your motivation for the coding craft, and feel re-engaged in your work.
Let's get started.
1. Make time to be curious.
Amidst all the talk of promotions and job titles and venture capital raises, it's easy to forget that – at heart – software engineers are problem solvers.
Any software engineer loves a good problem.
But your motivation for solving a problem is only as strong as your curiosity about the problem's question. In short:
For any problem, how badly do you want to know the answer?
The best way I've found to find these problems – these burning questions that you want answered – is to make time to be curious.
Schedule a 30-minute time block to freely jot down questions that spark your curiosity as an engineer. (They don't have to be about work.)
Here are some of mine:
- Why do web applications have no sound? Why can't we make boring internal tools come to life with sound, in the same way that UI on a Nintendo Switch pops and clicks and whistles?
- What actually happens when I swipe a MetroCard? Where's the state being stored, and how does that work?
- What's the story behind Slack huddles? Who thought of the idea to add jazz music? 😂
- What's in a FreeStyle Libre? Could I take one apart, and hack the electronics to bypass the 14-day limit?
- What the heck is an NFT, anyway?
As modern day software engineers, we are surrounded by fascinating systems. And by being curious and stimulating your brain with questions, you take the first step towards getting yourself out of your rut.
2. Imagine you are the CEO.
In my hometown of Flushing, New York, there’s this humorously named bakery called Mr. Tu’s Bakery:
All that is to say - perhaps the most interesting question you could ask is:
If you wanted to start a business from scratch, what would you need?
How would your employer's business work, if you were the founder?
And how would you make the business profitable?
Well, if you were running a bakery, you'd need:
- A production kitchen. A place where you bake your goods.
- Baking skills. Or the money to hire staff to do the baking.
- Customers. You need some idea of a customer segment to target.
- Baking equipment. You need equipment to do the baking.
- Marketing. You need people to know that your bakery exists.
- Pricing. You need to price your goods in such a way that you make a profit.
- Front-of-office operations. You need a storefront to distribute your goods, or alternatively a business model that doesn't serve directly to customers, such as catering.
- Upfront funding. You need the initial funding to bootstrap this operation in the first place.
- Technology. You might need an inventory management system, or a point-of-sale system, or any technology needed to streamline your business operations.
What if you were running a SaaS business? Or Airbnb, or Uber, or Netflix?
You don't need a business degree to ponder these questions. Just ask yourself how the business would work, and let your mind guide you through the web of questions a founder might ask.
Why is this important? Because it puts your job in perspective.
Thinking about the business's big picture enables you to see the forest for the trees. Then, when you relate the big picture back to your business unit, you become more invested in the success of your work.
Something as prosaic as an inventory management system (spoiler: that's what I work on at Wonder) might be "yet another CRUD app".
But from the business's perspective, it is a system that saves the company money, because it allows the business to forecast sales, produce only what is needed, and minimize out-of-stock scenarios.
3. Frame your career as a series of questions.
The act of asking questions has a neat application.
You can start to frame your career as a series of questions that you wanted to answer.
For the positions I've held in the past, those questions might be:
- When I worked at Zynga: What's it like to work in the game industry?
- When I worked at Jet.com: What's it like to work on a high-traffic consumer service?
- When I worked at Segment: What is analytics, anyhow? And how do I drive business decisions with data?
- When I worked as a freelancer: How do I turn my software engineering skills into a business? What is the difference between working in a business, versus working on a business?
And you can start to ask yourself:
What question am I trying to answer in my current role?
That might be "how does
<X> business work?", or "how do I demonstrate leadership as a hands-on software engineer?", or "how do you build systems in an uncertain startup environment?".
Asking these questions fosters a sense of ownership in your career. You start to evaluate whether your current role is right for you, and you alone.
Which leads to my last point...
4. Try something new.
Sometimes, asking questions about your work just doesn't cut it, and you are truly stuck in a rut.
In his infamous TED talk, Matt Cutts advocates learning something that has nothing to do with computers:
- Pick an activity that you've always wanted to try. Don't have ideas? Try Wikipedia for a good list of hobbies, or Udemy for its broad variety of online courses.
- Try it out for 30 days.
You'll find that exploring something new poses all sorts of engaging questions:
- How do I become... buff?
- Can I bake bread... with zero carbs? (The answer is yes.)
- How do I bake bread that has zero carbs?
- How do you speak Japanese, anyway?
Why is this important? Because it provides perspective and inspiration.
As software engineers, we invest our time into the software engineering craft way past the point of diminishing returns.
Learning something new is not only immediately rewarding, but it also provokes new questions about your software engineering work.
If you did decide to learn Japanese, you may discover the nuances of Unicode.
Or if you got into baking, you may find that recipes share many similarities with computer programs, and wonder whether refactoring could be a thing in baking. 🤔
Stay hungry, stay foolish.
To summarize, we've gone over 4 ways to ignite motivation for your work, and love what you do:
- Make time to be curious. Set aside time to let your mind wander, and journal questions you have about technology.
- Imagine you are the CEO. For any business that employs you, sketch out its business model.
- Frame your career as a series of questions. Look back on your previous roles and frame them as career questions. Then ponder what career questions you want to ask in your current role, and any future roles.
- Try something new. Choose a hobby, and try it for 30 days.
Life is short. And with these 4 techniques, you don't need to be miserable.
Instead, you'll find that almost anything can be interesting if you ask the right questions. In the words of the late Steve Jobs:
Stay hungry, stay foolish.
Which of the 4 techniques will you try for yourself?
Please feel free to leave a comment in the section below 👇