Reflections of being a software engineer and dealing with imposter syndrome
Many people can agree that being a good leader is hard. Being a good leader for a team operating 100% remotely is even harder, still. The advent of communication tools like Zoom or Slack and online tools like Jira or GitHub have blurred the lines between in-office and remote teams. These tools have greatly influenced how remote teams have become a viable option for organizations of all sizes.
In fact, Google has conducted extensive research in their own organization as to the nuances of what they call “distributed work”—work among teammates who are not physically co-located. It found no difference in the performance between its co-located teams and those that are not co-located.
With a company that boasts nearly 100,000 employees globally, these findings are easy to believe. However, despite these promising results, Google also found that its employees reported the logistics of working with virtual teams to be more complex and difficult to manage than those of co-located teams. Schedule coordination across time zones and susceptibility of technical issues with communication tools add friction to team cohesion.
I run the UniPlan Team, an organization dedicated to student success through building tools and publishing content on career development, focus, and productivity. The team is also 100% remote. One of my engineers is in the same time zone as I am, but lives and goes to school 300 miles away from me. My content strategist goes to university across the country, in the East Coast.
The team has made steady progress on developing its flagship mobile application and has regularly been publishing blog articles and podcast episodes despite our great geographical divides.
I’d like to share how I have been managing my remote team, starting with some tools.
Instant messaging (IM) apps allows us to have asynchronous discussions with each other without needing immediate presence from anyone. I can send a message to the entire team or individually and my team can respond when it’s convenient for them. We personally use Hangouts Chat since it’s bundled with our G Suite subscription. I’ve been enjoying the integrations it has with other G Suite applications, GitHub, and third-party services.
I think the coolest bot to use is the Hangouts Meet bot, which allows the team to schedule meetings by asking a bot to do it. The bot finds an open time slot in all of our Google Calendars, respecting different time zones and work hours set by my teammates, and creates a Calendar event with the meeting details.
Conferencing allows a team to see each other face-to-face or share screens for more hands-on collaboration. As mentioned previously, with our G Suite subscription, we use Hangouts Meet as our conferencing tool and it has largely worked well for the team. The engineering team uses it to share screens for pair programming sessions. The content strategy team uses it to record podcast episodes. I use it to plan sprints (more on this later) with both sides of the organization.
One thing I like to do on Meet that is also suggested by Google is that I start every call with a very casual “How are you doing,” or “Do you have any plans this weekend?” These open-ended questions cultivate rapport and goes a long way to building cohesion in the team. I want my team to feel like they’re among friends, not among coworkers. I want to show that I care about their wellbeing and not solely the work they bring to the table.
There are many kinds of these tools that are appropriate for different use cases. I think Trello is the most general-purpose one that can adapt to different project management styles. The UniPlan Team uses YouTrack by JetBrains, which is an issue-tracker much like Jira. While traditionally used for Agile software development projects, I have adapted YouTrack and the principles of the Agile methodology to our content strategy team too. I’ll have to give an in-depth guide on the Agile methodology in the future, but in short, the Agile methodology involves working in short sprints to iteratively build features of a product.
YouTrack and Jira help facilitate the Agile methodology, and are tools that my teammates can access online to keep track of their work. The greatest benefit of a tool like this is that not only are my teammates organized, but I also see a bird’s-eye view of the progression of our work. My teammates don’t have to use additional organizational tools if they don’t want to. It can be the be-all end-all of their task management system while simultaneously allowing me to oversee our collective efforts.
Aside from the tools and directly managing the day-to-day operations of the team, I also feel the immense obligation to prioritize my teammates’ personal development. As of this article’s publishing, my engineer is finishing his last year of university and my content strategist is only starting his first year of university. They are both at formative points in their education and career and the last thing I would want is to have my personal passion project get in their way.
For this reason, during sprint planning meetings, I have them choose which tasks they want to take and what their deadlines should be in between each sprint. I serve as the external means to hold them accountable to their self-imposed deadlines. I try to avoid imposing deadlines on my teammates because their failures are my failures. Their struggles are my struggles. My project doesn’t succeed when they give up their academic and professional endeavors—quite the opposite is true.
Indeed, this can throw a wrench in the progress of my project. This can cause delays. However, my personal belief is that being a good leader is all about prioritizing the team over the product. After all, the product can only be as good as the team behind it. Investing in one’s team might not be what is immediately best, but can result in enormous returns.
I am a software developer and the Founder of UniPlan. I love learning new things. I believe teaching is the best way of learning—so be prepared for my brain dumps!