Par testa uzdevumu lomu izstrādātāja dzīvē

Cik tehniskās intervijas savā dzīvē esat bijušas?

Pēdējo piecu gadu laikā esmu apmeklējis 35 jebkura veida un specifikas tehniskās intervijas – sākot no Kazahstānas jaunizveidotiem uzņēmumiem kolektīvai gaļas iegādei ziemai līdz Vācijas un Amerikas fintech dienestiem un bankām; koncentrējoties uz programmēšanu, piegādi un pārvaldību; attālināti un birojā; ierobežots un neierobežots laikā; saspringta un relaksēta dažādās valodās.

Tas kopā ar ~ 20 intervijām, kuras es veicu pats kā darba devējs - pietiekams skaits, lai es kļūtu par interviju karali, lai izdarītu šādu novērojumu (sākotnēji pilnīgi nepārprotamu) un nostiprinātos tajā: ​​Esmu pārliecināts, ka lielā mērā pateicoties tik daudzām intervijām, tas sāk izskatīties pēc margināla ieraduma, es izpētīju savu steku profesionālā līmenī un kļuvu par konkurētspējīgu speciālistu, neskatoties uz to, ka jau 10 gadus biju nostrādājis tīmekļa izstrādē.

Šis raksts ir adresēts programmētājiem, kuri ir sava ceļojuma sākumā un vēl nav izsmēluši savas zināšanas. Tajā es vēlos izvērst tēzi par testa uzdevumu un intervijās uzdoto tehnisko jautājumu kolosālajiem izglītojošajiem ieguvumiem - un aicinu visus uz savu tikko uzrakstīto telegrammu robotu ActualizeBot, kur pēc mana plāna vismaz katru dienu var veikt tehnisko interviju līdz to beigām. Un, lai tie nebeigtos, varat arī dalīties ar kādu interesantu tehnisku uzdevumu, jautājumu vai kādu noderīgu/jauku situāciju, kas piedzīvota intervijas laikā.

Tālāk es jums pastāstīšu vairāk par robotprogrammatūru, vispirms noskaidrosim, kāpēc ir tik svarīgi zināt un saprast atbildes uz šiem tehniskajiem jautājumiem un uzdevumiem, pat ja jau gadiem ilgi esat veiksmīgi vadījis ārštata projektus.

Kāpēc mūsu pamatzināšanu kvalitāte atstāj daudz vēlamo?

Tehniskās intervijas, ja vēl neesi kļuvis par interviju karali, ir nopietns stress ķermenim, tāpat kā darba meklējumi kopumā - vai esi iesācējs speciālists, pārslēdzējs vai izstrādātājs, kurš strādājis vienā. vieta uz ilgu laiku (un mūsu laikā par "ilgo" var uzskatīt gadu).

Daudzās intervijās šo stresu pastiprina cilvēciskais faktors. Jūsu intervētājs var būt nevis Alena Vladimirskaja, bet gan parasts programmētājs, no kura grūti sagaidīt adekvātus uzdevumus un to novērtējumu, vai arī stingrs komandas vadītājs, kurš gaidīs brīdi, lai samazinātu savu bardzību. viņa acis uz tevi, uzdodot jautājumu: Kas tev ir veikls!?

Kādu dienu, nesniedzot nepieciešamo, bet, kā saprotat, neparedzamo atbildi uz šo jautājumu, paliku bez piedāvājuma, par ko biju neticami priecīgs.

Cenšoties izvairīties no šī stresa un nevajadzīgām kustībām kopumā, mēs distancējamies ne tikai no savas nezināšanas skaļās atmaskošanas par dažām valodas pamatīpašībām, bet arī no šīs nezināšanas vismaz nedaudz mazināšanas.

Problēma ir tā, ka praksē ir maz vietu, kur mēs varam iegūt šīs klases problēmas.
Jebkurš izstrādātājs, kuram ir nācies strādāt vairākās vietās, apstiprinās, ka intervijās izvirzītajām fundamentālajām vai radošajām problēmām reti ir nekāda sakara ar to, ar ko programmētājs nodarbojas reālajā dzīvē – nav rekursiju, grafiku un asinhronas liftu vadības sistēmas uz planētas ar negatīvu. gravitācija citā galaktikas atzarā. Diemžēl.

Saistībā ar manu vietējo JavaScript ir labs piemērs — ja React.JS nebūtu parādījies, 98% JavaScript programmētāju veiksmīgi turpinātu dzīvot svētlaimīgā neziņā par to, kas ir bind — vairāk nekā 20 gadus pēc tā parādīšanās, un turpinātu. būt neizpratnē, intervijās saņemot jautājumus par to, un ar to turpinātu strādāt tikai tie, kas izdomā visas šīs ļoti abstraktās bibliotēkas, ietvarus un moduļus. Šodien, pateicoties reakcijai, šis skaitlis ir samazināts līdz 97%.

Acīmredzot, redzot šo uzdevumu “izolāciju no realitātes”, daudzi izstrādātāji tos ignorē vai tērē laiku, iedziļinoties tajos – un turpina iet savu ikdienas rutīnu, tas ir, tēlaini izsakoties, staigājot pa attīstības mīnu lauku ne tikai ražošanai. bez mīnu detektora, bet arī nezinot, ka viņi atrodas mīnu laukā.

Kādas ir valodas pamatzināšanu trūkuma sekas?

Atbilde uz šo jautājumu šķiet banāla, taču nez kāpēc cilvēka dabā ir vienmēr tā risinājumu virzīt tālākajā stūrī - un tas spēlē skumju lomu jaunāko un vidējo programmētāju dzīvē, pagarinot viņu ceļu uz augstumiem (un dziļumiem). ) valodu zināšanas par pāris gadiem.

Lietojumprogrammas kodu, kas izmanto ietvarus un bibliotēkas, kurus viņi ir pieraduši rakstīt katru dienu, nevar uzskatīt par uzticamu, ja viņi to raksta bez pietiekamas izpratnes par dažādiem tā izpildes aspektiem. Labs piemērs tam no JavaScript pasaules ir JQuery bibliotēkas liktenis, kas kādreiz bija progresa dzinējspēks un šodien, būdams sevī noslēgts zināšanu lauks, kas ir atdalīts no pārējās valodas, ieņem savu dabisko vietu. tirgus — pusprofesionāli skripti, kas steigā uzrakstīti un darbojas pēc vajadzības, kā dāvana tādam pašam ātram izkārtojumam bootstrap no lētiem ārštata darbiniekiem.

Ar šādu bezatbildīgu pieeju izstrādāto projektu nākotne, kaut arī aiz nezināšanas, ir prozaiska un īslaicīga: ievērojami laika zudumi no zila gaisa, neveiksmes, finansiāli un reputācijas zaudējumi un rezultātā samazinās entuziasms turpināt darbu. sadarbību.

Savukārt cilvēkam, kurš izvēlējies programmētāja ceļu, maz ko var salīdzināt ar prieku saprast, ko dara. Saprotot, ka viņš, tāpat kā barons Minhauzens, zirga mugurā lēkā pa mīnu lauku. Lieki piebilst, ka kārtīgs darba devējs var skaidri redzēt cilvēkus, kas neapdomīgi staigā pa mīnu lauku, un cilvēkus, kuri ir sastinguši neizlēmībā spert soli situācijā, kad var skriet un lēkt, ne par ko nedomājot?

ActualizeBot

Redzot interviju priekšrocības, kā arī saprotot, ka došanās uz tukšām intervijām nav gluži ētiska, es nodomāju, ka būtu lieliski izveidot robotprogrammu, kurā iesācējs vai izstrādātājs, kurš pāriet uz citu valodu, varētu iesaistīties izglītojošā apmācībā, neizmantojot reālas intervijas tādā mērā , kurās tas notika ar mani. Un atceroties, kā programmētājiem patīk apspriest un salīdzināt problēmas, kuras viņiem bija jāatrisina – it īpaši, ja tas bija kaut kas nenozīmīgs – es sapratu, ka viss atbilst, noraidīju visas šaubas un voila.

Pašlaik robotam ir 3 vienkāršas funkcijas:

  • Abonēšana uz noteiktu valodu/ietvaru, lai saņemtu tai jaunus uzdevumus. Jūs abonējat un, tiklīdz pienāk uzdevumi, saņemat tos ikdienas biļetenā
  • Uzdevuma vai testa uzdevuma publicēšana — manā grāmatā teikts, ka dalīšanās ir rūpes
  • Lielisks vārdu ģenerators, ar kuru jūs varat izvēlēties optimālo parakstu jūsu publicētā uzdevuma tekstam, ieskaitot sieviešu vārdnīcas, bez feministēm

Pašlaik ir pieejamas šādas valodas, no kurām izvēlēties: JavaScript, Java, Python, PHP, MySQL. Manas izpratnes ierobežojumu dēļ izvēle ir nedaudz ierobežota. Es ceru papildināt šo sarakstu ar habra kopienas palīdzību.

Bots tiek palaists tīri rokenrola formātā; samaksa par neko nav gaidāma.
Jūs varat doties uz to, izmantojot šo saiti: ActualizeBot

Īsumā par tehnisko izpildi

Šis robots ir viens no vairākiem maziem projektiem, kurā es piedāvāju savu atvērtā pirmkoda mini ietvara pirmo publisko versiju sarežģītas struktūras robotprogrammatūras izstrādei, kas ir mīļi nosaukta par Hobot un kas ir pieejama NPM formātā cietajiem cilvēkiem.

Karkass ir veidots uz Telegraf.JS un TypeScript bāzes, tā nulle-nulle-pirmā versija, kas aprīkota ar lietošanas piemēru, apskatāma github un izmēģiniet to uzreiz. Drīzumā augšupielādēšu 0.0.2 versiju, kas ir paplašināta un izķemmēta cilvēkam no ārpuses, un tai (stumbram) veltīšu atsevišķu rakstu. Priecāšos, ja kādam tas izrādīsies tikpat aktuāli kā man.

Tātad, cik daudz interviju jums bija jāpiedalās?
Esmu pārliecināts, ka jums ir ko pastāstīt!

Avots: www.habr.com

Pievieno komentāru