Data Moshpit

You read that correctly. Data moshpit.

This September the greatest thing in the history of great things happening will happen. On Saturday September 16, in a metal club in Berlin, data platform MVPs Ben Kettner and Frank Geisler are JOINing[1] the two best things in the world: data and heavy metal.

Data Moshpit is a one-day community event with a heavy metal theme. The sessions will be metal. The speakers will be metal. The atmosphere will be metal. There will be beer and food and if my experience at metal shows in Germany have taught me anything, lots of brothers of metal and sisters of steal wearing leather and denim and the coolest jean jacket vests with giant Manowar back patches.

The Data Moshpit call for speakers is open now, and closes on July 7th. You can submit metal-themed sessions of your own, or just check out the exciting sessions already submitted.

If you’ve got a heart of steel and data for blood, this is the one event of 2023 that you cannot afford to miss. And if you’re not into metal[2], you should come anyway. It will be a great opportunity to connect with the community and learn something new. I hope to see you there!

[1] Yes, I made this joke. Don’t be CROSS.

[2] You can still be my friend, don’t worry.

Look for me on Mastodon

I’ve deleted my Twitter account.

I started using Twitter in 2011 as a work-adjacent social network, because that’s where the Microsoft data platform community hung out. When I left Facebook in July 2018 it became my primary social network. Back in November I created an account on Mastodon, and stopped using my Twitter account. Now that Twitter account is gone.

My reasons for leaving won’t be surprising to any long-time reader[1] but that isn’t why I’m writing this post. For anyone who wants to continue following my social media presence, you can find me at After a few months my experience on Mastodon is very similar to my experience on Twitter, just with fewer abusive trolls, more alt text for images, and missing a few familiar faces here and there.

If you’re interested in checking out a social media platform that feels more like Twitter used to feel before its recent decline, the best place to start is probably If you’re interested in telling me that I’m a “wokester” and am just “virtue signaling” the place to reach me is probably Twitter.

[1] This post from December should sum things up for you if you need a refresher.

Looking back: Five years on the Power BI CAT team

Five year ago this week I joined the Power BI Customer Advisory Team, commonly known as the CAT team.[1]

I didn’t know it at the time, but in early 2018 I made the most positive change in my two-plus decades working in tech. The work since then has often been challenging and difficult, but I have never felt more satisfied or more appreciated[2] than I have on this team. As I’ve shared before, I’ve worked in tech for over 25 years, but my time on this team has been the best of the lot, by a wide margin.

Why has my time on the Power BI CAT team been so amazing? Looking back over the past five years I see five key factors to my success.

A team that needed the unique strengths I bring
In 2018 the Power BI CAT team already had some of the world’s leading experts on Power BI and the Microsoft business intelligence platform. Although I’d been a data professional in my pre-Microsoft career, I was feeling a little stale on the hands-on side of things, and was definitely feeling my share of impostor syndrome as I started my new role.

What I found was that my product management, data warehousing, ETL, and data governance experience filled gaps in the team’s existing strengths. From the beginning I was welcomed and empowered to make suggestions and implement solutions to problems that the team had not previously been able to solve. Given the prevalence of “not invented here syndrome” in some parts of Microsoft, this welcome wasn’t something I could take for granted.

A team with strengths that complement my weaknesses
When I joined the Power BI CAT team I was anything but a Power BI expert.[3] I honestly don’t know why they hired me, because even in retrospect I don’t believe I was a great fit for the team’s priorities when I joined. Although I did bring my own unique strengths, the fact that I didn’t know the difference between Live Connection and Direct Query[4] had the potential to introduce challenges.

The entire team had my back. When I reached out to request assistance or to ask “dumb” questions, everyone stepped up to help out. They valued me and my unique background and perspective. They knew that it was a smart investment to help me get over these “new to space” speed bumps, and to get up to speed on the ins and outs of Power BI. They were right, of course, but given the competitive nature of some past teams, this support also wasn’t something I could take for granted.

A manager who consistently provides opportunity, trust, and support
It’s taken a real effort to keep this post from becoming fawning Marc Reguera fan appreciation, but I cannot overstate the impact made by having a great manager.  I’ve worked for some wonderful and helpful managers over the years, but I have never before worked for anyone with Marc’s gift. He deeply understands people’s strengths – what people are good at and what gives them joy and energy. He then finds high-value problems for them to solve using their strengths, and which align with the evolving goals of the team.

Time and again Marc enabled me to try new things, and provided a safe space for me to work outside my comfort zone. Marc tirelessly promoted my work and the results I delivered, and he consistently pushed me to do more and to think bigger. Marc saw strengths in me that I didn’t recognize in myself, and he gave me the opportunities to exercise those strengths. I put in the hard work, but Marc provided the environment for my work to deliver the most impressive results.

A leader and sponsor who earns and maintains my trust
How has Power BI gone from a new offering in 2015 to being the clear leader in business intelligence for many years running? This is a bigger question than I can answer in a blog post, but a lot of the answer is understanding what customers need, and relentlessly delivering improvements based on this understanding.

When I joined the Power BI team in 2018 we already had well-established channels for listening to users, and a team culture that prioritized acting on user input. What we didn’t yet have was a similarly strong channel to understand what large enterprise customer organizations needed to drive broad adoption and manage a complex user base. Much of what I’ve done since then has been building this channel and expanding on its scope and impact… but what does this have to do with leadership I can trust?

When you’re building a new customer feedback channel, sometimes you’ll learn things that don’t align with the status quo. Sometimes the feedback you’re sharing contradicts current understanding and plans. In my experience this is one of the most telling tests of an organization’s culture. I’ve worked on teams where sharing truths that don’t fit leadership’s narrative was a career-limiting move, but this is not the case on the Power BI team.

Instead, I’ve found the strongest executive sponsorship I can imagine, with leaders who are eager to learn about customers’ lived realities, and who are willing to change plans and priorities based on what they learn. At every step of the way, Arun Ulag and his leadership team have championed my work, and empowered me to make a bigger difference than I could ever had made otherwise. Having an executive sponsor isn’t only important for building a data culture.

A global pandemic that normalized remote work
This factor doesn’t really fit in with the other four, but if I’m being honest with myself I need to include it. Over the past few years I’ve written and spoken publicly about some of my personal mental health challenges, and how I’ve worked to find and apply the unique strengths produced by these challenges.

One challenge I never truly appreciated until remote/virtual work became the norm was how much energy I spent every day on face-to-face social activities. Walking to a conference room, making social chit-chat as people filter into the room, maintaining appropriate eye contact and body language throughout the meeting, walking to the next conference room, and repeating this pattern all day long. I’m exhausted just typing it.[5]

In all seriousness, I probably expended 30-40% of my total daily budget of emotional and intellectual energy[6] on these non-value-add activities. When I was working in person I could get the job done, but when everyone was working remotely I could thrive. It was like someone had removed a great weight I had been carrying so long I didn’t know it was there, and once that weight was gone I had so much more of everything to give.

Patrick seems excited that I made it through my list of Power BI CAT success factors

This post has ended up very different than the post I intended to write when I sat down at the keyboard, but it’s apparently the post that needed to come out. Sometimes you need to share your gratitude for the people and circumstances that have made your life better in important ways, and an anniversary like this is one of those times.

Five years ago I felt like my career had stalled, and it wasn’t clear to me what I should do next. Since I can’t begin to claim that the past five years of growth and success were planned, the next best thing is sharing a personal retrospective. I hope you’ll be able to look at these factors for my successes and find their parallels in your own life. If you find yourself on a team like this, you may want to stay there. If you find yourself on a team that’s the opposite of the Power BI CAT team, you may want to start looking for your next opportunity.

Here’s to another glorious five years.

[1] Let’s get it out of the way early: Yes, the T in CAT stands for Team. No, I don’t care. Work with me here.

[2] Yes, this appreciation includes bigger numbers with dollar signs next to them, but that is definitely not the most important part of the story.

[3] Let’s be honest – compared to most of my CAT counterparts, I’m still not.

[4] Seriously.

[5] I suspect that readers who have autism spectrum behaviors will be nodding along at this point. I know that it’s not just me.

[6] Or spoons, as my teenager assures me the kids no longer say.

Upcoming Power BI Adoption Pre-Conference Sessions

If you’re going to be near Copenhagen in September[1], Dublin in June, or New York City in May – I have exciting news for you!

On Friday May 5th, I will be joining the incredible Melissa Coates to co-present our “The Hitchhiker’s Guide to Adopting Power BI in Your Organization” full-day pre-conference session as part of SQL Saturday NYC.

On Thursday June 8, Melissa and I will be on the other side of the Atlantic presenting “The Hitchhiker’s Guide to Adopting Power BI in Your Organization” as a full-day pre-conference before the Data Ceili conference in Dublin, Ireland. I’m very excited to be returning to Dublin this year – I was scheduled to speak at Data Ceili 2020, but for some reason that trip didn’t happen as planned.

Finally, on Thursday September 21 I’ll be in Copenhagen, Denmark to deliver a full-day pre-conference session: The Hitchhiker’s Guide to the Power BI Adoption Roadmap as part of the amazing Power BI Next Step conference.

It’s unlikely that Melissa will be able to join me for Power BI Next Step. I’ll still be using the content framework she’s built, but the bottom line is that we’re less likely to stay on schedule during the day, and more likely to have slightly off-color stories to punctuate key learning topics. Depending on your learning style and priorities this could be a blessing or a curse.

If you missed our initial delivery of this session at the PASS Data Community Summit last November, please consider joining us at one of these sessions. Event details and registration links are below!

New York, NY, USA: Friday, May 5, 2023

Decorative SQL Saturday icon

Matthew and Melissa will be co-presenting at the SQL Saturday event in New York City on May 5th. This event will be held at the Microsoft office in Times Square. It’s an in-person session.

Pre-con registration: Hitchhikers Guide to Adopting Power BI – NYC May 5

Dublin, Ireland: Thursday, June 8, 2023

Matthew and Melissa will be co-presenting in Dublin, Ireland at the Data Ceili event on Ju

ne 8th. It’s held at the gorgeous Trinity College. It’s an in-person session.

Pre-con registration: Hitchhikers Guide to Adopting Power BI – Dublin June 8

Copenhagen, Denmark: Thursday, Sept 21, 2023

Decorative event icon for Power BI Next Step event

Matthew will be presenting solo at the Power BI Next Step event in Copenhagen, Denmark on Sept 21st. It’s an in-person session.

Pre-con info: Hitchhikers Guide to the Power BI Adoption Roadmap – Copenhagen Sept 21

[1] If you’ve never visited the Nordic countries in the fall, you don’t know what you’re missing. I’ll always be partial to the islands of Stockholm, but Copenhagen is a close second on my list of places I want to be in September and October.

[2] Believe me, I know how you feel. An entire day with Matthew is a lot.

[3] Shamelessly copied from Melissa’s blog post, of course.

Roche’s Maxim of Community

Roche’s Maxim of Community states:

A community is defined by the behaviors it tolerates.

I played the “maxim” card already a few months ago, I think it’s time to play it one more time, because this is another succinct formulation of a fundamental principle, general truth, or rule of conduct that I need to share[1].

An AI-generated image of a diverse group of people attending a conference

As you read this you might be thinking about the recent change in leadership at Twitter, and how the new leadership is inviting in and promoting prominent neo-Nazis, insurrectionist leaders, and other extremist, anti-democracy, and authoritarian figures, and how more and more members of the technical community are turning their backs on this now-sullied social network. I’m thinking about this too, but I’m also thinking more broadly because any maxim needs to be broadly and generally applicable.

So let’s start with a few examples. If you’ve made it this far I hope you stick with me for the rest.[3]

I’m part of of the global Historical European Martial Arts (HEMA) community. I love training and fighting with swords, and I love the camaraderie that can be found through martial arts and combat sports. When your community activities bring with them a direct risk of serious injury, it’s important to be able to trust your training partner, your sparring partner, and your tournament opponent to keep your safety in mind.

Back in 2017 I competed in a tournament organized and by a HEMA club with an established “Cobra Kai” reputation. I attended with a clubmate who is a fantastic swordsman and all-around martial artist. I was competing in open tournaments. He was competing in the advanced invitational tournament that included the head coach of the organizing club. The invitational tournament was also refereed and directed by members of that club. Yeah.

During the match between my clubmate and the coach of the club running the tournament, that coach exhibited the unsafe and unsportsmanlike behavior that earned him and his club their reputation.

I was in my clubmate’s corner both coaching and taking video. At the end of the day I shared the video[4], and it started making the rounds on HEMA groups on Facebook. Even though “sharing tournament footage so fighters and clubmates watch and learn” is pretty standard behavior, this one caused some waves and started some difficult conversations. I don’t believe that the video showed anything surprising – this was the behavior everyone knew about already, and which they talked about behind closed doors. The video simply shone light on it, and made it harder to ignore, or to pretend you didn’t know.

I started avoiding events where this club was involved. I didn’t make a big deal about it, but when people asked me why I wasn’t going back to a tournament where I’d competed the previous year, I was honest in sharing my reasons. Fast forward to the HEMA event circuit starting back up in 2021, this club is no longer involved in multiple tournaments that they previously ran. Several of their most senior and prominent members have left the club, and started their own.

I’m a pretty small part of the HEMA community, so I doubt my personal actions had that big of an impact – but I know they were part of this positive change. I saw behavior I would not tolerate and I voted with my feet. Others did the same, and the community evolved and grew.

Progressive and inclusive HEMA clubs like Valkyrie Western Martial Arts in Vancouver, BC and London Longsword Academy in London, UK demonstrate this maxim in a positive and proactive way. I’ve already written previously about the aggressive inclusivity that pervades Valkyrie’s culture, so here I’ll focus on a few aspects of London Longsword Academy[5] and their Fighters Against Racism (FAR) initiative.

As the FAR page says, Fighters Against Racism is a reaction to the “unpleasant element” in the HEMA community. If a club displays a FAR poster or banner, people who are offended by anti-racist statements will feel unwelcome – which they are. If a fighter wears a FAR t-shirt or patch to a tournament, they’re sending a clear message to everyone there what they believe, and that they are confident that this belief will be accepted and welcome at the event. My FAR t-shirt[6] is pretty successful at attracting YouTube comments, but so far I’ve never been confronted in person.

A community is defined by the behaviors it tolerates.

If you’re reading this blog (and I have every reason to believe that you are) you’re probably more interested in data and technology than in swords. My next example is more recent, where in August of last year[7] there was an online discussion about the need for codes of conduct at conferences and community events. My tweets have since been deleted, so I’ll reproduce the thread here, starting with the same warning: foul language later on.

The phrase “doesn’t need saying” is a red flag for me when it comes to conversations about communities, events, and codes of conduct.

If it “doesn’t need saying” that certain behaviors are not acceptable, there is no need to not say it, because no one will be offended or feel targeted, right?

For example (here comes that foul language) it probably doesn’t feel necessary to have a “no shitting on the carpet” rule, because who would ever do such a thing? This just “doesn’t need saying,” does it?

But if there was ever one time when someone did shit on the carpet and no one did anything about it, you might start to reconsider. Maybe we do need to be explicit in saying “no shitting on the carpet” for the next event.

What if it wasn’t just one time? What if after your event people were talking about how someone shit on the carpet… they just weren’t talking about it in front of you because your inaction signaled that you were ok with that sort of thing? Might a code of conduct be in order?

Or would it be better to say “I didn’t see the shit on my carpet” or “I couldn’t smell it from where I was” or maybe even “it was just that one time, and the person who did shit on the carpet is an important member of the community”?

What if the idea of a code of conduct feels like a slippery slope? If we tell people they can’t shit on the carpet, what is next? Telling them they can’t shit on the hardwood floors? On the tiles? Telling them they can’t piss on the carpet? Where does it all end???

A community is defined by the behaviors it tolerates. If a community organizer says “this problem isn’t important” that sends a very strong signal – and not a virtuous one. It says “this behavior is ok and I will permit it to continue.”

A community is defined by the behaviors it tolerates. If a community organizer says “this problem doesn’t affect me, so it isn’t a real problem” that sends a strong signal too.

A community is defined by the behaviors it tolerates. If a community organizer says no, this is not ok, this is our code of conduct, and these are things that we simply will not accept, that sends a signal. A virtuous one.

This “virtue signaling” will be heard by the people who have a history of (literally or figuratively) shitting the the carpet, and they’re not going to like it. They might stop participating, and they might make trouble and noise on the way out.

Because the reality is that far too many events in far too many communities have allowed shit on the carpet for far too many years. We’ve just pretended that it’s not a problem, because the people doing the shitting are well-known for other things, and because the people who stepped in the shit generally left in disgust without saying anything. Does it really need saying that you’re not allowed to shit on the carpet? Yes. It does. Your code of conduct is an explicit statement about the behaviors you will tolerate.

You don’t need to be perfect, but being willing to change is a prerequisite to positive change. Admitting that there is a problem is the first step to solving the problem. FFS. /thread

When I wrote that thread in 2021 I was thinking about that HEMA tournament from 2017, where the community event organizers were complicit. Thankfully, the thread was in response to an announcement by the organizers of Data Grillen, DataMinutes, and New Stars of Data posting about their code of conduct. These folks (in this case it was the always incredible William Durkin) know what type of community they want to build, and they were unwilling to back down when a few dudes[8] took umbrage with the news.

Earlier this year, renowned C++ developer, consultant, and speaker Patricia Aas stood up and spoke out when her community continued to welcome an organizer and speaker who was convicted of serious sexual crimes. She made it clear that her community’s milquetoast response was intolerable to her, and she made her voice heard, even though it was likely that this would impact her ability to participate in a community she had helped grow.

Warning: There’s some additional profanity ahead.

I mention this example not because I was personally involved, but because it feels like a concrete canonical example of so many similar stories. There’s some guy. He’s been around forever, and has made serious positive contributions to the community. He’s use these contributions to build a clique, a power base, a center of social gravity and influence that’s about him, not about the community.

When it comes to light that he’s using his power and influence for ends that run contrary to the community’s stated goals and culture his clique stands up for him, often supported by the actions or inactions of those not directly harmed by the guy’s actions.

“Think about all that he’s done for the community,” comes the familiar refrain. “Think about how much good he’s done, and how much we’d lose if not for his contributions.”

Fuck that. Fuck that, fuck him, and fuck his supporters.[9]

Instead, think about how much the community has already lost and will continue to lose because of him. Everyone he has harmed, everyone he has driven away from the community, everyone who has considered joining the community but was repulsed by his behavior and the community’s acceptance of his actions. Think about what each of these people could have contributed.

A community is defined by the behaviors it tolerates. This is why codes of conduct are important.

A community is defined by the behaviors it tolerates. This is why it is important to speak up when you see someone behaving in ways that violate the community’s written or unwritten rules.

A community is defined by the behaviors it tolerates. This is why it’s important to hold the powerful to account, and to hold them to a standard that is at least as high as the one by which the powerless are judged.

A community is defined by the behaviors it tolerates. Your participation in a community is a statement of your acceptance of the behaviors taking place in that community. It doesn’t matter if you weren’t the abuser, if you weren’t directly causing harm, if you weren’t actively shitting on the carpet yourself.

A community is defined by the behaviors it tolerates. Your participation in a community is a statement of your acceptance of the behaviors taking place in that community. If you’re at a party and someone walks in wearing blackface, wearing a white hood, wearing a swastika armband, you get to choose if you leave or if you stay. But if someone wearing a swastika armband joins the party[10] and you do decide to stay because they’re not personally bothering you – congratulations, you chose to attend a Nazi party.

A community is defined by the behaviors it tolerates. What behaviors do you choose to tolerate in your community? Does your community reflect your values or is it time to leave and join/start something better before you get shit on your shoes?

Wow. This ended up much longer than expected. Thank you for staying with me until the end. As is the case with Roche’s Maxim of Data Transformation there’s not really anything new or unique here. I’m saying something you probably already knew, and which was completely obvious once written down – and I took 100 pages to say it. Despite this, I believe it’s important to put in writing, and important to think and talk about, especially these days.

A community is defined by the behaviors it tolerates. Why not find me on Mastodon?

[1] I also haven’t published a blog post since July. The more technical topics I’ve been fermenting aren’t quite ready to be served, and I don’t want the whole month to pass[2] without finishing something.

[2] LOL @ Past Matthew who wrote footnote 1 in August 2021 (and who wrote footnote 2 in December 2021).

[3] Each example is based largely on my personal real-world experience, but deliberately avoids any names or details that would be obvious to people who weren’t already involved. I believe there is a time and a place to “name and shame” but I don’t believe this post is the right place, and I don’t want to encourage any sort of pile-on.

[4] I’m not going to link to the video here, but if you’re motivated you can find it on my personal YouTube channel. It’s the one with the very high view count and with comments disabled.

[5] London Longsword Academy is run by my dear friend David Rawlings, who often reminds us that he is “not straight, but still a great ruler.”

[6] Yes, you can buy one too.

[7] Yes, way back when I started writing this post.

[8]  It’s always dudes, isn’t it? Do better, my dudes

[9] That was the profanity I warned you about. I’m done now. Ok, almost done.

[10] Particularly if they’re personally invited and welcomed by the host of that party.

The Unplanned Career

If you’ve worked in tech for 25 years, you’ve seen some stuff, and you’ve learned a lesson or two. On October 1st, I presented a new session at Data Saturday Atlanta, sharing the story of my unplanned career, and some of the lessons I’ve learned along the way. This was the first time I presented this very personal session; and I’m incredibly grateful for the full crowd that attended, and for their feedback after the session.

My primary goal for the session is to show that you don’t need a computer science degree to build a successful career in tech – and that our industry needs more people from more non-traditional backgrounds.

My secondary goal for the session is to share some of the sharp edges that are typically hidden when people talk about their careers. Everyone wants to share their highlights, but sharing your own pain and failures is harder. This is important, because too often we’re each comparing our own blooper reel against everyone else’s highlights… and nothing good comes from that.

The Data Saturday event was in-person only[1], but I’d had a bunch of people mention they wanted to attend, but couldn’t make it to Atlanta. So…I packed a camera and microphone and recorded the video on my own.

If you weren’t able to attend, please check out the recording, and please let me know what you think!

[1] Please understand that there is no criticism implied here. Organizing a hybrid event is significantly more difficult than organizing an in-person or online-only event, and focusing on in-person community produced wonderful results.

Join me in London for SQLBits – March 8 through March 12

In less than two months I’ll be making my first work trip in over two years, flying to London to present, meet with customers, and learn exciting things at the 2022 SQLBits conference. If you can, you should register today and join me.

Here’s what I expect my week to look like:

  • Wednesday March 9, 09:00 to 17:00: I’ll be back on stage for The Day After Dashboard in a Day pre-conference learning day, co-presenting with Patrick LeBlanc, Alex Powers, and Lars Andersen.
  • Thursday March 10, 14:10 to 15:00: I’ll be joining SQLBits organizer and MVP Simon Sabin for the Maximising everyone’s super powers panel discussion on mental health.
  • Thursday March 10, 18:15 to 19:05: Prathy K from the London Power BI User Group has organized an evening “ask me anything” open Q&A session with a bunch of folks from the Power BI CAT team, which sounds like a perfect way to end the day. You can register for this evening meetup here.
  • Friday March 11, 13:40 to 14:00: I finally get to present on Roche’s Maxim of Data Transformation for a live, in-person audience, and I get 20 minutes to do it!
  • Friday March 11, 14:10 to 15:00: The BI Power Hour returns after a two-year pandemic hiatus, guaranteeing laughs and excitement[1] in a demo- and joke-filled exploration of how not to use Microsoft data technologies in the workplace. I’ll be joined by an international star-studded cast from the Power BI CAT team and the Microsoft data community, and I expect this session to be the can’t miss event of the decade.[2]
  • Saturday March 12, 08:00 to 08:50: I kick off the final day of the conference with Unleashing your personal superpower, an honest and sometimes-painful look at how to succeed in tech, despite your brain’s best efforts to stop you. I’m very excited to have this important session scheduled on the free-to-the-public day of the conference.

When I’m not on stage, I’m hoping to spend as much time as possible at the Microsoft product booth and the community zone. Conferences like SQLBits are an opportunity to have interesting conversations that can be an awkward fit for virtual channels, and I plan to get the most from my week as possible.

Update February 10: I’m planning to be in the community zone on Thursday afternoon immediately following the mental health panel discussion so we can keep that conversation going. I’m also planning to be back on Friday morning at 10:10 to talk about non-traditional career paths. If either of these conversations sounds interesting to you, you should plan on joining me.

Update February 12: My Saturday session has been moved from the end of the day to the beginning of the day. With this change, I can now have more time to hang out in the community zone on Saturday to continue the discussion.

If you’re in the London area – or if you can get there – and if attending an in-person event matches your personal risk profile, I hope you’ll register today and come say hi during the event. I’ll be the purple-haired guy with the mask on.

If you can’t come to London, I hope you’ll still register and attend. Most sessions are hybrid with virtual attendees welcome and included.

[1] Not guaranteeing that you will laugh or be excited. I’m just thinking about me here.

[2] Thinking back on the decade in question, this isn’t as high a bar as it might otherwise seem.

Simplifying the solution domain

My recent posts have focused on the importance of understanding both the problem domain and solution domain in which you’re working, the value of operating in both the problem domain and the solution domain, and some specific resources and techniques for solution-oriented practitioners to increase their fluency in understanding the problem domain. A lot of the message I’ve been trying to get across in these posts can be summarized as “the problem domain is really important, and we need to get better at appreciating and understanding the problems we work to solve.”

This message is predicated on two basic assumptions:

  1. You, the reader, are a technical professional of some sort[1], and you need to deliver technical solutions to people with problems
  2. The people who have problems can’t solve those problems on their own

Let’s look more closely at that second assumption, because it’s becoming increasingly less valid, and less true. And let’s look at it through the lens of… furniture.

Close your eyes and imagine for a moment that you need a table. Let’s say you need a bedside table. What do you do?

As you read through this list you were probably evaluating each option against your own requirements and preferences. Odds are you’ve chosen one or more options at some point in your life. Odds are the criteria you used to decide which options are viable or preferable have changed as your circumstances, skills, and budget have changed.

I couldn’t find Ikea instructions for a bedside table, but honestly I didn’t try very hard

Of course, the decision doesn’t need to be about a bedside table. It could be about a dining room table, or a bed, or a full set of kitchen cabinets. Each option will have different but similar choices, and you’ll likely use different criteria to evaluate and select the choice that’s right for you.

This is also true if the choice is about business intelligence solutions, which may not technically be considered furniture[2]. Close your eyes once more and imagine for a moment that you need a report, which may or may not include a table.  What do you do?

  • You could use an existing report
  • You could start with an existing report and customize it
  • You could start with an existing dataset use it to build a new report
  • You could start with an existing dataset, customize it using a composite model, and use it to build a new report
  • You could work with a center of excellence or BI team to create a dataset, customize a dataset, create a report, or customize a report to meet your needs
  • You could locate or create data sources and build a custom BI solution end-to-end, maybe getting some help along the way if you don’t already have the tools and expertise required for the project

The parallels are easy to see, and they hold up surprisingly well to closer inspection. Just as ready-to-build options make it possible for someone with no woodworking or cabinetry skills[3] to self-serve their own furniture, DIY BI tools[4] like Power BI make it increasingly easy for someone with no data preparation or data modeling skills to build their own BI solutions.

To step away from the furniture analogy, tools like Power BI simplify the solution domain and make it easy for problem domain experts to solve their own problems without needing to become true experts in the solution domain.

Any finance or supply chain professional can use Power BI Desktop to build reports that do what they need, without needing to ask for help. Their reports may not be the most beautiful or best optimized[5],  but maybe they don’t need to be. Maybe “good enough” is actually good enough. Just as it might make more sense to buy a $40 Ikea bedside table instead of spending hundreds or thousands of dollars on something fancier, it might make sense to stack a few milk cartons on top of each other and call it good, at least until you can save up for something better[6]. There is no one size that fits all.

If you are a Power BI professional, it may be difficult to think of the “boards and cinderblocks bookshelf” approach as acceptable, but in most circumstances it’s not up to you to decide. The tools for DIY BI are widely and freely available, and people will use them if they present the most attractive and accessible option to solve their problems. You can’t stop them from building DIY solutions, but you can help them build better ones.

This is where having an effective and engaged center of excellence comes in. Whether you think in terms of problem and solution domains, or in terms of enabling DIY through readily available tools and guidance[7], you can help make “good enough” better by meeting your problem domain experts where they are. They have the tools they need to get started building their own solutions, but they probably need your expertise and assistance to achieve their full potential.

You should help them.

[1] Probably a Power BI practitioner, but who knows?

[2] I have repeatedly seen Power BI referred to as a “platform” which is basically the same thing as a table, so I’m going to withhold judgment on this one.

[3] Someone like me! I married a carpenter and have never found the motivation to develop these skills myself.

[4] DIY BI has a ring to it that SSBI doesn’t have. Why don’t we start using DIY BI instead. DBIY? D(B)IY? D(BI)Y? Hmmm…

[5] They may indeed be the Power BI versions of my DIY home improvement projects.

[6] Please raise your hand if you too had bookshelves made of random boards and cinderblocks when you were in college, and were also happy with the results.

[7] This is the second place in this post where I’ve shared a link to this Marketplace story. If you run a Power BI COE for your organization, do yourself a favor and listen to the story – it will inspire you to think about your COE in different ways.

Please help make Microsoft Teams more accessible

If you’re in a rush, please skip reading the post and instead vote on these two Microsoft Teams feedback items:

  1. “Please stop blinking” – requesting an option to disable the near-constant blinking of the taskbar button for the Windows app for Teams
  2. “Request User-Level Option to Disable GIF Autoplay” – this one is pretty self-explanatory

Thank you for your votes and comments!

Now on with the post…

I’ve blogged previously about the importance of diversity, including the importance of having a diverse team when building software. I’ve even posted about  specific accessibility challenges with the collaboration tool many of use every day – Microsoft Teams.

And in this context, I am requesting your help.

Last week I shared this quick Twitter poll, and over the course of a day I learned that my challenges with Teams’ default behavior – turning the taskbar button orange and blinking every time there’s activity in the app – are not just mine. Nearly 100 people responded to the poll, and over two thirds of them identified this behavior as a challenge for them as well[1].

For me, this constant flashing is like having someone scream at me all day along. If I’m having a challenging anxiety day, it’s even worse. Judging from the replies on Twitter, I’m not alone in this regard either. And because more and more functionality is being delivered via Teams, it’s not like we can simply close the app to make the blinking stop.

I’ve discovered an undocumented and unsupported hack that appears to solve this problem for some users, but it doesn’t appear to work for everyone. Also, it’s an awful hack that’s about as user-friendly as watching YouTube on your Peloton bike…

If this behavior is a problem for you, please take a few moments to vote up on this feedback item, and to add a personal comment as well. The Teams product team needs to hear from their users to understand what’s important, and this is apparently were they’re listening.

Thank you!

[1] This is a pretty vague interpretation of the poll results, so I’ve included the Twitter poll so you can keep me honest.


Thoughts on community

This post is mainly a story about how community has affected my career, and how it might affect yours as well. The post has been sitting in my drafts for a few months waiting for inspiration to strike. That inspiration came in this recent[0] data culture video where I talked about communities of practice inside enterprise organizations, and the ways that positive behaviors can be promoted and encouraged for these internal communities of practice – because the same patterns often apply to public communities as well.

So let’s talk about community.

No, not that Community. Technical community. Community like this:


I started off my tech career as a Microsoft Certified Trainer (MCT) in 1996. I spent much of the next decade as a trainer, mentor, and consultant, but even though I was learning and growing year after year, the pace of that growth felt slow. I quickly became a medium-size fish in a tiny pond[1] and that was pretty much that. My career growth was limited in part by the company I chose to keep.

To be fair, there was an online[3] MCT community where I would often lurk and occasionally post, but I never took real advantage of it. I didn’t feel confident enough to post often, and for some reason traveling to a conference or other in-person MCT event just didn’t feel like something that was available to me – this was something that other people did, not something I could do.[4]

In late 2004 I started thinking about getting back to more training after a few years focusing on software development and consulting. I decided that the upcoming SQL Server 2005 release would be a great opportunity for making this change. Microsoft had made available to MCTs the preview versions of two “What’s new in SQL Server 2005” courses – one for developers and one for admins – and I was going to get certified to teach these courses as soon as they were available to offer. I’d been working with SQL Server since version 6.5, and much of my consulting work included developing solutions on SQL Server 2000, so this was a logical direction that matched my experience, skills, and interest.

To make a long story slightly less long – and because I’ve shared some of the details while this post was sitting in my drafts – that focus on SQL Server 2005 was my jumping off point to become an active member of the MCT and SQL Server communities. I was still doing many of the same things I’d been doing all along, but now I was doing them where more people could benefit, and where more people could see me doing what I did. And people noticed.

People noticed that I knew what I was talking about on technical topics, but mainly people noticed that I engaged in a constructive and helpful manner. That I gave more than I took.[5]

And this brings us to the concept of visibility from that earlier blog post, and the opportunity that comes from being seen kicking ass – being seen doing the great work you do every day. For me, being actively engaged in the MCT community led to my first job at Microsoft. People who knew me because of my community involvement let me know that there was a job I should apply for, and they put a referral into the internal HR systems to make it more likely I would get called for an interview[6], and the rest is history.

For you, being actively engaged in your community – whether it’s the Power BI community or something else – will likely mean something very similar. The details will be different because the context is different, but adding your voice to the communities you frequent is how you let the community know who you are and what you do.

When you answer questions – and when you ask them too – other members of the community will begin to understand what you do, and how you work. When you write a blog post or record a video, more people will begin to understand how you think, and how you communicate. They’ll learn from you, and they’ll learn about you.

This is good.

As more people learn about who you are and what you do, and as more people begin to see and value your contributions, they’ll start thinking about how awesome it would be if you could contribute more directly to their projects and products. For me this meant being asked more frequently to teach SQL Server and SSIS classes, and an increased volume of inquiries about consulting availability.[7] I had more opportunities for more interesting and better paying work because of my engagement with the community, and it changed my life for the better in many ways.

For you it will look different because the context is different, but you can follow the same pattern. Your contributions to the community organically become your resume[8], your marketing web site, your demo reel. Potential employers and potential clients[9] will have a more complete picture of how you work than a job interview can provide, and that can make all the difference.

Implied in this pattern is the positive nature of your community contributions. If you’re a bully or a gatekeeper or engage in other types of abusive behavior… people notice that too. This can become its own opportunity for improvement, because if you’re more mindful about presenting the side of you that you want people to see, the more likely you are to become that better version of yourself.[10]

Engaging with the community changed my life. It can change yours too.

Interesting side note on timing: I joined Twitter ten years ago this month.

At that time I had just accepted a position on the SQL Server Integration Services  (SSIS) product team, and had asked one of my new colleagues where the SSIS community was centered, and he pointed me there. The rest sort of took care of itself…

[0] Referring to this data culture video as “recent” gives you some insight into how long this post languished in draft form after the introduction was written.

[1] This is kind of like saying “big fish in a small pond” but self-aware enough to realize I’ve never been a large fish on any scale.[2]

[2] I am so sorry, and yet not sorry at all.

[3] Two words: Usenet newsgroups.

[4] I’ve thought about this a lot in the intervening years, and believe that the root cause was probably a combination of my rural, poor, opportunity-sparse upbringing, and my mental health challenges, but I doubt I’ll ever know for sure.

[5] I’m generalizing here, and making some big assumptions based on the available evidence. This is what I think people noticed based on the way that they reacted, but only a handful said so. Of course, they typically said so when offering me work…

[6] This is something I have done a few times over the years myself, and there’s no better feeling than knowing I played some small part in helping Microsoft attract new talent, and in helping a member of the community achieve their career goals.

[7] For me it also meant that I roughly doubled my billing rate over the course of 18 months. I had so many inquiries that I was turning down almost all of them because I didn’t have the bandwidth to say yes, and decided to take advantage of the laws of supply and demand.

[8] This 2016-era post from MVP Brent Ozar presents a much more prescriptive approach to this theme.

[9] And potential employees as well, in the fullness of time.

[10] And let’s be honest – if you’re an insufferable asshole who refuses to change, participating in a community is a great way to let people know, so they can know that you’re someone they should avoid hiring, interviewing, or contracting. This is also good.