0
candidați
Senior Java developer (web crawling infrastructure)
la
Newistic
în Tîrgu-Mureş
Acest job a fost publicat acum peste 40 de zile și e posibil să nu mai fie actual...
Cerinte esentiale
- Trebuie sa cunosti Java la nivel avansat. Backend-ul nostru e foarte complex si consta in multe componente (servere custom) ce lucreaza impreuna sa colecteze si sa analizeze date de pe diverse website-uri de stiri si retele sociale.
- Intern folosim zeci de librarii open source si software open source, printre care servere de storage (baze de date, key-value stores), web crawling, natural language processing, machine learning, comunicare intre componente, logging, monitorizare, servere web embedded, unit testing, full-text indexing and search, librarii pentru diverse API-uri web, parsere HTML, etc. etc. Trebuie sa ai experienta cu astfel de librarii si/sau sa fii capabil sa le inveti foarte rapid.
- Desi folosim multe librarii gata scrise, majoritatea componentelor din sistem contin foarte multe linii de cod scrise de la zero de noi. Trebuie sa fii in stare sa lucrezi cu un code base masiv fara sa intelegi la inceput toate detaliile.
- Trebuie sa intelegi HTML si CSS.
- Trebuie sa intelegi cum functioneaza retelele de calculatoare. Componentele noastre comunica prin TCP si UDP. De obicei nu folosim cod low level de networking, ci folosim diverse librarii pentru comunicatii in retea.
- Sistemul nostru functioneaza pe servere Linux. Trebuie sa ai cunostinte de administrare Linux, sau macar sa stii sa folosesti command line-ul ca si user. Trebuie sa stii ce inseamna SSH si SCP.
- Trebuie sa stii sa folosesti unelte de source/revision control precum CVS/SVN/GIT, etc.
- Trebuie sa stii ce inseamna unit testing si sa poti folosi librarii gen JUnit.
- Trebuie sa stii sa documentezi codul folosind Javadoc: http://bit.ly/aQwKVN
- Este foarte important sa poti cauta solutii la probleme tehnice folosind Google. Noi consideram ca acest skill este esential in ziua de azi. Trebuie sa stii sau sa inveti metodele avansate de cautare in Google. Daca ai nevoie de o librarie trebuie sa poti cauta toate alternativele cu Google si sa fii in stare sa selectezi cea mai buna pentru a o integra in sistemul nostru.
- Clientii nostri sunt firme internationale. Trebuie sa fii fluent(a) macar in engleza.
- Atentie la detalii (mai degraba obsesie la detalii).
- Trebuie sa fii pasionat de ceea ce faci. Daca tu consideri ca mergi la lucru doar ca sa castigi bani, te rog nu aplica pentru acest job pentru ca ai irosi atat timpul tau cat si al nostru. Fiind o echipa foarte restransa, persoana pe care o vom angaja va avea un impact major asupra produsului nostru.
Cerinte optionale, dar binevenite
- Cunostinte de PHP/MySQL ar fi foarte utile. S-ar putea sa iti cerem cateodata sa construiesti interfete web, in principal pentru uzul nostru intern (monitorizarea sistemului, quality assurance, poate interfete pentru clienti etc.).
- Background solid in matematica.
- Experienta cu algoritmi de machine learning si language processing.
- MapReduce (Hadoop)
- Lucene si/sau SOLR
- C++
- Ai contribuit vreodata la vreun software open source? Daca da, la care?
- Facultate de profil, sau destula experienta care sa suplineasca lipsa facultatii de profil.
Ce ne asteptam de la tine
- Vei lucra la componentele unui sistem distribuit care colecteaza si analizeaza date de pe diverse website-uri de stiri si retele sociale.
- Desi noi cautam specific un Java developer, trebuie sa intelegi ca echipa noastra nu are “fise de post” bine definite. Intr-un startup trebuie sa fii adaptabil. Fiecare incearca sa “get the things done”, oricare ar fi task-ul.
- Ne asteptam ca in timp sa devii persoana responsabila de tot codul din sistem. Trebuie sa inveti ce face fiecare componenta si cum functioneaza. In plus, trebuie sa reorganizezi portiuni de cod si sa le faci mai eficiente.
- Sa fii independent. Nu planuim sa facem micro-management, mai ales dupa ce ne cunoastem mai bine, deci trebuie sa fii o persoana motivata intern.
- Nu avem o echipa de QA pentru codul sursa. Fiecare persoana e responsabila de codul pe care il scrie. Cautam o persoana care scrie cod de calitate si care are respect pentru munca sa.
- Sa fi pregatit si capabil sa inveti un code base mare.
- Lucrul in echipa e foarte important. Suntem o echipa mica, si va trebui sa lucram perfect impreuna. Ne asteptam sa fii flexibil.
- Echipa noastra se imparte intre Romania, Anglia si SUA. Comunicarea remote, din tari si fusuri orare diferite e ceva obisnuit si frecvent, si trebuie sa fii deschis la asta.
Beneficii
- Sansa de a influenta dezvoltarea unui start-up
- Vei lucra la probleme interesante
- Sansa de a lucra la un produs cu impact international, nu la proiecte de outsourcing
- Orar flexibil
- Dezvoltare personala: te vei dezvolta o data cu restul echipei
- Posibilitatea de a-ti dezvolta o aptitudine care nu e inclusa in fisa postului (business, tehnologie, cercetare)
- Trebuie sa cunosti Java la nivel avansat. Backend-ul nostru e foarte complex si consta in multe componente (servere custom) ce lucreaza impreuna sa colecteze si sa analizeze date de pe diverse website-uri de stiri si retele sociale.
- Intern folosim zeci de librarii open source si software open source, printre care servere de storage (baze de date, key-value stores), web crawling, natural language processing, machine learning, comunicare intre componente, logging, monitorizare, servere web embedded, unit testing, full-text indexing and search, librarii pentru diverse API-uri web, parsere HTML, etc. etc. Trebuie sa ai experienta cu astfel de librarii si/sau sa fii capabil sa le inveti foarte rapid.
- Desi folosim multe librarii gata scrise, majoritatea componentelor din sistem contin foarte multe linii de cod scrise de la zero de noi. Trebuie sa fii in stare sa lucrezi cu un code base masiv fara sa intelegi la inceput toate detaliile.
- Trebuie sa intelegi HTML si CSS.
- Trebuie sa intelegi cum functioneaza retelele de calculatoare. Componentele noastre comunica prin TCP si UDP. De obicei nu folosim cod low level de networking, ci folosim diverse librarii pentru comunicatii in retea.
- Sistemul nostru functioneaza pe servere Linux. Trebuie sa ai cunostinte de administrare Linux, sau macar sa stii sa folosesti command line-ul ca si user. Trebuie sa stii ce inseamna SSH si SCP.
- Trebuie sa stii sa folosesti unelte de source/revision control precum CVS/SVN/GIT, etc.
- Trebuie sa stii ce inseamna unit testing si sa poti folosi librarii gen JUnit.
- Trebuie sa stii sa documentezi codul folosind Javadoc: http://bit.ly/aQwKVN
- Este foarte important sa poti cauta solutii la probleme tehnice folosind Google. Noi consideram ca acest skill este esential in ziua de azi. Trebuie sa stii sau sa inveti metodele avansate de cautare in Google. Daca ai nevoie de o librarie trebuie sa poti cauta toate alternativele cu Google si sa fii in stare sa selectezi cea mai buna pentru a o integra in sistemul nostru.
- Clientii nostri sunt firme internationale. Trebuie sa fii fluent(a) macar in engleza.
- Atentie la detalii (mai degraba obsesie la detalii).
- Trebuie sa fii pasionat de ceea ce faci. Daca tu consideri ca mergi la lucru doar ca sa castigi bani, te rog nu aplica pentru acest job pentru ca ai irosi atat timpul tau cat si al nostru. Fiind o echipa foarte restransa, persoana pe care o vom angaja va avea un impact major asupra produsului nostru.
Cerinte optionale, dar binevenite
- Cunostinte de PHP/MySQL ar fi foarte utile. S-ar putea sa iti cerem cateodata sa construiesti interfete web, in principal pentru uzul nostru intern (monitorizarea sistemului, quality assurance, poate interfete pentru clienti etc.).
- Background solid in matematica.
- Experienta cu algoritmi de machine learning si language processing.
- MapReduce (Hadoop)
- Lucene si/sau SOLR
- C++
- Ai contribuit vreodata la vreun software open source? Daca da, la care?
- Facultate de profil, sau destula experienta care sa suplineasca lipsa facultatii de profil.
Ce ne asteptam de la tine
- Vei lucra la componentele unui sistem distribuit care colecteaza si analizeaza date de pe diverse website-uri de stiri si retele sociale.
- Desi noi cautam specific un Java developer, trebuie sa intelegi ca echipa noastra nu are “fise de post” bine definite. Intr-un startup trebuie sa fii adaptabil. Fiecare incearca sa “get the things done”, oricare ar fi task-ul.
- Ne asteptam ca in timp sa devii persoana responsabila de tot codul din sistem. Trebuie sa inveti ce face fiecare componenta si cum functioneaza. In plus, trebuie sa reorganizezi portiuni de cod si sa le faci mai eficiente.
- Sa fii independent. Nu planuim sa facem micro-management, mai ales dupa ce ne cunoastem mai bine, deci trebuie sa fii o persoana motivata intern.
- Nu avem o echipa de QA pentru codul sursa. Fiecare persoana e responsabila de codul pe care il scrie. Cautam o persoana care scrie cod de calitate si care are respect pentru munca sa.
- Sa fi pregatit si capabil sa inveti un code base mare.
- Lucrul in echipa e foarte important. Suntem o echipa mica, si va trebui sa lucram perfect impreuna. Ne asteptam sa fii flexibil.
- Echipa noastra se imparte intre Romania, Anglia si SUA. Comunicarea remote, din tari si fusuri orare diferite e ceva obisnuit si frecvent, si trebuie sa fii deschis la asta.
Beneficii
- Sansa de a influenta dezvoltarea unui start-up
- Vei lucra la probleme interesante
- Sansa de a lucra la un produs cu impact international, nu la proiecte de outsourcing
- Orar flexibil
- Dezvoltare personala: te vei dezvolta o data cu restul echipei
- Posibilitatea de a-ti dezvolta o aptitudine care nu e inclusa in fisa postului (business, tehnologie, cercetare)
Publicat la 03-02-2011
Vizualizări: 639
Vizualizări: 639
Alte joburi recente la Newistic
03-02-2011
03-02-2011
03-02-2011
