Antra dalis, pirma čia.

Praeita savaitė buvo rami ir tyli. Vyko kiti dalykai, praktiškai negalėjau skirti laiko darbo medžioklei. Vieninteliems atsakiusiems pasirodžiau per brangus - greit ir nuoširdžiai apsišaudėm skaičiais. Laisvą minutę vis įsijungdavau HackerRank arba Codewars, kas vėliau gerokai padėjo išgyventi.

LinkedIn'o žinutės

Sugalvojau pabombinti LinkedIn'ą. Iš vieno motyvacinio išėmiau santrauką, siuntinėjau visiems kur man rašė prieš tai ir kur buvo minėję, kad tinka freelance arba remote. Žodžiu spamminau, bet ne bukai. Jausmas, kad dauguma atsakė neskaitę. Gavau "interviu ofise sostinės Piratų gatvėj" arba "relocate to Livonia", nors mano galva aiškiai aprašiau savo situaciją.

Įdomumui įmetu spambomb'ą.

Hey Person,

I hope you're doing great.

My situation has changed, and I am actively looking for a new project, contract or a full-time position.

A summary of my skills and experience:

  • Five years of experience in web development (4+ with Node.js, 3+ with Vue.js).
  • Vue.js, Node.js (Express), MySQL, Redis, GraphQL, Socket.io (real-time applications), PWA (progressive web apps), Webpack, Docker, AWS, Serverless (AWS Lambdas).
  • Avid tester (Jest, Vue Test Utils, Mocha, Chai, Sinon, Cypress.io).
  • Have been working remotely for the past 3+ years.

I'm happy to travel regularly, but not able to relocate, thus looking for a remote arrangement.

Let me know if I may be useful 😃

Cheers,

Eligijus

Nežinau ar super gera žinutė, tiesiog išdėstau patirtį, paspaminu žinomas technologijas ir kažkiek patirtį.

Iš rezultatų gal vienas įdomesnis buvo užklausa padaryt annotationus PDF'ui. Maždaug vartotojams leisti piešti textboxus ant PDF'o ir išsaugoti info apie juos. Patyrinėjus problema atrodo gan kėbli, parašęs šį įrašą gausiu nuspręst ar noriu jos imtis.

Pirmas geras atsakymas

Penktadienio vakarą gavau pirmą laukiamą atsakymą iš anksčiau siųstų aplikacijų (ne LinkedIn). Sako reik susiskambint per ateinančias kelias dienas. Jų applicationui tikriausia praleidau daugiausia laiko, net nuotrauką įdėjau kur pasakoju apie PWAs per PHP meet'ą.

Gavau gero feedback'o (grįžtamojo ryšio) apie emailą. Surašiau kaip mano patirtis tiktų jų komandai, prisipažinau ko iš jų reikalavimų nemoku, iš esmės pasistengiau parašyti kuo asmeniškesnį ir jų situacijai kuo labiau pritaikytą emailą.

Pokalbis buvo draugiškas, kartu sutarėm kodėl PWA dar "as big as it deserves to be", pažvengėm iš kitų applicationų, kurie savo kodo pavyzdžius siuntė kaip paprastą tekstą arba screenshotą (pridėjau GitHub Gist'us).

Dar kart supratau kodėl labiausia noriu dirbti su amerikiečiais. Net neturėdami daug patirties ten žmonės domisi geriausiomis praktikomis, jas bando ir taiko savo kasdienybėj. Vos kelis metus patirties turintis potencialus kolega sugebėjo padaryti įspūdį pasakodamas apie savo darbo metodus.

Grynai techninių klausimų kaip ir nebuvo. Papasakojau kodėl patinka Vue, kas man atrodo Vue silpnos vietos, kokių bėdų ir sprendimų turėjau su data reactivity, kurie testavimo frameworkai man labiau prie širdies, kaip įsivaizduoju microservice'us.

Galiausia gavau nuorodą į techninę užduotį. 90 minučių HackerRank tipo testas su trim užduotimis.

Techinis testas

Užduotims skyriau sekmadinį. Apšilau su HackerRank, tada nėriau daryt atsiųsto testo.

Pirma užduotis buvo pareversint sakinius. Pasirodė per lengva, ieškojau kur paslėptas kabliukas, bet bespręsdamas nesugalvojau. Dabar matau, kad time complexity.

Panaudojau kažką panašaus į seną gerą .split(' ').reverse().join(' ').trim(). Tas dar buvo kelių aukštų (ciklas cikle), nes sakinių buvo ne viena eilutė. Manau koks 100% už teisingumą ir 30-60% už performance.

Turiu pripažint, kad antra užduotis kirto per kelius. Net dabar negaliu jos atpasakoti savais žodžiais, vadinas nelabai gerai iki šiol ją suprantu. Iškart atsiprašau, tikriausia naudosiu neteisingus terminus dalykams vadinti. Matematiką suprantatiems bus juokinga, man buvo baisoka.

Nupasakotas būdas kaip galima apskaičiuoti ar pirminio skaičiaus skaitmenų grupių suma dalinasi iš to skaičiaus. Jei grupuojant skaičius po vieną nesigauna dalus skaičius, reikia grupuoti po du, jei vėl nesigauna, grupuoti po tris ir t.t.

Užduotis buvo naudojant tą patį metodą apskaičiuoti bet kokio pirminio skaičiaus mažiausią skaitmenų grupių ilgį, kad gautum skaičių kuris dalinas iš duoto pirminio skaičiaus. Jei šitas sakinys atrodo per painus, tai jis toks ir yra.

Užtrukau turbūt pusvalandį vien kol supratau ko iš manęs nori. Manau išsprendžiau teisingai. Būtų buvę geriau, jei būčiau panaudojęs rekursiją, bet turėjau tikrai mažai laiko paskutinei užduočiai.

Paskutinė buvo Fibonacci seka. Žinau, kad šitas yra standartinis techninių užduočių klausimas, bet nebuvau šito bandęs (aplaidu iš mano pusės). Pagūglinau, radau sprendimą, neveikė. Sprendimas buvo su klaidom, gal net specialiai, nežinau.

Fibonacci sekos yra gan paprastas reikalas, kurį gali išmąstyti. Mane išmušė iš vėžių tai, kad seką parašyti ir rezultatą gauti reikėjo ne nuo pradžių. Sąlyga sakė, kad bus duodami pirmi du skaičiai ir kelintos iteracijos rezultatą reikia gauti.

Sprendimą pradėjau rašyt likus mažiau nei 15 minučių iki testo pabaigos. Užbaigt nesugebėjau.

Keliavau pietų. Grįžęs testą sprendžiau lokaliai. Juokingiausia tai, kad sprendimui prireikė gal 7 minučių. Ilgiau užtrukau pasisetupint node aplinką su process.stdin, nei parašyti ir ištestuoti sprendimą.

Parašiau emailą - "va, žiekit paskutinės užduoties sprendimas, teisiog nespėjau".

Labai tikiuosi, kad būsimi kolegos į tai atsižvelgs.

Reakcija į techninę užduotį

Užduotis pasirodė tarpelis tarp Codility beprotybės ir visokių Codewars galvosūkėlių. Labai džiaugiuosi skyręs laiko panašioms užduotims, bent žinojau ko tikėtis ir pamačius neišmušė saugiklių.

Suprantu savo spragą standartinėse užduotyse, reikia praktikuotis jas. Ypač visokius palindromus, Fibonacci'ius ir dar velniai žino kokius 😄

Tolimesnis planas

Turiu jausmą, kad su užduotį siuntusiais viskas gerai. Jų sprendimas gerokai priklausys nuo to kaip pavyko susidoroti su testu, o tai yra rimtas klaustukas.

Dar turiu apsispręsti ar noriu prasidėti su PDFiniais bičiukais. Jausmas čia prastesnis. Net jei rasčiau gerą būdą susidoroti su jų duota problema, nežinau ar norėčiau su jais dirbti. Gal ne tiek dirbti, kiek ar jų turimas projektas yra tinkamas kelias vystyti karjerą.

Labiausias klausimas yra kur protingiau investuoti laiką ir energiją. PDF'o sprendimas yra įdomus, bet atrodo panašesnis į trumpalaikę (greitą) naudą. Tolimesnė darbo medžioklė su tikslu rasti gerą projektą atrodo geresnė ilgalaikė kryptis.

Neslėpsiu, kad pokalbis su užduoties bičiukais pakėlė pasitikėjimą savim ir jėgom. Dabar labiau žinau, kad galiu gauti gerų projektų ir esu jų vertas.