Wednesday, July 6, 2022

Peer Groups in the Workplace

I have learned a lot through peer groups, both industry wide and company internal ones. Company internal peer groups offer a unique opportunity to help you get better at your job. However, there are not yet good resources for running company internal peer groups. This post includes what I have been able to learn on the topic so far. My hope is that this post can serve as a starting point, and we can, as a community, develop those resources.

Tuesday, May 17, 2022

Creating and Fostering Communities at Work

Some days I feel that the most valuable thing I’ve done at MongoDB has been to create slack channels. 


I know that may sound absurd to those who know me professionally (I have done a lot at MongoDB, for example, developing our performance testing infrastructure and changing the way we spot performance changes in our testing environment), but bear with me for a moment. I have started a lot of slack channels, such as: #fountainpens, #greatoutdoors, #cookie-club, #staffplusengineering, #academic-research, #writing, #performance. And I spend time on those channels sharing pictures and stories with colleagues as well as talking shop.  My wife has said she wants to join MongoDB just so she can join the slack channels. However, the channels themselves aren’t important – what’s important is creating and fostering communities. 

Friday, October 29, 2021

Questions on ICPE 2022 Data Challenge

 I am co-organizing the Data Challenge Track at ICPE-2022 with Cor-Paul Bezemer and Weiyi Shang. The data challenge dataset is a snapshot of MongoDBs performance testing results and analysis (see the CFP for more detail). Recently, a group of researchers reached out to me with some questions for more detail about the data. I wanted to share the answers to those questions more widely, in case they are helpful to others working on the data challenge. 

Thursday, July 1, 2021

Writing To Be Read



Why do you write? I am an engineer and (to my surprise) I find that I write a lot. I write for several reasons: I write to take notes; I write to organize my thinking; I write to learn. All of these reasons are important, but I don't share those writings with others. I also write to change things: to convey ideas; to teach; to persuade. There is one thing that I desperately need in order to have a chance of achieving those goals: I need a reader. I need someone to read what I have written and to engage with my ideas. I need someone to understand what I wrote, think about its implications, and challenge my arguments. Because I need a reader, I write to be read.

Knowing why you do something provides a guide to doing it better. Knowing that I want people to read my writing, guides how I write, and guides my efforts to be a better writer. Chances are that you write as well. Maybe, you would like me to read what you have written. If so, please consider my thoughts below.

Wednesday, August 26, 2020

I'm No Longer a Manager (And that's a good thing)

After 2.5 years as a team lead (manager), I have shifted back to an individual contributor (IC) role. I'd like to talk about that path and transition. 

Tuesday, January 28, 2020

My Yearly Reflection and Planning

I don't do New Year's Resolutions. I've never liked them, going all the way back to when I was a kid in school. It took me a while to figure out why I don't like them: I don't like them because they aren't useful. The prototypical new year's resolution is setting yourself up for failure. "Don't do X". "Lose weight". "Stop snacking". "Write a book". Especially a goal of the form of "Don't do X" is almost impossible to achieve -- do X once and you've failed.

While I don't do resolutions, I dedicate serious time to reflection and goal setting every year. Goal setting, when done well, sets you up for success. For the last 14 years I've set aside some time around New Year's Day to review the past year, reflect, and set goals for the coming year. Those reflections have literally changed my life and shaped who I am today. I'd like to share my current yearly review and goal setting process in case it might be useful to someone else.

Saturday, April 30, 2011

No Knead Sourdough

My recipe for No Knead Sourdough as adapted from Mark Bittman recipes for Sourdough, and No Knead Bread in How to Cook Everything (I hightly recommend this cook book -- it's my go to cook book). The No Knead Bread is created to Jim Lahey.
1/2 C sourdough starter (recipe below)
1 3/4 C Whole wheat flour
1 3/4 C Bread Flour
2 tsp salt
2 tbs gluten
1 3/4 C Water
- Mix dry ingredients together
- Add starter and water to dry ingredients. Mix to wet. Doesn't have
to be kneaded
- Cover and leave for ~18 hours in warm place (70-80F). In winter I put it in my oven, which I might warm for a moment first.
- Take out and fold it a few times, rest ~15 minutes (rest is optional)
- Shape into a ball. Dust with flour and cover (e.g., saran wrap)
- Let rise ~ 2 hours
- Preheat oven to 500F or higher with covered dutch oven in oven half
an hour before baking
- Carefully slide oven rack out, and dump dough into pot. Cover and
put in oven.
- Bake 30 minutes. After 30 minutes remove lid
- Continue to bake uncovered, 20-30 minutes more until internal
termperature reaches 210 F, or thump bottom sounds hollow
Makes a crusty loaf of sourdough
Sandwidch bread variant:
- Add 2 tbs oil with the water (optional)
- After the first rise (18 hours) Shape as a loaf and place in greased loaf pan (oil spray)
- Bake at 375 F for approximately an hour. Internal temperature should get to 210 F.
Sourdough Starter Maintenance (make starter from starter):
- 1/2 C Starter
- 1/4 C Whole wheat flour
- 1/4 C Bread Flour
- 3/8 C water
- Mix all ingredients
- Leave at room temperature for 12 hours.
- Refrigerate to store
I keep my started in a mason jar. When I make bread I take half my
starter for the bread, and then add the remaining ingredients back
into the mason jar. Occassionally I move to a clean mason jar and wash
the old one. I'm glad to share starter with those I know .