SCaLE 17x

Last week, I attended the 17th annual Southern California Linux Expo (SCaLE 17x). SCaLE is a conference that I’ve wanted to go to for years, so I’m glad I finally made it. Located at the Pasadena Convention Center, it’s a short walk from nearby hotels, restaurants, and a huge independent bookstore. Plus the weather in southern California almost always beats Indiana — particularly in March.

Having done this a few times before, the SCaLE organizers know how to put on a good event. Code of Conduct information, including contacts, is prominently posted right as you walk in the door. Staff walk around with t-shirts that sport the WiFi information. The break between sessions is 30 minutes, which allows ample time to get from one to another without having to brush people aside if you meet them in the hallway. It was an incredibly-well run conference.

I ended up in the “mentoring” track most of the weekend, which I suppose indicates where I am in this point of my career. “Mentoring” may not be the right word, though. The talks in that room covered being a community organizer, developer advocacy, and a lot about mental health. Quite a bit about mental health, in fact. It’s probably a good thing that we’re discussing these topics more openly at conferences.

The talk that stuck with me the most, though, was one I saw on Sunday afternoon. Bradley Kuhn wondered “if open source isn’t sustainable, maybe free software is.” Bradley compared the budgets and the output of large corporate-backed foundations and smaller projects like phpMyAdmin. I’ll go deeper on that later, either when I recap the Open Source Leadership Summit or in a standalone post.

Bradley also used an “It’s a Wonderful Life” analogy, which is very much my kind of analogy. This may become a longer post at some point, but the general idea is that we have a lot of Sam Wainwrights in the world: people who are willing to throw money at a problem (perhaps with strings attached). Despite being well-meaning, they’re not actually doing that much to help. What we need is more George Baileys: people doing the small but critical work in their communities to help them thrive.

SCaLE was a terrific conference, and I’m looking forward to going back in the future. Especially now that I’ve learned my way around the food scene a little bit.

Don’t celebrate feeling stupid

I recently saw a tweet that offered advice to new Microsoft employees:

My initial reaction was that this is very true and also bad. I said it was a sign that the onboarding process is broken. But there’s more nuance to it. I want to draw a distinction between not knowing all of the pointy ends of a job and not knowing how to do the tasks necessary.

The former is good for personal growth. I wouldn’t want to take a job that I already know exactly how to do; I won’t learn that way. And even when you’ve done the job somewhere else, each organization has unique nuances that it takes time to learn.

Where it gets troublesome is when the difference between what you’re asked to do things you haven’t been taught how to do. Here I mean the internal processes and tooling, not the general act of doing it. It’s reasonable to expect a marketing person to know how to write a blog post; it’s not reasonable to expect them to know how to submit it through your internal tooling.

Perhaps that’s not what Carmen meant, but it’s certainly what came to mind for me. When I joined Microsoft, we had no documentation for what was expected of people in my role and no documentation for how to execute those tasks. So I would have people coming to me for things that I had no idea how to do — or even what they were. In my time there, I tried to document as much as I could so that the next person who joined the team would have a less stressful onboarding experience than I did.

But even if Carmen was talking more about the “not knowing the pointy ends” scenario, it occurs to me that this may not be healthy. Personal growth is great, but if the difference between what you know how to do and what you’re expected to do gets too large, it’s no longer growth — just stress. People I spoke to at Microsoft seemed to embrace the “you’ll feel stupid” part, and maybe that’s unavoidable, but it’s not a good thing to embrace.

In a talk at the Southern California Linux Expo last week, Jono Bacon said something that really stuck out to me. “[Burnout and stress] is a topic that isn’t talked about enough. In our industry, particularly in Silicon Valley, stress is glorified and that’s stupid.” If you’re in a position to help with onboarding new hires, give them the tools to know how to do their job so they can learn how to do their jobs.

Are team building exercises a waste?

Carlos Valdes-Dapena thinks so. In an article for Harvard Business Review, he argues that most team building events are a waste of time and money. He has research to back it up, but I think most people who have participated in hokey corporate team building events would say “duh”. But there’s a difference between Team Building™ and team building.

Team Building™ often consists of contrived situations that seek to forge bonds within a few hours. They’re expensive and elaborate. They may involve cheesy, forced metaphors. Participants feel uncomfortable and coerced.

Team building is not something that can be forced. It can be encouraged, given conditions to thrive. Ultimately, though, it must happen organically. So any team building exercise that’s worthwhile has to be a slow burn. Relaxed, informal lunches can do a lot for helping people work together. I’ve enjoyed trips to a bowling alley and to a cave system.

The key part is “we’re going to spend some time together away from work”, not “we’re going to lock you away so that you become a team”. Even though the goal is to improve team cohesion, you can’t just sit there and expect it. Give people space to socialize and interact on their own terms so that they can form bonds on their own.

This is particularly important for distributed teams. In my experience, even brief face-to-face meetings dramatically improve how I work with others. When I visit offices or run into colleagues at conferences, I try to spend as much time as I can being social. I ended up skipping several sessions at DevConf because I figured the opportunity to have a cup of coffee with a project contributor was more valuable than attending a talk that I could watch on YouTube later.

Good team building exercises are cheap and easy. They aren’t a burden on your team. But they take time.

Avoiding being a remote hermit

Last week I wrote a little bit about my experience working from home. I mentioned that I sometimes work from a local coworking space to get away from the noise of my kids. What I didn’t say is that I do it to be around people — because I don’t. I like being social, but I don’t feel like I miss anything working from home.

I leave the house more often than I’d probably choose to. I think my record is eight days without leaving the house, but it’s almost always much shorter than that. Sometimes it’s as simple as taking the kids to school in the morning. Other times I actually go do things with my friends. But I can’t say I’ve ever felt the need to work from not-house just to be around people.

Part of that is that I often interact with people over text (e.g. Twitter, instant messaging, etc) anyway. In my jobs, I’ve always been able to be relatively available online, so I’m able to keep in touch when I need interaction. And I often spent time on the phone or in video calls with people, so I got that higher-bandwidth interaction, too.

But I can see how someone freelancing or otherwise not interacting with coworkers regularly can quickly become a recluse. The Trello blog recently ran an article about avoiding becoming a hermit. I read it thinking “yeah, this is good advice but I take a slightly different approach.”

For example, I don’t dress up in “work clothes”. I wear shorts and a t-shirt when it’s warm and add more clothing when it gets colder. But I do have a rule that I won’t wear pajamas unless I’m sick. I don’t need slacks and a collared shirt to feel like I’m at work, but wearing pajamas is basically an invitation to not even bother.

I also don’t watch TV during the work day, with rare exception (hello, NCAA tournament!). But I do listen to podcasts. I frequently notice that I don’t really pay attention to what’s been said; they’re really more like background noise a lot of the time. Except when I need to focus on reading, the podcasts don’t really get in the way. I can even write with a podcast playing most of the time.

Overall, not leaving the house is one of the benefits of working from home for me. Life forces me out of the house enough, and I’m just social enough, that I can still get the human interaction I need. Your mileage may vary.

Other writing: February 2019

What was I writing when I wasn’t writing here?

Stuff I wrote

Fedora/Red Hat

Opensource.com

Lafayette Eats

  • Fuel — My favorite coffee shop finally gets a review.
  • Yatagarasu — I finally have grown up ramen!

Stuff I curated

Fedora/Red Hat

Opensource.com

Working remotely or remotely working?

It’s been almost six years since I became a full-time telecommuter. While I won’t rule out working in an office again, it’s hard to imagine at this point. Offices are a nice place to visit, drink the free coffee and soda, and then leave.

I’ve worked for an entirely remote tech startup. I’ve worked as (as far as I know) the only true remotee in a 100-plus person division of a 130 kiloperson company. Now I work on a different continent from my manager on a project where some of the people I work with aren’t even employees of my company.

Across these different experiences, I’ve had both good and bad. But working remotely has not only been personally beneficial, I think it’s made me a better employee. Oh sure, there are times that I just sit there and stare at my screen blankly. Or I’ll absentmindedly surf the Internet instead of doing work. But I did that when I worked in an office.

But working from home means that when I can’t focus on work, I can step away for a few minutes to do laundry or vacuum or read a book to my kid. These short breaks where I can truly get away mean that I can focus that much better when I get back. I was never able to do that working in an office.

When I was working in marketing at Cycle Computing, I would sometimes mow the lawn during the work day. I didn’t need to be immediately available in case of emergency, and I found that the forced isolation of mowing the lawn made it easy to focus. I could do a lot of writing in my head as I mowed and immediately type it up when I got back inside.

I haven’t found that I need to be more disciplined working from home. I have a room with a door that I use as my office, so I have some physical separation between “work” and “home”. I did a few work-from-home days when I was at Purdue and each time I noticed that I was much more productive on those days because I didn’t get involved in a bunch of conversations that I didn’t need to.

These days, I sometimes leave the confines of the house to work from the coworking space I belong to downtown. The main motivation is that my kids are bigger and louder than they used to be, so days when they’re home, they make it difficult to concentrate. And sometimes it’s nice to have a cup of coffee that I didn’t have to make for myself. And now there’s science to back up my decision to stay out of the office.

Personal branding doesn’t have to be BS

Last week my friend Chris O’Donnell (not that Chris O’Donnell) wrote a post on his blog titled “personal branding is BS“. Chris is not big on the idea of the personal brand. He writes

Most of you aren’t good enough to pull off the branding thing anyway. How do I know that? If you were that good, you’d be too busy actually working to post 20 tweets, 4 Facebook updates, and 2 LinkedIn posts every single day trying to convince us you are a thought leader in block chain powered whatever.

And you know what? That’s some pretty valid criticism. It’s easy to find people who are building their personal brand by puffing themselves up without doing meaningful work. Or maybe they did something really cool 10 years ago and they’re just coasting off it for the rest of forever.

But it doesn’t have to be that way. Like with the label “thought leader“, it all depends on how its used. Chris is right to say that brands are “imaginary constructs”, but that doesn’t tell the whole story. A brand isn’t just the name you slap on the box to differentiate the otherwise identical dozens of detergents you produce. Your brand is what people think of when they think of you.

Building your personal brand is important if you want to get noticed for the work you do. You can get noticed without active effort, of course, but putting some work into it helps. Building your personal brand is more than just puffery. It’s sharing your work with others in social media, blog posts, conference talks, etc.

In the same way that companies have marketing departments to let the world know how great they are, people can do the same for themselves. Just make sure your ego’s not writing checks your body can’t cash.

Bureaucracy survival skills

I began my professional career working for a large university. In the first three years, I worked in a small department, but I later spent three years in the central IT organization. I got a lot of exposure to the bureaucratic machinery. Then I went to work for a 25-person company for five years. When Microsoft — a company of over 130k employees — acquired my employer, I was thrown back into the bureaucratic machine. But it turns out my bureaucracy survival skills had atrophied a little bit.

It took about three months before I got my footing and was able to start navigating the bureaucracy again. I like to think that when I’m in shape, I’m pretty good at it. So I’ve collected some of the rules I’ve learned over the years.

  • There are meetings for everything. — You may even have a meeting to plan the real meeting. If your deity is particularly mad at you that day, you’ll have a post-meeting meeting, too. This happens in almost all large organizations. It becomes too large and impersonal for people to keep up on what’s going on, so they’ll have lots of meetings so everyone can stay informed. Even if the meeting could have been an email, it will still happen because that’s the safer option.
  • Meetings will always begin with 5-10 minutes of late arrivals and AV/conferencing troubleshooting. — Computers are so much easier to use than in years past. So much just works. But somehow getting the projector to join the web meeting will continue to elude even the smartest people in the room. And because everyone is invited to all the meetings, they’ll probably be a few minutes late to yours.
  • The only thing worse than being in all those meetings is not being in those meetings. — It sucks spending all your time in meetings instead of doing your job. But decisions are (sometimes) made in meetings. If you’re not included, you’ll be left out of important decisions.
  • Conway’s Law is real. — Anything your organization designs will look a lot like the org chart.
  • People will take your responsibilities when it benefits them and give you responsibilities when it doesn’t. — In a large organization, you need to be visible to get rewarded. So if someone can benefit by doing your job for you, they will do it. But if it won’t benefit them, they’ll try to pass the task on to you.
  • People are more likely to ask for volunteers than to volunteer. — This is related to the last one. It’s easy to put out a call for volunteers. It’s harder to step up and volunteer. This is in part because people will often not volunteer and if you step up every time, you’ll have way too much work on your plate. The solution here is to assign tasks instead of asking or hoping for volunteers.
  • You can say no. In fact, you should. (to travel, to working outside of business hours, etc). — It won’t hurt your performance and it will help your sanity. I wrote about this in greater length last month.
  • Everyone will agree about broken processes, but no one knows how to fix them. — Large bureaucracies will have a lot of processes that probably made sense at one point, but grew or decayed to the point where they are inarguably broken. But how do you fix them? Nobody seems to have a good answer. Sometimes there are people with a vested interest in maintaining the status quo. Other times, it’s just a really big ship to try to turn around and no one has the time to devote the necessary work to it.
  • The only way to find out how to do something is to ask. There will be no documentation, and if there is it won’t be discoverable. — Every once in a while your predecessor will be someone like me who leaves the documentation in a better state than they found it. But for the most part, people don’t even bother writing documentation because they don’t want to, they’re not required to, and it will be out of date by the time someone reads it.
  • References to products will survive a lot longer than the products themselves. — For months, I would hear people at Microsoft talk about “S+”. I figured out from context that it meant a meeting invitation, but I couldn’t figure out why. Turns out Schedule Plus was a product in the 1990s. I was there 20 years after the functionality was merged into Outlook, but I still heard references to it.
  • Interpersonal relationships are how things get done. — Make friends. Make lots of friends. Make friends with people in other departments. Keep in touch with them as they and you move around the organization. Whenever you need something done, it’s much more likely to happen if you know someone you can talk to personally. Relying on official channels will, unfortunately, result only in waiting and inaction.

Those are the lessons I’ve learned. I’m sure there are plenty more. If you have lessons for surviving bureaucracy, let me know in the comments.

CopyleftConf was great, you should go next year

Two weeks ago, I was fortunate to attend the inaugural Copyleft Conference. It was held in Brussels, Belgium the day after FOSDEM. Since I was in town anyway, I figured I should just extend my trip by a day to attend this conference. I couldn’t be happier that I did.

Software licensing doesn’t get enough discussion at conference as it probably should. And among the talks that do happen, copyleft licenses specifically get only a portion of that. But with major projects like the Linux kernel using copyleft licenses — and the importance of copyleft principles to open source software generally — the Software Freedom Conservancy decided that a dedicated conference is in order.

I was impressed with how well-organized and well-attended the conference was for a first try. The venue was excellent, apart from some acoustic issues in the main room. The schedule was terrific: three rooms all day, each filled with talks from the world’s leading experts. I commented to a friend that if the building were to collapse, 80% of the worlds copyleft expertise would disappear.

For me, some of the excitement was just being around all of those people:

Molly deBlanc’s keynote was simultaneously inspiring and disturbing. She spoke of how software freedom matters to everyone, but how it matters to marginalized people in different ways. Ad networks can expose that someone at risk is seeking help. “Smart” homes can be used by domestic abusers to torment their victims. The transparency that free software brings isn’t just a nice-to-have, it can materially impact people’s lives.

The other session that was particularly interesting to me was Chris Lamb’s discussion of the Commons Clause. Chris was more focused on the response of the community to Redis Labs’ decision to adopt it than the Commons Clause itself. He viewed Redis Labs’ decision to adopt and subsequent refusal to abandon the Commons Clause as a failure of the copyleft community to make a compelling argument. Drawing on the work of Aristotle, Chris argued that we, as interested and knowledgeable parties, should have done a better job making our case. The question, of course, is who the “we” is that Chris is exhorting. This is a particularly key question for his advice to proactively address the concerns of companies.

Some of the other talks focused more directly on adapting to a new environment. Version 3 of the GNU General Public License was published in 2007. At the time, Amazon Web Services (as we currently know it) was just over a year old. The original iPhone was released on the same day. While the principles behind the GPLv3 haven’t changed, the reality of how we use software has changed dramatically. Van Lindberg’s talk on a new license he’s drafting for a client explored what copyleft looks like in 2019. And Alexios Zavras noted that the requirements to provide source code don’t necessarily apply as-written anymore.

In addition to meeting some new friends and idols, I was also able to spend some time with friends that I don’t get to see often enough. I’m already looking forward to CopyleftConf 2020.

What’s the future of Linux distributions?

“Distros don’t matter anymore” is a bold statement for someone who is paid to work on a Linux distro to make. Fortunately, I’m not making that statement. At least not exactly.

Distros still matter. But it’s fair to say that they matter in a different way than they did in the past. Like lava in a video game, abstractions slowly-but-inexorably move up the stack. For the entirety of their existence, effectively, Linux distributions have focused on producing operating systems (OSes) with some userspace applications. But the operating system is changing.

For one, OS developers have been watching each other work and taking inspiration for improvement. Windows is not macOS is not Linux, but they all take what they see as the “best” features of others and try to incorporate them. And with things like Windows Subsystem for Linux, the lines are blurring.

Applications are helping in this regard, too. Not everything is written in C and C++ anymore. Many applications are being developed in languages like Python, Ruby, and Java, where the application developer mostly doesn’t have to care about the OS. Which means the user doesn’t either. And of course, so much of what the average user does on their computer runs out of the web browser these days. The vast majority of my daily computer usage can be done on any modern OS, including Android.

With the importance of the operating system itself diminishing, distros can choose to either remain unchanged and watch their importance diminish or they can evolve to add new relevance.

This is all background for many conversations and presentations I heard earlier this month at the FOSDEM conference in Brussels. The first day of FOSDEM I spent mostly in the Fedora booth. The second day I was working the distro dev room. Both days had a lot of conversations about how distros can stay relevant — not in those words, but certainly in spirit.

The main theme was the idea of changing how the OS is managed and updated. The idea of the OS state as a git tree is interesting. Fedora’s Silverblue desktop and openSUSE Kubic are two leading examples.

So is this the future of Linux distributions? I don’t know. What I do know is that distributions must change to keep up with the world. This change should be in a way that makes the distro more obviously valuable to users.