Interviu cu Matei Zaharia



Cosmin Negruseri

14 august 2015 14 august 2015

Matei Zaharia e o celebritate in domeniul sistemelor distribuite. El este fondatorul Spark, solutia de procesare big data cu cresterea cea mai mare din ultimii ani. Acum e assistant professor la MIT si CTO al firmei DataBricks. El cauta programatori ce vor sa lucreze la un startup pe domeniu de sisteme distribuite in San Francisco. Puteti sa il contactati la adresa [email protected] El a raspuns la cateva intrebari pentru blogul infoarena.

Matei are un parcurs interesant pentru comunitatea infoarena. Familia lui s-a mutat in Canada in 1996 cand Matei avea 11 ani. In liceu a facut parte din echipa Canadei la Olimpiada Internationala de Informatica. A luat doua medalii de argint. A urmat cursurile de informatica a univestitatii Waterloo. Echipa lui s-a clasat pe locul 15 in 2004 si pe locul 4 in 2005 la finala concursului ACM ICPC.

A urmat un doctorat la UC Berkeley in sisteme distribuite. Acolo l-a avut ca si coordonator pe profesorul Ion Stoica. El are o activitate de cercetare impresionanta, lucrarile lui fiind citate de alte 15664 lucrari de cercetare. Acum are o pozitie de assistant profesor la MIT in grupul care e probabil cel mai puternic gup de cercetare de sisteme distribuite din lume (fiind la competitie cu grupul de la UC Berkley de unde vine Matei).

In paperul Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing Matei introduce o noua metoda de a procesa seturi de date mai flexibila si mai rapida decat metoda Mapreduce popularizata de Google.

In 2013 a fondat compania DataBricks care pune in productie aceasta metoda si o face mai accesibila analistilor. Compania are acum 47 de milioane de dolari finantare. Spark e cea mai activ proiect open source pe domeniul big data.

1. Matei ne poti spune ce utilitate au avut pentru tine concursurile de programare?

Matei Am invatat foarte mult in concursuri. Pe de o parte, am invatat algoritmi, dar in plus am invatat si cum sa scriu solutii in mod minimal si sa anticipez cat mai multe cazuri posibile. In general, un lucru important in programare este sa anticipezi si sa minimizezi starile posibile ale aplicatiei.

2. Care a fost tranzitia de la concursuri de programare la cercetare?

Matei Multe lucruri pe care le-am invatat la concursuri au fost aplicabile direct. In cercetare, vrei sa testezi o idee noua cat mai repede, si iti trebuie agloritmi si cod eficient. Totusi, pentru proiecte mari ai nevoie nu doar de algoritmi si optimizari ci si abstractizari care sa ajute la organizarea buna a acestora.

3. Cum se compara activitatea de cercetare cu cea de a fi Chief Technical Officer pentru un un startup in crestere?

Matei La startup, avem aceiasi nevoie sa dezvoltam idei in mod rapid, dar trebuie si stabilitate pentru un produs care merge direct la clienti si pentru o echipa de ingineri care creste repede. Noi am reusit sa atragem o echipa foarte buna cu background similar cu mine, deci putem sa atacam problemele noi repede. Ca CTO am incercat sa tin un standard ridicat pe partea de inginerie si sa stabilesc procese si o infrastructura care ne permit sa construim software fantastic in mod rapid.

4. Cum sari intre rolurile de coordonator pentru o comunitate open source foarte populara si cea de coordonator tehnic al unei companii private?

Matei Nu e foarte greu, pentru ca procesele sunt similare. In ambele cazuri, avem un grup mare de programatori care contribuie si procese de code review si de testare automata similare. Noi dezvoltam toate modificarile noastre la Spark in open source, deci sunt foarte bine aliniate cu comunitatea de utilizatori.

5. Ce sfaturi ai pentru programatorii din comunitatea infoarena?

Matei Daca aveti o sansa sa participati in open source, deschide multe usi pentru o cariera in software. Va incurajez sa participati la niste proiecte sau sa va publicati proiectele voastre ca sa invatati intregul ciclu de software engineering si sa aveti projecte interesante de a arata pe CV.

Multumim pentru interviu!

Categorii: