Let's listen to this talk as a community and engage in a constructive conversation from the POV of our industry and experiences. Feel free to share meaningful take-aways, raise questions (that folks in the DEV community might be able to help clarify), or state areas where we may disagree with the speaker's POV in the comments.
Scott Hanselman has been programing since the 80's. He blogs, has multiple podcasts, is an evangelist for Microsoft, a health hacker, a master of the Twitter-verse and speaks around the world. I met him at the 2017 Codeland conference. We chatted forever about biohacking diabetes, African American hair care, social justice, languages, and the difference between selling out vs scaling yourself.
He is very much who I want to be when I grow up as technologist: funny, candid, dynamic, incredibly talented, wears all the cool hats, and is just a joy to be around. After meeting him, my friend Chanice and I both secretly adopted him as our code dad and started absorbing his blogs posts, talks, and podcasts as inspiration and instruction in how to scale ourselves as developers. This talk has changed how I think about development and is definitely worth a listen or 3.
In this talk Scott explores the cycle of fear and distraction that keeps us from our potential. That the fear of appearing to be a "phony" by not being good enough, pushing production ready code fast enough, smart enough, up-to-date on all happenings, and masters of everything weight that we put upon ourselves causes us to divide our focus and energy (both of which are limited). We tend to try to combat those fears, by hoping we can catch up after hours, but hope is not a strategy. To scale ourselves as developers we need to be able to differentiate between effectiveness (doing right things) vs efficiency (doing things right). The example is given that the first is choosing the right direction to run and the second is running in that direction as fast as you can.
Becoming a more productive developer starts with choosing how you are not spending your time, since the less things you do the more you can do of them. That it's sabotaging your productivity to check email in the morning or on weekends ( responding will trigger a response) and you shouldn't put energy into things you don't want more of, because through those actions you teach people how to treat you. Incoming information or requests need to be triaged (sorted by priority) based on the three fold nature of work(work you planned to do, work that appears unexpectedly during your day, and work that defines who you are as a developer) then time-boxed, addressed, then you move on.
That optimizing yourself in the end comes down to embracing flow and only allowing yourself to be wrapped up in the pursuits most meaningful to you (important but not urgent) first. Interruptions that cause a context shift are costly in terms of your time and energy. And fascinatingly, that important info/tasks will find their way to you many times while you do this and sometimes dropping the ball is the right answer.
1) That there are only so many keystrokes in our hands, so we shouldn't waste them.
Whenever we are engaged privately for our professional opinion or guidance in written form that would take more than a paragraph that, we should instead document it in a way that can be readily shared with more than just one person and send them a link to the wiki, blogpost, or article. It's been said that you should write, engage on social media, and give talks about the things you want to be paid to do. I think this is an amazing optimization of our time and energy, encourages us to write on those areas mentioned above, can be referenced many times, and helps build our brand as being knowledgeable on that subject as well as invites learning opportunities from the community if it's an area where we are confused.
2) There were many mentions of great methods, some of which I've tried before but many I would have never dared to consider before.
I've heard of, and tried, the Pomodoro technique but never attempted tracking my internal and external distractions during the focus periods. I've been trying it this way for the past 2 days and it has made such a difference.
I also have never thought of declaring email bankruptcy before. Moving all the emails that are older than a week into a different folder called "Not My Inbox" (because your inbox should be a place only for recent communications/info you've yet to process) in order to free yourself from the psychological drain of an endless "to be processed" environment.
3) Getting things done using the "Rule of Three" to create personal sprints for yourself.
Scott advised that looking at a disheartening long list of potential things to do is paralyzing to growth. Instead we should create our own sprint for ourselves to level up. Picking only three things to get done today and try to get them done, they build into three larger things to accomplish that week, which build into three overall goals for the month, then year. He invites us to envision what it would take for us to not feel guilty or like a phony for a day, week, month, or year? And use that vision to set goals that we then break into actionable chunks. Try figuring out your vision on Monday of what a great week would look like and then reflect on Friday on how it went as well as areas for improvement.
I've used a three goals a day system to focus my efforts previously ( focusing on 2 that were urgent and one that was important to the bigger picture), but never anything like this.
I am so pumped to use the nuggets of wisdom shared in this talk by proactively putting more of these practices into my daily habits immediately. I hope you enjoyed the talk and were able to take something away from it as well!