Julia Evans

Blogging principles I use

I wrote this set of blogging priciples on Twitter a while back and thought I’d mirror it to this blog. These principles help me publish stuff. (publishing stuff on the internet is hard!).

Here’s a text version of the comic:

be honest about what I know

I constantly write things on this blog like “I’m not sure about this part…”. I try to not be falsely modest (when I do actually know something, I try to just state it without hedging), but when I don’t know something, I say so.

I like doing this because it lets me write about things a little out of my comfort zone without worrying about misleading someone.

Also – I just think it’s important for people to admit when they don’t know something. I did a keynote recently at SRECon (a conference in my field). It’s possibly in my interest to appear like a Serious Expert who you should listen to. But instead I decided to start my talk abstract like this:

I don’t always feel like a wizard. I’m not the most experienced member on my team, like most people I sometimes find my work difficult, and I still have a TON TO LEARN.

This always feels like a bit of a risk (“will people take me seriously? will it be bad for my career?“). I’m always a little relieved when I read things like this review of my talk (from this article)

Yet this honesty conveys the enticing reality of the work. Distributed systems are inherently complex, consisting of myriad components, any combination of which can cause knotty problems, especially at scale. Like a good detective, a dedicated SRE follows the facts where they lead, learning along the way. The combination of humility, curiosity and bravery makes the work seem as compelling as a good episode of CSI.

The surprising and delightful thing to me about being honest on this blog is – a lot of the time people love it. They’re like “I see – she knows a lot, she’s good at what she does, and she’s not scared to admit that she doesn’t understand everything. That makes sense! None of us know everything!”

I feel like I’m pretty lucky to be able to do this.

try to not write anything (too) wrong

I write a lot of things that are a little bit wrong on this blog. I don’t edit that carefully, and I make mistakes all the time. I do try to avoid overly egregious errors though – if I’m really sketchy on the details of sometimes, I do a little research to make sure that I don’t have it totally wrong.

It turns out that making minor mistakes in public isn’t that big of a deal – people sometimes send me corrections, and they’re always really nice about it.

be positive

None of these are meant to be prescriptive, but this one least of all.

I don’t really write negative posts. I think negative posts are important and interesting and valuable but they are not generally what I write.

(as for ‘negative’ posts I love – just from today, this post “epoll is fundamentally broken” is a very good read)

write for a past version of myself

The easiest audience for me to write for is myself! For example, yesterday I wrote a post about a tracing tool called ftrace. The reason I wrote it is that I was frustrated that I couldn’t find a single post that explained what ftrace was and how to use it in a clear way. So I wrote the post that I wish I’d had when I was getting started.

This means I also refer back to my own blog a lot – I put all my favorite ftrace links in that post, and I’ve already used it as a reference to find the articles I like.

stick to my own experience

I don’t usually like to give advice (“you should do X”). Instead I usually just tell stories about my own experience with something, and then people can decide for themselves if that will work for them.

talk about what I’ve learned recently

I like to write about things right after I’ve learned them. Usually then the experience of learning the things is fresh in my mind (“can you BELIEVE this thing about the Java garbage collector?!“) and I can more easily communicate what is confusing about it to a beginner.

At this point I’m pretty good at learning a thing and then turning around after 2 days and teaching it to someone else.

remember it’s OK if not everyone likes it

I write some blog posts that are way more popular than others. The all-time most popular post on this blog is Questions I’m asking in interviews from 2013. It’s good that I’m not waiting to write another post that’s as popular as that one because i may not ever succeed :)

I write about machine learning and containers and linux and meta stuff like asking questions and careers, and I’m pretty sure there is no single person who is actually interested in all of it. That’s okay! I follow all kinds of blogs where I am only interested in like 30% of the posts. I LOVE those blogs.

It’s always tempting to try to optimize my posts to get the most possible page views, but it’s more important to me to just be able to frequently post small things that I find interesting.

ftrace: trace your kernel functions! Bash scripting quirks & safety tips