Internship over

Internship over

Yay. My first „job”. Și s-o gătat. Yay. Vacanță. Din păcate, nu pot să savurez atât de mult cât îmi doream dormitul dimineața, pentru că mă doare spatele. Dar măcar pot dormi de amiază :)))

A fost fain la internship. Am învățat multe chestii noi. Ruby. Rails. O țâr de Coffe­Script și SASS. Și cel mai important pentru mine: Git/team working. Toate celelalte le-aș fi putut învăța și singur, dar e cam greu să înveți lucrul în echipă singur :))) E mai ușor când ești cu încă doi interni, Maria și Călin.

O epifanie pe care am avut-o în timpul in­tern­ship­u­lui: există un autobuz, care circulă o dată pe oră, dar care are stația la vreo… 10 minute de mine, fie 7 dacă o scurtez prin pădure. De ce mi-o luat 1 an de zile să îmi dau seama de asta??? #fail

La internship am început cu niște exerciții simple, ca să ne obișnuim cu Ruby. Ceva Katas și apoi Ruby Koans. A fost interesant să văd că co­mu­ni­tatea Ruby are o men­tal­i­tate diferită față de cea a altor limbaje de programare. Limbajul și cultura Ruby este pătrunsă puternic de originile japoneze ale limbajului. Koans-urile acelea te ghidau spre Ruby en­light­ment, se pune accent foarte mare pe convenție și pe latura artistică a codului. În PHP? Chestii artistice? Cam greu cu $$$ peste tot în cod. Convenție? In­ex­is­ten­tă. Cum i-o tunat la developerîn ziua aia, așa îs im­ple­men­tate librăriile default din limbaj. En­light­ment? More like whatever works right now (deși, mai nou, unele framework-uri încearcă să fie mai elegante).

După 2 zile deja ne mânca palma să trecem mai departe, așa că am primit un proiect: să facem un site de management la spațiul de coworking. Cei care vor să lucreze acolo să se poată înregistra, să aleagă datele de lucru și apoi să primească automat facturi lunar.

Și aici începe distracția. Proiectul a venit fain frumos cu taskuri elementare. Și ne apucăm noi să facem fiecare câte un feature din partea de user management. Ne folosim de Devise, care face cam toată partea de registrare/au­t­en­tifi­care automat. Dar fiecare ne-am ales câte o parte din asta. Să vezi acolo distracție la merge...

After that, things start to go better. Folosim Foundation by Zurb pentru design (arată foarte mișto și poți face ceva elegant foarte repede). Într-o săptămână suntem gata cât de cât. Merge totul pe cal­cu­la­toarele noastre, inclusiv testele. Faceți deploy, băieți.

2 ore de frustrare și apoi amânăm demo-ul pe a doua zi. Mi s-a părut mie că durează mult compilarea Ruby pe laptopul meu, dar pe server… o eternitate. Și la început am instalat ceva totally wrong. Dar în final demoul a mers bine și i-a plăcut șefului. Dar de­signeru­lui nu. A zis că în 5 minute poate face ceva mai fain. A doua zi am stat o oră la discuții cu el legat de cum să modificăm aspectul siteului.

În a doua parte a in­tern­ship­u­lui am primit un proiect de la ceva clienți, care era deja scris în mare, noi doar trebuia să adăugăm câteva chestii. Și să ștergem multe alte chestii. Și să ne luăm de cap de multe chestii. Șeful a zis că e util proiectul acesta ca să învățăm cum să nu scriem cod Ruby. Indeed. Era exemplul perfect de „gândire cu pre­med­itare”.

La un moment dat, un coleg simte fum. *sniff* *sniff* „Îi fum?”. Și ceilalți colegi se uită în jur, prin laptop, să verifice dacă nu lor li s-o ars cumva placa de bază. Unii ies afară. „Îi fum și afară”. Cam toți suntem în picioare, căutăm sursa fumului. Trece mașina de pompieri și de salvare pe lângă noi. Scoatem toți pe rând capul printre gratii la geam: „Cred că o ars ceva la Maimuța plângă­toare”, ”Oh, îi ok atunci”. Toată lumea înapoi la lucru :)))

Și apoi a urmat al doilea deploy. De data aceasta cu Capistrano și Puma. Acesta a mers mai trist decât celălalt și a trebuit să ne dea indicații serioase Stas. Prin indicații serioase înțeleg trecerea de la Puma la Unicorn.

Și apoi mi-am primit banii, pe care i-am spart în aceași zi. I haz a new phoooone, I haz a new phoooone. Și apoi acasă.

A fost fain la internship. Colegii au fost foarte mișto și am învățat multe chestii de la ei. Am învățat și lucruri non-tech, cum ar fi ce îs piadinele (yummy,yummy,yummy), ce bun îi falafelul, ce dubioasă îi mâncarea chinezească, și câteva locuri unde se poate mânca bine.