working remotely successfully – brad greenlee – qcon

This is part of my live blogging from QCon 2015. See my QCon table of contents for other posts.

Etsy does remote better than anyplace else he worked. Alot of people in Brooklyn office and other offices and people working from home office. He uses “remotes” as a noun as shorthand for “remote employees”.

Advice for Organizations
Number one factor for success is critical mass. Having one remote on the team doesn’t work. Having enough makes communication happen in a remote friendly format. Using chat/email/video conferencing rather than in person/physical whiteboards.

Communication

  • Chat – like IRC or Slack. They use channels; not just one on one chat like Sametime or Lync. Have #remotes channel. Virtual water cooler.
  • Shorter, more frequent interactions build stronger bonds than longer, less frequent ones.
  • Etsy is a “reply all” email culture. Use ignore/mute feature so not reading all.
  • A/V – 4 full timers work on A/V. Google hangout wasn’t enough. Switched to Vidio. Remotes type in name of room to join video conference. Remotes never late to meetings so a remote showing on screen reminds the previous meeting to end
  • Make it easy. Don’t want resistance from on sites to including remotes

Info sharing

  • Can attend talks remotely or watch them later
  • Too many people for monthly all hands to attending in person

Other tips

  • For larger meetings, have remote advocate in room – make sure speaker repeats qustions, remotes are header, et
  • Weekly one on ones are more important. Might be only (virtual) face to face. And chance to give insideĀ info everyone in the office knows.
  • Daily standups. Video conferencing in hasn’t worked well because clustered around computer in open office. Async check ins worked better because cross time zones. [we have remotes by phone and it has been smooth. We have a room with a door though and don’t try to do video
  • Make visits special. Take time to talk, have lunch, etc. Make sure to have seat/monitor/etc
  • Try to go remote once in a while to see what person is dealing with

Policies

  • Remotes can visit any time they want and company pays for. He visits quarterly. Goal: appreciation
  • Local employees aren’t free. Company pays for desk. Should pay for remote to have good space too.
  • Responsive IT group.
  • Mailed hoodies in advance so everyone got on same day
  • Be mindful of decisions and how they affect remotes. Ex: Friday afternoon beers exclude remotes

Obstacles

  • Open office plans suck – not many quiet spaces to speak to remote
  • Remote collaboration is hard – ex: pair programming. Haven’t gotten enough experiencewith a tool to get past this. Don’t have a good virtual whiteboard tool yet.
  • Fear of remotes/fear of unknown

Advice for remotes

  • Visit at least once a quarter. Socialize when there. Visiting to talk to people; not to sit in corner and code
  • Make sure have proper work environment at home or find a co-working space
  • Some people need a dedicated space for work at home
  • Don’t forget to go “home” at end of work day. If start at 7am to sync with East Coast, don’t feel bad about ending at 3pm.
  • At disadvantage in being heard/seen, so put extra effort into being noticed.
  • Support each other; talk to other remotes
  • Mixer app – created app to randomly pair people and suggest they talk

Q&A

  • With open office, do headsets help with noise? Sometimes. Other times, cut in and out. People often don’t have a quick call to avoid disturbing neighbors
  • How do you evaluate remote people? Same as in office. What do you get done
  • How look for workers and find those good fit for remote culture? Networking. % of remotes depends on job function
  • If all remotes used to be in person and are now far away, don’t have critical mass. How address? People at company a long time to handle being only remote person better. [presumably because already have network]
  • Agile and remotes? There was a presumption this can’t work. [I disagree and commented to that effect.]

Good talk from both points of view (company/team and remotes). I also saw an underlying theme that Etsy supports remote to get the best employees. Not to save money on office space. Good intent.

engineer retention – erran berger – qcon

This is part of my live blogging from QCon 2015. See my QCon table of contents for other posts.

make talent #1 priority

Why should you care about retention- leaves gap in knowledge, morale and resources to do work, your competitors are making progress while you try to re-hire and re-train.

Everyone is trying to be recruited on linked in. Startups/new company IPO threat in San Francisco (ex: uber)

#1 – on day 1, make team a process
There is a taboo about talking about what happens after they leave. talking about career, doesn’t put thoughts in their head. If you know what they want, you can form a partnership and find internal opportunites as they come up.

Do you know if person wants to be a manager or individual contributor. And know if/when changes.

They recognize that everyone is going to leave linked in one day. Discussing goals makes journey ore transformative. More learning. More growth. More throwing self at these oppportunties. The idea is to try to make it so wil grown more by staying than leaving.

This gets people to talk about leaving before already decided so other opportunities n come up.Sometimes still leave,but at least a conversation.

#2 – maximize employee engagement
Competitors are doing the same thing as you. How keep engaged when having problems – financial, support time, etc.

    1. Inspire – knowing big picture makes it so tasks don’t feel repetitative
    2. Challenge
    3. Inspiration

#3 – talk about recognition

    1. People need to know they are seen and valued – don’t want to feel invisible
    2. People stay where seen/appreciated
    3. Receiving feedback is difficult for most people – even if they say “no big deal” still means something
    4. Needs to be specific, timely and personal. Not just “good job guys”

be prepared – by time person comes to management about leaving is too late.

    1. Observe – behavior change
    2. Assess – personal? work related? intrest. Reasons engineeers become unhappy include- FUD, friends leaving, lack of opportunity, nobody is listening (never solve problems), lack of recognition
    3. Connect – try to discuss/openup. Leave the office; go for a walk. People more comfortable opening up when elsewhere. The goal is to find out root cause. They might not know or be able to articulate it. Don’t argue about how they are wrong about wha perceving. Be emotionally supportative. Try to buy time to solve actual problem.
    4. Act with urgeny – if not highest priority, is it worth retaining person

Q&A

  1. What if eeryone can’t be lead? People get caught up in title. See why want? Titles are flexible. Look at impact.
  2. How deal with public feedback? Better to be individual than public. Some people prefer one-on-one communiction to public. Give example to show paying attention
  3. Some people like to move around. If understand objectives, know like to move around. And why? Is it about new languages?If just about change, they should leave. Three months isn’t enough time to learn something.
  4. What can non-managerial senior engineers do? Mentoring. Safe erson to talk to
  5. What about people who change jobs once a year? Average attention span for a new thing is 12-24 months. It’s a bell curve though [Luckily tech changes often so the “same thing” changes overtime]
  6. What happens if not ready to do what want? Coache. Help get there. Create “apprentice manager” role to give it a shot.

Interesting and a lot applies to communication in general. Including mentoring/tech leadership.Not just about retention. That said, it was mostly about management stuff.

Dodge disasters and march to triumph as a mentor – jesse jiryu davis – qcon

This is part of my live blogging from QCon 2015. See my QCon table of contents for other posts.

Coding isn’t enough to be a good engineer.

“Mature engineers lift the skills an expertise of those around them” – John Allspaw “On Being A Senior Engineer” – bit.ly/senior-engineer

Must understand why doing things. Teaching to fish is an essential skill at this level.

Why to be a good mentor?

  • Mandatory for career advancement
  • Needed for their careers too. Having a mentor is often the difference in staying in the industry
  • Your company needs you to mentor junior engineers because they need senior engineers. Who are hard to hire
  • Our industry’s future. The next generation is trained by us, not by university

Need – vision, goals, mentor with expertise Need to be able to evaluate them and provide feedback

Becomes negative feedback loop. Think if bad and fail, won’t have to do it again. Just witing for time to pass. Never get better if don’t want to try.

Good to have small/clear goals so can progress/grow. Within vision of company. Good if like mentee/stay in touch have lunch/etc. [I agree. Easier to respond to feedback when have trust]

Lessons learned by speaker

  • Be eagar to help. Or at least appear to be. If you look like you are angry when someone asks for help, they will be afraid to ask. Need to seem excited to be interupted. (or preferably actual be). You don’t want your apprentice to be blocked. He/she isn’t learning anything and you can’t evalulate. We overemphasize figuring things out on your own.
  • Know what your apprentice doesn’t know. ex: github, pm, working on one thing at a time. Try to anticipate these questions. [This is why I like a buddy system when there are mutiple new people. It’s harder to keep track of what multiple people are up to]
  • Admit when you don’t know. It models that it is ok to not know things an not be embarassed when don’t know. Also helps teach problem solving
  • Ask apprentice for help. Can do code review even if don’t find much/anything. Still learn. Still create good patterns

Excuses for why not to mentor

  • “I’m an introvert” – controlled interactions are easier. Predicatable. Apprentice is likely to be an introvert too so understand each other. Introverts listen. Can develop a relationship
  • “I can’t explain what I know” – can teach by working together; don’t have to explain to teach. If it can be explained, it probably is in a book somewhere
  • “I’m a bad mentor” – It is a skill that improves with time/practice
  • “I just want to code” – Some people don’t like leading young people. History of craftsmanship with master/apprentice relationship. Making the investment can change how you think of yourself. Satisfying feeling when work

Q&A

  1. I asked about you becoming Google for trivial facts by never letting your mentee block. He said that he thinks we are so far on the side of not wanting to be interrupted that trying to always be open will help shift to middle. Someone brought up the idea to timebox that window. Such as an hour of blocking max.
  2. How do you balance how much time on your work vs apprentice? Your apprentice is the #1 priority.
  3. How deal with multiple apprentices? Best if one to one. Cuts back on pain of being interupted
  4. Interns provide muscle. Should intern be involved in your project or a separate one? Interns are not muscle. Not significant productivity compared to what take from you.[I disagree. I think we came out ahead four of the five summers we had an intern on my team]
  5. Can be scary to mentor. Imposter syndrome. Knowledge atrophy. Ok to admit what don’t know. Have wisdom even if less tactical

I like the session. A case study of good/bad internships was a good way to present the material.