Jobs
We are hiring for the jobs listed below. The job postings are in Romanian because we are currently hiring only for our development office in Romania. You can click on one of the titles below to jump to that job listing.
- Senior Javascript / PHP web developer
- Input de date, verificare date, asigurarea calitatii (necesita cunostinte HTML)
- Senior Java developer (web crawling infrastructure)
Daca vrei sa aplici pentru vreunul dintre joburi sau ai intrebari ne poti scrie la jobs@newistic.com.
Descrierea firmei
Newistic este un startup romanesc de monitorizare media. Platforma noastra colecteaza si analizeaza articole si mesaje de pe site-uri de stiri, bloguri, forumuri, Twitter, si Facebook, in mai multe limbi. Datele colectate sunt analizate folosind algoritmi de machine learning si natural language processing. Produsul nostru principal in acest moment este o platforma de monitorizare media destinata agentiilor si companiilor farmaceutice internationale. Platforma noastra permite companiilor sa monitorizeze articole discutiile despre brandul si produsele proprii, precum si despre concurenti.
Suntem o echipa restransa, dar competenta. Cumulat avem peste 10 ani de experienta in sisteme distribuite de web crawling, data mining, machine learning, si administrare de servere. Cautam persoane pasionate de programare si care se adapteaza rapid la limbaje de programare si librarii noi.
Senior Javascript / PHP web developer
Cerinte esentiale
- Trebuie sa cunosti Javascript la nivel avansat. Framework-ul ce il folosim pentru interfata noastra are peste 30.000 de linii de cod in Javascript. In afara de acest famework de baza ce foloseste MooTools, avem multe widgeturi ce folosesc jQuery. Interfata face foarte multe request-uri Ajax spre scripturi scrise in PHP.
- Desi e de la sine inteles, trebuie sa intelegi si sa poti scrie HTML si CSS de mana, fara un editor vizual. In plus, e foarte util daca stii sa lucrezi cu Firebug, un plugin de Firefox ce ajuta la web development.
- Trebuie sa fii capabil(a) sa construiesti interfete folosind PHP si MySQL. Noi folosim diverse librarii, printre care Smarty, care e un templating engine, sau XML-RPC for PHP, cu care ne conectam la API-ul nostru intern.
- 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.
- 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
- Noi nu folosim software de la Microsoft sau Apple pe servere. Ar fi foarte util sa ai cunostinte de administrare Linux (sau macar sa te descurci ca si user).
- Cunostinte minine de Java. Noi intern folosim Java pentru o mare parte din motorul de web crawling si analiza. Interfata se conecteaza la backend prirntr-un API care e independent de limbajul de programare.
- Ai folosit vreodata unelte de source/revision control precum CVS/SVN/GIT, etc?
- Stii ce inseamna unit testing? Ai folosit vreodata o librarie ce ajuta la asa ceva?
- 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
- Rolul tau va fi dezvoltarea de interfete web in Javascript si PHP, atat pentru uz extern (produs), cat si pentru uz intern (pagini de monitorizare, managementul informatiilor).
- Desi noi cautam specific un web 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.
- 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.
Input de date, verificare date, asigurarea calitatii (necesita cunostinte HTML)
Cerinte esentiale
- Cautam o persoana ce poate citi si intelege cod HTML. O parte importanta a job-ului va consta in analizarea codului HTML al unor website-uri. In plus, trebuie sa ai cunostinte sumare de CSS. De exemplu, trebuie sa stii ce inseamna cand un tag HTML are proprietati "id" sau "class".
- Trebuie sa fii capabil(a) sa te concentrezi perioade lungi de timp la un task repetitiv. In plus, trebuie sa poti rezista tentatiei de a pierde vremea citind continutul site-urilor pe care le analizezi.
- Este esential sa poti face cautari complexe in Google. Acest skill e mai greu decat pare. In functie de ce iti cerem sa cauti, trebuie sa gandesti ca si persoanele ce au scris continutul pe care il cauti. O cautare poate fi scrisa in multe feluri (mai ales daca termenul are sinonime), deci trebuie sa fii creativ si sa incerci mai multe variante. Aceasta pagina este o introducere buna a metodelor avansate de cautare in Google: http://bit.ly/9C7tEQ
- Trebuie sa iti faci treaba rapid si sa o faci constant la o calitate inalta. Vom avea metrici de performanta care trebuie respectati, atat pentru viteza cat si pentru calitate.
- Atentie la detalii (mai degraba obsesie la detalii).
- Cunostinte de Excel, Word, sau de OpenOffice Spreadsheet si OpenOffice Word Processor.
- Trebuie sa poti folosi Twitter, Facebook, Youtube, si alte website-uri cunoscute.
Cerinte optionale, dar binevenite
- Ar fi foarte util daca stii deja sa lucrezi cu Firebug, un plugin de Firefox ce ajuta la web development.
- Cunostinte de PHP/MySQL/phpMyAdmin sunt binevenite.
- Experienta in Quality Assurance
Ce ne asteptam de la tine
Firma noastra colecteaza si agregheaza informatii de pe Internet pentru clientii nostri. Jobul tau va consta in:
- Vizitarea unor site-uri dintr-o lista din baza noastra de date. Pentru fiecare site va trebui sa verifici daca sistemul nostru colecteaza corect informatii din acel site (stiri, mesaje)
- Crearea de liste de site-uri dintr-un anumit domeniu. De exemplu, am putea sa iti cerem sa gasesti (folosind Google) liste cu cele mai importante site-uri de stiri despre bioinformatica. La fel am putea sa cauti conturile de Twitter ale firmelor ce se ocupa de acest domeniu.
- Pentru fiecare site nou dintr-o lista, o sa iti cerem sa verifici daca sistemul nostru poate colecta automat informatii. Daca nu, o sa iti cerem sa inveti sistemul nostru sa colecteze aceste informatii, analizand codul HTML al site-ului.
- Iti vom cere sa faci controlul calitatii pentru uneltele si site-urile la care lucram. Controlul calitatii va consta in incercarea in detaliu a tuturor optiunilor si a combinatiilor de optiuni din intefetele la care lucram. Va trebui sa completezi bug reports daca gasesti probleme si uneori va trebui sa propui moduri prin care putem sa facem interfetele sa fie mai usor de folosit.
- Desi noi cautam specific o persoana care sa ne ajute cu verificarea, introducerea, si cautarea de informatii despre website-uri, trebuie sa intelegi ca echipa noastra nu are "fise de post" bine definite. Intr-un startup trebuie sa fii adaptabil, pot aparea oricand taskuri neprevazute. Fiecare incearca sa "get the things done", oricare ar fi task-ul.
Senior Java developer (web crawling infrastructure)
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.
