The demand for developers is once again starting to skyrocket as the tech industry recuperates from a world post-COVID. With many developers making the transition to new companies who have embraced the work-from-home model as the new normal, it isn't uncommon to see individuals struggle to find the groove where they feel empowered and able to succeed. Emotions such as isolation, meaninglessness, and the lack of merit in a developers' day-to-day routine may
But how do we, as developers and to the best of our ability, labor to feel empowered no matter where we work or what the future holds? My recommendation is this - embrace the responsibility to make your own decisions, delight in autonomy when appropriate, and become a life-long student by committing yourself to constantly learning new things.
Making decisions as a developer is one of the best ways to feel empowered in your day-to-day routine, especially when you have expertise in a specific area.
If you're working on a team in an agile environment, the Iteration/Sprint Planning Meeting provides you and your teammates the ability to choose which User Stories to commit to delivering at the end of the predefined timeline.
Unfortunately, it isn't uncommon for Product Owners and/or Product Managers to decide the workload a team takes on board for each iteration. As a self-organizing team, you are empowered to say yes or no and come to a decision collectively. On the topic of Sprint Planning, the Scrum Guide 2017 states the following: "The number of items selected from the Product Backlog for the Sprint is solely up to the Development Team. Only the Development Team can assess what it can accomplish over the upcoming Sprint."
At a more granular level, I encourage you to make implementation decisions on tasks that make up a User Story. If you have an Architect or Team Lead assigned to the project, present your proposed solution for a task and work through the problem at a high level, get their input, and then take the task assigned to you and own it. Make it your own! A little less formal than a Story Kick-off meeting, this process allows you to think through a problem, present your solution, request feedback and find satisfaction when your Story is marked as delivered.
One of the ceremony meetings followed in Agile Teams is the Retrospective, allowing developers to look back over the last iteration and identify what went well, what didn't go so well, and what needs to change in order to make the next iteration more enjoyable, productive or smooth.
As a developer, you are empowered to voice your opinions and express your concerns in the hope that you and your team perform better in the next sprint.
Flexible work hours are a luxury many developers haven’t experienced. As remote work becomes a more long-term solution, I encourage you to strive for a great work-life balance and utilize flex hours wherever possible. But here’s the catch — you need to know how you operate. Flex hours allow you the freedom of autonomy by setting your own schedule and work during the hours you know that you are the most focussed, alert and dedicated.
Many teams that work in a flex schedule require you to be online during “core hours” - a section of the day where the entire team is available for meetings and joint problem-solving.
My preferred schedule is to start the day earlier (~6am) rather than later. As the day continues on, I find myself less focused and more prone to distractions. If I start my day early and prioritize the most important tasks, I find myself to be overall more productive. And because I started work early, I also get to log offline in the afternoon and spend time with my family or work on tasks around the house.
Another way to feel empowered is to delight in the fact that, as a developer, you’ve dedicated yourself to being a life-timer learner. No doubt you’ve already noticed that things are constantly evolving in the tech world and there's always something new to learn.
I don’t know about you, but I often found it difficult to take interest in my studies at University. Sometimes the subject was boring, or perhaps the lecture was monotone and promoted drowsiness. Sometimes I was just lazy.
But here’s the thing — when I forced myself to take an interest in what I was learning, I understood the material faster and at a deeper level, and found myself feeling confident that I could perform well in the class.
This is true in your day-to-day routine as a developer. Take an interest in learning new things; this helps your knowledge grow both horizontally and vertically.
How can you promote a lifestyle of constant learning?
Here’s a few tips that require little effort and provide long-term benefits:
Adjusting to remote work takes time. If you discover yourself struggling to feel empowered or find that groove where you succeed, consider making your own decisions, delighting in autonomy, and promoting a lifestyle of constant learning. My hope is that by making these shifts in practical ways helps you find success and fulfillment in your development career.
I'm a senior full-stack engineer, creative coder, and self-proclaimed designer who has a passion for the front-end spectrum.
I love creating, whether those things are web applications, CodePen creations, mobile apps, podcasts, or tinkering around in Photoshop or Illustrator.
Specializing in front-end development, I make it my mission to translate user-focussed designs into pixel-perfect websites or applications that run blazing fast.
I currently live in the Dallas, TX area, and enjoy spending time with my wife and daughter and playing board games with friends.