RECLAIM YOUR AUTHORITY
The sentiment echoes again and again.
Time is falling short. Overwhelmed with tasks. Weeks are overwhelming. Burnout is imminent.
Today’s engineers are handling an increasing volume of work. Moreover, they’re often not receiving compensation for their overtime.
Having been a Software Engineer for almost a quarter of a century, this level of workload imposed on software professionals is unprecedented.
The more efficiently we work, the higher the output that is anticipated from us.
It’s time to regain command of our schedules.
Numerous software engineers overlook the substantial control they have over their working hours. I confess I was one of them when I first entered this realm.
Without our expertise, the job remains undone. Our product teams and project managers are dependent on us, not vice versa.
We have only a finite number of hours daily. Unless explicitly mentioned in your job role that you will commit to overtime and are adequately compensated for it, you shouldn’t work beyond office hours.
Of course, the exception is if you genuinely relish the work and derive pleasure from it.
We must refrain from working without compensation.
When the day concludes, I cease working, disconnect and resume the following day. If I fail to meet my deadline, it could either be due to an unrealistic timeline set for me or my flawed estimation.
If you are consistently working more than your designated hours without additional pay and feel constantly pressed for time, you might be the one to blame.
The more unpaid hours you put in, the higher the expectations you set for yourself. This leads to an endless loop of feeling the need to outperform and overwork to meet that standard.
So, let’s reclaim our time by adhering to some ground rules.
Better your projections.
What’s the timeline?
This may be one of the most complex tasks we tackle, but it’s undoubtedly crucial for our peace of mind.
Often, we have the tendency to say, “I can wrap that up in an hour.” Speaking from experience, I tend to under-project. Perhaps I overvalue my abilities or neglect the complexity of the task at hand.
When a task, user’s story, or novel feature lands on your desk, pause and ponder over a few elements.
- Have I undertaken similar work in the past?
- Is the roadmap to accomplishment clear-cut?
- If not, what complex issues need addressing to achieve this, and how much contemplation time do I want to set aside?
- Does this project depend on other teams?
Based on the responses to these inquiries, form the most precise projection, and then amplify it by 20%.
- If it translates to time — add more time
- If it’s about story points (ugh) — more points required
- For t-shirt dimensions — go a size higher if it’s a close call
However you approach it, invest time to devise accurate projections of your workload.
Stand up for yourself with your product team.
It’s not the place of your product group or project coordinator to establish your timelines.
Timelines should be born out of realistic calculation of task duration and intricacy by the technical team. As simple as that.
In the event that your product team is enforcing whimsical deadlines on your tasks, it communicates that they presume to know the time required (which they don’t), or they are indifferent to your workload; the job just needs completion, and they anticipate you to put in whatever hours are necessary to accomplish that.
This is inconsiderate!
If you find yourself in this situation, open a dialogue with your engineering supervisor and make them aware of the problem.
Restrict attendance to only essential meetings.
Do we adore meetings? Far from it!
Many of us yearn for meetings to be as streamlined as possible to enable us to return to our tasks.
Certain meetings are indeed needed. We must comprehend what we’re creating and establish clear communication channels with our engineering team members.
However, our schedules are packed with bi-weekly catch-ups, agile rituals, check-ins, 1:1s, developer brainstorming sessions, and corporate town hall meetings.
Does any time remain for us to finish our assignments? If it does, is it split up into hours throughout the day?
I’ve been combating meeting overload for quite some time. It’s an ongoing struggle, but gaining control over it is achievable.
Here are some strategies:
Limit your attendance to only essential meetings or those covering topics of interest. It may feel necessary to make an appearance in all meetings to progress, but that’s not the case. You could utilize that time to code and advance in that area.
Attempt to group your meetings. If you initiate a meeting, plan it around a time when you have other calls scheduled. For 1:1s or smaller groups, request a more convenient time. Organizing your meetings in this manner allows you to dedicate substantial blocks of time to coding and problem-solving.
Reserve time for coding. Allocate a sizeable chunk of time (4-5 hours) each day for uninterrupted coding. Be assertive in protecting this time by declining or suggesting alternative meeting times.
Simply ask. If your workload seems overwhelming, discuss with your manager the possibility of missing the weekly call to get work done. They will likely agree.
If you allow people to take up your time, they will. Therefore, it’s crucial to manage and guard your calendar’s time. It’s your responsibility to do so.
Adopt a defensive stance.
The habit of adding more to your burden often sneaks in.
The issue here is that once you excel in a certain task or provide aid to someone, they inevitably come back for more assistance.
I encourage the technical experts on my team to confidently decline.
The word ‘no’ is often on my lips.
If you feel like you have the bandwidth, are intrigued by the task or believe it could be a learning opportunity, then go ahead and embrace it!
However, if it doesn’t appeal to you, threatens to disrupt your set tasks, or implies putting in extra unpaid time, it’s completely reasonable to refuse.
This was even more challenging when we were required to physically report to the office. Distractions were incessant.
You simply cannot silence an in-person interruption at your workspace.
Can you troubleshoot the printer? You’re part of IT, aren’t you? Actually, I’m a Software Developer.
Can you resolve this glitch for me? No, please consult my project coordinator and include it in the task list.
My computer’s crashing. Have you attempted to plug it in?
When working from home, silence discussions on communication tools and alerts on Slack. You can revisit them during your hourly breaks.
I regret to say, I currently lack the capacity to deal with this.
There’s no need to specify a reason. A simple no is sufficient.
Don’t squander your precious moments.
As a matter of fact, your abilities as a software developer are highly sought after, and this trend is likely to persist for the foreseeable future.
Diverting your leisure time towards unpaid work will not be productive in the long haul.
Rather than giving in to more work, you could utilize this time to enrich your life, cherish moments with your family, explore the great outdoors, pursue a hobby, or just unwind with friends. All these experiences hold greater worth than surplus work.
And if you’re truly inclined to take on more work, ensure that it’s a paid task. Your time carries a value that’s beyond measure.
Enjoy your coding journey!