A Million Words Published at Work in a Remote Company

Sara Rosso shares some thoughts on what to document and share, after publishing over a 1,000,000 words while working at Automattic.  Here’s the gist of it:

  • If you’re the go-to person for something in your company, consider how much of it is just gatekeeper information you could document properly to help someone else learn/grow from or work on independently.
  • Separate out processes and historical background from your strategic expertise. Processes and backstory are not really ‘what you know.’ It’s much better to be a person someone asks ‘why’ or ‘when’ to do something vs. the logistics of a ‘how.’ How can and should be documented for others to build off of regardless of your involvement. This should free you up to be more involved in the why, the new, and the next of your work.
  • If you’re repeating yourself in private chats or (gasp!) email on a specific topic, document it. That’s also what drove me to create this blog – being able to answer someone’s question with an answer you’ve already carefully crafted for someone else is a great feeling (and a great use of your time)!
  • Will someone want to know why you decided or executed something a specific way later? Share as much background as possible so colleagues are brought up to speed immediately. Share the setup & thought process you went through, where to find more information, and even the facts, ideas, or information you considered but deemed outside of scope for the particular project. My goal is to hopefully never have someone ask “where did this come from?” or “what’s your source?” or “did you consider this?” (when I had) and instead focus on enriching the discussion or challenging my ideas vs. asking me for information I should have provided in the original post.
  • Gather the best, most complete, or authoritative things you’ve authored and submit them as potential onboarding materials for new team members. Challenge them to ask questions and to find something you need to document.
  • If important progress is made, be sure to update your documentation, or retire in favor of something newer or more complete. We do this by linking from old posts to new ones, and all it takes is a quick comment and a link on an old post.

HAProxy SNI

HAProxy SNI” is pure gold! If you want to have a load balancer for HTTPS traffic, without managing SSL certificates on the said load balancer, there is a way to do so.

The approach is utilizing the Server Name Indication (SNI) extension to the TLS protocol.  I knew about it and I was already using it on the web server side, but it didn’t occur to me that it’ll be utilized on the load balancer.  Here’s the configuration bit:

frontend https *:443
  description Incoming traffic to port 443
  mode tcp
  tcp-request inspect-delay 5s
  tcp-request content accept if { req_ssl_hello_type 1 }
  use_backend backend-ssl-foobar if { req_ssl_sni -i foobar.com }
  use_backend backend-ssl-example if { req_ssl_sni -i example.com }
  default_backend backend-ssl-default

The above will make HAProxy listen on port 443, and then send all traffic for foobar.com to one backend, all traffic for example.com to another backend, and the rest to the third, default backend.

Why I don’t answer most phone calls

The question of the phone call etiquette has been coming up more and more often recently.  Is it polite to call without a prior message or agreement? What time should one call? What’s the decision point for opting for the phone call versus some other communication channel?  These, and many other questions are popping up frequently.

I came across a nice blog post – “Why I don’t answer most phone calls” – which discusses some of the reasons why this particular person doesn’t answer phone calls.  It’s a good quick read, but here is a summary:

  1. Because I’m busy.
  2. Because my agenda and tasks are also on my phone.
  3. Because a call leaves no trace.
  4. Because your communication is worse.
  5. Because repeating yourself is costly.
  6. Because it’s awkward.
  7. Because my memory sucks.

And I do agree with these points.  Call do interrupt and are rarely timed well.  Most people suck at communications, so calls drag on forever.  Whenever something is discussed or decided, there is no trace of it.  And my memory is horrible.

However, I do still answer phone calls.  But my personal expectation is that a call is:

  • either about something really urgent,
  • or I’ve missed a text/message and left it without response for longer than the caller expected (beer for lunch? and it’s lunch already),
  • or it’s from a good friend or family, who I haven’t heard from in a while.

If it’s none of the above, I tend to get irritated and think much lesser of the world around me in general, and a person calling me in particular. :)