Crossover Code Jam Bucuresti, 22 Aprilie


Code Jam Bucharest 2017 organizat de Crossover a identificat interesul ridicat al programatorilor bucureşteni pentru activitatea full time remote

Comparativ cu ceilalţi poli regionali ce atrag talentele IT, Bucureştiul oferă ecosistemului tech cea mai mare varietate şi diversitate de abilităţi tehnice şi cel mai mare număr de candidaţi experimentaţi şi specializaţi. Aceştia, însă, beneficiază de un număr ridicat de oferte tentante şi implicit de cel mai ridicat nivel al salarizării şi onorariilor din România.

 

Bucureştiul deţine mai mult de jumătate din piaţa de outsourcing de software şi global business services, cu focus pe Information Technology Outsourcing (ITO), Business Process Outsourcing (BPO), Shared Service Centers (SSC) şi R&D. Programatorii bucureşteni îşi ştiu valoarea şi negociază bine pentru ea.

 

După succesul evenimentelor similare organizate recent la Cluj şi Timişoara - unde şi-a testat cu succes conceptul de recrutare prin gamification - compania americană Crossover for Work a organizat la Bucureşti competiţia live de programare şi evaluare a competenţelor tehnice "Java &.NET Chief Architect Code Jam Bucharest". Evenimentul de hiring tournament s-a adresat programatorilor seniori şi a avut loc în 22 aprilie la hotelul Radisson Blu din Bucureşti.

 

Ce experienţe ne-au împărtăşit câştigătorii competiţiei de programare din Bucureşti?

Contează mult să ai o capacitate bună de concentrare, să te poţi focusa pe competiţie aici şi acum

Iulia Zidaru, experienced Java software developer:

"Îmi căutam un job remote şi planificasem deja să particip la interviurile online propuse de Crossover. Când am văzut că vine firma la Bucureşti cu evenimentul offline de recrutare, mi s-a părut o modalitate mai eficientă prin care îmi puteam optimiza timpul alocat acestui proces.

 

Activitatea full remote este o abordare modernă a muncii care mă avantajează atât personal, cât şi ca tânără mămică. Voi avea mai mult timp pe care să îl petrec cu fetiţa mea. Nu voi mai pierde două ore zilnic în traficul infernal din Bucureşti şi voi lucra la ore mai potrivite cu bioritmul meu. Sunt o persoană matinală, prefer să încep munca la 8 dimineaţa, nu la ora 10, aşa cum mi se propunea la corporaţie. La jobul clasic ajungeam să fac cele mai complicate şi importante sarcini la orele 15-16, când nivelul meu de energie era deja scăzut. Ca atare, munca remote prezintă plusul unei flexibilităţi sporite a timpului alocat activităţii profesionale.

 

Probele diverse din competiţie au necesitat abilităţi avansate de programare pentru a putea să te descurci şi bine, şi repede, contracronometru. M-am trezit mai greu şi m-am încadrat la limită la primele probe până ce mi-am intrat în ritm. Apoi, problemele mi s-au părut abordabile. A contat mult să ai o capacitate bună de concentrare, să te poţi focusa pe competiţie aici şi acum.

 

Experienţa de lucru de 11 ani cu tehnologiile Java m-a ajutat să mă focusez eficient contracronometru. Pe lângă acurateţe, au punctat cei ce au avut viteză de programare şi siguranţă pe soluţiile oferite. Ulterior evenimentului am început să mă uit mai atent şi să studez modul de utilizare a instrumentului Docker în producţie. 

 

Participarea la eveniment a partenerilor bucureşteni care lucrează deja în Crossover mi-a facilitat ascultarea unor experienţe din interior privind modul de lucru şi partea legală şi administrativă - ce este străină unui angajat.

 

Mă atrage designul de aplicaţii aferent jobului de arhitect, faptul că îmi voi putea îmbunătăţi abilităţile şi voi putea schimba mai des proiectele la care voi lucra, nefiind nevoită să stau 5 ani pe acelaşi proiect. Sunt o persoană auto- organizată şi disciplinată şi pentru mine este exact noul mod de lucru pe care căutam să îl experimentez. Ca atare, am acceptat cu plăcere oferta de angajare făcută de Crossover."

O dată cu răsplata, se mută firesc pe umerii contractorului şi riscul, şi responsabilitatea pentru succes

Sorin Vasilescu, experienced IT Java professional:

"A fost o experienţă interesantă, care a meritat trăită. În această perioadă chiar îmi căutam o nouă oportunitate de carieră, dar în viitor aş fi dispus să particip la asemenea competiţii chiar dacă nu îmi voi căuta altceva de lucru.

 

Am mai participat şi înainte la evenimente şi interviuri de recrutare, dar de data aceasta diferenţa a făcut-o caracterul hands-on, practic şi aplicativ al competiţiei. Deşi a fost obositor şi solicitant, mi-a plăcut atmosfera, combinaţia de programare competitivă cu ceva fun, distractiv şi de networking.

 

Partea de refactoring - ce presupunea identificarea greşelilor de scriere a unui cod - a fost relativ subiectivă şi discutabilă deoarece, dincolo de un set de guideliness şi de bune practici în scrierea de cod, abordarea scrierii de cod diferă de la o companie la alta şi de la o echipă de proiect la alta.

 

Este interesantă ideea de full time remote work, deşi sunt în continuare sceptic în privinţa modalităţilor intruzive de monitorizare, mai ales a ideii de 'webcam snapshots' - care sper că se va elimina în viitorul apropiat. Am mai lucrat şi anterior remote cu alte companii din afară, dar toate discuţiile se purtau pe livrabile şi pe ore asignate (atribuite) fiecărui task.

 

Am mai lucrat antreprenorial, iar munca remote e mult mai simplă şi firească pentru cei ce au iniţiat şi coordonat anterior proiecte software din perspectivă de business. Auto-disciplina e întotdeauna o provocare şi presupune o cu totul altă abordare decât cea a angajaţilor din Pipera. Se completează însă bine cu nivelul ridicat al onorariului, care nu este cel de simplu angajat din România. O dată cu răsplata se mută firesc pe umerii contractorului şi riscul, şi responsabilitatea pentru succes.

 

Discuţiile de hiring ulterioare evenimentului mi s-au părut cam rigide, fixate pe întrebări predefinite, cu răspunsuri predefinite. Dacă nu m-am încadrat exact în răspunsurile aşteptate de hiring manager, am fost descalificat, ceea ce mi se pare o abordare rigidă şi simplistă, care nu ţine cont de experienţele anterioare diferite ale candidaţilor."

 

Mi-a dat de gândit focusul serios pus de Crossover pe calitatea codului dezvoltat şi pe tiparele de design

Cristi A., software development manager specializat pe .net, câştigătorul locului I al competiţiei live de programare şi evaluare a competenţelor tehnice "Java & .NET Chief Architect Code Jam Bucharest" 2017:

"Aveam o curiozitate pur personală faţă de concursurile tehnice şi diferenţa lor faţă de hackathoane. Voiam să ştiu cum mă situez la ora actuală comparativ cu ceilalţi oameni din piaţă.

 

Am fost surprins de probele de algoritmică, mi s-au părut simple faţă de cele pe care le-am întâlnit cu alte ocazii. Am luat notiţe pentru proba de răspunsuri la întrebări după urmărirea unui video care m-a impresionat prin volumul mare de informaţii condensate în unitatea de timp şi prin subiectul cu care nu eram suficient de familiarizat. Proba de 'code review' poate scoate în evidenţă cu adevărat oamenii cu experienţă tehnică. Istoricul meu pe managementul de proiect şi de oameni m-ar fi determinat să prefer o revizuire manuală a răspunsurilor la această probă, nu una automatizată, ci prin discuţii purtate de la om la om cu fiecare candidat. Aş fi fost curios de ce a luat fiecare o anumită decizie în modificarea codului, aş fi vrut să aud ce are de spus fiecare, în cuvintele lui, pentru a înţelege ce reguli de organizare a codului foloseşte. Ştiu că e o problemă de timp şi de gust, dar arată ce şi cum gândeşte cu adevărat un dezvoltator, ce priorităţi are în abordarea scrierii de cod. Întrebările cu variante multiple de răspuns mi s-au părut contestabile, mai ales cele care erau prea generale, nefiind specifice experienţei candidaţilor şi rolurilor scoase la concurs. Într-un cuvânt, am fost surprins de la prima până la ultima probă.

 

Am câştigat această competiţie datorită experienţei intensive pe Java pe care am acumulat-o începând din anul 2001. Se adună bune practici treptat, te loveşti de probleme, citeşti şi înveţi mereu lucruri noi şi prinzi din fiecare nou proiect frânturi de informaţii pe care le corelezi apoi cu altele mai vechi. Înveţi astfel din experienţă cum să proiectezi un sistem, cum se leagă lucrurile între ele. Ca responsabil IT am fost implicat în multe situaţii şi scenarii, fie că era vorba de purtarea unor discuţii cu furnizorii sau contractorii, fie de instalarea unui VPN sau de structurarea unui diagnostic de reţea. Am adunat know-how care mi-a folosit acum.

 

Mi-a dat de gândit focusul serios pus de Crossover pe calitatea codului dezvoltat şi pe tiparele de design (design patterns). Inclusiv codul pe care trebuia să îl îmbunătăţim era un cod curat, bine scris, cu mici greşeli răsfirate, adică preocuparea era extrem de perfecţionistă: cum facem să creştem cât mai mult calitatea finală a codului. 

 

Am fost surprins de rezultatul bun pe care l-am obţinut, dar momentan înclin să colaborez doar pe o perioadă strict definită pentru a evita eventualele probleme de dezvoltare personală şi de relaţionare cu oamenii aferente unui job full remote pe termen lung. Riscurile pe care le presimt ţin de alienare, de lipsa unui contact uman direct, dar există şi beneficii, atât cel financiar, cât şi cel profesional, legat de componenţa echipelor de profesionişti de top de la care ai ceva de învăţat. De la seniori poţi să înveţi lucruri rafinate.

 

În apartamentul de acasă am doi copii mici, deci aş prefera ca firma să îmi ofere un loc într-un spaţiu de co-working. De asemenea, mă îngrijorează faptul că există mai puţine proiecte disponibile pe .net decât pe Java şi m-aş întreba mereu dacă există sau nu proiecte noi pe marketplace potrivite pentru mine la terminarea unui 'tour of duty'. Şansele de reuşită pe termen nedefinit mi se par mai mici.

 

De asemenea, cred că focusul excesiv pe KPI este discutabil. Este uşor pentru un SEM să fixeze KPI greşite pentru membrii echipelor sale şi să îşi demotiveze astfel echipele. Este şi destul de greu să măsori partea de creaţie şi inovare specifică muncii arhitectului. Oamenii care simt focusul mare pe productivitate, pe termene limită şi eficienţă nu îşi vor mai asuma riscuri şi nu vor mai valorifica oportunităţile care li se par prea riscante, dar care pot fi în final cele mai rewarding. Ţine mult de bunul simţ şi de responsabilitatea product owner-ului să poată face diferenţa între un chief software architect bun şi unul excepţional."

Apreciez oamenii care ştiu să asculte şi opinia altora înainte de a lua o decizie

Laszlo Robert Albert, senior Java developer:

"Am mai fost contactat de Crossover, dar la început eram reticent faţă de lucrul remote. Apoi am discutat cu un prieten care v-a devenit colaborator şi mi-a spus lucruri bune. Iar acum mi s-au schimbat şi priorităţile personale deoarece fetiţa mea începe şcoala şi vreau să mă mut din Bucureşti, unde aveam de lucru, în Târgu Mureş sau Cluj, unde poate beneficia de o şcoală mai bună în limba maghiară. Brusc, munca remote a devenit interesantă.

 

Cel mai dificil mi s-a părut lucrul contracronometru, timpul limitat avut la dispoziţie pentru a finaliza codarea. Nu eram obişnuit cu toate probele, mai ales cu cele de algoritmică, situaţii cu care nu te întâlneşti în mod curent, în viaţa de zi cu zi. Probele de algoritmică par mai potrivite la olimpiadă, te pun să gândeşti, dar nu mi se par relevante, nu par a avea o mare utilitate în evaluarea experienţei practice. Totuşi, o lecţie învăţată este că am ruginit puţin la algoritmică pentru că nu îi mai dădeam o aşa mare importanţă.

 

Întâlnirile video pe Skype în care trebuia să ofer feedback la distanţă colegilor mei ingineri şi faptul că fac regulat 'code review' m-au ajutat însă să punctez decisiv. M-a ajutat şi participarea mea la conferinţe internaţionale ca prezentator şi speaker unde a trebuit să îmi vând ideile unei audienţe largi de participanţi.

 

Din fericire, în viaţa reală avem mai mult timp la dispoziţie pentru a găsi soluţia optimă la o problemă şi pentru a împărtăşi diverse variante de soluţii cu echipa, cu scopul declarat de a o valida pe cea mai bună dintre ele. De aceea, le sugerez evaluatorilor Crossover să grupeze concurenţii în echipe şi să vadă cum reuşesc ei să lucreze împreună pentru a găsi soluţia comună la o problemă dată.

 

Ca modalitate de evaluare, nu sunt fanul evaluărilor automatizate şi mecaniciste, ci prefer să fiu observat şi să observ. În general, când încerc să rezolv o anumită problemă, nu mă mulţumesc doar cu aflarea rezultatului corect, ci încerc să înţeleg cum şi de ce s-a ajuns la acel rezultat. Apreciez oamenii care discută şi cu alţii, care ştiu să asculte şi opinia altora înainte de a lua o decizie.

 

Mă aştept la mai multă transparenţă în procesul de recrutare, mai ales că vorbim despre o comunicare unidirecţională, dinspre companie spre candidat, unde orice perioadă de tăcere poate lăsa impresia greşită a dezinteresului pentru colaborarea viitoare cu un candidat deja selectat.

 

Principala provocare mi se pare în continuare felul cum voi reuşi să compensez lipsa interacţiunilor face to face în interiorul echipelor dispersate global prin meeting-uri virtuale."

A fost ca un maraton care m-a încărcat cu adrenalină şi m-a ţinut în priză până la final

Dragoş Vizireanu, scrum master, software development manager & chief architect:

"Doream să lucrez remote, de acasă. Participând la competiţia organizată la Bucureşti aveam practic două şanse de a câştiga un job remote: fie fiind unul dintre câştigători, adică un traseu mai scurt şi mai eficient, fie optând ulterior pentru o a doua şansă, testarea online pusă la dispoziţie continuu de Crossover.

 

Experienţa mea tehnică şi de conducere a unor echipe de validatori îmi spune că relevant pentru competenţele unui candidat este ceea ce face el zilnic, ci nu felul cum rezolvă algoritmi care sunt departe de realitatea lucrului de zi cu zi.

Unii se joacă online frecvent pentru că e fun şi provocator intelectual, dar asta nu îi face developeri sau arhitecţi foarte buni.

 

În timpul competiţiei m-am simţit extrem de inspirat şi, în general, sunt foarte sigur pe mine - lucrez efectiv de mai bine de 10 ani, iar în ultimii 5 ani ţin şi interviuri de angajare cu alţi programatori. Am pornit mai slab la început pentru că nu intru în ritm de dimineaţă, nu sunt un tip matinal. Apoi m-am supărat pe mine când am văzut primele rezultate nesatisfăcătoare şi m-am montat singur. Am înţeles că ar fi fost mai bine să îmi creez înainte nişte conturi pe platforme de programare competitivă şi să fac mai des exerciţii ca formă de pregătire, ca la facultate, când aveam de rezolvat nişte probleme teoretice pentru examinare.

 

Timpul limitat de gândire a fost provocator şi întreg evenimentul a fost ca un maraton. Eram încărcat cu adrenalină chiar şi la final, iar când am ajuns acasă nu am mai dormit toată noaptea, rememorând evenimentul, amintindu-mi ce am făcut bine şi ce nu. Încărcarea emoţională a fost, în mod clar, una mare.

 

Vreau să lucrez de oriunde şi atunci când aleg eu - ceea ce mă apropie de Crossover. Din păcate, pe Internet am citit nişte impresii mai vechi despre această firmă care nu sunt dintre cele mai bune, iar colaboratorii români prezenţi la eveniment sunt de prea puţin timp în această reţea pentru ca experienţele lor să fie relevante pentru mine.

 

În discuţiile cu potenţialii clienţi, mă aşteptam să fiu contactat mai repede. Am fost sunat din străinătate seara târziu fără a fi anunţat în prealabil pentru a programa un interviu şi tocmai atunci făceam duş. Când am sunat înapoi, a intrat un robot. Nu au mai revenit ulterior. În schimb, discuţiile cu hiring managerii interni ai Crossover au mers bine. Mă aşteptam totuşi ca după eveniment lucrurile să meargă mai fluent şi mai organizat.

 

Am mai avut şi până acum experienţe remote de freelancing, dar ca al doilea job, suplimentar faţă de activitatea de bază. Sunt curios ce pretenţii sunt, dacă sunt realiste şi dacă cei din echipă vor fi oameni cu care să pot lucra, cu care să fiu compatibil.

 

Am anumite îndoieli şi cu privire la partea de monitorizare online, în special cu cea de 'screen shots'. Ce se va întâmpla dacă voi împrumuta confidenţial anumite cărţi sau materiale de studiu de la un coleg în format .pdf şi voi vrea să le studiez de pe calculatorul personal? Voi fi nevoit să le instalez pe un alt laptop pentru a nu fi fotografiate fără acordul proprietarului?"

Zece motive care ne confirmă că am ales formatul câştigător de eveniment

1. Conceptul de Code Jam se practică de ceva vreme la nivel global şi la casele mari: Google Code Jam, Facebook Hacker Cup, TopCoder sau ACM International Collegiate Programming Contest.

2. Spre deosebire de turneele marilor companii, CodeJam-ul Crossover durează doar o zi, rezultatele sunt primite pe loc, la finalul evenimentului, iar cei ce depăşesc baremul fixat de evaluatorii noştri primesc imediat oferte tentante de lucru în regim full remote. Turneele de hiring organizate de Google şi Facebook au un proces de calificare mai îndelungat, constând în mai multe runde locale, regionale, naţionale şi internaţionale de competiţii online şi offline. Câştigul este mai nesigur pentru participanţi, doar primii clasaţi în runda finală fiind intervievaţi şi apoi ofertaţi (eventual) cu un loc de muncă.

3. Procesul de hiring asociat competiţiei noastre offline de tip CodeJam este mai scurt şi mai eficient pentru participanţi decât testarea online propusă alternativ de Crossover.

4. Turnirurile noastre de angajare sunt focusate doar pe cele mai solicitate şi motivante poziţii de top din portofoliul nostru, roluri pentru care proiectele active sunt ca şi garantate.

5. Nu relocăm pe nimeni din ţara sa şi nu facem brain drain. Creştem doar experienţa şi valoarea de piaţă a resursei umane locale talentate prin investiţia pe care o facem în pregătirea sa, prin expunerea practică la cele mai noi tehnologii şi la cele mai eficiente şi productive echipe globale virtuale de proiect.

6. Pe lângă programarea competitivă ce menţine trează atenţia şi concentrarea până la final şi pompează nivelul de adrenalină asociat ambiţiei concurenţilor, atmosfera este una fun, relaxantă şi deschisă spre networking şi socializare. Faci ce îţi place alături de oameni ca tine.

7. Prin transparenţa manifestată de organizatori faţă de întrebările participanţilor adresate în sesiunile de Q&A, răspundem pe loc, prin reprezentanţii noştri autorizaţi, la cele mai sensibile dileme şi preocupări, completând golurile informaţionale şi limpezind temerile generate de dezinformarea şi manipularea răuvoitoare prezente pe unele forumuri online.

8. Colaboratorii români ai Crossover implicaţi deja în proiectele noastre globale îşi partajează live experienţele cu concurenţii, făcând mai uşoară tranziţia noilor veniţi de la mediul corporatist închis la specificul muncii full time remote.

9. Participanţii îşi pot compara nivelul tehnic actual şi abilităţile soft skills personalizate cu cei mai talentaţi şi inteligenţi programatori de pe aceeaşi piaţă, în cadrul unui scenariu real de evaluare şi testare gândit în vederea angajării.

10. Totodată, fiecare competitor îşi poate identifica potenţialul de dezvoltare personală şi profesională încă nevalorificat şi ariile de competenţe la care mai poate lucra în viitorul apropiat pentru a deveni unul dintre cei mai buni programatori în domeniul său de specializare.