ecosmak.ru

Vtipy hlasovej asistentky „Alice“: „Tieto vtipy mi vybrali programátori. Hlasová asistentka „Alice“ vtipkuje: „Tieto vtipy mi dali programátori. Koľko rokov má váš programátor Alexey?

Na rozdiel od mnohých mojich kolegov som sa nenarodil ako programátor. Narodil som sa ako hudobník. Na univerzite som sa nenaučil programovať a do určitej doby som ani nemal v úmysle spojiť svoj život s IT.

Ale vždy ma lákala Moskva so širokými chodníkmi, dlhými násypmi a obrovskými parkami. Ale akonáhle tam, cítite potrebu peňazí viac ako v ktoromkoľvek inom meste v našej úžasnej domovine. Môj starší brat si vtedy prenajal byt s dvomi programátormi pracujúcimi v nejakej banke. V jednom z kuchynských rozhovorov som sa teda po prvý raz ponoril do sveta Pythonu. Od toho momentu prešlo veľa času, kým som dostal svoju prvú prácu ako vývojár Pythonu.

Prvé kroky v programovaní

Takže keď som bol v Moskve, musel som si hľadať prácu, pretože som dlho nemohol žiť ako hosť. Moje schopnosti vtedy stačili len na to, aby som sa zamestnal v technickej podpore jednej veľkej a nemorálnej firmy. Prijímal som žiadosti telefonicky a chodil som tam a späť po dlhých chodbách budovy, aby som pripojil myši k systémovým jednotkám, ktoré zase vyleteli zo zásuviek všetkým zamestnancom kancelárie.

Práve tam, uvedomujúc si absurdnosť toho, čo sa deje, som napísal svoj prvý program. Vo voľnom čase od rutiny som študoval možnosti jazyka a písal skripty pre správu systému. Starší administrátori si to rýchlo všimli a začali mi dávať úlohy na napísanie toho či onoho programu a s prekvapením som zistil, že aj s mojimi minimálnymi skúsenosťami som lepší programátor ako oni a môžem im byť v tomto užitočný.

Prvá práca

Prekvapivo som nikdy nepracoval ako junior. Išiel som rovno do stredu. Ale snažil som sa zamestnať ako junior developer. Dobre si pamätám ten rozhovor.

Dvaja vyštudovaní programátori (zábavne to boli manželia) skúšali moje vedomosti a myslenie celé dve hodiny, po ktorých skonštatovali, že zjavne nemám dostatok vedomostí, no neodmietli ma, ale dali mi zoznam. referencie a poslali ma doštudovať. O dva týždne neskôr som sa vrátil na pohovor a preukázal som fantastickú schopnosť učiť sa, odpovedal som na mnohé otázky, na ktoré som predtým nevedel odpovedať. Na druhý deň mi zavolali a povedali, že ma prijali. Uviedli mi plat, ktorý by mi nestačil ani na nájom a stravu, nehovoriac o nejakom luxuse. Okamžite som to odmietol a nikdy som to neoľutoval, keďže som sa zamestnal ako systémový administrátor v jednej svetoznámej firme, kde som pokračoval v samovzdelávaní programátora. Z tohto príbehu som sa naučil jednu vec dôležitý bod- nič nevedie a netlačí tak dobre ako rozhovor!

Čo bude ďalej

V určitom momente, unavený kancelárskym životom a prácou správcu, som si našetril nejaké peniaze a odišiel som na šesť mesiacov cestovať do Indie. Ach, keby som vedel opísať, aké bolo tých šesť mesiacov, nestačila by mi ani kniha, nieto ešte tento článok. Po návrate som už vedel, že sa ešte raz pokúsim zamestnať ako programátor a tentoraz sa na mňa usmialo šťastie a bol som na to oveľa lepšie pripravený. Počas šiestich mesiacov cestovania som sa veľmi, veľmi dobre zlepšil v hovorenej angličtine, čo mi teraz pomáha každý deň pri komunikácii s kolegami. Dostať sa do jazykového prostredia sa ukázalo byť oveľa efektívnejšie ako akékoľvek učebnice (mimochodom, to isté sa dá povedať o programovaní). Je však lepšie skočiť tam, keď už rozumiete základom, inak využijete podmienky, v ktorých sa môžete stať pokročilým, aby ste sa naučili základy.

Takže tu to je. Pri mojej prvej práci programátora som bol jediným backendovým vývojárom v spoločnosti! Nič horšie si ani neviete predstaviť! No, dostal som, čo som chcel. No pri druhej práci som sa ocitla v úžasnom kolektíve, kde pracovali skutoční profesionáli s bohatými skúsenosťami. Vďaka nim som získal kultúru kódu a spoznal vysoké štandardy vo vývoji. Misha Korsakov a Andrey Belyak - rešpekt a rešpekt!

Teraz

A teraz pracujem na diaľku pre medzinárodnú spoločnosť a to má svoje výhody! Len si nemyslite, že teraz ležím na pláži s notebookom a užívam si život naplno. Stále veľa pracujem a som unavený, ale nemusím chodiť do kancelárie. Bývam v Petrohrade, občas cestujem. Podarilo sa mi žiť v Portugalsku, Taliansku a Gruzínsku, ale nemôžem povedať, že by som tam mal nejakú špeciálnu dovolenku. Organizácia cestovania so sebou prináša množstvo komplikácií navyše a v spojení s prácou to môže byť dvakrát náročnejšie ako práca z domu alebo kancelárie. Môžete však vidieť veľa nového, krásneho a zaujímavého. A to je jasné plus!

Mentoring

A môj mentoring začal veľmi vtipne a bez mojej účasti. Raz som bol na návšteve u kamaráta a náhodou som ho nechal s knihou o Pythone a Django. A nabudúce sme sa stretli až o rok neskôr a vtedy ma prekvapil. Hovorí, a teraz pracujem ako programátor! Pamätajte, že ste zabudli moju knihu, tak som si ju prečítal, vytvoril som si na základe nej vlastnú webovú stránku a nedávno som dostal svoju prvú prácu.

To sa stáva!

Neskôr môj mentoring pokračoval tým, že som začal učiť jedného z mojich priateľov. Napriek tomu, že takmer každý deň trávi v inej práci, náš biznis ide veľmi rýchlo a dobre. Vaša prvá práca programátora je hneď za rohom!

Ako sa stať úspešným vývojárom Pythonu? Alexey Kurylev sa podelí o svoje skúsenosti so začiatočníkmi aj skúsenými programátormi

Otázky

Akú radu by ste dali začiatočníkom, ktorá je zriedkavá alebo považovaná za nezvyčajnú či kontroverznú?

Hodí sa do akéhokoľvek pohybu! Nepremeškajte jedinú príležitosť na cvičenie! Buďte vždy otvorení akýmkoľvek návrhom!

A čo je veľmi dôležité:

"Keď čelíte nejednoznačnosti, odolajte pokušeniu hádať." - zen pytóna

Ako udržujete svoje schopnosti aktuálne? Ako neustále rastiete a zlepšujete sa ako vývojár?

Práca vám nedovolí stať sa nepodstatnými. Každý deň musíte urobiť niečo nové. No čítal som, samozrejme. Učím sa iné jazyky. Komunikujem s ostatnými vývojármi. Vyvíjam rôzne webové služby v tíme s kamarátmi, bez platu, len tak pre zábavu. A viac odpočívam, kedykoľvek sa dá, aj to je potrebné, takže sebarozvoj ide ľahšie a rýchlejšie.

Top 3 knihy pre začiatočníkov
  • Mark Summerfield – „Programovanie Pythonu 3: Definitívny sprievodca“
  • Wesley Chan, Paul Bissex, Geoffrey Forcier - „Django. Vývoj webových aplikácií v Pythone”
  • Robert Martin – „Čistý kód“ – Prečítajte si ho, aj keď nerozumiete Jave, je toho veľa, čo je jednoduché dobrá rada. A zároveň sa začnete učiť Javu.

Alexey Pajitnov je sovietsky a ruský programátor, ktorý vytvoril populárnu videohru s názvom Tetris, víťaz niekoľkých čestných ocenení v oblasti programovania a vývoja počítačových hier. Po prijatí vyššie vzdelanie V Moskovskom leteckom inštitúte pracoval vo Výpočtovom stredisku Akadémie vied ZSSR, kde v roku 1984 dokončil vývoj hry Tetris. Hra začala prinášať prvé peniaze v roku 1996, keď Alexey a Henk Rogers (investor, ktorý vlastnil veľké podiely v Tetrise a šíril hru po celom svete) založili spoločnosť Tetris.

Alexey Pajitnov - životopis

Narodený 14. marca 1956 v Moskve. IN školské roky Učil sa dobre, no neustále mal problémy s disciplínou. Ako sám Alexey spomína, ako dieťa bol plný energie a nedokázal poslušne sedieť na hodinách, takže za svoje správanie často dostával komentáre do denníka. Nie je to však nič pozoruhodné alebo prekvapujúce: mnohí si tým prešli. Pajitnovovi sa matematika vždy darila, a tak po ukončení piateho ročníka prestúpil na Moskovskú matematickú školu č. 91, ktorú neskôr ukončil s vyznamenaním.

Úvod do programovania

Po ukončení školy vstupuje Alexey Pajitnov do Moskvy letecký ústav, kde sa prvýkrát zoznámil s počítačmi a programovaním. Tu sa rýchlo začal zaujímať o vývoj programov a začal sa naplno venovať písaniu kódu na rôzne účely. Čoskoro bol talentovaný mladý programátor pozvaný pracovať v Moskovskom výpočtovom stredisku Akadémie vied ZSSR. Tu bol zapojený do jednej z najdôležitejších vecí – optimalizácie problémov. umela inteligencia a vývoj programov na rozpoznávanie reči.

Rutinný každodenný život v Akadémii vied nebol sladký: Pajitnov od rána do večera sedel v stiesnenej kancelárii, kde za jedným stolom sedelo niekoľko vedcov. Alexey si spomína, že niekedy opustil svoje pracovisko na celý deň a potom pracovať v noci v tichosti, keď všetci odídu domov.

Kariéra po vytvorení "Tetris"

V roku 1984 vytvoril Alexey Leonidovič Pajitnov legendárnu hru „Tetris“, ktorá sa stala takmer najpopulárnejšou na svete. V spoločnosti informačných technológií Pajitnov sa stáva rozpoznateľným a populárnym. V roku 1988 v spolupráci s Bullet-Proof Software založil spoločnosť AnimaTek, ktorá vyvíja hry. Korporácia exponenciálne prekvitala a už v roku 1991 sa vynálezca Tetrisu Alexey Pajitnov presťahoval do USA.

Vytvorenie Tetrisu - aké to bolo?

V osemdesiatych rokoch minulého storočia vo Výpočtovom stredisku Akadémie vied ZSSR mladí vedci trávili celé dni vo svojich laboratóriách a riešili nudné a netriviálne problémy. Jedným z nich bol Alexej Leonidovič Pajitnov, ktorý v tom čase vyvíjal program na rozpoznávanie reči a študoval aj problémy umelej inteligencie. Zodpovednosti pridelené mladému programátorovi boli neuveriteľne ťažké; Alexey musel neustále vytvárať mimoriadne zložité algoritmy, ktoré presahovali možnosti priemernej mysle.

S veľkou vedomostnou základňou, ktorú má k dispozícii, sa Pajitnov rozhodne vytvoriť zaujímavú skladačku, ktorá zaujme dospelých aj deti. „Tetris“ nie je ani zďaleka prvým vynálezom talentovaného programátora. Spočiatku vytvoril hru, kde figúrky museli meniť svoje umiestnenie pod vplyvom gravitácie iných predmetov. Keď sa Alexey blížil k dokončeniu písania kódu, uvedomil si, že takáto hra by bola príliš veľa pre procesor bežného počítača, takže musel zjednodušiť niektoré zložitosti programu.

Výsledkom je, že vytvorí hru, kde figúrky (ako v Tetrise) pozostávajú z piatich políčok, ktorých cieľ je identický s budúcou hrou Tetris. Žiaľ, takýto výtvor sa verejnosti nepáčil, a tak sa Pajitnov rozhodne pre ďalšie zjednodušenie hry, kde každá zo 7 existujúcich figúrok pozostáva zo štyroch políčok.

Len sedem čísel a svetová sláva je vo vrecku

Zamysleli ste sa niekedy nad tým, prečo má hra Tetris taký názov? A prečo je v ňom len sedem figúrok? Ide o to, že hra sa pôvodne volala „Tetramino“, kde „tetra“ preložené z gréčtiny znamená číslo „štyri“. S nárastom popularity jej samotní používatelia dali zjednodušený názov pre ľahšiu výslovnosť.

V jednom zo svojich rozhovorov Alexey Pajitnov vysvetlil, prečo je v hre iba 7 kusov:

„V hre je len sedem figúrok a je to vlastne šťastie, pretože číslo 7 je veľkosť Náhodný vstup do pamäťeľudský mozog, teda to, čo si človek dokáže zapamätať. 7-miestne telefónne číslo je oveľa ľahšie zapamätateľné ako osemmiestne číslo. Sedemčlenný tím je maximum, čo sa bez šéfa či majstra zaobíde. V skupine ôsmich a viacerých ľudí, kde nie je vodca, sa nedá fungovať harmonicky a štruktúrovane. V takomto tíme budú vznikať neustále nezhody a rozpory bez ohľadu na to, či ste priatelia, kamaráti alebo len známi. Tieto závery vyvodzujem na základe osobných skúseností.“

Motívy na vytvorenie Tetrisu

Hra Tetris vznikla preto, aby sa ľudia zabavili a vedeli si oddýchnuť od rutiny a každodenných povinností. Pajitnov vždy tvrdil, že najlepšou alternatívou na odbúranie stresu sú okrem športu počítačové hry.

Videohra Lightning Glory

Po dokončení napísania hry Tetris ňou boli na prvých pár týždňov uchvátení zamestnanci Akadémie vied ZSSR, kde Pajitnov pracoval. Keď sa hra stala dostupnou pre každého, sláva zábavného produktu sa v priebehu niekoľkých dní rozšírila do všetkých miest. Za pár mesiacov hral celý svet Tetris. V tejto chvíli sa Alexey Pajitnov spolu so svojimi kolegami rozhodne tvoriť Nová verzia hry, kde budú figúrky viacfarebné a budú sa viesť aj štatistiky rekordov, aby si ľudia mohli medzi sebou zasúťažiť.

Zatiaľ čo sa celý svet tešil z hry, Alexey žil mnoho rokov obyčajným životom a pracoval vo Výpočtovom stredisku Akadémie vied ZSSR. Faktom je, že nemal možnosť hru speňažiť, pretože práva patrili Akadémii vied. Bolo to vysvetlené tým, že hra bola napísaná počas pracovnej doby na pracovnom počítači.

Alexey Pajitnov: stav tvorcu hry "Tetris"

Ako viete, v roku 1996 začal Pajitnov pracovať pre Microsoft, kde vyvinul sériu logických hier s názvom Pandora’s Box. Pôsobil tu do roku 2005 a za ten čas sa mu podarilo od tejto spoločnosti získať niekoľko veľkých akcií, ktoré mu dodnes prinášajú určité percento. Sám Alexey sa nepovažuje za milionára. V jednom zo svojich rozhovorov povedal toto: „Milionár je ten, kto míňa milióny, ale nie ten, kto má milión. Žijem pomerne skromný život a nerozhadzujem peniaze vľavo a vpravo, takže by som sa nikdy nenazval milionárom."

Počítačová závislosť - chyba vývojárov alebo používateľov?

IN modernom svete veľa ľudí sa príliš zapája do videohier, čím si vytvárajú problémy Každodenný život. Stanú sa psychologicky pripútaní počítačové hry a internet a môžu venovať svoj čas sedeniu pred počítačom celé dni. Doba informačných technológií výrazne zmenila vedomie ľudí. Raz sa Pajitnova opýtali, ako môže túto situáciu komentovať, na čo odpovedal:

„Ľudia mi často hovoria, že som im ukradol veľa času, keď zistia, že som tvorca Tetrisu. Vždy sa ich pýtam: Bol tento čas pre vás dobrý alebo zlý? Všetci jednohlasne odpovedajú, že je to dobré. To znamená, že som tento čas dal a neukradol som ho."

Prvá vec, ktorú musíte pochopiť, je, že lokalita sa líši od lokality k lokalite. Ak porovnáme vývoj webových stránok s výstavbou, potom existujú stránky „altánok“ a „chaty“ a existujú „mrakodrapy“ alebo veľké „nákupné centrá“. Čím je stránka zložitejšia, tým drahšia môže stáť amatéra, ktorý sa ľahko vyrovná s jednoduchými úlohami pre malé stránky.

Budeme hovoriť o požiadavkách na jedného programátora zodpovedného za malý internetový obchod (30-3000 produktových kariet, 1-10 objednávok denne). Tento špecialista musí byť všeobecný, to znamená, že musí byť rovnako oboznámený s backendom (vývoj na strane servera) aj frontendom (vývoj na strane prehliadača používateľa).

1. Minimálne požiadavky

Ak už internetový obchod má webovú stránku, životopis kandidáta by mal obsahovať všetky alebo takmer všetky technológie, ktoré sa na stránke používajú. Zoznam môžete skontrolovať u vývojára.

Ak sa spoločnosť chystá vytvoriť webovú stránku od začiatku, potom programátor musí vedieť:

  • jeden z bežných jazykov: PHP/Python/Ruby/C#;
  • jeden z DBMS: MySQL/PostrgreSQL/MSSQL/Oracle/MongoDB;
  • jeden z bežných redakčných systémov (CMS): Bitrix, UMI, Drupal, ShoppingCart, WordPress;
  • majú zručnosti na správu Linuxu a webových serverov, napríklad jedného z Nginx/Apache/IIS alebo majú skúsenosti s hosťovaním webových serverov na cloudových platformách AWS, Google Cloud, Azure.

Nedostatok týchto zručností neznamená, že je amatér. Len nie je pre teba ten pravý.

2. Korešpondenčné zoznámenie

Známky slabého programátora možno identifikovať ešte pred pohovorom pomocou životopisu preskúmaním portfólia. Ak programátor označil svoje diela (webové stránky), mali by ste ich otvoriť v prehliadači Google Chrome, prejdite do časti „Ďalšie nástroje“ v ponuke prehliadača, vyberte „Nástroje pre vývojárov“ a otvorte kartu „Konzola“.

Potom sa vydajte na „cestu“ po stránke ako bežný návštevník: otvorte niekoľko stránok, skúste položiť otázku prostredníctvom formulára spätnej väzby alebo vyplňte košík. Ak sa v konzole objavia chyby, automaticky sa zvýraznia červenou farbou, je to zlé znamenie. Nemusí to byť chyba konkrétneho vývojára, ak pracoval v tíme, ale na tím ako celok to nevyzerá dobre.

Neprítomnosť portfólia alebo odmietnutie jeho demonštrácie je istým znakom neskúseného vývojára.

3. Plávali sme, nevieme

prirodzene, veľký význam má praktické skúsenosti. Ak sa kandidát počas pohovoru v odpovedi na otázky o minulom vývoji „vznáša“ a nevie vysvetliť svoje činy, mali by ste sa mať na pozore.

Napríklad programátor hovorí o vývoji systému pomocou MySQL, ale nevie pomenovať alternatívne technológie a dôvod, prečo si vybral práve túto. Zároveň sa ako „správna“ odpoveď hodí aj možnosť: „Len ju poznám lepšie“.

Kompetentný špecialista bude môcť podrobne hovoriť o svojom vývoji a vysvetliť, prečo použil konkrétne technológie.

Ako skontrolovať: pýtajte sa programátora na podrobnosti o minulých projektoch a pýtajte sa, prečo bol vývoj vykonaný tak, ako boli. Ak kandidát nevie odpovedať jasne, existuje šanca, že si pripisuje zásluhy za prácu tímu alebo iných kolegov. Majiteľ stránky zároveň nemusí rozumieť zložitosti programovania, stačí klásť objasňujúce otázky.

4. Vtáčí jazyk

Ďalším dôležitým bodom je schopnosť kandidáta hovoriť „ľudským“ jazykom. Dobrý špecialista vie vysvetliť svoju prácu jednoduchými slovami. Ale ak žiadateľ hovorí výlučne v pojmoch, bude pre neho ťažké komunikovať s kolegami a majiteľom spoločnosti.

Ako skontrolovať: požiadajte ho, aby povedal o nejakej chybe, za ktorú ho vedenie napomenulo. Napríklad formulár „spätná väzba“ na stránke nefungoval 2 týždne. Predstavte si, že toto je váš web.

Objasnite, o akú chybu išlo, ako sa o nej dozvedel, ako zistil príčinu a chybu odstránil. Ak žiadateľ hovorí „nezrozumiteľne“, požiadajte o vysvetlenie. Ak stále nie ste spokojní s vysvetlením, bude sa vám s ním ťažko pracovať.

5. "OpenSource"

Mnoho odborníkov publikuje svoj vlastný vývoj na GitHub (alebo BitBucket). Ak má programátor viacero verejných projektov a navyše ich označili alebo skopírovali (forkovali) iní používatelia, je to výrazné plus. Veľké množstvo kopírovanie hovorí o vysoký stupeň profesionalita.

Programátor na úrovni Dana Abramova bude hľadať veľká spoločnosť, úroveň (teraz tam pracuje), ale ak má váš kandidát projekty s nenulovými známkami a zaplnená je aj „zelená plocha“, skvelé! Pokojne ho zavolajte na pohovor.

Ako skontrolovať: požiadajte žiadateľa, aby poslal odkaz na svoj účet GitHub (BitBucket) a uviedol projekty, na ktoré je hrdý. Venujte pozornosť „vek účtu“, počtu projektov a počtu kópií kódu inými používateľmi.

6. Stará batožina

Kompetentný špecialista musí sledovať vznik nových nástrojov a technológií. Jedna vec je, ak je programátor nútený pracovať s webovou stránkou napísanou v zastaraný jazyk, iná je, keď zaujme príliš konzervatívny prístup.

Moderné nástroje môžu výrazne skrátiť čas vývoja. Mimochodom, prenasledovanie a bezdôvodné zavádzanie všetkého nového je tiež zlé.

Ako skontrolovať: Opýtajte sa, aké nástroje alebo technológie sa kandidát naučil za posledný rok alebo dva a ako mu pomohli v práci.

7. Ceny cez strechu

Prirodzene, práca dobrého programátora nie je lacná, no netreba sa ponáhľať s outsourcingom vývoja u najdrahšieho špecialistu na trhu. Ak kandidát okamžite oznámi náklady na vývoj celej webovej stránky bez toho, aby si ujasnil požiadavky na ňu, je to prinajmenšom zvláštne.

Pri jednoduchých úlohách, ako je „zmena farby tlačidla“ alebo „vytvorenie mapy webu“, by ste mali očakávať rýchle odpovede – „zaberie to 5 minút“ alebo „dokážem to za 2 hodiny“.

Okrem toho môžete získať odhady nákladov a času realizácie od niekoľkých špecialistov a porovnať ich. Ak päťminútová úloha zaberie programátorovi hodinu, s najväčšou pravdepodobnosťou je neprofesionálny alebo jednoducho zdržiava čas, aby zarobil viac.

Ako skontrolovať: opýtajte sa kandidáta, ako dlho mu bude trvať, kým zmení farbu tlačidla „Kúpiť“ v internetovom obchode a vytvorí mapu stránok.

8. Ručná práca

Existuje vtip, že dobrý programátor je lenivý programátor, ale je v tom kus pravdy. Kompetentní špecialisti píšu kód tak, aby minimalizovali nielen úsilie tých, ktorí potom s programom pracujú, ale aj svoje vlastné. Snažia sa použiť pripravený kód niekoho iného (OpenSource) a nie je na tom nič zlé.

Ak programátor nevie, ako optimalizovať svoju prácu, minie veľa času a peňazí zamestnávateľa na rovnaký typ úloh.

Ako skontrolovať: ujasnite si, ako programátor pristupuje k tvorbe kódu, požiadajte o príklad. Je dobré, ak na začiatku hľadá hotové riešenie, a ak žiadne neexistuje, napíše kód sám. Môžete sa napríklad opýtať programátora, ako vyvinie kalendár, ktorý môže byť potrebný v objednávkovom formulári na výber dátumu dodania. Dobrou odpoveďou je nájsť bežne dostupný komponent.

9. Dvojičky navyše

Duplicitný kód je istým znakom neskúseného programátora.

Vezmime si napríklad formulár „spätná väzba“ na stránke kontaktu, ktorý je potrebné umiestniť do katalógu a na produktové karty. Ak vývojár jednoducho skopíruje časť kódu a vloží ju na požadované stránky, profesionalita špecialistu zanechá veľa požiadaviek. Pretože keď potrebujete upraviť formulár spätnej väzby, v najlepšom prípade budete musieť urobiť trojnásobok práce a v horšom prípade programátor zabudne zmeniť jeden z kódov.

Skúsený špecialista napíše funkciu, ktorá načíta formulár „spätnej väzby“ na rôzne stránky z jedného zdroja. Ak je teda potrebné kód upraviť, zmeny sa automaticky prejavia na všetkých stránkach webu, kde je poskytovaný.

Ako skontrolovať: opýtajte sa kandidáta, či duplikuje kód. Nie je to amatér, ktorý povie „áno, stáva sa“, ale vysvetlí to iracionálnym vynaložením času na zbavenie sa duplikátov. Ak je odpoveď nie, potom programátor klame, veľa toho nenapísal alebo je perfekcionista – ktorékoľvek z týchto vysvetlení je zlou voľbou.

10. Strihajte rýchlo

V dobrom slova zmysle by mal programátor vytvoriť kópiu stránky, otestovať na nej zmeny a až po kontrole zmien ich preniesť do hlavného zdroja.

Ako skontrolovať: Opýtajte sa kandidáta, ako aktualizoval webovú stránku vo svojom predchádzajúcom zamestnaní.

11. Dôveruje, ale nepreveruje

Akékoľvek zmeny na stránke musia byť otestované. Vo veľkých podnikoch problém riešia testeri, no v stredných a malých firmách padá na plecia vývojárov.

Bez kontroly funkčnosti stránky po zmenách môže vzniknúť veľa chýb, ktoré používatelia nájdu. Problémy odvedú potenciálnych zákazníkov, čo negatívne ovplyvní zisky spoločnosti.

Je dôležité, aby programátor skontroloval nielen funkčnosť stránky, ale otestoval ju aj na chyby, ktorých sa môžu používatelia dopustiť. Takže pri vytváraní formulára spätnej väzby musíte skontrolovať nielen jeho správne odoslanie, ale aj odpoveď stránky, ak sú polia vyplnené nesprávne. Napríklad skontrolujte, či sa v prípade náhodného zadania telefónneho čísla do poľa „E-mail“ používateľovi zobrazí chybové hlásenie.

Ako skontrolovať: Ak máte pochybnosti o programátorovi, otestujte stránku sami. Povedzme, že po integrácii stránky s platobnými systémami sa pokúste zaplatiť za objednávku napríklad cez Yandex.Money. Všetko by malo ísť hladko.

12. Usmievajte sa a mávajte


Súčasné tempo zmien na stránke nám neumožňuje odstrániť všetky chyby, je to veľmi drahé a pomalé. Preto kompetentný vývojár nastaví monitorovací systém a zistí problémy skôr, ako ho informujú používatelia.

Je zlé, ak programátorovi trvá dlho na odstránenie problémov alebo ich ignoruje. Dobrý špecialista rozumie svojmu kódu a ak sa vyskytnú problémy, dokáže rýchlo určiť príčinu a opraviť ju.

Ako skontrolovať: požiadajte programátora, aby vám povedal, ako sa dozvedel o chybách v predchádzajúcich projektoch.

Práca na Západe láka mnohých našich krajanov, ktorí majú odborné znalosti v oblasti programovania a chcú svoj potenciál realizovať v Európe resp. Severná Amerika. Pamätám si, že autor týchto riadkov raz odišiel študovať na dva roky do zahraničia v rámci študentského výmenného programu. Keby som mal možnosť porozprávať sa s ľuďmi, ktorí tam už študovali predo mnou, bolo by to oveľa jednoduchšie prispôsobiť sa. A otázka, či odísť alebo nie, by vyvolala menej pochybností. Preto dnes kladieme otázky Andreyovi Shulinskému, mužovi, ktorý pracoval ako programátor v Rusku a odišiel do kanadského Toronta, aby tam pokračoval vo svojej práci. odborná činnosť...

Rozhovor

Alexey Perevertailov: Našťastie vás poznáme osobne, okamžite prejdeme na „vy“ a menej formálny formát rozhovoru. Prvou otázkou je, kedy ste odišli z Ruska a aké boli motívy pre taký všeobecne vážny krok, ktorý si mnohí ľudia vyžadujú veľa rozmýšľania?


Andrej Šulinský: Môj odchod je celkom Dlhý príbeh. Rozhodnutie padlo po neslávne známej bankovej kríze v roku 1998. Z viacerých dôvodov imigračný proces trval dlho, pohovor som absolvoval v novembri 2001 a vízum som dostal v decembri 2002. Vo februári nasledujúceho roku mi končila platnosť, tak som okamžite odišiel na pár týždňov do Kanady a zaregistroval sa tam Požadované dokumenty a vrátil sa do Moskvy. Do novej vlasti sa napokon presťahoval v októbri 2003.
Prečo som zmenil svoje prostredie? asi nepoviem nic nove. Dúfame v lepšie profesionálne vyhliadky. Vždy sa mi veľmi nepáčili mnohé črty ruského života: každodenná hrubosť, špina, nestabilita. Spomínaná kríza bola pre mňa veľmi silná rana, krásne ilúzie boli rozbité... Veľmi rád tiež cestujem, čo je s kanadským pasom oveľa jednoduchšie.


Alexey Perevertailov: Podarilo sa vám hneď nájsť prácu? Aké ponuky ste zvažovali a aké boli požiadavky na uchádzačov?

Andrej Šulinský: Prvú zmluvu som dostal v novembri 2003. Pomohol mi kamarát. Projekt bol malý, ale celkom zaujímavý a veľmi pomohol po psychickej aj odbornej stránke. „Natiahol som si svaly“ pred vážnejšou prácou, ktorá ma našla koncom januára 2004.
Požiadavky, s výnimkou notoricky známej severoamerickej skúsenosti, sú celkom bežné – v skratke „znalosť témy“. :-) Žiaľ, veľa firiem a recruiterov naozaj nerado pracuje s nedávnymi príchodmi, iné naopak využívajú ochotu nových emigrantov súhlasiť s akýmikoľvek podmienkami. Nehovorím, že je to rozšírená prax, ale nie je to také zriedkavé.
Tento pohár mi prešiel, hoci som už bol pripravený ísť skenovať dokumenty. Vo všeobecnosti som sa vždy pripravoval na to, že to nebude ľahké a že možno budem musieť urobiť niečo, čo nie je moja obľúbená vec. Svoj životopis som odovzdal na všetky pozície, pre ktoré to bolo aspoň trochu relevantné.


Alexey Perevertailov: V akej oblasti ste programátor? Aké máte diplomy a certifikáty?

Andrej Šulinský: Som typický všeobecný aplikačný programátor/analytik/architekt. Vyštudoval Katedru systémového programovania výpočtovej matematiky a informatiky Moskovskej štátnej univerzity, ale v živote nenapísal ani riadok „systémového“ kódu. :-) Predtým som písal v C++, ale pred pár rokmi som prešiel na Javu. Dlho som pracoval v bankovom sektore, potom bolo pár telekomunikačných projektov. V Kanade som najprv vyrobil systém ukladania a spracovania dokumentov pre marketingovú spoločnosť so zvučným menom Arnold. Teraz pracujem v spoločnosti Novator a vytváram verziu Java motora pre stránky zaoberajúce sa online maloobchodným predajom.
Mám len jeden diplom. V roku 1996 získal na Fakulte výpočtovej matematiky a kybernetiky v Moskve štátna univerzita. Pred odchodom som absolvoval skúšku Sun Certified Java Programmer, 1.4. Plánoval som získať zvyšok certifikátov v tomto riadku, ale veľa pracujem a neviem si na to nájsť čas.



Alexey Perevertailov: Môžete vo všeobecnosti povedať, ktoré programovacie jazyky a ktorí programátori sú teraz viac žiadaní v zahraničí a vo svete ako celku?

Andrej Šulinský: V prvom rade .NET a J2EE. Čo ste čakali, že budete počuť? ;-) Tieto 2 platformy pokrývajú oblohu... Súdiac však podľa inzerátov na stránkach s hľadaním práce, stále existuje určitý dopyt po odborníkoch na C++, Cobol, Perl. Niekedy sú potrební – a dokonca veľmi – úzky špecialisti, ktorí poznajú nejaký „sofistikovaný“ SAP. Ale, samozrejme, väčšina programátorov a iných vedúcich vývojárov sú „javisti“ a „dotnetteri“. :-)


Alexey Perevertailov: Z vlastnej skúsenosti mi povedzte – existuje vo firme konkurencia medzi programátormi? Existujú nejaké prísne pravidlá? Prečo môžu dostať výpoveď? Či existuje a kariéra? Vykonáva sa práca nadčas a ak áno, ako je platená? Pôsobili ste ako programátor v Rusku, viete porovnávať, takže otázka znie: aké rozdiely ste zaznamenali v odborných požiadavkách a organizácii pracovného procesu doma a v zahraničí? Bolo pre vás ťažké nájsť spoločnú reč s projektovým manažérom?


Andrej Šulinský: V tých spoločnostiach, kde som mal možnosť pracovať, neexistovala jasná konkurencia alias „sociálna konkurencia“. :-) Zároveň však platí jednoduchý zákon: ak dobre pracujete, všimnú si to a ocenia to. Aspoň u mňa to tak bolo. A plat sa zvýšil a bola zverená zaujímavejšia práca.
Samozrejme, môžu vás vyhodiť. V zásade je to spôsobené problémami spoločnosti (zníženie počtu zamestnancov) alebo jasným nesúladom medzi schopnosťami osoby a zastávanou pozíciou. Mnohými tak neobľubovaná skúšobná doba môže byť užitočná. Preto príliš nepreháňajte svoje schopnosti na pohovore. Existujú aj prípady prepustenia z dôvodu nezákonnej činnosti zamestnanca.
Pokiaľ ide o otázku prísnych pravidiel – na pevný disk pracovného počítača by ste nemali ukladať gigabajty detskej porna – môžete byť potrestaní. Všetky zmluvy obsahujú viac-menej štandardné klauzuly o nezverejňovaní informácií, intelektuálnych právach spoločnosti na váš kód (pochybné aktívum, IMHO :-)). Často je zakázané presťahovať sa do spoločností pôsobiacich v rovnakom odvetví alebo zarábať peniaze navyše. Stupeň takejto paranoje závisí od mnohých faktorov. Veľké banky a iné „skvelé“ spoločnosti nútia ľudí podpisovať 8-hárkové zoznamy. Ale to isté existuje v Rusku, len si myslím, že tu sledujú plnenie týchto podmienok o niečo prísnejšie.
Profesionálne požiadavky v Toronte a Moskve sú rovnaké. Mám podozrenie, že sa zhodujú s požiadavkami londýnskych a tokijských firiem a sú blízke parížskym požiadavkám. Rozdiel je v tom, že vo Francúzsku možno budete potrebovať francúzštinu. Môže, ale nemusí – rozprával som sa s náborovými pracovníkmi, ktorí prijímali ľudí na prácu v spoločnosti so sídlom v Lyone. Úprimne som priznal, že neviem francúzsky aj so slovníkom. „Och, všetky papiere sú v angličtine,“ znela moja odpoveď. :-)
Organizácia pracovného procesu veľmi závisí od ľudí vedúcich projekt. Ak to od začiatku dobre nastavia a nedovolia, aby sa projekt zvrtol ani v núdzových časoch, tak ide práca celkom hladko. V opačnom prípade - obvyklý neporiadok. Milí čitatelia, pravdepodobne ste už uhádli, čo sa deje častejšie. :-)
S projektovými manažérmi zatiaľ nikdy neboli žiadne problémy. Vždy som ľahko našiel spoločnú reč s ľuďmi – v Rusku aj v Kanade. Pravdepodobne ste si všimli, ako často opakujem slová „rovnaký“, „rovnaký“, „nie je žiadny rozdiel“. Skutočne som zistil, že Rusi a Kanaďania sa od seba až tak nelíšia, ako sa bežne verí. Problémy s prekladom samozrejme existujú. Ale ako v jednom nádhernom filme, väčšinou súvisia s individuálnymi vlastnosťami ľudí a nie s „civilizačnými“ rozdielmi. Takto som to dostal “IMHO”. :-)


Alexey Perevertailov: Sú programátori v Kanade vysoko platenou profesiou v porovnaní s ostatnými? Ak tento pomer porovnáme s Ruskom, kde je lepšie pracovať ako programátor (z hľadiska finančného benefitu)?

Andrej Šulinský: Áno, platy sú stále nadpriemerné. Konkurencia je väčšia, ale plat je stále dobrý. Je to však len subjektívny názor a v Kanade som necelé dva roky. :-)


Alexey Perevertailov: Kde je podľa vás jednoduchšie zlepšiť si profesionálnu úroveň – doma alebo v zahraničí? Závisí to vo všeobecnosti nejakým spôsobom od krajiny (alebo skôr od konkrétneho človeka)?

Andrej Šulinský: Môj názor je v prvom rade od človeka. Kto hľadá, vždy nájde užitočné knihy, časopisy, fóra a samozrejme tí, s ktorými môžete komunikovať odborné témy. Samozrejme, predpokladám, že pracujete v krajine, kde je IT priemysel dobre rozvinutý.


Alexey Perevertailov: Aké nástroje používate (vývojové prostredia atď.)? Predpokladám, že v Kanade je všetok softvér používaný spoločnosťami zaoberajúcimi sa vývojom softvéru licencovaný alebo nie?

Andrej Šulinský: Povedzme, že väčšina programov je buď zakúpená alebo získaná zadarmo. :-) Niekedy ľudia vložia niečo, čo získali nelegálne, ale to sa robí špeciálne pre informačné účely - ak to nie je dostupné skúšobná verzia. Spoločnosti buď zakazujú používanie pirátskeho softvéru vôbec, alebo vás nútia podpísať dokument, podľa ktorého ste sami zodpovední za obsah svojho pevného disku.
Používajú sa rôzne aplikácie. IDE: Eclipse, IDEA, NetBeans. Databázové nástroje: DbVisualizer, Aqua Data Studio. Kód a dokumenty sú uložené v CVS. Z kupovanej som sa zaoberal WebSphere. Všetky tváre sú známe, však? :-) A samozrejme .NET - existujú riešenia pre všetky príležitosti.


Alexey Perevertailov: Spomeniete si na nejaké vtipné alebo kuriózne príhody z práce?

Andrej Šulinský: Prosím. Šéf sa práve spýtal jedného z kolegov, ako dávno aktualizoval kód. „Uh-uh... pred tromi dňami...“ – hrozivý pohľad – „mmmm... možno dva“ – hrozivý pohľad – ticho – vyzývam: „jeden, inak dohoda prepadne“ – situácia sa deeskaluje. :-)


Alexey Perevertailov: Chcel by som sa vás opýtať na niekoľko všeobecných otázok, ak vám to nebude vadiť... Myslíte si, že je reálne organizovať si vlastný biznis v zahraničí? V prípade programátora - vytvoriť si vlastný komerčný softvérový produkt a predávať, vyvíjať, podporovať? Čo je podľa vás na to potrebné?

Andrej Šulinský: Môj názor je áno, je skutočný. Tu sa podnikateľ nemusí obávať vydierania zo strany banditov a úradov, registrácia a vedenie podniku je celkom jednoduché. Ale, samozrejme, bez dvoch hlavných zložiek akéhokoľvek úspechu – dobrého nápadu a ochoty venovať všetok čas a úsilie jeho realizácii – nič nepôjde. „Ideologický workoholik“ má šancu. Príkladom je prezident mojej súčasnej firmy, ktorý prvú verziu systému napísal v pivnici svojho domu. :-) Teraz sa "Novatorovi" darí.


Alexey Perevertailov: Aký je váš postoj ku komunite Open Source?

Andrej Šulinský: Samozrejme, pozitívne. Prácu tejto komunity považujem za obrovský prínos pre pokrok vo všeobecnosti a najmä za hlavný dôvod úspechu Java technológií – z čoho tiež jednoznačne profituje priemysel. Je nepravdepodobné, že by inak bolo možné úspešne konkurovať slávnemu monštru. :-) Isté riziko pri používaní Open Source produktov samozrejme existuje. Mnohé takéto riešenia majú zároveň výbornú povesť a sú na trhu už mnoho rokov – a nemusíte nevyhnutne poznať ich „vnútornosti“ dôkladne. Spoločnosť pomôže vyriešiť takmer každý problém, čo nie každá komerčná podporná služba robí.


Alexey Perevertailov: Aký máte názor na patentové právo v tejto oblasti softvér? Brzdí to pokrok? Aké sú podľa vás najlepšie mechanizmy na ochranu softvérových inovácií?

Andrej Šulinský: Bohužiaľ, nie som pripravený odpovedať na túto otázku. Toto je dosť vážna téma, o ktorej sa dostatočne nevyznám.


Alexey Perevertailov: Vo svojej práci sa musíte zaoberať hľadaním zraniteľností v vytvorený produkt? V dnešnej dobe sa veľká pozornosť venuje písaniu bezpečného kódu, čo dáva menšiu šancu využiť rôzne chyby pretečenia vyrovnávacej pamäte atď. Sledujete pri svojej práci potenciálne zabezpečenie kódu? Máte v tejto veci nejaké pokyny?

Andrej Šulinský: Testujeme, len testujeme – a ešte raz testujeme! Unit testing považujem za kľúčový nástroj na zaistenie bezpečnosti kódu. Všetky spoločnosti zaoberajúce sa vývojom softvéru sa spravidla snažia vytvoriť a udržiavať súbor testov. Žiaľ, je to málokedy možné – najmä kvôli krátkym termínom projektov. Ale dlhodobý efekt kompetentného testovania možno len ťažko preceňovať. Výsledkom je, že k určitému dátumu to nie je Galatea, ktorá vyjde z rúk sochárov a dokončenie aplikácie do trochu stabilného stavu trvá dlho, čo spôsobuje stres pre celý tím.
Veľmi dôležitá je aj disciplína v kódovaní a budovanie dobrej architektúry. Osobne som sa veľa naučil z kníh Martina Fowlera a Roda Johnsona.


Alexey Perevertailov: No a na záver táto otázka – ak by bola hypotetická možnosť začať odznova, stal by sa z vás programátor?

Andrej Šulinský: Áno. Práve táto špecialita mi pomohla takmer bezbolestne presťahovať sa do inej krajiny, prekonať bežné emigrantské psychologické a finančné problémy. Moja kvalifikácia a profesionalita sú žiadané, kolegovia počúvajú môj názor, patrím sem, aj keď ešte viem anglický jazyk horšie ako Java. :-) Okrem toho svoju prácu naozaj milujem. Každý, kto sa zaoberal programovaním, si pravdepodobne pamätá chvíle, keď program začne fungovať tak, ako ste zamýšľali. V takýchto chvíľach som stále skutočne šťastný.
A ďalej. Som veľmi vďačná svojim rodičom za obrovskú pomoc pri výbere profesionálna cesta a stojí na ňom. Nie každému sa podarí nájsť _svoj_ podnik. Bez ich účasti by som len ťažko uspel.
P.S. Samozrejme, pomohlo mi aj to, že som bol taký šikovný a pekný. :-)


Alexey Perevertailov: Ďakujeme za Vaše odpovede, prajeme Vám veľa úspechov vo Vašej profesionálnej činnosti!

Andrej Šulinský: Ďakujem, nech sa Vám darí osobne aj F-Centru ako celku. :-)
Načítava...