<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Bill Johnson on Medium]]></title>
        <description><![CDATA[Stories by Bill Johnson on Medium]]></description>
        <link>https://medium.com/@dubrie?source=rss-e06c0048326------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*ZZzMyZaM_u-aU5KxLkl2YA@2x.jpeg</url>
            <title>Stories by Bill Johnson on Medium</title>
            <link>https://medium.com/@dubrie?source=rss-e06c0048326------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 06:33:44 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@dubrie/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[I Believe That We Will Win!]]></title>
            <link>https://dubrie.medium.com/i-believe-that-we-will-win-8951833e53c7?source=rss-e06c0048326------2</link>
            <guid isPermaLink="false">https://medium.com/p/8951833e53c7</guid>
            <category><![CDATA[world-cup]]></category>
            <category><![CDATA[predictions]]></category>
            <category><![CDATA[silly]]></category>
            <category><![CDATA[usmnt]]></category>
            <dc:creator><![CDATA[Bill Johnson]]></dc:creator>
            <pubDate>Sun, 10 May 2026 20:48:40 GMT</pubDate>
            <atom:updated>2026-05-10T20:48:40.647Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*46SS4dzJzY6FLI0IbyusbQ.jpeg" /><figcaption>Photo credit: Reuters</figcaption></figure><p>With the Men’s World Cup coming to Canada, Mexico, and the United States this summer, I found myself thinking about the U.S. supporters chant:</p><p>“I believe that we will win.”</p><p>This is a statement of belief fueled by equal parts hope, delusion, patriotism, and alcohol. Which got me thinking: what else do I believe has roughly the same likelihood of happening as the United States winning the 2026 Men’s World Cup (somewhere around a <a href="https://www.espn.com/espn/betting/story/_/id/48386952/espn-soccer-futbol-world-cup-betting-odds-championship-groups">1-in-60 chance</a>)?</p><p>So here are a few things I believe, not strongly enough to bet my house on them, but strongly enough to type them into the internet permanently.</p><p>Don’t take these too seriously. It’s really more of a chance for me to look silly, naïve, visionary, overzealous, and possibly dead wrong all at the same time.</p><p><strong>I Believe That…<br></strong>FIFA will struggle to fill stadiums at Men’s World Cup games in 2026. The host countries will sell their games out but there will be less than 5 other games with full capacity attendance.</p><p><strong>I Believe That…</strong><br>Artificial intelligence is the “super shoe” era of knowledge work. It will make skilled people dramatically faster and more efficient, just like carbon-plated shoes did for elite runners. But super shoes don’t turn me into <a href="https://worldathletics.org/competitions/world-athletics-label-road-races/news/sawe-two-hour-assefa-world-record-london-marathon">Sabastian Sawe</a>. You still need talent, discipline, judgment, and training. Everyone will be more productive as a result, but the people who were already excellent are about to become terrifyingly productive.</p><p><strong>I Believe That…</strong><br>An NFL game will be played in Iceland.</p><p><strong>I Believe That…</strong><br>Phoenix, Las Vegas, and parts of inland Texas will eventually hit a point where air conditioning becomes civic infrastructure instead of personal infrastructure. Maintaining medium-sized cities in extreme climates will become increasingly expensive, and population growth will slowly shift northward over the next few decades.</p><p><strong>I Believe That…</strong><br>Cities will ban private lawns before they ban private cars.</p><p><strong>I Believe That…</strong><br>Government programs, agencies, and services will become much more privatized in the next 10 to 15 years. This shift will initially be great for consumers, as companies aggressively compete for people to use their services. Then, about five years later, <a href="https://doctorow.medium.com/https-pluralistic-net-2024-04-04-teach-me-how-to-shruggie-kagi-caaa88c221f2">enshittification</a> will kick in and we’ll slowly drift back toward government-run services again.</p><p><strong>I Believe That…</strong><br>Physical trades (plumbers, electricians, mechanics, carpenters, etc.) will grow dramatically in demand and earning power. This escalation will cause these professions to become some of the most stable, desirable, and successful careers.</p><p><strong>I Believe That…<br></strong>Food distribution is one of the most materially impactful systems we can improve. There is already enough food in the world to feed everyone, but it is not evenly distributed. As more farms become housing developments and more regions become uninhabitable or drought-stricken, maximizing the efficiency of food distribution will become even more important.</p><p><strong>I Believe That…</strong><br>We will send a human to orbit one of Jupiter’s moons in my lifetime. Probably Callisto, but maybe Ganymede?</p><p><strong>I Believe That…<br></strong>Quantum computing is going to fundamentally change how we live as a species. It will accelerate research and technological breakthroughs at an absurd pace, while simultaneously making today’s encryption look like hiding your house key under a fake rock that everyone already knows about.</p><p><strong>I Believe That…<br></strong>The “right to die” will become a hotly debated topic spanning ethics, religion, medicine, insurance, workforce, and the financial sector. The debate won’t just be ethical or medical. It will involve insurance systems, aging populations, workforce pressures, religion, autonomy, and the uncomfortable economics of long-term care.</p><p>That’s my list for now. Some of these will age like wine. Some will age like unrefrigerated mayonnaise. What’s something <em>you</em> believe has a suspiciously plausible chance of happening in the next 20 years? Bonus points if it sounds ridiculous today.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8951833e53c7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[2023 Personal OKRs]]></title>
            <link>https://dubrie.medium.com/2023-personal-okrs-c34bcdc2b7b5?source=rss-e06c0048326------2</link>
            <guid isPermaLink="false">https://medium.com/p/c34bcdc2b7b5</guid>
            <category><![CDATA[self-improvement]]></category>
            <category><![CDATA[year-in-review]]></category>
            <category><![CDATA[goals]]></category>
            <category><![CDATA[objectives-key-results]]></category>
            <category><![CDATA[sustainability]]></category>
            <dc:creator><![CDATA[Bill Johnson]]></dc:creator>
            <pubDate>Sun, 22 Jan 2023 01:07:30 GMT</pubDate>
            <atom:updated>2023-01-22T01:07:30.476Z</atom:updated>
            <content:encoded><![CDATA[<p>2 years ago I started to set yearly Objectives and Key Results (OKRs) for myself to both get more comfortable using the OKR framework as well as focus on changing and improving aspects of my personal life. It’s gone <a href="https://github.com/dubrie/public/blob/main/archive/OKR-Reviews/2021-OKRs.md">pretty well</a> <a href="https://github.com/dubrie/public/blob/main/archive/OKR-Reviews/2022-OKRs.md">so far</a> and I’ve learned a lot about measuring, the realistic nature of goals, and myself through the process. Last year was more successful overall and was much better at setting measurable goals. For 2023, I want to continue to stretch myself while getting more specific improvements to the areas. Here is a rundown of the OKRs I’ve set for myself this year:</p><h3>Objective: Invest more in myself</h3><p>This objective is about self-improvement and setting myself up for long-term success. Money is the obvious inclusion here but knowledge and health are equally, if not more, important for personal resilience and safety. The key benefit of this objective is to start 2024 with higher confidence in my ability to thrive for at least the rest of this decade.</p><p><em>Key Result: Read 12 books with completed write-ups on GitHub<br></em>Copied forward again this year but I upped the total to 12 books to continue to push my habits of reading further. My book selections this year will focus on building the resilience in my mind, body, and soul to avoid burnout and unsustainable practices.</p><p><em>Key Result: Invest 21% of net income <br></em>I’ve been very fortunate to be in an industry and job/role that allows me to have the means to save money. Apart from the customary 401ks, IRAs, and some other investment accounts, I haven’t put a heavy focus on the specifics of investing and making sure I am setup for any future retirement plans. I want to get more involved and active in investment choices and away from using default options. I’m setting 21% as a general number since it is half of my age and it felt about right as a target.</p><p><em>Key Result: Increase disposable income by 10% by reducing expenses and subscription services<br></em>I thought about just leaving this as “increase disposable income by 10%” but I also wanted to reign in expenses and subscriptions so it felt necessary to include them in the description. This pairs well with the “invest 21% of net income” Key Result above and the two together should have me in a better financial position by the end of the year while also understanding more of the nuance in the financial and investing industry.</p><p><em>Key Result: Complete a meditation session on every “T”<br></em>A “T” is just a day that starts with “T” so: Tuesday and Thursday. I have meditated a fair amount in the past but not with any consistency— typically only when I felt I <em>needed</em> it like before a race or during highly stressful periods. I’m looking to make this more common and I wanted a realistic goal that could be chained in some way to form a habit. Going from 0 to 2 meditation sessions a week is not simple but still achievable. I’ve been toying with doing these right at bedtime to help with sleep and to help mentally process the day, but I didn’t want to add that restriction into the Key Result itself.</p><h3>Objective: Reduce reliance on modern conveniences</h3><p>I’ve been in the tech industry my entire career and tend to fall into the early adopter persona for new gadgets, software, or general technology. This objective while achieve a better balance of modern conveniences and help break the tendency by intentionally including low-tech approaches or historically significant and acceptable ways of accomplishing the things we do in our modern world. The latest and greatest can be fun, inspiring, and helpful but often times there is a reason that things have been done a certain way for a long time. This objective is trying to better understand those tried and true ways to find an optimal balance point better modern and historical approaches.</p><p><em>Key Result: Drive to work no more than 1 time per month</em><br>I am not required to go into the office these days but still try to at least once per week in order to see and meet with my team or other peers and for just a change of scenery for my work day which can help with my focus and motivation. Instead of my single occupant car making the trip every week, I plan to use public transportation and buses to get to and from work. I am considering the ability to drive by yourself in your own car to work a modern convenience and also want to help promote more public transportation opportunities for others by increasing their ridership and demand.</p><p><em>Key Result: 50% of completed books were first published before the 1900s<br></em>Last year, I set a goal of reading more fiction books and I found it to be very refreshing. While my reading goal is focused on resilience and self improvement, I’m including this additional goal to improve my understanding and awareness of classic literature and novels. I haven’t read many of the traditional classic books and I’ve created a big list to choose from for this goal. I’m especially looking forward to seeing how modern novels and stories borrow and steal from these classics for their own works. Recommendations welcome!</p><p><em>Key Result: One meal per week uses something from our garden (during the growing season)<br></em>This might be the stretchiest goal this time around because I definitely do not have a green thumb, but I’m very excited to try it. Growing season is somewhat shorter in the Pacific Northwest than the rest of the country so I have to put some restrictions around the timing and expectations. Our home garden is pretty small (3&#39;x3&#39;) so I’ll also have to learn about the timing and requirements for different vegetables and edible plants to maximize the space usage. We successfully grew tomatoes for the first time last year out of 3 or 4 years of attempts so I’m building off the optimism of that to an even better growing season this year!</p><p><em>Key Result: Use only reclaimed water for the garden<br></em>One thing that growing a bunch of vegetables requires is water. While we have no shortage of community water in this area, we have an abundance of water that falls from the sky. To offset the increase in water needed for the plants, I will add a water reclamation tank to fully support the garden projects. There likely will be enough to do more than just the garden but with the late summers being so dry I’m worried about committing to more than just that 9 square foot area. Depending on how this goes, I may expand this more broadly next year.</p><h3>Objective: Take proactive steps to improve the world</h3><p>Last year I focused on offsetting and measuring my carbon emissions, which was useful as a baseline, but the ultimate goal is always abatement of carbon emissions. This is even more important with reports that <a href="https://www.theguardian.com/environment/2023/jan/18/revealed-forest-carbon-offsets-biggest-provider-worthless-verra-aoe">more than 90% of these offset programs</a> are worthless greenwashing. This year I want to move beyond offsets and into direct action that has a positive impact on the planet and our environment and reduces my overall footprint.</p><p><em>Key Result: Abate 5 of the 10 biggest energy hogs in our household<br></em>With the addition of the <a href="https://sense.com/">Sense energy monitor</a> I can see very detailed accounting of what is using energy within our household. In addition to that, I will be completing an <a href="https://justenergy.com/blog/understanding-energy-audit-what-why-important/">energy audit</a> at the start of this year to best understand our other opportunities for reduction. Once those data points are complete, I’ll have a list of the top 10 energy uses in the household and will begin to make changes like adding a heat pump or turning down temperatures in the house to reduce the total amount of energy used.</p><p><em>Key Result: Explore 12 new local trails or parks<br></em>Once a month I will go to a new trail and/or park in the local area. These trails and parks were created for the purpose of appreciating and responsibly enjoying nature so taking advantage of them and supporting it instead of doing something that generates more emissions is the end goal here.</p><p><em>Key Result: Volunteer 4 times with local outdoor-focused groups<br></em>Once you go looking for outdoor-focused groups, you find a bunch of them. Once a quarter I will volunteer my time to some of the local groups in this area like the <a href="https://www.issaquahalps.org/">Issaquah Alps Trail Club</a>, <a href="https://www.snoqualmiewa.gov/460/Green-Snoqualmie">Green Snoqualmie</a>, and local <a href="https://www.trashmob.eco/">Trash Mob</a> chapters to do my part to keep our outdoor spaces in the best condition possible. I’ve enjoyed trails, parks, and other parts of nature for quite a while, this is a chance to directly help sustain them and keep them clean and capable to be used for others.</p><p><em>Key Result: Directly fund and/or invest in 3 carbon abatement or reduction projects<br></em>This is another Key Result that will require some stretching to meet. I don’t have a good investment network so part of this will be looking to build one up while getting a better understanding of what that means and the ramifications of it. There are a lot of bad, fake, and non-impactful projects out there so my research and deep understanding of the project goals and outcomes will be critical here. I’m very much looking forward to the challenge and the hope that I can find 3 of them that meet the bar for investment and funding.</p><p>Those are the 12 KRs and 3 Objectives I’m looking to achieve for 2023. I keep track of all of this on GitHub for exposure and increased accountability so <a href="https://github.com/dubrie/public/blob/main/tenets.md">feel free to follow along</a>. Here’s to a successful 2023 and beyond!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c34bcdc2b7b5" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Double-Blind Coding Interviews]]></title>
            <link>https://dubrie.medium.com/double-blind-coding-interviews-40c422743229?source=rss-e06c0048326------2</link>
            <guid isPermaLink="false">https://medium.com/p/40c422743229</guid>
            <category><![CDATA[software]]></category>
            <category><![CDATA[software-interview]]></category>
            <category><![CDATA[interviewing]]></category>
            <category><![CDATA[technical-interview]]></category>
            <dc:creator><![CDATA[Bill Johnson]]></dc:creator>
            <pubDate>Sun, 10 Apr 2022 00:33:37 GMT</pubDate>
            <atom:updated>2022-04-10T00:33:37.932Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Person typing code on a laptop while on a video call with another person" src="https://cdn-images-1.medium.com/max/640/1*F8WDrZpyareXqvVmW12TJg.jpeg" /><figcaption><a href="https://www.pexels.com/photo/person-using-gray-laptop-3861964/">https://www.pexels.com/photo/person-using-gray-laptop-3861964/</a></figcaption></figure><p>If you have done a coding interview at any point in the last 20+ years, you have likely been provided a problem to solve by the interviewer. Sometimes you have a dry-erase marker and a whiteboard and sometimes you have someone else’s laptop or your own machine to solve it. The problem itself is likely pulled from a place like <a href="https://leetcode.com/">LeetCode</a> or, if you are lucky, it is a problem the interviewer or team has struggled with in recent history. Lately, the “take-home” problem has become more popular which allows the candidate more comfort on their own machine and less pressure by doing it on their own time. Regardless of the specifics, code interviews follow the same pattern of:</p><p><em>Interviewer provides you some problem they have thought about a lot and you have some much smaller time and less context to try and solve it</em>.</p><p>More and more interview panels are accounting for unconscious and conscious biases in the interview process by taking steps like not sharing feedback until everyone has provided it, anonymizing resumes, and providing unconscious bias training for interviewers. These are all excellent, and necessary, steps to improve the selection process. However, there are still fundamental aspects of the way we conduct coding interviews in the industry that will always introduce bias.</p><blockquote>In a <strong>blind</strong> or <strong>blinded experiment</strong>, information which may influence the participants of the <a href="https://en.wikipedia.org/wiki/Experiment">experiment</a> is withheld until after the experiment is complete. Good blinding can reduce or eliminate experimental <a href="https://en.wikipedia.org/wiki/Bias">biases</a> that arise from a participants’ expectations, <a href="https://en.wikipedia.org/wiki/Observer-expectancy_effect">observer’s effect on the participants</a>, <a href="https://en.wikipedia.org/wiki/Observer_bias">observer bias</a>, <a href="https://en.wikipedia.org/wiki/Confirmation_bias">confirmation bias</a>, and other sources. (<a href="https://en.wikipedia.org/wiki/Blinded_experiment">Wikipedia: Blinded Experiment</a>)</blockquote><p>Living in a pandemic the past 2+ years has introduced me to more medical studies and learning about some of the specifics to how these tests are structured. With that framing in my head, I wondered why every coding interview I’ve ever done or administered was set up as a single-blinded experiment. The interviewer has some problem they have asked dozens of people before and seen dozens of solutions to already. The candidate has to try to work through this on their own by gathering context and trying to account for every edge case and possible integration this small piece of code or architecture would need to cover. On software engineering teams, we work together to solve problems that potentially none of us have the answer to already. So why don’t we do that during the interview process?</p><h3>Bill Johnson on Twitter: &quot;Has anyone experimented with code interviews where neither the candidate and interviewer know the problem in advance and have to solve it together? Seems like the closest you can get to how you would work together on the team and work through problems. / Twitter&quot;</h3><p>Has anyone experimented with code interviews where neither the candidate and interviewer know the problem in advance and have to solve it together? Seems like the closest you can get to how you would work together on the team and work through problems.</p><p>I started asking around my network and posted a general question to Twitter and (not?) surprisingly, this wasn’t a thing anywhere that I could find. The closest example was having the candidate work on an *actual* problem your team is working on and possibly blocked on. This is a great way to give the candidate a sense of the problems they will be working on, but still puts them in a position where they have much less context about the system, its limitations, and its rules than the interviewer does. I’ve also heard feedback from candidates that these sessions feel like the interviewer is using them as a <a href="https://en.wikipedia.org/wiki/Rubber_duck_debugging">rubber duck</a> for their own problems and doesn’t give them and effective way to show their abilities. If they don’t have specific domain knowledge or enough context about your system, it can be very difficult and sometimes provide false positives or negatives because of it.</p><h3>Administering Double-Blind Coding Interviews</h3><p>So, what can we do about it? Are double-blind interviews even possible? What would that even look like from both the interviewer and the candidate side? At a high-level, it’s quite simple: <strong>Have the interviewer and the candidate solve a problem together that neither of them have seen before.</strong> This evens out the context imbalance and makes the solution a shared output where you can evaluate the candidates collaboration, technical knowledge, problem solving, architectural decisions, and system design. Depending on the experience of the people and the role, you can even gain signals for leadership, responding to push-back, “grit”, mentoring, and what it is generally like to work with the person.</p><p>For a typical 1-hour technical screen interview over video call, here is a structure I’ve started to put together:</p><p><strong>Roles</strong>: Hiring Manager, Interviewer, Candidate</p><ol><li>[0:00] Hiring Manager, Interviewer, and the Candidate join the call.</li><li>[0:00–0:05] Brief introductions for all 3 participants.</li><li>[0:05–0:08] Hiring Manager gives a quick overview of the double-blind format (should also provide this to the Candidate beforehand) and introduces a shared coding environment (Ex: <a href="https://www.codility.com/">Codility</a> or <a href="https://coderpad.io/">CoderPad</a>).</li><li>[0:08–0:10] Hiring Manager introduces the problem, answers initial questions, and leaves call. <em>Note: Hiring manager should be available via chat for other follow-up questions or help with issues</em></li><li>[0:10–0:55] Interviewer and the Candidate work through the problem together. Both should be encouraged to look things up as necessary and work under the assumption that others will have to maintain this code in the future — use coherent naming conventions, tests, styles, and comments to help communicate clarity.</li><li>[0:55–1:00] Hiring Manager joins back into the call and helps answer any questions about the role, company, or in general that the Candidate has. As much as possible, the Hiring Manager should not look at the solution or discuss the problem itself.</li><li>[Post-Technical Screen] Interviewer saves the code and writes up their feedback on the candidate with their produced code based on their time and the specific areas they were trying to gain insight into.</li><li>[Debrief Meeting] The Interviewer reviews their time with the candidate and the solution itself for the hiring team to help inform the hiring decision.</li></ol><p>This approach isn’t much different than a “typical” technical screen. The only differences are: 1) The interviewer doesn’t know the problem or optimal solution and 2) The Hiring Manager has 15 additional minutes allocated for interview loops. This example was framed in a technical screen format but it would be fairly straight forward to apply this to onsite rounds as well.</p><h3>Potential Issues</h3><p><em>How can you ensure interviewers haven’t seen problems before?<br></em>You can’t be 100% sure, but you can make this a significantly rare edge case with some planning. First, generate a large pool of questions (20–30+ per role) that are relevant and abstract enough to provide at least an hour of effort to solve. Second, assign some fun names to the problems so you can double-check if the interviewer as done this one before. If they have, find a different problem or a different interviewer. Third, rotate the interviewers that facilitate the double-blind interviews. This seems to be a good way for your engineers to ramp-up on interviewing in general since there isn’t much administration or strategy to the interview structure, it’s approximately the same thing they would be doing during the day anyways.</p><p><em>Shouldn’t all the questions be the same for each candidate to make evaluations equivalent?<br></em>This is a tough one. On one side, yes, each candidate should have the equivalent experience and expectation so that they can be compared fairly to other candidates. On the other side, this interview style is screening for non-technical characteristics like collaboration and ability to take feedback so you will never have the same experience when humans with emotions and outside pressures from life are involved. Additionally, you could provide questions that appeal to the candidates background like Machine Learning or Kubernetes and help set them up for success instead of forcing binary tree traversals or string manipulation on them that may or may not be relevant to their background. I would love to see some research or empirical data around this if anyone has it.</p><p><em>I’m a manager and hire a lot, 15 more minutes of meetings for each candidate adds up really fast and wouldn’t be possible<br></em>I hear you, managers are typically in a ton of meetings! As long as the structure of the interview is clear and the person has context to the parameters of the question, it doesn’t have to be the hiring manager that plays the role. Recruiters, senior members of the team, or even other managers could play this role. I feel that the hiring managers presence helps the overall experience of the candidate and ensures continuity through the process but if schedules don’t work out, replacements are totally acceptable.</p><p><em>What if the candidate just lets the interviewer do all the work?<br></em>It is a shared responsibility to solve the problem, but the interviewer should be actively engaging the candidates opinions, code, and problem solving approaches. If the candidate isn’t able or willing to contribute to the solution, that gives a signal** to how they would interact with the team in the future. With the explicit freedom to look things up, it should mitigate the amount of uncertainty in the problem and present a scenario quite similar to what a typical problem and day would be like with the team.</p><p><em>**There are many things that could contribute to this, so it is merely a single signal that should be taken into account with everything else in the loop.</em></p><p>What other issues or benefits do you see here? I’d love to hear about any efforts to set this up or conduct interviews in a similar way. I’m just starting to experiment a little with it in my hiring so hopefully will have some feedback soon!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=40c422743229" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[2022 Personal OKRs]]></title>
            <link>https://dubrie.medium.com/2022-personal-okrs-5138f1cb8a2?source=rss-e06c0048326------2</link>
            <guid isPermaLink="false">https://medium.com/p/5138f1cb8a2</guid>
            <category><![CDATA[okr]]></category>
            <category><![CDATA[resolutions]]></category>
            <category><![CDATA[happy-new-year]]></category>
            <dc:creator><![CDATA[Bill Johnson]]></dc:creator>
            <pubDate>Mon, 03 Jan 2022 02:14:40 GMT</pubDate>
            <atom:updated>2022-02-07T03:07:16.230Z</atom:updated>
            <content:encoded><![CDATA[<p>in 2021 I attempted to set (and meet) a collection of personal Objectives and Key Results (OKRs). This was an exercise in both getting more comfortable using the OKR framework as well as identifying areas in my personal life that I wanted to focus on changing. There were some missteps and poor planning but also some successes (<a href="https://github.com/dubrie/public/blob/master/archive/OKR-Reviews/2021-OKRs.md">You can see the results yourself</a>) and overall, I felt it was a useful exercise for the year. I’m going to try this again in 2022 and have set the following as my OKRs:</p><h3>Objective: Focus on Focusing</h3><p>I set an objective last time of “Be more focused” and want to try to build off the relative success from that as well as get more targeted and challenging in how I apply my focus to combat the amount of context switching I do at work and in my personal life.</p><p><em>Key Result: Complete 10 books and summary/takeaway write-ups this calendar year<br></em>Copy-pasted from last years as I felt this was a good goal to continue forward. Reading books forces me to stay focused for longer than a tweet or random web article. The note-taking and summary write-ups have been good to better synthesize the content and give me a reference to look back on once my memory of it inevitably fades.</p><p><em>Key Result: Work less than 5 days during 26 weeks of the year<br></em>My attempt at creating more focus at work through scarcity of time while also forcing myself to step away more often. There are 8 calendar weeks that have company holidays and I’m giving myself those as “freebies” so really need to find 18 other weeks to have at least a 1/2 day off. I track my time and meeting types at work quite closely so I can fold this analysis into those established practices. Using this to encourage myself to take single or 1/2 days off as a small break and recovery instead of banking all my PTO for a big trips and powering through week after week.</p><p><em>Key Result: Keep daily phone screen time under 4 hrs</em><br>The reality of working in “tech” is that you use a lot of screens and use screens a lot (A LOT). I’m typically between 4 and 5 hours of phone screen time per day and can get over 7 on the higher end so this should be achievable but will take focus to get there. Of note, laptops, TVs, and tablet’s are not part of this calculation which is good because I typically read my books on my tablet.</p><h3>Objective: Be A Better Citizen of the Planet</h3><p>I want the planet to get better and am taking an active part in that both personally and professionally through many different avenues. This objective is focusing on my own accountability to the planet and ensuring that I am minimizing my impact or at least understanding what it is so that I can take specific steps to reduce it.</p><p><em>Key Result: Visit 3 National Parks</em><br>Copying this from last year as well since I did not meet the target and I think that exploring and appreciating nature is a big part of being a better overall citizen of the planet. If we don’t appreciate what we have and how rare and fortunate it is, then we aren’t incentivized to save it. For me, National Parks embody that and are intentional steps to allow people to gain that appreciation for truly magnificent things that only exist in a handful of other places in the world (if at all!)</p><p><em>Key Result: Keep Median Monthly Energy Usage for My Household Under 620kWh</em><br>In June I installed a <a href="http://sense.com/">Sense energy monitor</a> for my home and have been fascinated with the data and insight it provides. This is an easy KR to measure now but will be a hard one to impact. I set 620 kWh as the target based on the previous 6 months of data I have so it is sort of a shot in the dark on how reasonable it is for the first 6 months. I’m using this KR to set a baseline for the household as well as put some data around when and why I should start doing upgrades like a heat pump, electric water tank, battery storage, or even solar panels (tall trees around us make it difficult to get a benefit from these). Having the baseline will also show the improvement these changes are directly responsible for.</p><p><em>Key Result: Offset 16x My 2021 Carbon Footprint<br></em>I <a href="https://terrapass.com/carbon-footprint-calculator">estimated my 2021 carbon footprint</a> to be 117,649 lbs of CO2 equivalent, or about 58.8 tons, which is 2–3x higher than the typical American. This is very much due to the amount of air travel I did in 2021. <strong>The real goal for the planet is reduction of emissions, not offsetting</strong>, but I wanted to make sure I am also accounting for my own emissions while looking to reduce. There are various ways to do offsets, <a href="https://ecologi.com/dubrie?r=60525f1749f45f001c00ccc1">Ecologi</a> is a personal favorite, so I’m setting a sub-goal here of no more than 50% of the total can be used through a single offset system. I picked 16x because I my direct family, in-laws, and niece’s &amp; nephews total 16 people. I’m looking to offset my equivalent CO2 as well as those closest to me.</p><h3>Objective: Change Up My Historical Patterns and Tendencies</h3><p>I really like this objective as it has the potential for the most growth and was the hardest to trim down to just 3 KRs. I am typically a creature of habit, but even more so during this global pandemic while I use familiarity for comfort and peace of mind. These are all somewhat smaller steps, but representative of large themes and I am hoping to use them as catalysts towards larger change going forward.</p><p><em>Key Result: Read 5 fiction books</em><br>I have actively stayed away from fiction books because I thought they provided lesser value overall for the effort. If I was going to spend the time reading, I wanted to learn about something new and real that I could use instead of a made-up story, world, or premise. I’ve dropped a couple fiction books into my lists recently and have found that I actually enjoy the possibilities and unknown of fiction stories and worlds that non-fiction can’t quite copy. It taps into my artistic side that I feel has fallen off in the recent years and want to try to re-activate it again. Feel free to send any good recommendations my way!</p><p><em>Key Result: Run with Other People (Non-races) 20 times</em><br>I love to run, and do a lot of it, but I seldom run with other people when I’m not coaching or in a race. This is because running is my quiet reflection time where I can get away from distractions and be alone with my thoughts — That has been a huge benefit during the last 2 years especially. In the name of breaking tendencies and also taking advantage of the excellent community&#39;s runners tend to build, I want to expand this out more and try sharing these runs with others. I have a lot of friends that run and a lot of runners I am “Strava-friends” with so sharing the roads and trails with these two groups is my ultimate goal. I set the number at 20 for the challenge of running more than once a month with people. Once seemed too easily and convenient to arrange and twice a month seemed a bit too difficult at this point with my schedule and calendar. I feel like this is either going to become the new normal for me or my effort will flame out after a month or two. Let’s see what happens!</p><p><em>Key Result: Initiate Contact with 6 Family Members or Friends Each Month</em><br>I ran into trouble in last year’s OKRs on just “connecting” with family and friends — there was no great way to measure it and have accountability on hitting the target. I am typically good about replying to texts, emails, and phone calls but am notoriously bad at being the one to reach out. It’s something I don’t like about myself but has become a hard-to-break habit for many reasons. I’m putting the accountability on myself this year to be the initiator so that I can better measure this but also to challenge myself to change one of my least favorite qualities about myself.</p><p>Happy New Year everyone! Let’s see how well I can make these happen in 2022. Feel free to <a href="https://github.com/dubrie/public/blob/master/tenets.md">keep track with me on GitHub</a>!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5138f1cb8a2" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Learning By Interviewing On-Call Engineers]]></title>
            <link>https://dubrie.medium.com/learning-by-interviewing-on-call-engineers-cfca3c683622?source=rss-e06c0048326------2</link>
            <guid isPermaLink="false">https://medium.com/p/cfca3c683622</guid>
            <category><![CDATA[on-call]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[operations]]></category>
            <category><![CDATA[sre]]></category>
            <category><![CDATA[on-call-rotation]]></category>
            <dc:creator><![CDATA[Bill Johnson]]></dc:creator>
            <pubDate>Thu, 21 Oct 2021 23:54:42 GMT</pubDate>
            <atom:updated>2021-10-21T23:54:42.476Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jlb7O9b7zmPubsPezbE66g.jpeg" /><figcaption>Photo by <a href="https://unsplash.com/@nhillier?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Nick Hillier</a> on <a href="https://unsplash.com/s/photos/introspection?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>Recently in our organization we’ve been doing interviews with our on-call engineers across the teams. The goal of these interviews is to better understand the collective comfort and “health” of the engineers that take the pager. It is also one way to get a better understanding of what it really means to manage a production service from the people that are directly responsible for doing it. These interviews are 1:1 but answers are anonymized and the information is aggregated to minimize the chance of association back to a specific person. It also provides a basic sense of quantifying a largely qualitative process of being on-call.</p><p>Some of the direct benefits to having the SRE team drive these interviews is to foster direct connections to engineers and cultivate a trust the SREs have agency to make changes for the better. The art in the process comes from asking probing follow-up and clarifying questions to help expose underlying issues and contributing factors. If done well, this process helps to assess what is going well and what could be improved and can better set and drive priorities for the SRE team. The final report-out also spreads sympathy and empathy across the organization by elevating issues that on-call engineers experience that aren’t immediately clear to those not on-call.</p><h3>What Questions Should I Ask?</h3><p>In our group, we go through a set of 10 questions that build on each other and help to establish some report and pull out subtle issues that typically aren’t present in some common metrics like incident counts and Mean Time To Resolve (MTTR). To help build some comfort and rapport with the interviewer we start out with “1 to 5” rating questions:</p><p><em>Rate your overall on-call experience from 1 (terrible) to 5 (amazing)</em></p><p><em>Rate the tools you have available to you while on-call from 1 (terrible) to 5 (amazing)</em></p><p><em>How actionable were the alerts you received while on-call from 1 (not at all actionable) to 5 (very actionable)</em></p><p><em>How confident are you that the current system will accurately catch and notify you about problems from 1 (not at all confident) to 5 (very confident)</em></p><p>The on-call engineer needs to provide a number (we don’t allow decimals or fractions) and the interviewer immediately follows up with a question like “Why do you say [rating]?” or if they were waffling between two numbers “Why did you pick [rating] instead of [other choice]?”. The follow-up questions and getting them to expand is where most of the good stuff is hiding so keep digging until its clear why that rating was given.</p><p>After these questions, we move on to more question-answer format that don’t include ratings. These questions include:</p><p><em>What steps did you take to make the system better during your on-call shift?</em></p><p><em>What work items and/or bugs did you create to address (you or another team member/team) after your shift was over?</em></p><p><em>Where do you see the biggest gaps in our monitoring?</em></p><p><em>Where do you see the biggest gaps in our alerting? (Is the difference between the two clear?)</em></p><p><em>What do you like about the current on-call process?</em></p><p><em>What do you dislike about the current on-call process?</em></p><p>Again, probing follow-up questions are critical to pull out the lived experience of an on-call engineer on your team.</p><h3>What To Do With The Results</h3><p>All of the interviews should be done in person while taking notes to further enforce the empathy, investment, and agency for making a change based on their answers. The answers should all be anonymized and aggregated together into <strong>3–5 Key Takeaways</strong> for each question. We also include a <strong>Notable Quotes</strong> section to highlight some specific statements that help emphasize some of the takeaways and highlight something notable. Things like Word Clouds can help elevate common aspects of the answers (I like the flexibility of <a href="https://wordart.com/create">https://wordart.com/create</a> a lot). For the 4 rating questions, we also include an <strong>Average Rating</strong> and <strong>Standard Deviation</strong> that includes the number of interviews conducted. These are nice to have in the moment but become more useful as delta’s the more times you execute this process.</p><p>In addition to a summary for each question, we also include an overall summary for all the questions that has about 5 overall takeaways from the process and responses. These don’t need to be copied from the questions and can, in fact often are, combinations of takeaways and higher-order/system-level takeaways. With these takeaways you can start to provide a specific set of recommended changes to improve or solidify the discovered themes.</p><h3>Other Things We’ve Learned</h3><p>While this has been a great experience, there have been some great lessons along the way:</p><ol><li><strong>Do this every 6–9 months</strong>. It is not a trivial process, especially if you have a lot of people in your rotation, so you won’t want to do this frequently. You also need time to implement the recommendations and allow people to rotate through the (hopefully) improved experience. The sweet spot seems to be somewhere between 6 and 9 months depending on your team size.</li><li><strong>Templatize the process</strong>. Because of the effort involved, using a web form template to collect information helps to keep it organized and formatted for easier integration later. Having a consistent format for presenting it out is useful from both the person responsible for putting it together but also for people consuming the report and comparing to previous versions</li><li><strong>Ask for feedback and “anything else?”.</strong> These questions have evolved over time because we end each interview with “Is there anything we didn’t ask that you wanted to include in the data?”. This open-ended question has created some great feedback opportunities on the process itself, insight into phrasing and ordering of the questions, and new questions and areas to explore altogether. You may not get much the first time through but once people have a better understanding of what it is and what this process can do for them, they will typically be more forthcoming with the feedback and constructive criticism.</li></ol><p>What do you see that is missing or you would change in the process? Let me know!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=cfca3c683622" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[My Running Mantra: PBR]]></title>
            <link>https://dubrie.medium.com/my-running-mantra-pbr-c10dfe6a6709?source=rss-e06c0048326------2</link>
            <guid isPermaLink="false">https://medium.com/p/c10dfe6a6709</guid>
            <category><![CDATA[running]]></category>
            <category><![CDATA[engineering-mangement]]></category>
            <category><![CDATA[process-improvement]]></category>
            <dc:creator><![CDATA[Bill Johnson]]></dc:creator>
            <pubDate>Thu, 17 Jun 2021 03:11:43 GMT</pubDate>
            <atom:updated>2021-06-17T03:11:43.078Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Black spiral staircase with white round ceiling. Courtesy of Nathan Thomassin (@vegatones) on Unsplash.com" src="https://cdn-images-1.medium.com/max/1000/0*-PP2ElNIxrFLHb4C" /><figcaption>Photo by <a href="https://unsplash.com/@vegatones?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Nathan Thomassin</a> on <a href="https://unsplash.com/s/photos/framing?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>When I’m not doing computer-y type stuff, I’m typically out running (preferably on <a href="https://en.wikipedia.org/wiki/Cascade_Range">Cascade Range</a> trails). As I’ve run longer and longer distances it has gotten harder and harder to stay focused and maintain my efficiency throughout the distance. Following in the steps of many other runners, I developed a mantra to help motivate, center, and even distract myself as the miles pile up. The mantra of “PBR” works best for me and recently I have started connecting it back to my computer-y day job and other parts of my life (more on that later).</p><h3>What is “PBR”?</h3><p>Depending on your context, “PBR” could be a number of different things. I’m guessing most people will associate it with <a href="https://pabstblueribbon.com/">Pabst Blue Ribbon</a> beer or maybe the <a href="https://pbr.com/">Professional Bull Riders</a> circuit or maybe even a <a href="https://www.atlassian.com/agile/scrum/backlogs">Product Backlog Review</a> (any other popular ones out there?). But in this context, “PBR” is an ordered list of things I work through and use to focus on getting right during a long run: Posture, Breathing, and Rhythm. If I’m able to get these three things right, most other stuff falls into place or is at least made simpler. It’s important to do each of these steps in order as I’ll explain below:</p><h3>Posture</h3><p>Your posture is your overall framing and is the base to an improved running efficiency and economy. If you are trying to run a long way, you need the proper structure from your body to sustain the effort and pace. That typically means your head is up, eyes are looking forward, your shoulders are relaxed and back, and your chest is up and not bent at the waist in order to stretch and maximize your lung capacity. A slight lean forward at your ankles gives you momentum and helps to propel your body forward saving some effort on your muscles, which adds up as the miles do. The right posture disperses your weight properly across your joints and muscles so they can best absorb the impact. Posture is the first thing to focus on because if you don’t have the right posture you can limit the amount of air you can breathe, waste motion and effort, or potentially harm your muscles and joints from impact. You take between <a href="https://journals.lww.com/acsm-healthfitness/Fulltext/2008/01000/ONE_MILE_STEP_COUNT_AT_WALKING_AND_RUNNING_SPEEDS.7.aspx">1,000 and 2,000 steps when running a mile</a> so even slight variations can compound and have significant effect. The first part of the mantra sets the stage and enables the next two areas to provide the maximum benefit.</p><h3>Breathing</h3><p>When your posture is solid, head and chin are level, shoulders relaxed, and you aren’t bent over at the waist, then you have created the optimal upper body environment to consume Oxygen for your blood and muscles and expel Carbon Dioxide out of your body. Everyone is different, and <a href="https://idioms.thefreedictionary.com/your+mileage+may+vary">your mileage may vary</a> (YMMV), but I’ve found counting steps to be a good way to regulate and measure your air intake and expulsion. During a long run I’ll look to breathe in for about 5–6 steps, hold it in for 1–2 steps, and exhale for about 4–5 steps, holding it out for another 1–2 steps. It is slightly uncomfortable, especially at the “hold” parts when you can feel your lungs and chest stretching a bit, but it gets more comfortable over time. Using steps to regulate breathing forces my breath to be measured and slow and helps relax my mind and reduce my overall heart rate. A good proxy to your overall effort is your heart rate and slowing your breathing can help slow down your heart rate and therefore reduce the effort needed to keep running at a given pace and allow you to go further and faster.</p><h3>Rhythm</h3><p>If you have a solid frame and structure through your posture and your breathing is relaxed and measured to reduce your heart rate and overall effort, only then should you focus on your overall rhythm and cadence (steps per minute). Different body types and styles will see slightly different numbers but in general, an average build and height person would be somewhere <a href="https://www.polar.com/blog/what-is-running-cadence/">near 180 steps per minute</a> for optimal efficiency. That cadence and rhythm is a forcing function to prevent <a href="https://www.runnersworld.com/training/a20805804/what-is-overstriding-anyway/">over-striding</a>, encourages a balanced mid-foot strike, and is sort of a magical sweet spot that when paired with “P” and “B” can leverage momentum to maintain a pace and minimize the amount of muscle used to propel you forward leading to a higher efficiency and <a href="https://en.wikipedia.org/wiki/Running_economy">running economy</a>. I often find myself focusing on keeping a consistent cadence instead of my speed on hilly routes. This typically results in faster overall times with less overall effort and fatigue.</p><figure><img alt="Main running on a mountain photo" src="https://cdn-images-1.medium.com/max/1000/0*EZJV4MNF7zmyLE8B" /><figcaption>Photo by <a href="https://unsplash.com/@asoggetti?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">asoggetti</a> on <a href="https://unsplash.com/s/photos/trail-running?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><h3>Connecting Back To Computer-y Things</h3><p>There is a <a href="https://andrewwhitby.com/2020/12/25/if-you-want-to-go-fast/">famous saying</a> that goes “If you want to go fast, go alone. If you want to go far, go together”. When sprinting or doing short intervals, you can get away with a lot because you stay in an <a href="https://www.webmd.com/fitness-exercise/difference-between-aerobic-and-anaerobic-exercise#1">anaerobic state</a>. However, once you start to up the mileage and distance you switch to an aerobic state and those little things start to compound and become critical. You can’t win a marathon in the first mile, but you can certainly lose it by not paying attention to the little things that will add up over time. If you want to go far, all the parts of your body have to be working in unison and efficiently in order to sustain the effort.</p><p>This is where I’ve started to make the connection back to my “day job” of running engineering teams and projects. You can overcome quite a bit as an individual or team in a single event or day, but that effort is not sustainable over a longer period of time. To have sustained success you need to have the proper framing and structure to the problem. Clear goals and defined principles to operate under. Once those are in place you can focus on feeding and nurturing the right areas to improve efficiency and production. Once you have those 2 areas figured out you will likely fall into a natural repetition rhythm and flow that produces an optimal outcome with quality and the ability to maintain over time.</p><p>Once you start viewing problems like this you see structure, nurturing, and rhythm in a lot of places in the world. Career development (What are your “Must Have’s” in a job, what skills or goals are needed for those, review your role yearly to adjust), learning a new skill (How much do you want to learn/time spent, specific and iterative steps to get there, clear end points along the way), meal planning (lifestyle goals and/or requirements, nutritional needs, 3 meals a day), and even training dogs (level of obedience/training desired, progressive set of skills and tricks to get there, regular repetition and reward) just to name a few. Following the “PBR” mantra in daily life has built a structure around things that previously were lacking it and has helped me to iterate forward and make progress. Much like running on a seemingly endless mountain trail, the global pandemic has made it difficult to see progress at times but viewing things through this lens has helped me move forward and identify ways to make progress.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c10dfe6a6709" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SRE Cultural Values]]></title>
            <link>https://dubrie.medium.com/sre-cultural-values-a0073b475183?source=rss-e06c0048326------2</link>
            <guid isPermaLink="false">https://medium.com/p/a0073b475183</guid>
            <category><![CDATA[microsoft]]></category>
            <category><![CDATA[culture]]></category>
            <category><![CDATA[cultural-values]]></category>
            <category><![CDATA[reliability]]></category>
            <category><![CDATA[sre]]></category>
            <dc:creator><![CDATA[Bill Johnson]]></dc:creator>
            <pubDate>Fri, 28 May 2021 17:22:43 GMT</pubDate>
            <atom:updated>2021-07-10T22:31:05.962Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Store window with the hashtag “be curious” on the window" src="https://cdn-images-1.medium.com/max/1000/0*2rOPuBaWUdY0L614" /><figcaption>Photo by <a href="https://unsplash.com/@garybpt?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Gary Butterfield</a> on <a href="https://unsplash.com/s/photos/curious?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>Recently in our Site Reliability Engineering organization in Azure, we established a set of cultural values that we hold ourselves and each other accountable to. Admittedly, these are aspirational in some ways but they are repeated and reinforced at all hands meetings, used as a frame in 1:1 meetings with managers and direct reports, and explicitly screened for during the interview process. It was a great exercise coming up with them that involved looking at well-functioning past and peer teams and borrowing where appropriate to foster the type of environment and culture we want to provide our own engineers. Microsoft has a good set of cultural values already with the focus on Trust and Growth Mindset so these are meant to be supplemental to the company-wide values. “Culture eats strategy for breakfast” and being explicit and direct about our values brings clarity to each individual on how they can apply and extend it in their own actions every day.</p><p>We came up with a set of 4 cultural values for our Reliability organization:</p><h3>We Are Intentional</h3><p>We define goals and take intentional actions to achieve them. We bring order to chaos. We create hypotheses based on data and create specific tests to validate and iterate on those assumptions. We define expectations and measure our progress toward goals. We take deliberate steps to understand why things fail and the mitigating factors behind them. We make iterative improvements and changes that increase reliability.</p><h3>We Are Kind</h3><p>We look for the best in others as well as ourselves. We give others the benefit of the doubt and respect their experiences. We encourage and look for the positive in people, situations, and crises.</p><h3>We Are Brave</h3><p>We are bold in our ambitions and take calculated risks when necessary. We have the courage to make difficult decisions and the confidence to deliver through ambiguity and vulnerability. We speak up and act when our values are at stake and expect the same of our co-workers. We ask tough questions and have uncomfortable conversations to get to the right decision that aligns to our cultural values and supports our peers.</p><h3>We Are Infinitely Curious</h3><p>We ask why and seek to understand before forming opinions. We don’t stop at the first issue and drive to uncover underlying causes and systemic factors that contributed. We seek out additional perspectives to better inform our own. We generate energy in others through engagement and uncovering novel information and approaches.</p><p>Through these 4 values, we are building an open and inclusive organization that allows each person to be their best, and true, self at work. Culture is a living thing that is always shifting so we are evaluating and making changes within these principles. I hope you find them useful and if you feel the urge to join in, check out our open Azure Reliability roles at <a href="http://aka.ms/azreljobs">http://aka.ms/AzRelJobs</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a0073b475183" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Earth Day 2021]]></title>
            <link>https://dubrie.medium.com/earth-day-2021-3273142ea860?source=rss-e06c0048326------2</link>
            <guid isPermaLink="false">https://medium.com/p/3273142ea860</guid>
            <category><![CDATA[sustainability]]></category>
            <category><![CDATA[earth-day-2021]]></category>
            <category><![CDATA[carbon-intensity]]></category>
            <dc:creator><![CDATA[Bill Johnson]]></dc:creator>
            <pubDate>Mon, 19 Apr 2021 00:42:19 GMT</pubDate>
            <atom:updated>2021-04-19T02:23:09.078Z</atom:updated>
            <content:encoded><![CDATA[<p>Thursday April 22, 2021 is Earth Day and as I think back on the last year, one big theme for me has been the value of individual contributions versus larger systemic changes that need to happen. Is it really worth recycling cardboard from my Amazon packages or reducing my meat consumption? The short answer is yes, and no. Individual actions, on their own, won’t do much to combat the systemic issues that have caused increasing greenhouse gases and temperatures for decades. A recent episode of <a href="https://gimletmedia.com/shows/howtosaveaplanet/xjh53gn/is-your-carbon-footprint-bs">How To Save A Planet</a> puts some context around this by calculating the average American emits 16 tons of carbon per year (one of the highest averages in the world!). With 50 billion tons emitted globally per year that works out to be 0.00000003% for the average American. Or said another way, the equivalent of a <a href="https://www.reference.com/world-view/many-grains-rice-bag-bb66f02913c40c5b">single grain amongst 125,000 pounds of rice</a>. It’s been hard keeping myself motivated to make sustainable decisions with that reality staring me in the face.</p><p>This is a systemic issue that needs to be dealt with at systemic levels. About half of all worldwide emissions comes from electricity and agriculture. Apart from putting solar panels on your home, you don’t have much choice on how you generate power. You can make more informed choices at the grocery store but choosing a <a href="https://www.beyondmeat.com/products/the-beyond-burger/">Beyond Burger</a> or going vegan will have little impact on how the agricultural industry produces food. I’ve swung back and forth this past year between focusing on optimizing my own life choices and focusing on supporting policy and industry initiatives. In the end, both are important but the sweet spot for me has been finding actions I can take as an individual that are directly connected to larger initiatives that help shape demand and actively improve the world. Here are a few of my favorites from the past year:</p><h3>Ecologi: Plant Trees Around The World</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_Fupq6aETQ6BcuwdI21JBQ.png" /><figcaption>My digital “forest” of real trees planted around the world by Ecologi.</figcaption></figure><p>Trees are amazing! They provide shade and cooling while also absorbing carbon dioxide from the air and turning it into oxygen. Planting a single tree will not have much impact on the overall environment or your personal carbon emissions. But that doesn’t mean we shouldn’t plant trees. That’s why I’ve taken to <a href="https://ecologi.com/dubrie?r=60525f1749f45f001c00ccc1">Ecologi</a> where you can plant digital trees and collectively fund other climate solutions. For a very small monthly fee, Ecologi will plant trees for me in some of the most critical places around the world and they even let you specify which projects you want to support. They provide detailed information about each project and where your money is going. This hits on the community aspect too as others can come plant trees in your forest and vice versa. It’s a wonderful surprise to see people plant virtual trees in my forest and then watch them mature, especially knowing that real trees are being planted and carbon projects funded at the same time. Assuming Ecologi started at 1, they have been responsible for planting over 12 million trees so far! As of this writing, my “forest” consists 246 trees spread across <a href="https://ecologi.com/projects/mangrove-planting-in-madagascar">Madagascar</a> (179 trees), <a href="https://ecologi.com/projects/reforesting-changalane-mozambique">Mozambique</a> (65), and the <a href="https://ecologi.com/projects/rewilding-the-appalachia-usa">United States</a> (2)</p><h3>#LetsGreenTheWeb</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/850/0*2QbIm1NTlgyrN-Xn.jpg" /></figure><p>I recently participated in the <a href="https://dubrie.medium.com/letsgreentheweb-together-d54e81f1bdb6">#LetsGreenTheWeb</a> effort that analyzes web pages to determine how much carbon emissions they are responsible for. It’s surprising to see what some of the numbers are (in both directions!) and how quickly that adds up for some frequently used sites. The main action behind this was knowledge and elevating the impact that some of our everyday choices have on the planet. This movement was pushed from <a href="https://climateaction.tech/">ClimateAction.tech</a> which is a group of tech workers around the world collaborating together to take action for the climate. They also have started a digital magazine called <a href="https://branch.climateaction.tech/">Branch</a> that I had the honor of <a href="https://branch.climateaction.tech/2020/10/06/sustainability-in-software-engineering/">being a contributor for</a> in their inaugural edition. Check them out and join the slack group to be apart of future efforts they have.</p><h3>Principles of Green Software Engineering</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*StwkoYYXOOGd5IZxr_BqpA.png" /></figure><p>Since my career has been focused on software engineering, the <a href="https://principles.green/">https://principles.green/</a> site really resonated with me when I came across it for the first time. Anyone building, deploying, or managing software should be taking into account the 8 principles of Green Software Engineering when they do. The most obvious one is Carbon, but I have found myself looking more and more into <a href="https://principles.green/principles/carbon-intensity/">Carbon Intensity</a> lately as it is a great example of leveraging available data to actively make more sustainable decisions for your software. Since renewable energy is gaining more and more ground overall, it is also a way to take advantage of that movement for your own stack and help influence decision making at the datacenter-level by increasing demand in areas supported by renewable energy. There are 2 really great APIs available for reading Carbon Intensity in <a href="https://www.watttime.org/explorer/#3/40.23/-97.64">WattTime</a> and <a href="https://www.electricitymap.org/ranking">ElectricityMap</a>. Each of these services let you visualize and compare the intensity values of energy grids around the world to help make more informed decisions about where you choose to deploy your virtual software. Since Carbon Intensity connects at least 4 of the Principles together in one effort, it gives a significant boost to your systems sustainability through a single effort.</p><h3>Talk About Your Stuff</h3><p>And finally, one the biggest thing you can do as an individual is to talk about it. Some people may feel reluctant to do so because they see the climate and planets health as a controversial topic — its not. A <a href="https://www.newsweek.com/us-has-highest-proportion-climate-deniers-survey-28-countries-finds-1459718">survey in 2019 showed</a>, only 6% of Americans denied the climate was changing and only 9% think humans are not effecting it. That’s 85% of the population, about 280 million Americans that are ready to engage in some form. Start with your friends and family — a pacific northwest company called <a href="https://www.ridwell.com/">Ridwell</a> will take hard to recycle items and recycle them for you. They don’t service my area (yet!) but they area available in one of our family members areas so we take items there. Use your social media accounts to talk about actions you are taking, actions we should be taking as a society, and putting your voice behind the systemic and policy changes that are being proposed (Earth Day is a <strong>great</strong> day for this). If you feel comfortable enough, talk to <a href="https://channel9.msdn.com/Shows/Hello-World/Hello-World-April-5-2021">bigger audiences at work</a>, or at conferences and meetups, or podcasts. I’ve focused on tech and software but this is planet is shared by all of us — find the connection to your favorite topic. <strong>Vote! </strong>And because it’s that important, <strong>Vote!</strong> Systemic changes typically happen at the policy level and not just federal, state and county as well.</p><p>Earth Day is a great day to start talking about these things or continue taking about stuff you are already doing. If none of those avenues work for you, reach out to me here or on Twitter (<a href="https://twitter.com/dubrie">@dubrie</a>) and I’ll be happy to have a conversation or amplify your work!</p><p>Happy Earth Day!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3273142ea860" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[#LetsGreenTheWeb Together!]]></title>
            <link>https://dubrie.medium.com/letsgreentheweb-together-d54e81f1bdb6?source=rss-e06c0048326------2</link>
            <guid isPermaLink="false">https://medium.com/p/d54e81f1bdb6</guid>
            <category><![CDATA[sustainability]]></category>
            <category><![CDATA[green-energy]]></category>
            <category><![CDATA[carbon-emissions]]></category>
            <category><![CDATA[letsgreentheweb]]></category>
            <category><![CDATA[website]]></category>
            <dc:creator><![CDATA[Bill Johnson]]></dc:creator>
            <pubDate>Fri, 19 Feb 2021 02:42:15 GMT</pubDate>
            <atom:updated>2021-02-21T23:49:29.539Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OvoL4gpHXuMOpi1WELdwcg.png" /><figcaption>https://www.websitecarbon.com</figcaption></figure><p>Every website you use runs on a machine somewhere that pulls power (and likely cooling) to do its job and render the page on your screen. Creating that power creates carbon emissions of <a href="https://plana.earth/academy/what-are-scope-1-2-3-emissions/">some scope</a>. In fact, the internet is responsible for so much energy usage and carbon emissions that if it was a country, it would be <a href="https://www.sustainablewebmanifesto.com/">the 7th largest polluter in the world</a> (and growing). The <a href="https://twitter.com/search?q=%23LetsGreenTheWeb">Let’s Green The Web</a> movement was started from the <a href="https://climateaction.tech/">ClimateAction.tech </a>group to use Twitter to drive awareness and action between Feb 15th and Feb 19th, 2021. I wanted to jump on the bandwagon here to help amplify this message but also to better understand my consumption patterns.</p><h3>My Morning Website Routine, In Carbon</h3><p>Roughly every morning, I have a routine set of sites that I check to catch up on email, weather, news, and social media from the nighttime and early East Coast time. Since the tool doesn’t support authenticated experiences, I will have to run these calculations for a logged-out experience. The sites in my morning routine include:</p><h4>Email</h4><p><a href="http://gmail.com/">Gmail</a>: <a href="https://www.websitecarbon.com/website/gmail-com-2/">0.33g of CO2</a> produced every time someone visits this web page<br><a href="https://hey.com/">Hey</a>: <a href="https://www.websitecarbon.com/website/hey-com/">0.17g of CO2</a> produced every time someone visits this web page</p><h4><strong>Weather</strong></h4><p><a href="https://www.wunderground.com/weather/us/wa/seattle">Weather Underground</a> (Seattle, WA): <a href="https://www.websitecarbon.com/website/wunderground-com-weather-us-wa-seattle/">4.23g of CO2</a> is produced every time someone visits this web page</p><h4><strong>News</strong></h4><p><a href="https://www.detroitnews.com/">Detroit News</a>: <a href="https://www.websitecarbon.com/website/detroitnews-com/">1.55g of CO2</a> is produced every time someone visits this web page<br><a href="https://www.espn.com/">ESPN</a>: <a href="https://www.websitecarbon.com/website/espn-com-2/">5.81g of CO2</a> is produced every time someone visits this web page <br><a href="https://mgoblog.com/">MGoBlog</a>: <a href="https://www.websitecarbon.com/website/mgoblog-com/">7.78g of CO2</a> is produced every time someone visits this web page<br><a href="https://www.seattletimes.com/">The Seattle Times</a>: <a href="https://www.websitecarbon.com/website/seattletimes-com/">1.28g of CO2</a> is produced every time someone visits this web page<br><a href="https://finance.yahoo.com/portfolio/p_0/view/v1">Yahoo! Finance</a>: <a href="https://www.websitecarbon.com/website/finance-yahoo-com-portfolio-p_0-view-v1/">1.19g of CO2</a> is produced every time someone visits this web page<br><a href="https://news.ycombinator.com/news">Hacker News</a>: <a href="https://www.websitecarbon.com/website/news-ycombinator-com-news-2/">0.01g of CO2</a> is produced every time someone visits this web page<br><a href="https://www.allsides.com/unbiased-balanced-news">AllSides</a>: <a href="https://www.websitecarbon.com/website/allsides-com-unbiased-balanced-news/">1.86g of CO2</a> is produced every time someone visits this web page<br><a href="https://www.ft.com/">Financial Times</a>: <a href="https://www.ft.com/">0.94g of CO2</a> is produced every time someone visits this web page</p><h4>Social Media</h4><p><em>Using my profile page on each of these services for a somewhat consistent logged-out calculation</em></p><p><a href="https://medium.com/@dubrie">Medium</a>: <a href="https://www.websitecarbon.com/website/medium-com-%40dubrie/">0.53g of CO2</a> is produced every time someone visits this web page<br><a href="https://twitter.com/dubrie">Twitter</a>: <a href="https://www.websitecarbon.com/website/twitter-com-dubrie/">0.91g of CO2</a> is produced every time someone visits this web page<br><a href="https://www.strava.com/athletes/1662760">Strava</a>: <a href="https://www.websitecarbon.com/website/strava-com-athletes-1662760/">0.88g of CO2</a> is produced every time someone visits this web page<br><a href="https://www.linkedin.com/feed/">LinkedIn</a>: ??? (WebsiteCarbon.com was not able to process this page)</p><h3>Conclusion</h3><p>Totaling these up I get 27.25g of carbon I’m indirectly responsible every morning:</p><p><strong>Email</strong>: 0.5g total of CO2, 0.25g average CO2 per site<br><strong>Weather</strong>: 4.23g total of CO2, 0.25g average CO2 per site<br><strong>News</strong>: 20.42g total of CO2, 2.55g average CO2 per site<br><strong>Social Media</strong>: 2.32g total of CO2, 0.77g average CO2 per site</p><h4>Non-Surprises</h4><p>I’m not shocked that news and media sites tend to use more CO2. The pages are typically text-dense, media-rich, and have multiple advertisement sections. Hacker News and its minimalist design barely registering CO2 seems to prove that theory. I love Weather Underground’s Storm mobile app for quick checks and radar tracking. Their website is quite slow and clunky from a user experience so having a high number there isn’t shocking either. If you click through to the analysis pages for each site you will see that most of these pages are running on sustainable energy already. With the focus from the major public clouds to shift to renewables to power their data centers, I would expect only a few exceptions these days.</p><h4>Surprises</h4><p>The outlier here is the MGoBlog site which is a Drupal fan blog for University of Michigan athletics and having such a high number is quite shocking to me. It was flagged as being dirtier than 97% of the web pages they tested! I’ve been using Hey for email the past 8 months or so but still maintaining my Gmail account. I greatly prefer the experience of Hey for most scenarios and being 1/2 the carbon impact of Google, a company that heavily focuses on sustainability, may finally clinch my move to it full time. I’m also surprised at the relatively low impact Social Media sites have in the overall numbers.</p><p>27.25g CO2 every morning for a year equates to 9,946.25g of CO2 over a year. Based on the numbers from the EPA’s provides a <a href="https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator">Greenhouse Gas Equivalency calculator</a>, that is equivalent to burning about 11 pounds of coal and roughly the amount of carbon that 4 trees would absorb in a year. It’s really great to be able to measure this small part of my daily routine and quantify its impact. Now to make some more informed decisions going forward (and plant some trees!).</p><p><strong>Update: <br></strong>Carbon emissions for this specific blog post: <a href="https://www.websitecarbon.com/website/dubrie-medium-com-letsgreentheweb-together-d54e81f1bdb6/">0.63g of CO2</a></p><p>Try out your own sites and routines over at <a href="https://www.websitecarbon.com/">https://www.websitecarbon.com</a>!</p><p>#LetsGreenTheWeb</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d54e81f1bdb6" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Sustainability in Software Engineering]]></title>
            <link>https://dubrie.medium.com/sustainability-in-software-engineering-702a70216b98?source=rss-e06c0048326------2</link>
            <guid isPermaLink="false">https://medium.com/p/702a70216b98</guid>
            <category><![CDATA[devops]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[sustainability]]></category>
            <category><![CDATA[environment]]></category>
            <category><![CDATA[software]]></category>
            <dc:creator><![CDATA[Bill Johnson]]></dc:creator>
            <pubDate>Fri, 29 May 2020 04:37:32 GMT</pubDate>
            <atom:updated>2020-05-29T04:37:32.627Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="A bar graph showing relationship between software engineers, devops, and sustainability engineers" src="https://cdn-images-1.medium.com/max/1024/1*cwxiA9h9ee_YgBKmQvOghw.png" /><figcaption>Sustainable software engineering is about finding the balance between the technical, operational, and environmental aspects of a system to provide an optimal level of sustainability</figcaption></figure><p>Software engineering has evolved a lot over the years as new capabilities are discovered and new information introduced. Software developers and operations engineers were typically seen as two very separate roles. Once the cloud began to commoditize hardware these roles began to blend together into a new practice called ‘DevOps’. This new practice focused on continuous delivery and automation while maintaining a high quality bar for the overall system essentially combining the two dimensions into the role of Software Engineer. We are quickly approaching another inflection point that introduces a third dimension to the software engineering field: Sustainable Engineering.</p><h3>Three Areas of Sustainable Engineering</h3><p>While not a new concept overall, sustainable engineering has experienced a renewed interest with the current climate crisis in the world. The Big 3 cloud providers, <a href="https://aws.amazon.com/about-aws/sustainability/">Amazon</a>, <a href="https://news.microsoft.com/climate/">Microsoft</a>, and <a href="https://sustainability.google/">Google</a>, have all signed on for ambitious goals to help reduce carbon emissions through improvements in their supply chains, power consumption, and waste reduction. However, it’s not always easy to draw a line between the code we write and sustainability efforts like these. Sustainable Engineering helps by breaking the responsibility of software engineering into three distinct areas:</p><h4>Technical Sustainability</h4><p>Technical sustainability covers the direct decisions we make for the system to produce its desired results. This includes both hardware decisions (CPUs, Memory, Networks) and software decisions (language, architecture, complexity) as well as things like latency in the system, testing requirements, or the scale up/out requirements. You can loosely think of this as “traditional” software engineering.</p><h4>Operational Sustainability</h4><p>Any aspect of the system that requires humans to assume an operational burden to maintain it would fall under this section. Areas like the deployment process, the inner developer loop and on-call incident volumes are common to this level of sustainability. It also includes things like the reduction of manual toil, capacity planning, effective post-incident review practices, and general observability within the system. This sometimes is referred to as the “Human” sustainability aspect in a software system and can be a significant factor in engineer burnout and low system quality, if not held in check.</p><h4>Environmental Sustainability</h4><p>Environmental sustainability focuses on the impact a system has on the ecology of the planet. This is largely based on carbon emissions but manifests through measurements like <a href="https://en.wikipedia.org/wiki/Power_usage_effectiveness">Power Usage Effectiveness (PUE)</a> and Compute Utilization Factor (CUF) within data centers. Optimizing a data center’s power, water usage, and waste are the primary goals. For example:</p><ul><li>How is power generated for the data center? (coal vs hydro power)</li><li>How often is hardware replaced or recycled? (minimize waste generation)</li><li>How much cooling is needed to keep machines at an optimal temperature? (water consumption)</li></ul><p>All <a href="https://compareyourfootprint.com/difference-scope-1-2-3-emissions/">three types of carbon emission </a>are included in this area: Scope 1 (direct emissions), Scope 2 (indirect emissions), and Scope 3 (all other emissions).</p><h3>Sustainability Engineering: Balancing the Three Areas of Sustainability</h3><figure><img alt="flat rocks stacked on top of each other" src="https://cdn-images-1.medium.com/max/934/1*1KCOesVFcUk-dxrbYDouyw.jpeg" /><figcaption>Source: <a href="https://unsplash.com/photos/eofm5R5f9Kw">https://unsplash.com/photos/eofm5R5f9Kw</a> courtesy of <strong>Bekir Dönmez</strong></figcaption></figure><p>The goal of a Sustainability Engineer is to bridge these areas, in a balance that takes all three perspectives into account. The Sustainability Engineer should, by definition, be independent so as not to be unduly influenced by team or organizational pressures. Sustainability Engineers evaluate systems and provide guidance on sustainability with the following goals:</p><ol><li><strong>Accountability for the overall sustainability of the system<br></strong>The Sustainability Engineer should have a deep understanding of the system itself, what it takes to operate and manage that system, and what impact that has to the global climate. Borrowing from Economics and Game Theory, the ideal solution should be <a href="https://en.wikipedia.org/wiki/Pareto_efficiency">Pareto Optimal</a> or equally beneficial for all three areas. Recommendations and guidance are backed by science and data wherever possible and can change over time as realities adjust and new factors are discovered or introduced.</li><li><strong>Enforce Sustainable Engineering Principles &amp; Best Practices<br></strong>Security teams often require security reviews or threat modeling for new systems and after significant changes. A similar approach can be taken on your own engineering systems to enforce a core set of competencies required to build sustainable software systems. Defining and promoting these principles and practices for your organization is key, so that teams are aware of the expectations up front. There is an effort to standardize these principles at <a href="https://principles.green/">https://principles.green</a> as well as some great examples of applying them to common architectures.</li><li><strong>Provide Data to Engineers<br></strong>The final area Sustainability Engineers are responsible for is to find ways to increase the awareness of the effect software engineering choices have on sustainability. This should be available to the engineers as early in the design and development process as possible. It’s often not clear what carbon footprint your application will have, especially as it scales, and Sustainability Engineers should always be looking for and implementing ways to expose this data in secure, accurate, and reliable ways. Providing awareness to engineers of medium- or long-term effects from their decisions will help shape more sustainable behaviors in the future.</li></ol><p>It should be clear that a Sustainability Engineer is not solely focused on the global environment but rather balancing all three areas in order to find an optimally sustainable solution. The most green application is one that is never written in the first place, so focusing solely on one aspect cannot be the answer. Every line of code you write has short-, medium-, and long-term effects (good and bad). Sustainability Engineers use science and data to define the best path forward — one that balances the effects across all three time frames for a truly sustainable system.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=702a70216b98" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>