Si iata ca a venit vremea sa punem si solutiile la concurs Hacker Cup organizat de Facebook.

http://drealecs.programel.ro/workspace/facebook/hackercup/

Puteti sa testati, verificati sau sa cititi codul sursa. Rezolvarile nu sunt optimizate. Daca sunt intrebari, le astept.

LE: In sfarsit dupa 8 ore am primit si email de la facebook:

Congratulations! You qualified to advance in the Facebook Hacker Cup Qualification Round and are eligible to compete in Online Round 1.

You passed the following problems: Double Squares, Peg Game, Studious Student

Deci acum avem si certitudinea ca rezolvarile sunt corecte.

 

Invatam si muncim sau invatam muncind?

M-am hotarat acum ceva timp sa ma apuc de programare, in sensul ca sa muncesc ca developer/programator. Cu programarea m-am jucat de acum 12 ani cand am descoperit-o. Am dezvoltat multe proiecte, suplimentare la munca sau personale dar niciodata nu am lucrat ca programator.

Limbaje de programare … sa vedem ce-am folosit pana acum.

Prima data a fost Pascalul :) ; Turbo Pascal. Asa se incepea pe vremea mea. Incepusem sa-l invat si nici calculator nu aveam. Cand mi-am luat calculator am facut si primele joculete: XsiO si avioane(ca alea de pe hartie).

Apoi a venit C, C++. Nu m-a atras niciodata in mod special. Deja venise vremea facultatii, aveam alte lucruri de facut. Calculatorul era pentru jocuri in principal. L-am studiat si atat. Desi el este la baza tuturor, dar nu mi-a placut niciodata sa scriu cod in C (si nici in assembler).

PHP. Am inteles care era treaba cu el in 2-3 zile intr-o vacanta de vara. Si odata cu el am inceput si cu bazele de date; evident MySQL. Cand am avut ocazia sa-l folosesc, cam peste juma’ de an, cand m-am apucat sa fac cate ceva la Otter, l-am descoperit mai bine. Deja faceam rapoarte, il conectam la Oracle/Wizcount. Dupa ce-am venit la Stefanel, si mai multe cu el, importuri, exporturi, automate sau manuale, rapoarte, tooluri – un adevarat intranet. A ramas limbajul in care fac ceva repede daca operatiunile sunt mai complexe si nu pot fi facute in excel. E si normal – e scripting language, e rapid de scris si folosit.

In el am facut micile mele proiecte, cu pluginul de cURL spargeam parole la useri de torrent, scripturi automate pe siteuri si multe alte chestii d-astea rapide.

Are el si OOP dar nu l-am folosit decat o singura data sau de doua ori cand a fost un proiect mai complex. Dac-ar fi sa lucrez ca programator in PHP, evident ca va trebui sa folosesc partea de OOP. Sunt multicele frameworkuri construite. Oricum OOP n-am invatat in profunzime decat cand am ajuns la Java, dar pana acolo mai e…

Perl. Alt scripting language. Similar cu PHP-ul dar orientat mai spre scripting decat spre web. Cel putin asa l-am folosit eu. Am spart conquiztador, facusem un bot care rula mereu, se juca cu oamenii si tinea minte raspunsurile. Cateva zile am rulat 5 boti continuu si ajunsesera sa raspunda la 95% din intrebari. Evident castigau toate jocurile si s-au prins astia de la protv si i-am banat. Ideea nu era a mea, ma inspirasem de la RST – RomanianSecurityTeam.

Platforma .Net. Adica Visual Basic, C#, C++.  Uneori e bun si un exe (sau un dll) care sa faca treaba. Si astfel m-am apucat de lucrat in ele descoperind frameworkul, OOP-ul, threadurile :) .  Am facut cate ceva, si pentru munca, si pentru mine. Facusem programelul de trisat la sah care analiza pachetele in timp ce te jucai pe YahooChess si folosea un engine de sah ca sa-ti propuna in real-time ce mutari sa faci. Pe la munca alte programele de import/export care se conectau cu diferite dll-uri la baze de date. Interesant

Java. Acum un an m-am apucat sa invat si Java. Intelesesem eu ca e bun ca limbaj, dar cum eu sunt un utilizator de Windows, nu prea m-a atras. Am facut un curs la Cisco (in UPB) si atunci am deprins tainele OOP-ului. Toate sunt obiecte :) . Am facut un proiect la sfarsit care mi-a placut. Scanam cu multi clienti cu multe threaduri ip-urile din romania pentru VNC cu parole banale. Clientii comunicau cu un server iar datele le stoca serverul intr-un db. 10 milioane de ip-uri le terminam de scanat in 30 ore.

Saptamana trecuta mi-am dat examenul de certificare SCJP si evident l-am luat; cu 55 raspunsuri corecte din 60. Gata, sunt certificat de Oracle ca programator in Java. Asa si? Si nimic. Am cunostinte dar nu si experienta. Trebuie sa invat sa lucrez in Java, sa am experienta, sa invat Spring, Struts, Hibernate si altele. Si unde sa invat? Asta e intrebarea si sa sper ca raspunsul nu se va lasa mult asteptat. Aplic la joburi cu java de cateva zile, pana acum nimic.

Trebuie sa gasesc un angajator pe care sa-l intereseze si oameni cu putina experienta dar care au cunostinte si potential de viitor. Nu m-ar deranja dac-ar fi in afara tarii.

Pana atunci voi face tot proiecte personale, ceva mai mari sper eu. Acum invat cum sta treaba cu Spring-ul.

Oricum, de cand cu Oracle care a cumparat Sun, limbajul promite multe pe viitor. Si mai imi si place.

Trebuie sa fac programare. Si sa plec de la Stefanel.

 

Dupa parerea mea stiu destula java sa iau certificarea si dupa cele 4-5 luni care au trecut de cand am facut cursul la CISCO.

Pe 31 martie era ultima zi in care se putea cere un voucher de 40$ in loc de 300$ prin programul SAI (acum nu mai exista. teoretic a fost inclus in Oracle Academy) si am aflat atunci si-am cerut. Dupa 4 luni mi-au dat si voucherul si trebuie sa-mi dau certificarea la un centru de testare Prometric. Intamplarea a facut sa fiu la cineva care avea o carte buna si am luat-o si eu in format electronic. E vorba de “Sun Certified Programmer for Java 6 Study Guide – SCJP (Exam 310-065)” de Kathy Sierra si Bert Bates. Asa ca mi-am zis ca ar fi foarte bine s-o studiez. Are ea vreo 1000 pagini dar e placuta la citit si cred c-am facut o treime din ea.

Sa vedem daca dupa ce-o sa-mi iau certificarea o sa-mi gasesc ceva munca in domeniu.

Pun cartea si aici – download.

 

Cine nu stie foarte cunoscutele emailuri in perioada asta de criza care vin de la Liviu Dumitrascu (CEO eJobs) si Mariana Galescu (?PR? BestJobs) ?

Astazi este a doua zi de cand mailul de la mariana@bestjobs.ro are semnatura schimbata:

- vechi – From: Mariana Galescu – BestJobs <mariana@bestjobs.ro>

- nou – From: Mariana Ionita – BestJobs <mariana@bestjobs.ro>

Casa de piatra si sa le citim mailurile in continuare cu interes si rapiditate, poate gasim ceva. Probabil nu dar studiem alte metode…

 

E jalnica situatia. Stiu asta pentru ca sunt in ea. De 6 luni incerc sa-mi gasesc altceva. Ce fac acum, ca administrator IT, nu e chiar ce mi-am dorit. Chiar asa, nu se gaseste un post de programator OOP care sa plateasca peste 800E; Java, PHP, C# etc. ? Nu, fara experienta prin cartea de munca nu prea.

Vechile metode de a obtine un job nou sunt din ce in ce mai ineficiente; aplici la zeci si nu te contacteaza nimeni. Trebuiesc gasite alte metode: video CV sau  interactiv CV. Sa gaseasca angajatorii mai multe detalii si sa-i lase pe oameni sa se exprime singuri. Sa se fluidizeze piata. Oricum cred ca este mult prea blocata.

Sa speram ca nu ajunge Romania in rahat mare in cateva luni. Eu asa i-am previzionat pe termen lung daca continuam sa o frecam aiurea cu statul. O motivatie in plus sa zburam de-aici.

© 2011 Alexandru Patranescu - Blog Suffusion theme by Sayontan Sinha