“Productivity is all about efficiency and planning.” – Mahdi Yusuf, Iterate 2018
Like most developers, I love getting shit done. My best days are when I feel like I’ve been massively productive. When the Stormpath team joined Okta in February 2018, it was a tough transition at first. I’d started to get into the flow of writing blog posts about Stormpath’s SDKs and had a bunch queued up. But Okta didn’t have SDKs like Stormpath, that’s why they hired us!
Fast forward a year and I feel like I’m in the groove again. And happily, it didn’t take me a year to find my groove at Okta. In fact, I was able to figure it out within the first couple months. My journey started in March of last year when I googled for “Spring Boot Okta” and discovered there wasn’t a lot of information on integrating the two. I wrote two blog posts that didn’t require SDKs because Spring Security already had great support for SAML and OAuth 2.0.
At the end of March, I journeyed to Devoxx France, and had a great time speaking with Josh Long. The reason I tell this story is because I had an epiphany on the flight home.
I had so many things I wanted to do and blog about that I wrote down a Six-Week Plan. I’ve done a six-week plan ever since, and it’s significantly contributed to my productivity at Okta. I’ve learned quite a few things along the way, so I thought I’d share them with you today.
Table of Contents
- Create a Six-Week Productivity Plan
- Go Dark for Productivity
- Do the Hard Stuff Early in the Week
- Allow for Zero Productivity Days
- Minimize Your Travel
- Go on Walks During Meetings
- Take Care of Yourself
- Go on Vacation. Often.
- How has this helped me?
Create a Six-Week Productivity Plan
I create a six-week plan in the Notes app on my Mac because it’s easy to edit on my laptop or my phone. Google Docs will likely work just as well. I write down Monday’s date, followed by a list of 2-5 items I’d like to accomplish that week. Here are the first two weeks of my initial plan:
April 10: Zuul support for Okta or change presentation to showcase SAML, OAuth, and JWT Angular OpenID Connect blog post PWA with Spring Boot blog post Schedule vJUG (June?) for Josh and my talk on Cloud Native PWAs April 17: Polish presentation for Prospecting the Security Landscape Deliver presentation in St. Louis Edit/publish blog posts
I send this to my boss and co-workers for feedback. There’s usually a comment or two, and I adjust accordingly. At the end of the six weeks, I do a retrospective via email to everyone and send a new plan.
Use Remember The Milk
I use Remember The Milk to plan my week. You could use anything, but I’d recommend something that works on your laptop and phone and allows for reminders. I take the items from my six-week plan and add them to different days of the week. I’ve learned to say “Start” and “Finish” on tasks because starting is often the hardest part. For some tasks, I’ll set a time, so I get a reminder.
I often don’t complete tasks I’ve scheduled. I re-arrange my week’s schedule often.
Go Dark for Productivity
I’m a remote worker, which means almost all communication happens via email or Slack. I’m one of those lucky people that don’t get a lot of work-related emails, but I do get a lot of notifications from the open source projects I contribute to.
Slack is a terribly distracting tool and I’ve learned to turn it off.
My second biggest secret, aside from the six week plan, is I go dark to get stuff done. I try to do at least a day per week, but sometimes I need two or three. It’s OK with my co-workers as they rarely need an immediate reply from me. If they do, they know my phone number.
Do the Hard Stuff Early in the Week
I try to go dark early in the week. The hardest thing I do in a typical week is to write a blog post. Often, I don’t know if the blog post is even possible (e.g., show how to log in to Okta with React Native) to write. I spend a day or two writing an example app, then 4-8 hours writing a blog post about how I did it.
If I need to write a new presentation for a speaking engagement, I create a story/outline with a beginning, middle, and end. Then I create the slides to follow the outline, accompanied by images or pictures that help tell the story. I’ve been tempted to ditch the slides, but I like to think one of my trademarks is presentations that look good.
Write in Markdown, Edit in Google Docs
I’ve written most of my blog posts in Markdown over the last year. For books I’ve authored, I prefer Asciidoctor. I used to author blog posts in Google Docs, go through the editing process, then create the files for production from that. I’ve learned it’s better (and easier!) to start with the production files, then copy the raw text into Google Docs. This makes it much easier to copy the text back into the production files, review the changes, and commit/push in minutes.
If your editor can’t understand Markdown/AsciiDoc, it’s time to find a new editor!
The reason I recommend editing in Google Docs is because it’s easy to add/accept suggestions and comments. It’s very efficient for editors and writers alike.
I also highly recommend Grammarly to reduce the burden on your editor.
Allow for Zero Productivity Days
I was frustrated early on when priorities would shift, and I wasn’t able to accomplish the items on my six-week plan. I’ve since learned to be flexible and even embrace zero productivity. On these days, I’ll do the opposite of going dark. I’ll be fully online, responding to questions on our Developer Forums, participating in Slack discussions, and trying to reach the elusive Inbox Zero.
These days are non-productive in my mind, but they’re very helpful to other developers, and I believe they greatly help my team succeed.
Minimize Your Travel
Last year, I spoke at 22 different events. It was exhausting, and I only traveled a couple of times per month!
The Developer Relations team at Okta believes that Content is King and speaking is secondary. In fact, our leadership doesn’t mind if we don’t speak. They’d rather see us write blog posts because they reach thousands instead of hundreds.
We also believe in having a regional community presence and participating in/sponsoring local meetups. It’s tough to attend your local meetups if you’re traveling all the time.
When you’re traveling, it’s difficult to have a regular routine. Especially if you’re going to conferences that have lots of your friends there and a plethora of social activities.
Traveling is hard on the body and mind. For this reason, I try to minimize the items in my six-week plan during the weeks I travel. Even on days when I attend meetups, I adjust my schedule and consider them travel days.
Go on Walks During Meetings
I feel very fortunate in that I don’t have to attend a lot of meetings. Granted, I get a lot of meeting invites, but I decline most of them. There’s less than a handful that I need to attend every week. Most of these meetings don’t require me to interact with the attendees, so I tend to go on walks during them.
We use Zoom at Okta for all of our meetings and its mobile app works quite well. I can dial into the meeting, listen while I walk, and look at the video feed on my phone if there’s something that catches my attention. I’ve found that I actually pay more attention to meetings when I’m walking than when I’m standing at my desk.
Obviously, this doesn’t work when you’re a presenter in the meeting. However, for most other meetings it does, and you’re killing two birds with one stone (daily exercise + work)!
Take Care of Yourself
You’ve heard it all before. Eat well, drink less, exercise more, and get a good night’s rest. These are all excellent recommendations but can be challenging to do, especially on the road. The easiest way to take care of yourself is not to travel.
An excellent way to get started taking care of yourself is to monitor your health, so you can see where to improve. That’s why I built 21-Points Health as part of the JHipster Mini-Book. I still use 21-Points Health, but I’ve also started to use Gyroscope to automate my health monitoring. Gyroscope integrates with RescueTime to track your productivity on your computer too.
I’ve also started reading Joe Kutner’s Healthy Programmer book. It’s chock full of useful tips like the following:
- Take a break every hour, even if it’s just for five minutes
- 20-20-20: to prevent eye fatigue, every 20 minutes stare at something 20 feet away for 20 seconds
- Exercise in short bursts, with more intensity and purpose. 20-minute brisk walks are highly recommended
- Eat five portions of fruit and vegetables per day
Go on Vacation. Often.
I work hard, and I play hard. My family loves to do ski weekends, road trips, and whitewater raft trips. I’m lucky to work at a company like Okta that has an unlimited vacation policy. I’ve heard that most unlimited vacation policies don’t work for people because they tend to work more, and take fewer vacations.
I take full advantage of our unlimited vacation policy and make sure to take a week of vacation during every other six-week plan. Last summer I was on vacation three out of six weeks at one point! I believe many Europeans do it right when they take the entire month of August off.
If you work for a company that only has two weeks of vacation, it’s time to find a new employer.
With the remote lifestyle, it’s easy to take your family on vacation and work while you’re there. I’ve learned this is a terrible idea because I used to do it all the time. As the activities leader for my family, if I’m on my laptop, they’re on their screens. That’s no way to spend your vacation.
How has this helped me?
I believe these tips can help any developer achieve massive productivity. However, they’re likely to benefit Developer Advocates more, since that’s what I do on a daily basis. If your company believes advocates should be on the road all the time, maybe you should revisit that policy and add more content to your blog instead.
Yes, some folks can travel all the time and blog, but that’s a tough lifestyle to maintain long-term.
I know these tips work for me because I recently had my annual review with my boss. His only advice was to “slow down, and stop working so much, especially when traveling.” Since I’m not traveling as much this year, that’s easy to do!
Developers are passionate about productivity, and we are too! Follow the @oktadev team on Twitter, and we’ll share tips and tricks as we come across them.
This post was partially inspired by my Tips for Happiness and Productivity blog post I wrote back in April 2006. I still believe many of these tips to be true.