Archive for the ‘A developer’s life’ Category

Hmmm… :-)

Saturday, December 28th, 2013

Voi în cine ați investi?

Sunday, November 24th, 2013

Blogul ăsta era, și poate încă mai este, citit de oameni din tech. Oameni implicați în online-ul românesc, implicați în a dezvolta business-uri care au la bază ideea că tehnologia în general și internetul în particular poate schimba felul în care oamenii fac lucruri.

Plecând de la ideea asta – voi în ce companii din România ați investi? Este vreo companie / startup / small business în oline-ul românesc care credeți că ar putea avea succes?

Și nu mă refer doar la companiile astea cunoscute – eMag, trilulilu, ejobs, 2parale – dar și la companii care par să atragă mai puțin atenția comentatorilor români din online dar care mie mi se pare că aduc schimbare reală – de exemplu StarTaxi de care pare să nu vorbească nimeni.

Zilele astea mi-am cumpărat niște bitcoins

Friday, March 8th, 2013

Cu cât mă gândesc mai mult la bitcoin, cu atât îmi formez o intuiție că fie va fi complet worthless, fie în 20 de ani voi deveni super bogat cu cele câteva bitcoins pe care mi le-am cumpărat acum. :-)

De urmărit, pentru mine este unul din cele mai interesante experimente de pe internet din momentul ăsta.

Tristețea blondelor frumoase

Friday, September 21st, 2012

Am realizat recent că, de multe ori, un inginer ex-google care lucrează la ceva mai greu de înțeles este foarte asemănător cu o blondă sexy.

Mulți oameni par să asculte ceea ce spui și ceea ce faci, dar până la urmă te vor doar pentru corpul tău. :-)

Acum înțeleg câte ceva din tristețea prin care probabil trec femeile frumoase.

Câteva vorbe despre una și alta

Friday, July 20th, 2012

Cei de la School For Startups au vrut să mă întrebe una alta. Le-am răspuns, găsiți interviul aici.

Îmi place titlul “Octavian Costache, fost antreprenor, ex-Googler, viitor antreprenor de succes”. :-)

Ce am mai făcut în ultima vreme

Wednesday, April 25th, 2012

Nu, în nici un caz nu am ignorat blogul ăsta intenționat. :-)

De când nu ne-am mai auzit am fost foarte ocupat făcând parte din TechStars.

TechStars este un accelerator de startup-uri, un program de trei luni în care un grup de companii participă pentru a fi ajutate să își accelereze evoluția, prin adunare de mentori, talk-uri, sfaturi, atenție media, și tot așa.

Eu nu sunt acolo ca parte din nici o companie, ci ca un HackStar, un fel de developer-in-residence pe perioada de trei luni cât durează programul.

Când am început să fac asta nu eram foarte convins că e ceea ce am nevoie, dar între timp recunosc că sunt foarte impresionat și pentru mine era exact ceea ce aveam nevoie. Faptul că lucrez aproape de oamenii din program mă ajută să creez relații solide cu oamenii de aici, cunosc mulți oameni noi și prin ei alți oameni cu care eventual aș vrea să lucrez.

Mai mult, sunt înconjurat de niște oameni foarte foarte buni la ceea ce fac – produs, raising money, pitching – și asta mă ajută și pe mine să îmi formulez mai bine ideile, să înțeleg mai bine lumea, să iterez mai repede la propriile mele idei.

Una peste alta, sunt foarte încântat și simt că în cele șase săptămâni de până acum am crescut enorm și înțeleg mult mai bine lumea care mă înconjoară.

p.s. Sunt ceva mai activ pe twitter zilele astea, urmăriți-mă aici twitter.com/okvivi. :-)

p.p.s. În episodul următor vă spun ce se mai întâmplă și cu harta politicii (btw, urmăriți-o pe twitter twitter.com/hartapoliticii), la care lucrez când am un pic de timp și de care sunt super entuziasmat.

Sunt un programator mediocru, dar un dezvoltator excelent

Tuesday, March 6th, 2012

Acest mesaj este cross-posted pe infoarena.ro

Discutat cu cineva despre anumite tehnologii și cum sunt bune la una sau alta și am simțit nevoia să scriu un articol despre cât de util este să fii expert în anumite tehnologii.

Eu mă consider mediocru în cunoștințele mele de limbaje de programare și cu toate astea mă consider foarte bun la ceea ce fac, ba chiar aș spune că sunt un world-class developer.

De ce spun că sunt mediocru?

Știu să programez în Java, C++, Python, Ruby, Javascript, Actionscript, PHP, ObjectiveC și am produs cod de calitate de pus în producție(*) în aproape fiecare din limbajele astea.

(*) A pune ceva în producție înseamnă că ce cod am scris eu a fost lansat către utilizatori. La Google asta înseamnă multe milioane de utilizatori care trec prin codul scris de tine.

Cu toate astea, știu probabil fiecare dintre ele cam la 70-80% din potențial și nu sunt guru în nici unul dintre ele (poate cu excepția Actionscript-ului).

Nu cunosc cele mai eficiente unelte pe care le oferă, nu cunosc tips and tricks magice, nu știu să aplic cel mai genial și recent feature al limbajului. Înțeleg lucrurile fundamentale pe care le-am învățat în facultate (closures, pointers, memory, threads, oop, etc) dar nu înțeleg implicațiile subtile are template-urilor din C++ sau alte feature-uri care sunt convins că sunt absolut magice.

Si atunci de ce spun că sunt world-class developer?

Pentru mine world-class developer înseamnă cineva care poate să producă cod de calitate de producție atunci când este nevoie, cod ușor de citit, extins, înțeles, ușor de adaptat și mai ales cod care face ceea ce este nevoie.

Un world-class developer este cineva care este capabil să învețe repede o tehnologie nouă, să își cunoască defectele și limitele, să ceară părerea altora și să accepte când nu are dreptate, să lucreze bine într-o echipă, să poată abstractiza ușor sisteme complexe, să le poată analiza și înțelege, să ofere soluții ingenioase la problemele care apar.

Rareori soluțiile sunt răspunsuri particulare unei anumite tehnologii.

La ce mi-ar folosi să fiu guru într-un limbaj?

Îmi imaginez două răspunsuri: poți obține performanță mai bună sau, prin artificii de limbaj, poți avea flexibilitate mai mare ca să scrii cod mai puțin, mai șmecher și mai magic.

Când vine vorba de perfomanță, pentru felul de sisteme la care lucrez eu (large internet-based products), de obicei cea mai mare limitare este timpul de acces la disc, timpii de comunicare prin rețea sau cât RAM ai la dispoziție. Faptul că binarul tău în C++ folosește niște cicluri de procesor în plus sau în minus nu contează.

Când vine vorba de artificii ezoterice care te ajută să scrii cod mai puțin, mai flexibil, mai magic, de multe ori sunt greu de înțeles dacă nu ești și tu expert și sunt foarte ușor de abuzat atunci când nu știi ce faci. Cum foarte puțini programatori sunt mega experți în anumite limbaje, când lucrezi într-o echipă ambele caracteristici de mai sus sunt importante.

De exemplu, am cunoscut mulți oameni mult mai deștepți decât mine care cred că inheritance este ceva evil. Dacă ai o clasă care moștenește altă clasă este greu de înțeles exact cum funcționează codul, e greu de înțeles ce metode sunt suprascrise și de ce, e greu de făcut debug, e ușor de stricat dacă clasa părinte se schimbă. Dacă inheritance este evil, imaginați-vă cum sunt privite alte construcții mai “puternice”. :-)

Concluzia?

Cred că un programator are două opțiuni generale în carieră: devine guru într-o anumită tehnologie, sau încearcă să fie generalist.

În general cei care se hiper specializează tind să devină blocați într-o industrie, nu pot învăța ușor alte limbaje, se adaptează greu.

Pe de altă parte cei care sunt generaliști ca și mine nu vor putea niciodată să se angajeze pentru optimizare hardcore de compilatoare sau scriere de codec-uri video pentru transmisii live.

În ambele situații, cel mai important este să faci ce simți că îți place. Dacă ești pasionat de ideea de a dezasambla kernel-ul linuxului, fă-o. Dacă vrei să faci web, fă-o. A face ce îți place este mai important decât orice altceva.

Tu ce fel de persoană crezi că ești sau ți-ai dori să fii?

Harta politicii este acum open source

Tuesday, February 21st, 2012

După trei ani în care am lucrat mai mult sau mai puțin singur la harta politicii, am decis că cel mai bun mod de a continua dezvoltarea este să îl fac open source.

Ce înseamnă asta?

Că dacă îți place proiectul, crezi în idee, crezi că așa ceva trebuie să existe și ești ca și mine dezamăgit de starea politicii pe internetul românesc, poți să participi și tu la dezvoltare, poți adăuga features, poți face schimbări.

Am pus codul sursă pe github, am pus acolo și o structură a bazei de date cu câteva date demo.

În timp ce proiectul este open source, pentru moment baza de date nu este. Dacă sunteți curioși de ce am făcut alegerea asta pot intra în detalii, dar în principiu nu aș vrea să fie prea ușor să fie create clone la harta politicii care să afecteze entuziasmul din jurul proiectului.

Care este starea actuală a lucrurilor?

Sunt foarte încântat că deja există un grup de oameni care și-au declarat interesul și în principal datorită lor am ales să fac asta.

Câțiva developeri, un jurnalist și câteva persoane de la ONG-uri, împreună am făcut un grup de discuții pe care am început încet încet să discutăm soarta proiectului și să vedem cine și cum ar dori să se implice.

Dacă vrei să participi

Am creat două grupuri de discuții pentru harta politicii:

  • hartapoliticii-discuss – unde pot fi discutate teme generale despre harta politicii, ce direcție ar trebui să ia, feedback, păreri, opinii
  • hartapoliticii-dev – pentru dezvoltatori și discuții tehnice, referințe la cod, alerte

Să te înscrii pe grupul hartapoliticii-discuss este un pas foarte bun în a începe să participi la proiect.

Aruncă o privire pe documentele de pe github, am pus pe wiki-ul de acolo atât misiunea proiectului, idei pe termen scurt și câteva principii pentru colaboratori.

Dacă vrei să discutăm mai mult fie dă un email pe grupul de discuții, sau dă-mi un email la octavian.costache [at] gmail.com (promit să răspund la toate).

Nu în ultimul rând…

Aș vrea să mulțumesc celor care m-au ajutat cu suport moral, sfaturi și răbdare să iau decizia asta: Nicoleta Fotiade, Tiberiu Turbureanu, Alex Lăpușan, Bogdan Manolea, Ștefan Candea, Alex Morega, Ana-Maria Moșneagu… și sper că nu am uitat pe nimeni. :-)

Înoată împotriva curentului

Friday, January 6th, 2012

Am realizat recent că eu mă simt cel mai comfortabil atunci când sunt convins de o chestie pe care majoritatea celor cu care vorbesc o cred a fi o tâmpenie.

Când am realizat asta primul meu reflex a fost de autocritică. “Bravo bă, îți place să te simți geniu neînțeles, ptiu să nu te deochi ce special ești tu” – mi-am spus singur.

Dar apoi am încercat să îmi dau seama de ce simt asta.

Când am făcut harta publicității, primul lucru pe care mi l-a spus Orlando era că nu o să îi pese nimănui de statistica mea. În timp a devenit un site de referință.

La Google Finance acum șase ani eram singurul nebun care tot insista că trebuie să adăugăm chestii sociale, de colaborare. Cinci ani mai târziu Google investește major în social stuff.

Un product manager de la GMail mi-a spus că el credea că Multiple Inboxes este o tâmpenie când a auzit ce vreau să fac. Trei ani mai târziu GMail lucrează la Priority Inbox și încearcă să rezolve information overload.

În Google Maps lansam intern hackuri cu chestii sociale cu un an înainte să vorbească oricine despre social.

Doar ideile la care nimeni nu se așteaptă și pe care toți le cred idioate acum vor avea cu adevărat impact asupra viitorului.

Dacă toată lumea e de acord cu o idee, înseamnă că e deja mainstream, implementată și lucrată. Impactul s-a produs și următoarea schimbare va veni de la cineva care lucrează la o idee de care toată lumea acum râde.

Așa că aș vrea să fac o prezicere: în 2012, harta politicii va avea un impact măsurabil în alegerile din toamnă. Cum care hartă a politicii? Știți voi, proiectul ăla despre care majoritatea celor cu care am vorbit în ultimii câțiva ani mi-au spus că n-are nici o șansă să conteze. :-)

Iarăși despre didactic.ro

Tuesday, October 4th, 2011

Știu, tot am o obsesie lately cu site-ul ăsta, dar ce să fac, dacă îmi tot vin idei?

Mi-ar plăcea mult dacă didactic.ro ar prelua ideea la care am lucrat în 2005 la olimpiade.ro de rank-uire a liceelor și profesorilor în funcție de rezultatele la olimpiade.

Ce am făcut atunci a fost să centralizez rezultatele de la toate olimpiadele, apoi am dat puncte pentru fiecare premiu, am adunat, și a ieșit o listă cu cele mai performante licee și cei mai performanți profesori.

Eu am fost super încântat de idee pentru că nu a mai fost făcută niciodată și este virtual imposibil să tragi concluziile astea de oriunde altundeva.

Nu am reușit să conving oamenii că ideea asta este super cool și că merită lucrată și menținută. Poate didacticul actual este ceva mai deschis la asta? :-)

Nu ar fi tare dacă apoi profesorii din listele astea ar fi conectați cu utilizatorii didactic.ro? Un material de lecție sau un comentariu de la un profesor care a avut 5 olimpici naționali ar trebui să fie mai valoros decât un material oarecare.

Și cât de mișto ar fi dacă părinții ar putea să cerceteze la ce liceu își dau copilul uitându-se la lista asta? Mai mult, liceele ar putea face un fel de mândrie din asta, scorul didactic.ro, cât de sus se poziționează pe lista asta obiectivă.