Skip to content

NIH

17 August 2011

Cred că cea mai mare problemă a programatorilor este sindromul Not Invented Here. Aproape toți programatorii preferă să reinventeze roata, crezând că vor face o treabă mai bună decât roțile dinainte. Și, de obicei, nu este cazul.

Da, într-adevăr, e mult mai interesant și satisfăcător să construiești ceva de la zero decât să integrezi o soluție pre-existentă. Problema e că asta funcționează la început, până termini de reinventat, și te trezești cu o grămadă uriașă de bug-uri, bug-uri care au fost de mult desoperite și adresate în soluțiile mature. Apoi costurile încep să se adune și ajungi să depui de zece ori mai mult efort (și de data asta nu mai e muncă de inventator, e doar rezolvat mici și mari probleme). De obicei așa se întâmplă.

Să dau niște exemple. Nici nu vă închipuiți câte framework-uri de executat teste am văzut la viața mea. Pentru că de ce ai putea folosi ceva ca, de exemplu, JUnit sau NUnit sau orice alt framework existent pentru limbajul în care lucrezi, când poți tu scrie unul nou-nouț. Care fie nu suportă Setup și Teardown, fie nu are asserții, fie necesită o oră pentru a fi pus în funcțiune. Păi nu?

Alt exemplu, de pe Hacker News, sursa mea de știri – Mixpanel angajează:

Hi HN,

Mixpanel today is a real-time analytics platform that can do extremely complex data analysis for businesses on the web. Our vision is to help the world learn from its data.

Here’s where we’re at:

– We’re not huge. We’re 5 full-time engineers with interns. You don’t need to carry the risk of being employee #1 though.

– We mostly write Python, Javascript, and C.

– We have over 200+ servers.

– We handle thousands of requests a second which is up from 10-15 requests a second during Y Combinator

We wrote our own database in-house that can process 300M events in real-time. Ultimately, nothing fit our needs and we’re glad we built this. We have just begun to build products on top of it that push the fold of analytics.

Pentru că nu există destule baze de date pe lumea asta, distribuite și scalabile, și multe open-source. Și niciuna nu funcționează pentru ei. De exemplu HBase funcționează pentru Facebook. Dar cei 5 temerari vor să facă ceva mai grozav. În câteva luni, cât timp credeți că vor petrece depanând baza de date și cât timp vor petrece făcând ceva folositor?

Așa că vă rog, înainte să vă suflecați mânecile în fața tastaturii, căutație pe Google sau pe Bing sau pe ce vreți voi și asigurați-vă 100% că nothing fits your needs. Credeți-mă, pe term lung e mai bine așa.

 

From → code complete, rant

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: