Software Engineering encompasses much more than just coding. Regardless of level, a typical software engineer will spend their day on many different activities.
We can break down these activities into two main categories of outcomes.
Material:
Social:
There are many roles within Engineering organizations, and with those roles, you have different focus areas.
For roles that produce material outcomes, work gets done as an individual or pair focuses on creation. Work gets done for those that make social outcomes by gathering people and engaging in discussion.
For many Engineers, a typical day may look like the schedule on the right, split between meetings and focus time.
As engineers, we feel that our time is best spent producing material outcomes requiring focus time. But often, the reality is our roles require balancing both material and social work.
Example Ratios (*may not reflect your role or organization):
Meetings: 4hrs
Focus: 4hrs
While Engineers at all levels should expect to participate in social work, many engineers struggle to balance a social-based workload.
As an individual contributor, you should strive to ensure the material workload stays above 30%. Anything less will result in a struggle to remain relevant and have enough depth to contribute effectively.
If you struggle to find your optimal ratio, ask your organization's leaders what the balance should be. Their answer is what you are being measured against.
When inundated with social workload (meetings), it is best to prioritize which meetings you go to. Have a certain number of hours allocated for meetings (based on your ratios).
If you limit your time for each request, you must ask:
If you have too many meetings for your ratio, one option is to delegate the lower priority meetings to others.
Does this meeting need to be a meeting? Could it be an email instead? Can a 1-hour meeting become a 15-minute meeting with a detailed email sent in advance?
For the lowest priority meetings, maybe there doesn't need to be a meeting. It's ok to ask the above.
Reserve focus time by scheduling it on your calendar. But be aware of how you schedule focus time.
Reality
Meetings: 4hrs
Warm Up: 1.25hrs
Focus: 2.75hrs
Perception
Meetings: 4hrs
Focus: 4hrs
Our focus cannot be turned on & off like a light switch for most of us.
At the beginning of each focus session, there is a "warm-up time" before becoming effective.
It is possible to optimize your schedule to reduce warm-up time and improve the effectiveness of focus time.
Meetings: 4hrs
Warm Up: .5hrs
Focus: 3.5hrs
The best way to ensure you feel accomplished at the end of the week is to create a list of tasks or goals. Identify what you want to achieve that week and each day.
You can accomplish more in your day by using your small blocks of time for quick one-off tasks.
Prioritize what you focus on based on the time you have available. If you don't have time to start the complex multi-day project, don't start it. Work on your list of small one-offs, and accomplish more in your day.
Some work is complex and can take a lot of time to complete. Try to break up this work into smaller chunks; we cannot break down everything thoroughly, but break down an 8-hour task into two 2-hour and one 4-hour task. It becomes more manageable.
Most Calendar systems have some way to categorize meetings, whether that's a unique calendar per subject (Apple) or just a tag-like category that users can apply to any meeting (Outlook).
By categorizing meetings, you can color code and prioritize meetings at a glance. You can also use automated rules to automatically apply categories based on sender, subject, or more.
Twitter: @madflojo
LinkedIn: Benjamin Cane
Blog: BenCane.com
Distinguished Engineer - American Express