Cum să lucrezi de la distanță și să fii în continuare cel mai bun
Publicat: 2022-03-11Ryan Wilcox a prosperat ca angajat la distanță de aproape 10 ani și acum lucrează atât ca consultant, cât și ca dezvoltator pentru companii din întreaga lume, atât ca inginer Toptal, cât și ca fondator al propriei firme. În prezent, lucrează cu normă întreagă pentru Fanzter, o companie de produse web și iOS.
Centura de scule a lucrătorului de la distanță
Începerea unui nou concert de la distanță sau de lucru de acasă, fie că este vorba de un proiect contractual sau de un loc de muncă cu normă întreagă, poate fi puțin intimidant dacă sunteți obișnuit să mergeți într-un birou zi de zi.
Dar acest stil de angajare este în creștere în popularitate, unele companii foarte notabile împrumutându-i aprobările lor.
Am lucrat cu succes de la distanță folosind aceste instrumente de ani de zile la proiecte de diferite scări și durate. Cu această postare, sper să enumer câteva dintre cele mai bune practici pe care le-am luat pentru a lucra într-o varietate de situații. Ghidul de la distanță și de lucru de acasă variază de la recomandări specifice pentru software și hardware, la sfaturi pentru atingerea termenelor limită ale echipei tale.
Configurarea la distanță sau a biroului de acasă
Nu pot sublinia suficient importanța de a avea o configurație corectă a biroului. Vă va face atât mai productiv, cât și mai profesionist. De exemplu, un set cu cască este crucial pentru a evita ecoul în timpul apelurilor online; lucruri mici de genul acesta merg foarte mult atunci când lucrezi ca telecomandă.
Iată câteva instrumente pentru lucrul de la distanță pe care le consider esențiale în propriul meu birou de acasă:
- Căști . Îmi plac foarte mult căștile cu fir, în special, pentru că nu rămân fără baterie în momentele critice. Îl vei purta mult, așa că asigură-te că ai ceva confortabil. Am două căști iMicro: una pentru birou și una pe care o împachetez în geanta de laptop. Ca cască de geantă pentru laptop, are două calități grozave: deoarece este alimentată prin USB, nu trebuie să-mi fac griji că țin bateriile încărcate și este foarte ieftin de înlocuit dacă mi se sparge în geantă. De fapt, consider că acest set cu cască este puțin inconfortabil pentru apeluri de conferință lungi; dacă faceți multe dintre ele, atunci vă recomand Corsair Vengeance 2000: o cască confortabilă, fără fir, cu capacitate de baterie, care vă permite să lucrați toată ziua. (Apropo: niciunul dintre acestea nu este link-uri de recomandare.)
- Un loc liniștit de gândit , cu o ușă care se închide – mai ales dacă locuiești cu alți oameni și mai ales dacă ai o familie.
- Conexiune la internet stabilă sau conexiune bună de rezervă. De exemplu, am DSL și am configurat tethering pe telefon dacă DSL se stinge. Dacă întâmpinați în mod constant probleme cu Skype sau renunțați la apeluri, deveniți mai puțin fiabil și mai puțin profesionist în ochii altora care ar putea încerca să gestioneze mai mulți angajați la distanță.
- Skype . Acest lucru este bun pentru apeluri conferințe ad-hoc, mesagerie instantanee cu clienții sau chiar crearea de camere de chat cu ceremonie scăzută.
- SkypeOut , care vă permite să preluați și să efectuați apeluri de pe telefon către contactele Skype. Acest lucru este minunat, mai ales pentru momentele în care sunteți departe de computer și (ați calculat greșit un timp, clientul are o urgență etc.).
- Fierbător electric . Uneori vreau cafea fierbinte, dar nu vreau să-mi deranjez fluxul ca să iau.
- ulcior cu apă de galoane . Pentru ceainic, sau pentru băut. Pentru sesiuni lungi de codare sau apeluri conferințe lungi.
Unele dintre acestea sună evidente, dar ați fi surprins de numărul de telecomenzi care nu ating toate notele aici. În calitate de dezvoltatori, avem nevoie de un spațiu liniștit pentru a gândi, neîntrerupt. Și, ca lucrători la distanță, avem nevoie de un loc liniștit pentru a găzdui apeluri conferințe, întâlniri, sesiuni de programare perechi etc., neîntrerupt. Doar lucrul pe canapea nu este probabil o soluție bună de lucru la distanță pe termen lung.
Instrumente software
Există o grămadă de instrumente software bune pentru a completa mediul de dezvoltare tipic și pentru a vă ajuta să depășiți provocările asociate cu munca de la distanță. Iată câteva care îmi plac foarte mult:
- AwayFind , care este bun pentru e-mailurile urgente, în special pentru mesajele de ultimă oră de la un participant la o întâlnire, deoarece vă redirecționează mesajele prin SMS.
- Time Zone Converter , pentru lucrul cu clienți și colegi din întreaga lume. Îmi place Time And Date's World Time Clock, Every Time Zone, World Time Buddy sau The Time Now pentru o versiune mai accesibilă pentru persoanele cu deficiențe de vedere.
- Camere de chat/IRC pentru toți membrii echipei. Aceasta poate fi formală (de exemplu, o cameră Campfire) sau doar o cameră de chat Skype (în stilul Keep It Simple, Silly).
- Bug tracker – acesta merită propria sa secțiune, așa că vezi mai jos.
Când planificați întâlniri, confirmați întotdeauna ambele fusuri orare. Și când primești o invitație, ar trebui să faci întotdeauna calculul invers și să te asiguri că ai aceleași numere. Dacă întâlnirea implică mai multe fusuri orare, îmi place să includ și ora UTC. Deoarece toată lumea ar trebui să-și cunoască decalajul față de UTC, aceasta este încă o verificare pentru a vă asigura că toată lumea este pe aceeași pagină.
Am fost într-o echipă Rails de dimensiuni decente în urmă cu câțiva ani. Mai mulți membri ai echipei au lucrat de la distanță pentru cel puțin o parte din timp, iar cultura echipei a fost că se va lucra mult seara. Am propus să înființez o cameră de chat prin liderul oficial al echipei de la acea vreme, arătând către Campfire sau un alt serviciu de chat plătit. Au trecut câteva săptămâni fără nicio acțiune și am decis să înființez o cameră de chat Skype doar cu dezvoltatorii, pentru a-mi testa teoria conform căreia o cameră de chat ar fi un atu pentru echipă. Acest experiment s-a dovedit foarte reușit - atât de reușit încât am continuat să folosim chatul Skype în loc de o altă soluție. Această cameră de chat Skype era încă în uz când am părăsit proiectul aproape un an mai târziu. Uneori, simplu poate fi cea mai bună opțiune.
Mai târziu, în timpul unui termen critic pentru același proiect, am înființat o cameră de chat Skype care includea dezvoltatori, analizenții de afaceri, managerii de proiect și clientul, astfel încât întrebările să poată fi adresate rapid de către grupul general. Deși nu este la fel de activă ca camera de chat destinată dezvoltatorilor, a funcționat încă foarte bine. Chaturile Skype pot fi moderate și controlate de unele comenzi de chat de grup, setarea rolurilor de chat și setarea permisiunilor de acces, ceea ce vă permite să personalizați cu adevărat camera de chat în funcție de cazul dvs. Chiar și o astfel de simplitate poate îmbunătăți productivitatea de la distanță.
Cele mai bune practici de lucru la distanță: Urmărirea erorilor
Îmi place să știu trei lucruri dintr-un instrument de urmărire a erorilor pe care îl folosesc:
- La ce lucrez acum?
- Ce am în farfuria mea pentru următoarea versiune a acestui software?
- Care sunt livrabilele întregii echipe pentru această versiune a software-ului?
Fiecare dintre acestea are un scop.
În primul rând, „La ce lucrez acum?”: Când lucrați într-un birou tradițional, aveți discuții de fundal – acest lucru vă oferă o idee generală despre ceea ce fac toți ceilalți. Un marcator explicit în sistemul de urmărire a erorilor care declară „Da, lucrez activ la asta chiar acum”, poate introduce un model și o senzație similare în munca de la distanță.
În al doilea rând, „Ce am în farfuria mea pentru următoarea ediție?” înseamnă „De ce erori sunt responsabil” sau „De ce erori mă ocup”. În fiecare echipă există, cu siguranță, unele dus-întors, dar este, de asemenea, bine să știi pe cine să întrebi dacă vrei să iei o eroare sau dacă ai nevoie de ajutor pentru a-ți finaliza erorile pentru lansare.
De asemenea, este posibil ca echipa dvs. să nu funcționeze deloc așa: de exemplu, fluxul dvs. de lucru ar putea fi în cazul în care fiecărui dezvoltator i se atribuie o singură eroare pentru a începe și alege grămada nealocată atunci când singura lui eroare este terminată. Acest lucru poate fi și productiv.
„Următoarea lansare a software-ului” nu trebuie să fie ceva mare – am fost în echipe în care „următoarea lansare” însemna „Peste 3 zile, vom lansa o nouă versiune alfa pentru client ”. Dar este totuși bine ca toată lumea să știe ce urmează în această nouă versiune. Mai ales dacă alegeți bilete nealocate când biletul actual este complet.
Am inclus câteva recomandări pentru anumite dispozitive de urmărire a erorilor în partea de jos a postării.
Cele mai bune practici de lucru la distanță: comunicare în echipă
Pentru unii, comunicarea în echipă este cea mai intimidantă parte a lucrului de la distanță sau de acasă. Dar aceasta va fi o problemă numai dacă o lăsați să fie .
Într-un birou, în timp ce te plimbi pe lângă toată lumea în drum spre locul tău, există un pic de glumeală, oamenii spunând „Bună ziua”. Colegii tăi știu că ești la serviciu pentru că te văd acolo, la birou, lucrând.
Lucrătorii de la distanță trebuie să fie puțin mai explici – nimeni nu știe că lucrezi decât dacă le spui . Dar dacă stabiliți practicile de comunicare potrivite, colegii dvs. vor fi disponibili la apăsarea unui buton, mai degrabă decât la o plimbare prin birou, la lift etc.
Aceste sfaturi se aplică mai mult pentru un angajat gestionat de la distanță ca parte a unei echipe mai mari, dar pot fi utile dacă sunteți doar dvs. în calitate de dezvoltator unic.
Fă-ți simțită prezența: nu devii invizibil
Am luat câteva dintre aceste idei din Podcastul Wide Teams Episodul 48.
La începutul zilei, accesați IRC (sau orice instrument folosit de echipa dvs.) și spuneți „Bună ziua” , discutați despre cum decurg zilele oamenilor etc., etc. Chiar dacă înseamnă să intrați pe IRC și să întrebați despre copii, weekenduri, echipe sportive sau hacking de weekend. Când oamenii știu că în prezent lucrezi din greu acasă, nu devii invizibil. Construiește o relație și spune oamenilor că ești acolo .
Discutați cu oamenii pe chat și asigurați-vă că rămâneți implicat cu colegii dvs. Acest lucru este diferit de atunci când dai peste oameni în camera de cafea etc., etc. Trebuie să iei legătura în mod explicit și să rămâi în legătură, astfel încât atunci când comiți cod sau ai nevoie de asistență, oamenii să fie pregătiți.
Mesaje „Ziua de început”, „Ora prânzului” și „Întoarcere”.
Pe lângă faptul că vă faceți simțită prezența, ar trebui să anunțați și colegii de la distanță când nu lucrați. La fel ca într-un cadru tradițional de birou, nu vrei să dispari pentru tot restul zilei și să-ți lași colegii agățați.

Dacă faceți parte dintr-o echipă cu alți dezvoltatori sau gestionați angajați la distanță, este logic să vă înregistrați când vă începeți ziua de lucru. Un simplu „Bună dimineața, tuturor” pentru a le spune oamenilor că sunteți la birou gata să începeți lucrul la proiect și nu mai sunt acasă sau în pat.
Trimiterea mesajelor „Întoarceți-vă în 1 oră” pentru prânz sau pauze de lucru în timpul zilei este de asemenea plăcută. Lucrul de la distanță este excelent pentru multe lucruri, dar un scenariu îngrijorător este că îi puneți o întrebare colegului și nu primiți niciun răspuns. Nu răspund pentru că sunt plecați 30 de minute? Sau pentru că sunt adânc în zonă și nu ascultă discuții? Poate într-o întâlnire? Mesajele „Reveniți în...” pot atenua aceste preocupări și pot ușura fluxul de lucru.
Când ai terminat după-amiaza, anunță oamenii când te vei întoarce. Poate că este „Ne vedem dimineața” sau „Întoarceți-vă mai târziu în seara asta pentru a termina [x]”. Dar, ca și mesajele „Înapoi în 1 oră”, ele stabilesc o anumită așteptare la care echipa ta se poate adapta.
Există o pornire interesantă numită Sqwiggle care poate rezolva unele dintre aceste probleme (deși nu am încercat-o încă). Pe lângă faptul că vă fac o poză la fiecare câteva secunde, le permite membrilor echipei să facă clic pe imaginea dvs. pentru a începe conversația video/audio, precum și oferind o componentă de chat text. Ideea din spatele imaginii este să vezi dintr-o privire dacă ești la computer sau nu. (Nu este nimic mai rău decât să încerci să discuti cu cineva online și să nu răspunzi rapid. Sunt prinși de altceva? În adâncime în zonă? Nu vezi notificarea de chat? În baie chiar acum?). Am auzit de Sqwiggle on the Wide Teams Podcast Episodul 83.
La proiectele în care puteți configura cele mai bune practici
Concertele de freelancing la distanță sunt întotdeauna diferite. (Asta face parte din apel!) Uneori ești introdus într-o echipă existentă de dezvoltatori doar ca creștere a personalului. Poate că această echipă este împreună de ceva timp și, în acest caz, au stabilit deja practici de comunicare.
Pe de altă parte, uneori ești singurul dezvoltator al proiectului, lucrând cu un client non-tehnic. Vă puteți configura propriile bune practici de dezvoltare a software-ului și puteți avea un anumit control asupra modului de rulare a operațiunii. Mai jos sunt câteva dintre cele mai bune practici din deceniul meu de experiență de lucru la distanță. În cea mai mare parte, acestea sunt direcționate către programe de jumătate de săptămână (20 de ore/săptămână) sau de o săptămână întreagă (40 de ore/săptămână).
Întâlniri Standup
Este ceva de spus despre organizarea de întâlniri standup pentru a vorbi despre stadiul proiectului. Acestea sunt foarte frecvente în birourile tradiționale, dar nu există niciun motiv pentru care nu pot fi productive pentru echipa de la distanță: sunt doar o altă modalitate de a consolida comunicarea între cele două părți: client și dezvoltator.
O întâlnire stand-up tradițională vă întreabă la ce lucrați ieri, la ce veți lucra astăzi și dacă există obstacole în calea dvs. Acest format poate funcționa sau nu, având în vedere dimensiunea echipei dvs.: dacă este un singur proiect de dezvoltator, atunci aceste întrebări reale nu au sens.
Cât de des ar trebui să aveți o întâlnire standup depinde într-adevăr de dimensiunea și cultura echipei. Cu toate acestea, iată recomandările mele:
- 1-3 dezvoltatori: 2 întâlniri în stil standup pe săptămână
- 4+ dezvoltatori: întâlniri zilnice standup
Cu 1-3 dezvoltatori, aceste întrebări sunt în mare parte de la sine înțelese: știi ce face fiecare dezvoltator pentru că este ușor să-i urmărești munca individuală pe măsură ce își caută biletele: toată lumea știe ce face toată lumea, pentru că pur și simplu nu sunt atât de mulți oameni care fac. muncă.
Cu echipele mai mari de la distanță, există mai multe părți în mișcare: doriți să vă asigurați că nimeni nu calcă pe picioarele virtuale ale nimănui, reproducând munca sau făcând modificări incompatibile.
Având în vedere structura de plată pe săptămână a Toptal, două întâlniri pe săptămână oferă clientului suficient timp pentru a-și exprima îngrijorările cu privire la proiect înainte de a se simți înșelat de un tarif săptămânal. Doar o întâlnire pe săptămână ar putea însemna că clientul este nemulțumit de calitatea muncii, iar dezvoltatorul nu are timp să ajusteze rezultatele.
Echipele avansate de la distanță pot avea alte metode de a menține toate părțile interesate pe aceeași pagină fără a programa o întâlnire reală în timp ce lucrează de acasă. Încă îmi place să iau la telefon/Skype/Hangouts cu cineva și să am o întâlnire în acest fel.
Pentru echipele mici, două întâlniri standup pe săptămână funcționează foarte bine: corecțiile cursului se fac rapid, dar dezvoltatorii mai au ceva substanțial de raportat în timpul fiecărei întâlniri.
Livrarea următoarei versiuni de la distanță
În funcție de dimensiunea proiectului, îmi plac livrabilele trimise către client săptămânal pentru proiecte mici (1-2 dezvoltatori) și bi-săptămânal pentru proiecte mai mari (3+ dezvoltatori). Acest ritm oferă dezvoltatorilor suficient timp pentru a finaliza lucrări considerabile, inclusiv o interfață (sau o experiență de utilizator îmbunătățită) pentru ca clientul să o vadă.
Pentru clienții non-tehnici, singura măsurătoare prin care pot evalua progresul este ceea ce pot vedea pe ecran.
Este important ca dezvoltatorii să-și amintească, în special în cazul clienților non-tehnici, că progresul pe care îl puteți vizualiza cu o interfață cu utilizatorul este adesea singurul lucru care contează pentru client. Clienților non-tehnici nu le pasă că ați scos 500 de linii de cod în această săptămână sau că ați avut dificultăți în interacțiunea cu un serviciu web; singura valoare prin care pot evalua progresul este ceea ce pot vedea pe ecran . Asta nu înseamnă că a face o muncă bună pe back-end este irelevant, ci mai degrabă că trebuie să faci toată această muncă bună tangibilă în ochii clientului.
Tweet
De aceea îmi plac livrările săptămânale sau bisăptămânale. Orice lucru mai scurt de atât îl pune pe dezvoltator într-un loc greu: poate se blochează în lucrul de back-end timp de două zile și nu au timp să termine interfața, așa că nu au nimic de arătat clientului.
În funcție de tipul de proiect software, nu toate aceste versiuni de client vor fi lansate publicului. De exemplu, dacă lucrați la un proiect Rails, este posibil să doriți să implementați imediat modificările aprobate; pe de altă parte, cu o aplicație mobilă, puteți numi o versiune „1.3a10”, dar versiunea actuală este doar o parte a setului mai mare de caracteristici al unei noi versiuni 1.3 a software-ului care va fi implementat ulterior.
Aici intră în joc cele mai bune practici de urmărire a erorilor de la distanță. Cu urmărirea erorilor, clientul știe:
- Ce este pe platoul echipei pentru acest livrabil
- Dacă a fost finalizat
- Dacă lucrarea a fost aprobată de client.
Clientul știe la ce să se aștepte de la această ediție, iar dezvoltatorii știu ce lucru este în fața lor.
Dacă echipa dvs. de la distanță este suficient de matură pentru a utiliza implementarea continuă și/sau Kanban, atunci este în regulă. Cu toate acestea, acestea sunt ambele tehnici foarte avansate, care sunt mai potrivite pentru organizațiile cu o cultură puternică, bazată pe dezvoltatori. Majoritatea organizațiilor, unde dezvoltarea de software personalizat este văzută ca necesară, dar costisitoare, probabil că nu sunt pregătite pentru niciuna dintre aceste tehnici. De ce e așa? Două lucruri pe care le-am văzut sunt că clientul nu poate ține pasul cu numărul de modificări pe care dezvoltatorii doresc să le revizuiască sau prioritățile se schimbă prea rapid pentru ca dezvoltarea să realizeze orice lucru .
Recomandări
Dacă se întâmplă să intri într-o echipă în care vei stabili cele mai bune practici, am enumerat mai jos câteva instrumente pentru gestionarea lucrului la distanță. Rețineți că acestea sunt doar recomandările mele: cu siguranță, acest ghid nu este pentru toată lumea; iar dacă nu vă plac aceste instrumente, probabil că există un instrument care se potrivește mai bine nevoilor dumneavoastră.
- Planscope.io , în modul săptămânal. Acesta este un instrument de urmărire a timpului + urmăritor de erori + instrument de estimare a proiectelor care trimite clienților e-mailuri zilnice atunci când lucrați la proiectul lor și le permite să vadă cum merg lucrurile în ceea ce privește progresul și bugetul. Acest lucru este excelent pentru proiecte de 1-4 dezvoltatori/luni.
- App Trajectory este un instrument de urmărire a erorilor pentru echipe mici, cu accent pe estimarea și împărțirea proiectului în bucăți de una până la două săptămâni (iterații). Trajectoria aplicației vă poate spune cât de mult lucrați finalizați într-o iterație și câte iterații până la finalizarea tuturor lucrărilor cunoscute. Acest lucru este grozav pentru proiecte de 2-12 dezvoltatori/luni.
- Pivotal Tracker este un instrument de urmărire a erorilor pentru clienți, cu accent pe metodologiile Agile. Acest lucru este grozav dacă faceți iterații formale Agile sau aveți o dimensiune a proiectului măsurată în dezvoltator/ani.
- FlowDock pentru chat. Flowdock oferă câteva avantaje față de chat-ul simplu IRC sau Skype: pe lângă integrarea cu serviciile populare, vă permite, de asemenea, să etichetați conversațiile pentru o referire rapidă mai târziu. FlowDock păstrează, de asemenea, o listă de activități de stare (înregistrări de cod etc.) care sunt separate de chat-urile generale. (Adică, în interfața web, actualizările automate de stare sunt în stânga, în timp ce chat-urile sunt în dreapta.)
- Din nou, Campfire este excelent și pentru chat.
Concluzie
Începerea cu telecomandă sau lucrul de acasă poate fi o ajustare destul de mare, atât pentru dvs., cât și pentru client. Am mers foarte bine și foarte greșit. Dar, atunci când merge bine, poate fi o modalitate excelentă pentru clienți sau angajatori de a rezolva problema „scrierii talentelor” și de a crea o gamă mai largă de oportunități pentru dezvoltatorii care locuiesc în afara centrelor tehnologice majore sau a centrelor „startup-uri”. Există o întreagă lume de eficiență care poate fi obținută prin colaborarea de la distanță a dezvoltatorilor cu cele mai bune practici potrivite.