Heads up... You're reading this book for free, with parts of this chapter shown beyond this point astext.
Joe is a former physicist that studied computational particle physics using parallel Fortran simulations. He gradually shifted into systems engineering and then ultimately software engineering around the time of the release of the iOS and Android SDKs. He’s been a mobile, web, and systems software developer since 2009. He’s currently a Senior Architect at CVS Health, helping people on their path to a better health.
Connect with Joseph
In your current role, you have a diverse set of responsibilities. You lead a team of Android developers, write tutorials and books for raywenderlich.com, and you’re currently the Android Pillar Lead for raywenderlich.com. How do you balance all of them?
In any role in which you’re managing a team, it’s important to have long-term goals and short-term goals. This is also true as an individual contributor when making applications or content. So I try to break things down to form long-term goals — the ones that I’m thinking about in terms of, say, a calendar year. We do that internally at our company, Razeware, starting in January and wrapping it up in December. But, to give more structure to the goals, I approach them on a week-by-week basis—how to go through each week to try to achieve those long-term goals. Then, each week I think of daily priorities. So I break down all the goals and try to prioritize them. What do I need to do week to week, then what do I need to do each day of the week to finish what I need to do for that week.
You’ve mentioned meetings and I think there is a connection between meetings and context switching and these might be a particularly important problem to solve in a remote company since communication is the key. So what are your views on the meetings between development teams? How often should they happen? How long should everybody be at the meeting? How do you operate?
I’m a stereotypical engineer that’s not the biggest fan of meetings. Fewer meetings always sounds good to me. Meetings are necessary and, in certain situations, you need to have long meetings. But, for me, a working meeting should always be half an hour or less. People tend to schedule most meetings at an hour by default just to make sure they have time to talk about whatever they need to talk about. And then often that hour gets filled with stuff that wasn’t necessary for that particular meeting.
Working remotely is going to be one of the future trends. Many companies are not yet prepared to work remotely. From your experience, how can a company start working remotely? What are the areas that they should start working on?
To start, finding the right tools that will help you work remotely is key. My previous position was full-time, working in the nearest city. The management team started letting people work from home one day a week. Remote workers would use Google Hangouts or the like to go to whatever meetings they needed to go to. If your company is trying to go in this direction, it’s important to figure out what the tools are that you can use in terms of meetings and communication. Slack is another great tool to maintain communication between people. It’s also important to set guidelines for communication—what’s best communicated over email versus Slack? What’s the right tool to use for a meeting?
- Can’t Hurt Me: Master Your Mind and Defy the Odds | David Goggins
- The Meaning of Happiness: The Quest for Freedom of the Spirit in Modern Psychology and the Wisdom of the East | Alan Watts
- 12 Rules for Life: An Antidote to Chaos | Jordan B. Peterson