Dongle Emotions

After letting my bedroom / office get out of hand, I took some time today to clean up and get organized. I wrapped and grouped up my wires and even opened up some of the new USB3/Thunderbolt3 dongles I had ordered to go along with my new MacBook Pro order.

Now I don’t want to get into the current dongle drama surrounding the new MacBook Pro — but I do have a funny story.

A few years ago I worked as a self-employed contractor doing iOS work. I was at a meeting with a new prospective client. Overall the meeting went well and it looked like we’d be working together. At the end I was packing up all my gear and there was an accusation that I had taken their projector dongle. I was fairly certain I was in the right and this was a dongle from my laptop bag but did I really want to risk this multi-month contract for a $30 dongle? It was something out of a Seinfeld episode. Suffice to say, I left the dongle with the client that day to ease tensions.

Don’t mess with another man’s dongle.

These days I mark all my dongles (and I need a ton of them as a traveling instructor not knowing what a room will have) with “ZORN” to alleviate confusion.

Managing Remote Teams

Local company Wildbit has been nice enough to host a running series of meetup events focused on running a software business and all that it can entail. Last night we discussed Managing Remote Teams and as a remote employee myself I was interested to hear what others people had to share. Below are some of my notes.

Context

In attendance we had about 12 or so people. Many from Wildbit (many of their remote people were in town), but we also had a pair from another small (6+) local software company, one from a local company researching coworking and myself, whom works remotely for the Big Nerd Ranch, down in Atlanta.

General Observations

  • Running an all in-person office has unique organization challenges and benefits.
  • Running an all remote office has unique organization challenges and benefits.
  • Running a hybrid in-person and remote office has unique organization challenges and benefits.
  • Even still, things vary based on the size and work of your company.
  • No rules are true for everyone so be flexible.
  • Be prepared to spend time and energy on this.

Why Consider Remote Employees

  • Expands your potential hiring pool greatly.
  • Very helpful if you are using niche technologies where it can be hard to find experts (Closure, Rust, etc.).
  • Potential benefits in having time shifted work (but this can also introduce communication problems, lag).

How to Get Started

  • If you currently have a 100% in-person company, adding remote people will be a significant culture shift. Be prepared.
  • No one wants to be the first remote hire on a team.
  • Consider adding multiple remotes at once.
  • Consider offering work from home to current in-person staff to help the new culture work itself out.

Challenges

  • It can be hard for a remote employee to demonstrate what they are working on.
  • Being remote requires more thorough and regular communication than most people expect.
  • Lots of people romanticize remote work from DHH’s writings and don’t respect the real life challenges of it all.
  • Sometimes with a hybrid company, teams will be setup where you have two people “in office” and one person remote on a project. It can be real easy for the two people in office to share more face-to-face leaving the remote person feel left out.
  • If you have employees in different states / countries, you have to make sure you are following the approbate employment laws of those states / countries.
  • The whole “programming in your underwear” trope is really misguided. Most successful remote people have a schedule, take showers, get properly dressed and have a dedicated work spaces.

Face to Face Retreats

  • Everyone seemed to agree that it’s a bad idea for the remotes to never come together. Everyone benefits from real face to face time so plan for it early.
  • Wildbit has yearly company retreats, where they work, plan for the year ahead and otherwise define the goals and values that should guide all their decisions.
  • Other companies do more vacation oriented retreats to help connect people socially.
  • It was also suggested that depending on the size of the company it could benefit from have some company wide events and then some smaller more team focused events.

Things You Can Do to Help Remote Employees

  • Setup a Slack or HipChat for communication.
    • Additionally try to have people communicate what they are doing. “Starting feature X”, Reviewing PR Y”, “Stepping out to get some coffee”, “Breaking for an hour to watch a conference talk” — sharing these can help people better understand what’s going on.
  • Consider giving them an annual office stipend to improve their workspace; equivalent to the money you’d spend giving them an office in your building.
  • Make sure all in-office systems are available to remote folks. Things like file servers, whitelisted IP API access, etc.
  • Prefer video chat over audio chat. Seeing human faces helps communication and empathy.
  • When running a video chat, consider having even the in-office people stay at their desk and connect to give every “virtual head” its own space. (I’ve also had everyone use their laptop for the video and a shared phone for the voice.
  • If you are presenting and the video is going out to remote people, don’t forget to ask them for questions and check the chat room.
  • If you are a manager and are set up to have 1:1 monthly meetings with in-office people, consider offering bi-weekly for remotes — since they might be more out of sync.

Equipment

  • Some people were enjoying the HighFive video conferencing hardware — though they needed more seats than the current solution offers for their company wide stuff.
  • BNR’s recently been using the YouTube Live service to stream and capture video with fair success for our larger meetings / internal educational talks.
  • One AV tool BNR uses is a toss-able chat box that contains a microphone so after large meetings, during Q and A, the remote folks can hear the questions being asked.
  • The Double was brought up reguarding its use as a virtual presence. It’s cool stuff but of questionable return value.

Hope you enjoyed my notes. If you have anything to share about your own remote work let me know.

Know Your Role: Contractor or Consultant

I guess I could have use a more sophisticated reference in the title like Know Thyself but I can’t help quoting the most electrifying man in sports entertainment, The Rock.

The Rock

Know Your Role!

When trying to breakdown the relationship with your clients and to help define expectations you need to define your role. One high level way to do this is to decide if you are a contractor or a consultant.

A contractor is someone who comes on to a job site to execute. They are given all the specifications they need. They act in a professional manner. They produce.

A consultant may produce as well but their primary responsibility is help design the solution. They work with the client to understand, identify and document the problems and the pains. Then through their lens of their experience in the industry propose a solution. Usually they stick around to help build that solution.

If the client looks to you for help to build the product right, you are probably a contractor. If the client looks to you for help to build the right product, you are probably a consultant.


Personally, I consider myself a consultant. I love designing the solutions and while I can code, and continually strive to improve my craft, coding by itself is not truly fulfilling.

It’s been challenging over the last few years since leaving independent life and working for larger companies. These days I don’t have a lot of involvement in the sales process so by the time I’m working a project expectations are already set and a fair amount of time it feels like we are hired as contractors, which I have nothing against, but if I’m going to be a code mercenary you need to be really good about those specifications and more times than not, they fall short. They explain only the happy paths or they misuse platform norms at the cost of more engineering and two steps back in user experience.

I suspect this phenomena is not an isolated problem but discussion about that will have to wait for a future post.