One thing I value at Mozilla and within the Release Engineering team is, from my perspective, how mindful and respectful we are when reviewing each other’s work. Sure, we are not perfect but the review process is core to our DNA and something all code contributors practice on a daily basis.
Related to this, I’d like to highlight what I feel is the responsibility of the reviewer and what it means when you are asked to look at something. We often talk about what’s expected of the author and the guidelines around the work we are contributing but I’d like to post today about the responsibility of the reviewer. The r? and f? (request flags to review and provide feedback) are asking you to be involved. And that involvement is usually associated with an OKR or an individual deliverable. Below are ways in which we can stay productive and healthy while not letting the integrity and quality of our code drop.
An r- blocks: I recently reached out to Dustin Mitchell (dustin), someone who is no stranger to code reviews and maintaining code bases, to discuss what makes a great review. He said one of the things he has struggled with a lot lately is how to decide when “making a point matters”. If your issue does not involve documentation, test coverage, standardization, or reliability, be critical with yourself on whether you want to block on it.
Authors wait on you: While I don’t think we need to get down to minutes in response time, it’s always good to have a regular reminder to communicate more with authors when we can’t review within 24h since the request was made. Reaching out means either giving feedback of a first pass or by letting the person know when you will be able to look at the patch.
Consider finding a compromise rather than defending your opinion: consensus is great but it won’t always happen. Instead try “if you do X, Y, and Z, I won’t block.” Examples include, ask for a follow up patch, provide more tests, give more documentation, or do some small tweaks.
Include others in the review: when you get to a stalemate, perhaps suggests others to help review. Consider whether you can tolerate someone else giving an r+ and letting it land as is.
Offer to help with code samples: for hard blockers or if the author does not understand what you are looking for, it can be helpful if you write some pseudo code or actual snippets to help get the patch landed.
Encourage different approaches or ideas: This is about being inclusive and open to new styles. If it makes you uncomfortable, ask them to walk you through their approach, thought process, or for external references.
Upgrade your communication channels: Sometimes walking through the proposed changes on a video call can resolve sticky points of confusion in a few minutes instead of days of email or bug comment exchanges.
From my experience, we largely do this well. That said, it’s good to discuss these, come to a common alliance, and set expectations from reviewers. I’d love to have this or something like it standardized across teams. For now, these are expectations within Releng and we will tweak it as a team together.
If you have any thoughts on any of the above, please feel free to reach out to me, at jlund@mozilla.com or on slack/irc @jlund. I’d love to discuss this more and clarify anything that I may have missed.
In 2018 I travelled to Romania and had my best work week yet. I wasn’t expecting this. I was so distracted with the goal of forming a new team and setting them up for the year ahead, I didn’t spend much time imagining what my week in Romania was going to be like. This turned out to be in my favour because it was filled with surprises and engaging memories that I will never forget.
Let me take step back. I work out of Squamish, Canada and I am a Release Engineering manager for Mozilla. At the time, there was a multi-team effort to move out of a datacenter and migrate to a new continuous integration platform. We needed to keep the lights on while we stood up the new shiny infrastructure. We needed help. So we enlisted some contractors to provide 24/7 operations support, allowing us to focus more implementation. This new ops team consisted of six people who had to quickly get up to speed in both our old and new infra. All of them would be based out of Romania and I flew over to help onboard them.
I’ll admit I did not know much about Romania before I left. That very quickly changed. From the second I got off the flight I was thrown into conversation after conversation with every person I met, informing me of all the rich history and culture that is throughout the country. They are immensely proud. They are also very humble. It wasn’t long before I started finding a connection between Romania and Ireland. You see I previously spent nearly seven years in Ireland. It’s my second home and a big part of me. I don’t imagine many people would relate Romania to Ireland. In fact I suspect the countries themselves wouldn’t either. It sounds strange but hear me out.
A green landscape
Many people when they think of Irish weather they usually describe one of two types: cloudy with rain or cloudy. But that’s a simplification. As a small relatively flat island, it experiences all weather, often within a single day. More to the point, it’s beautiful. The more you dig and look at its raw elements, the more beauty you find. Green, tranquil, and tough. And while Romania does not share much of the same seaside (the Black and Irish Sea are wildly different), the land within the country has overlap. Both have gorgeous valleys, forests, rolling hills, streams, and for European countries that are more densely populated than say here in Canada, there is a lot of untouched land. I was actually blown away at how much greenery there was in Romania. I later found out that was intentional and highly cherished.
Gaining Independence
Then there’s the people. Romanians are one of the most welcoming people I have ever met. From taxi drivers to servers, to random people you bump into, everyone was extremely accommodating and eager to talk about why I was there and what Romania had to offer. You see, historically, Romania has been through invasion after invasion. The geographic location made it ripe for takeover. Because of this, it has spent much of its time under rule by someone else. In 1878, Romania gained its independence. Similarly, the Republic of Ireland gained independence from England in 1922. Both countries hadn’t been independent for so long that they then had to figure out their true identity. And while cultural artifacts of their origins were kept intact, the countries themselves had changed. Who were they? What languages represented them? How did they want to interact with Europe and the rest of the world? Both countries had to figure this out around the same time.
Economic transformation
Later on and until 1989, Romania adopted a communist system. From the conversations I had, there were good and bad parts to this. For example the education system was good and offered to everyone but the school structures themselves and most buildings for that matter, were often simple concrete blocks and not well maintained. When Communism fell in Romania, the country went through another transformation. New money and new businesses came in. The neglected buildings started to host hip and trendy restaurants. The concrete exterior structures often still had cracks and chunks missing but the inside was beautifully renovated. The exterior/interior contrast really stood out as I visited.
Somewhat similar, Ireland went through a new boom around the same time. This was known as the “Celtic Tiger” and started in the mid 1990s. Much of this was due to countries like the US realizing Ireland has a comparatively low corporation tax and thus many businesses transitioned and operated out of Ireland. Another source of credit was that Ireland joined the EU and received new trade agreements and significant Structural and Cohesion Funds until about 2004. The Celtic Tiger led to a huge economic transition and what had been traditionally a oppressed and struggling economy was completely transformed. And while there is no doubt that Ireland and Romania have not grown to the same scale (Ireland became one of the wealthiest nations in Europe during the Celtic Tiger), they both have seen a boom for around the same time.
A vampire and a leprechaun
From the outside, you may associate Romania with vampires. Dracula, a novel which coincidently was written by an Irishman, took place in Transylvania and was loosely based off an old ruler, Vlad the Impaler. And while Romanians are well aware of this, they are left a little puzzled at how this became so popular.
Ireland have this too but with leprechauns. In my 7 years in Ireland, I did not hear a mention of leprechauns. Yet leprechauns and pots of gold are what many think of on St. Patrick’s day.
The unsettled life
You may have heard about the Romani people, also known as “gypsies”. They make up about 3% of the population. Their culture and traditions are rich. Often, they will marry young, families will send the kids to work on the streets, and they keep to themselves while going against the grain of society. Romanian programs have been introduced to offer permanent homes and put the kids into the education system but it’s complicated and there seems to be ongoing issues. The Irish are no strangers to this. The travelling community in Ireland have a lot of overlap in terms of way of life and interaction with the rest of society.
Both of these minorities in these countries fascinate me. If I were to go back to Romania, I’d love to learn more.
A devout nation
Much of the Irish education and medical system is thanks to the Catholic Church. The country has a deep history with Catholicism. While I’m sure it’s not actually true, I heard it often said that to be identified as a “village” you must have at least one pub, church, and a post office. Based on my findings, even the smallest villages had at least 3 churches (and more pubs).
Romania also has a rich religious history with the Orthodox Church. There are beautiful churches everywhere. Often gorgeous wooden structures surrounded by mountains and fields.
I suspect this is a contributing factor to why both Ireland and Romania have strong communities and welcoming doors.
Eating and drinking together
Speaking of welcoming people. This was absolutely my favourite part of Romania. If there is one thing that’s abundantly clear, they like to sit down together and talk over food and drink. It was hard to get through a meal. For one, they keep the food coming. One of the nights I was there I went and stayed with one of my team member’s family. The night I arrived his mother cooked a feast and there must have been about a half a dozen courses. There’s this known back and forth in Ireland where the traditionally the mother or grandmother will not take “no” for an answer and will continue to say “ah go on, you will” while they present serving after serving. Once you realize it’s futile to refuse, your stomach inevitably blows up. And while the Irish accent wasn’t there, the same applied in Romania. The other reason dinners take so long is because you will find yourself talking and laughing and you are unable to take a bite. Dinner is for talking. Yes the food plays a big role but it’s time to socialize.
Romanians also like to drink. Beer seemed to be the drink of choice and there was never a shortage of it. Beer gardens were everywhere and it was nice to be outside so much. And while they stick to lagers over stouts, the Irish I’m sure would tip their hat at this culture.
On my last day with the new team, they took me to a lake. We stretched our legs outside the office. One of them brought a bow and arrow. As I struggled to hit the makeshift target we setup, I was suddenly struck with amazing week I had. Romania is an incredible country filled with people I’ll never forget. As a parting gift, I was given a bottle of ţuica, a Romanian “moonshine”, usually made with plums. The Irish equivalent is poitín, but theirs is made with potatoes (naturally). They all stood around me in a circle and then presented the bottle with my name engraved on the inside.
They didn’t need to do this and their specific choice of gift highlighted how much they cherish their country, culture, and history. I went to Romania to help get a team engaged. That happened but what I didn’t suspect was how engaged I would become to their homeland.
As a father, developer, manager, and weightlifter, these posts track my experiences and thoughts throughout this journey. Stumbles and growth are expected.