Where Did My Time Go? On the Journey from Engineer to Manager
Making the Move to Management…
About six years ago, I began a transition from individual contributor to manager, a change that was rooted in a desire to increase my productivity beyond my individual capabilities. I had enjoyed being a member of a highly functional squad of senior software developers—coding (or designing) for seven hours a day (or more) and pausing for the occasional scrum-related ritual—and was given the opportunity to lead that team. This experience taught me that a team of developers working in concert with a good plan was collectively stronger than any individual, and I began to feel like the skill of facilitation was one I could wholeheartedly pursue as a second act in my career in the software industry.
…But Not All at Once.
The trouble was that I wasn’t fully through with hands-on, in-the-dirt software engineering. In the beginning, my style of leadership was “from the trenches,” as is typical of engineers transitioning to management. I still took on mainline engineering deliverables, built frameworks, and generally led by “doing.” I was good at that, and it was fun to be good at it. I enjoyed technical tasks at a visceral level.
As time drew on, though, I experimented with technical delegation, mostly out of necessity. After I co-founded our consulting company, Olio Apps, the demands of growing a business required increasing amounts of logistical and strategic support from me. Long blocks of uninterrupted coding time started to give way to sales calls and project proposals. Four years down the road, I now find myself in the present situation: still a strong technical contributor, but also trying to be a good manager and entrepreneur.
In many ways, running my own company has exacerbated the problem. I’ve had the freedom to experiment with and research any range of technical topics and take the lead on any project that’s piqued my interest. I started burning the candle at both ends, throwing myself with equal force into both technical and managerial problems. This wasn’t sustainable, of course, and I came to realize that I needed to examine how I was spending my time, then make conscious tradeoffs on how I spent it.
Where Does the Time Go?
As leaders of a relatively young company, the extent to which my business partner and I spend our time and energy efficiently has widespread impact on the organization. Since we are responsible for all personnel, marketing, sales, and operational aspects of the company, we are subject to the same daily regimen as managers the world over: tons of meetings.
My particular spheres of responsibility within the company are employee development, project planning, and client success. This translates to many recurring meetings, such as one-on-ones, mentoring, sprint planning, retrospectives, and frequent ad hoc conversations with individuals and subteams to address tactical issues that arise. Outside the company, meetings still abound: I meet with customers to go over project requirements, discuss planning, and provide the coordination necessary for success.
Once I throw in meetings for our shared responsibilities within Olio Apps (sales, strategy, and finance), I am averaging about four to five solid hours of meetings on any given workday. Since I am one of the more senior engineers in the company, the rest of my time is spent on those aforementioned technical tasks I’ve by necessity (or by choice) taken on. For example, being a crusty old Java developer means that I have the most experience in that language and its frameworks, and by default, the more complex projects in that stack still fall to me. Since I am interested in architectural issues, I also make myself readily available for internal consulting, and as a result, my time and attention become further splintered.
Charting a Course
With so many demands on my time, the only way forward is to put effort into understanding exactly how much of my time goes to each of these tasks. That’s where time management software comes into play: I’ve started using tools to figure out what proportion of my day goes into administrative tasks and what proportion goes into technical tasks. Within these general buckets, I should be able to see where I am over- or under-allocating myself.
The tool I use to accomplish this self-awareness is Shoutbase. My business partner, Scott, and I initially built this app to record how much time we were spending on our various client projects. Over the years, this use case has persisted and grown in importance, as our portfolio of customers has grown. However, it has lately become personally interesting to me as a way to not only record but also diagnose issues with the way I am spending my time.
The Need for Frictionless Time Tracking
Tracking my time in Shoutbase has helped me understand how much time I am spending on running the business, taking care of the people, and growing as a software professional. Ultimately, I have learned that I need to spend more time building systems that help other people in the company run the company, versus hands-on building software myself.
However, the most interesting thing I have learned is that being extremely busy makes it supremely important for the tool I am working with to be simple and frictionless. Even having set my intention to use the software for its intended purpose, I’ve found myself forgetting to accurately record my time on the fly, as my context switches from pressing need to pressing need. The software needs to be as easy as possible to use, be available where I am working, and work with the tools I am working with.
Available Where I Am Working
One of the major improvements to Shoutbase that has made it more friction-free was creating a desktop client for it. This has been a great feature for me, as my laptop is where I do 99% percent of my work. I use it for my meetings, for telephony, and for taking notes, I use it to do software projects, and I am using it now to write this blog post.
As of last year, Shoutbase became available from the system tray, reminding me that I have a running entry (or lack thereof). With the click of a button, I can start and stop new time entry records and get reports on what our team is doing right now. Because the system tray on my operating system (Mac OSX) is omnipresent, the mere presence of the Shoutbase icon reminds me to track my time.
In the future, our roadmap for Shoutbase will include system growls, where I will be able to get notifications for overrunning time entries or periods of time for which I have not tracked any activity. These features will help automate the time tracking process and therefore increase the software’s ease of use.
Works With My Tools: Google Calendar Integration
The latest Shoutbase feature I am most excited about is the integration with Google Calendar. It’s a natural fit for automatic time tracking: a Google Calendar invite has a definite beginning and end to the meeting, it has a topic, and it has participants. These neatly map to the core domain object in Shoutbase, which is the time entry.
Because Shoutbase has a public API, and supports OAuth, I am able to create a Zapier Zap to watch my Google Calendar meetings and automatically post a time entry to my Shoutbase account whenever a meeting ends. The Shoutbase entry is correctly tagged with the topic, allowing me to track that meeting time in a specific bucket.
Since I spend half my time in meetings, this means that at least half my time is automatically tracked for me. All I have to do at the end of the day is quickly glance at the time records to make sure they’re in order, and then I can rest easy, knowing that my time has been correctly and automatically cataloged for me!
I’ve grown fond enough of this feature to help drive its natural progression, which is a native integration with Google Calendar, where a team of Shoutbase users will be able to automatically track time for meetings they mutually attend. This will help Scott and me understand how our team is spending at least part of their time, and as a team, we can all benefit from the ability to optimize how much time we spend in meetings. The more our company grows and diversifies, the greater our need for automatic time tracking will be, so integrating with Google Calendar is just the beginning.
Beyond Google Calendar
I’ve also been exploring the idea of integrating Shoutbase with the other tools I use frequently. One tool I (and the team) have fallen in love with is Zoom. It’s frictionless, stable, and economical, and it has very wide adoption with my customers.
Zoom meetings (and similar video conferencing services, such as Google Hangouts and 8x8) are inherently suited for time tracking within Shoutbase. As with Google Calendar meetings, there are participants and start and end times. I am looking forward to a future integration with Zoom and other vendors with a rich enough API for us to utilize.
How About My Software Dev Tools?
Meetings (in person or via video conferencing) may account for roughly half my time, but as I mentioned previously, I am still prone to cracking open my favorite IDEs. Just as I would like my time automatically tracked while using cloud services that I trust, it’s vital for me to automatically track the time I spend in software development tools as well.
I’ve used IntelliJ and its variants for almost 20 years, and during the last couple of years, I’ve also begun to rely heavily on Visual Studio Code for frontend development. I’ve logged thousands of hours on these tools throughout my career. However, differentiating what I did in those hours and figuring out which problems I solved for which projects is not something I can ask those tools to tell me.
But a future integration with Shoutbase, using telemetry from these tools, could help me automatically track what I am doing in them. We’re interested in gauging community interest in this species of automatic time tracking, so please reach out to us at firstname.lastname@example.org if you’d like to know more about our roadmap for this capability!
It’s been an exhilarating journey from individual contributor to servant-leader. What I have learned is that pretty much every aspect of working in the software industry is incredibly interesting and engaging to me, 20 years into my career.
To make it through the next 20 years, however, it’s of paramount importance for me to continue to measure how I am using my time, to expand my use of automatic time tracking, and to then make strategic choices about where to invest my time and energy. I am looking forward to hearing from others who are on the same journey. If you are curious about Shoutbase, please feel free to sign up for a free account and try it here.
What did we miss?
Please let us know by tweeting to @shoutbase on Twitter.
Thanks for reading!