Kako dobiti posao programera kad ste slijepi: Savjeti slijepog programera koji radi zajedno s opaženim timom

Ja sam nizozemski programer i nedavno sam diplomirao IT. Potpuno sam slijep i koristim čitač zaslona da bih radio svoj posao.

Hodam izdajničkim putem slijepog programera - put koji ću opisati, kao i razne zamke koje sadrži.

Radio sam za razne tvrtke kao back-end web programer koji polako, ali sigurno prelazi na sve više i više front-end poslova, a tehnološki krajolik je takav kakav je.

Radio sam s raznim tehnologijama, od c # do Pythona i od Railsa do JavaScript-a.

Također sam stručnjak za pristupačnost, upoznat sa uobičajenim osumnjičenicima kao što su WCAG, ATAG i prijatelji. Ono što pod ovim podrazumijevam u ovom slučaju je da sam te vještine koristio u profesionalnom okruženju provodeći revizije pristupačnosti na web mjestima, web aplikacijama i računalnim aplikacijama.

Također sam stekao teoretsko znanje prolazeći kroz program obuke Sveučilišta Deque, što vam toplo preporučujem ako želite čvrsto utemeljenje u osnovama pristupačnosti.

Ovo poznavanje propisa o pristupačnosti uglavnom je posljedica činjenice da i sam zahtijevam da sadržaj bude dostupan kako bih ga mogao koristiti.

Ovaj će opis ponekad biti činjeničan, a ponekad zasnovan na mišljenju. Većinu vremena to će biti iskustva pojedinca koji napiše kod za život ne koristeći oči kako bi mu pomogao da vidi što radi.

Nadam se da će ova priča baciti malo svjetla na moj tijek rada i stvari s kojima moram riješiti kako bi se taj tijek redovito odvijao. Napokon, bit će to snimka vrsta svih stvari koje sam naučio i još uvijek učim o ovom procesu.

Početak putovanja: ulazak nogom u vrata

Da biste mogli raditi za razvojni tim s viđenim kolegama, očito ćete prvo trebati zaposliti. Ako se to dogodi, znači da trebate preskočiti neke zanimljive poteškoće koje se možda neće odmah uočiti, zbog čega mu ovdje posvećujem dio članka.

Traženje posla kao slijepog poduzetnika zanimljiva je aktivnost. Baš kao i bilo tko drugi koji se prijavljuje na bilo koji posao ikad, započinje životopisom i u većini slučajeva popratnim pismom.

Pitanje s kojim sam se prvotno suočio bilo je trebam li odmah obavijestiti tvrtku o svojoj sljepoći ili ne. Otkrila sam da je općenito bolje da to ne činite iz jednostavnog razloga što ako slično stavljate nepotreban naglasak na sljepoću.

Ja sam programer s kvalifikacijama, iskustvom i vještinama koje sam stekao i za koje sam vrijedno radio, a to su zasluge zbog kojih želim biti zaposlen.

Biti slijep za mene je nebitna stvar pored tih vještina, osim ako to na neki način može biti prednost za položaj. To bi na primjer vrijedilo za položaj vezan za pristupačnost.

To je dovelo do nekih prilično zanimljivih situacija, od zbunjenih pogleda na moj bijeli štap ili, kasnije, psa vodiča, do užurbano smišljenih izgovora da prerano završim razgovor za posao.

Iako je diskriminacija nekoga s invaliditetom protuzakonita, ponekad je prilično lako maskirati se u nešto drugo. Na ovo treba paziti. Srećom, to se ne događa tako često, ali ako to ovdje ne spominjemo, igralo bi se brzo i lagano s istinom.

To je pažljivo uravnoteženje u najboljim slučajevima. Ovih dana obično spominjem svoje sljepilo u posljednjem trenutku kada telefonom pregovaram o razgovoru za posao izjavom da ću dovesti psa u ured i pitati je li netko alergičan na pse. Obično je sljedeće pitanje vrlo razumljivo "Zašto?" i tek tada ću ga spomenuti, umanjujući što je više moguće. Većinom mi je ovaj pristup barem pružio priliku da uđem na prvi intervju.

Ostale prepreke su obvezni pregledi ili ocjene kojima se ne može pristupiti, to su uglavnom standardizirani testovi od kojih se ne može odstupiti u skladu s tvrtkom za koju se prijavljujete.

To ima uobičajene posljedice obično završavanja postupka razgovora za posao upravo tamo. Očito je da se problem može forsirati, ali u duhu stvaranja pozitivnog radnog okruženja, ovo stvarno ne mogu preporučiti.

To je povezano s gore spomenutim naglaskom na vašem statusu slijepe osobe. Što ga više izdate, to više dobiva na važnosti za osobu koja razmatra vašu molbu za posao.

Slijedi uglavnom gotovo skriptirani postupak. Razgovor za posao u većini slučajeva prolazi bez problema, ali dobiva dodatnu komponentu koju volim nazvati dijelom "Monkey show, Monkey do".

Ovom dijelu intervjua obično prethodi pitanje poput: "Vjerojatno možete zamisliti zašto pitam, ali ... kako? Kako programirate bez gledanja?"

U ovom trenutku objašnjavam o čitačima zaslona, ​​nevjerojatnoj brzini na koju pljuju informacije i obično izvadim laptop kako bih malo demonstrirao.

Obično zagledam čuđenje. Jednom su ljudi čak i pljeskali za mene.

Iako je to naravno vrlo laskavo, gleda se u divljenju zbog činjenja nečega što je druga priroda, s vremena na vrijeme ima tendenciju ostarjeti. Ovo nije ništa osobno. Moguće je da ste vi treća osoba koja to čini danas. Odgovaranje na ista pitanja iznova i iznova sigurno spada u istu kategoriju.

Kao rezultat toga, napisao sam članak, zapravo svoj prvi na freeCodeCampu, da bih odgovorio na neka od pitanja koja često dobijem kada je u pitanju slijepi programer.

Srećom, i ova demonstracija, kao i ovo trenutno razdoblje buljenja u njih, obično ne traje dugo. Otkrio sam da to čini puno lakšim objašnjenjem zašto nešto predstavlja ili nije izazov dalje na putu.

Takvo izlaganje - iako ponekad neugodno - na kraju se itekako isplati. Napokon, reakcije su razumljive. Radim nešto što mnogi ljudi ne mogu ni zamisliti da rade bez vida.

Odabir alata: Neprestana borba za neprestano Žongliranje

Za razna zanimanja potreban vam je niz alata kako biste bili učinkoviti. Penjačima će trebati konop, kuke za sidrenje itd. A programeri trebaju alate za programiranje, testiranje, suradnju, dijeljenje i traženje informacija itd.

Nažalost, ovdje prestaje puno ljudi. Možda čak i nažalost, ovo je potpuno razumljivo.

Količina posla koju morate uložiti da biste pokrenuli pristojan stog koji odgovara vašem slučaju upotrebe - povrh vašeg uobičajenog 40-satnog radnog tjedna - može biti malo porazna.

Operativni sustav je prva prepreka. Mnogo razvojnih timova ovdje u Nizozemskoj koristi isključivo Mac računare. Nažalost, API-ji pristupačnosti koji su dostupni za MacOS čitač zaslona, ​​Voiceover, u mnogo su slučajeva inferiorniji od onih u sustavu Windows.

Količina tipki potrebnih za izvršavanje zadatka na Macu često je veća nego na Windowsima, s tim da je MacOS vrlo operativni sustav usmjeren na miš.

Konačno, samom čitaču zaslona nedostaje puno praktičnih značajki i mogućnosti prilagodbe njegovih Windows kolega.

U industriji koja bi trebala biti jednako dostupna i slijepim i nevidljivim osobama, ti se nedostaci pretvaraju u ozbiljne pogotke produktivnosti u usporedbi s mojim viđenim kolegama. To može biti stresno i ponekad zahtijeva malo razumijevanja i fleksibilnosti od mojih kolega.

Nakon što se upoznate s bazom koda i alata su sređeni, možete izvršavati mnoge zadatke jednako brzo kao i vidljivi kolege.

Međutim, postizanje te poznatosti može potrajati. Pogotovo ako alati nisu toliko dostupni koliko mogu biti. Hrvanje možete izgubiti s dragocjenim vremenom pomoću alata koji bi vam trebao pomoći u radu, već vas u potpunosti ometa ili čak blokira.

Srećom, obično me susreću razumijevanje i, puno puta, znatiželja za nedostatke mojih vidljivih kolega. Ipak, ovo nije nešto o čemu bih ovisio. Kada treba obaviti puno posla u kratkom vremenu, svaki je učinak na produktivnost u neku ruku previše.

Da biste te probleme ublažili što je više moguće, najvažnije je da znate svaki mali prečac i trik trgovine odabranim alatima kako biste obrijali vrijeme izgubljeno na radnje koje stalno ponavljate. Makro tipke, pseudonimi ljuske, proširenja uređivača koja vam daju više tipkovničkih prečaca - to je naziv igre.

Ali ponekad će vam se umešati alati koji bi vam trebali pomoći. Tamo gdje moji vidljivi kolege često koriste grafičke alate za upravljanje određenim aspektima svojih poslova, ti su alati često nedostupni. To zahtijeva da, često na licu mjesta, smislim neku vrstu zaobilaženja kako bih i dalje obavljao isti zadatak s nešto malo učinkovitosti.

Za grafičku aplikaciju ovo bi mogao biti ekvivalent naredbenog retka. Web stranica može imati API. Ponekad bi drugi grafički alat mogao funkcionirati bolje od stvarnog. Stalno zbunjivanje alternativa nepristupačnoj tehnologiji stalni je dio posla kada to radite zatvorenih očiju. Dobivanje slobode donošenja vlastitih alata vrlo je važno iz tog razloga.

Rijetko sam vidio da se alati provode jer programeri uglavnom preferiraju vlastiti tijek rada. Ali za poslove koji su inzistirali na tome da koristim određene alate, to često postaje prekid ugovora za sve buduće ugovore koje bih preuzeo. Alati su toliko važni.

Vaša prva misao mogla bi biti samo koristiti Windows ako vas MacOS čini manje produktivnim. U idealnom svijetu to bi bilo održivo rješenje. Međutim, posebno u starijim kodnim bazama, razvojni timovi često su osmislili male hakovanja kako bi stariji kôd radio na njihovom novijem hardveru / softveru koji uopće ne bi trebao biti pokrenut. Ovi su hakovi specifični za OS i često ih je teško ponoviti na sustavu Windows - čak i dok koristite Windows podsustav za Linux. Ponekad im mogu trebati tjedni da započnu raditi. Često se ne isplati.

Upravo iz tog razloga gotovo obavezno pokrećem virtualni stroj Windows 10 unutar Vmware Fusion na Macu. Prisiljen sam koristiti dva operativna sustava odjednom kako bih obavio svoj posao. Windows sadrži moj web preglednik, odabrani uređivač koda i razne druge alate koje koristim za povećanje produktivnosti:

  • Google Chrome
  • VS kod
  • pristojan čitač PDF-a
  • uredski paket za rad s DOCX i XLSX datotekama

U osnovi se sve stvarne aplikacije izvode na Windows VM-u, čineći MacOS dijelom više od poslužitelja koji samo hostira aplikacijski kod.

Ovo je dobar primjer slobode korištenja vlastitih alata na koje sam se pozvao. Nitko drugi u mom timu ne izvršava istu postavku kao ja. Ali to je moje kolege općenito naišlo na razumijevanje i podršku jer vide da na ovaj način mogu obaviti posao.

Pristupačnost, posebno u razvojnim alatima, može biti nevjerojatno teško obraniti. Često vas ne shvaćaju ozbiljno kad tražite ono što bi trebalo biti osnovna značajka. U određenom smislu, samo tražite da biste mogli koristiti aplikaciju.

Ali to nije na putu, programeri se ne mogu poštedjeti da rade na njemu, nema prioritet itd. Razlozi su za to što pristup alatu ne popravite gotovo poput sata. Druga se vremena daju obećanja za popravke koji se nikad ne ostvare.

Volio bih vidjeti da se ovo poboljšava i imao bih zadovoljstvo vidjeti da se to događa opet i opet. I dalje je problem koji se stalno vraća, a kao programeri, uključujući mene, trebali bismo raditi bolje.

Moji vidljivi kolege uzimaju mnogo alata zdravo za gotovo. Na primjer, u .NET timu rijetko je vidjeti programera koji ne koristi Resharper za povećanje njihove produktivnosti.

Ironično, ovo proširenje za Visual Studio, koje je i samo po sebi dostupno, koristi puno pritiska na tipke da bi radilo ono što radi. Pomislili biste da bi to bio idealan alat za slijepog programera koji za kodiranje koristi samo tipkovnicu. Međutim, izlaz ovog proširenja je često nepristupačan, čineći alat više smetnjom nego pomoćnom.

Godinama proganjam Jetbrainseve kako bih ih natjerao da poprave pristupačnost ovog alata, što je čak i u vrijeme ovog pisanja bezvrijedno. Bila sam nepristojno otpuštena, ignorirana i napokon obećana, do sada neispunjena. Zbog te nespremnosti da popravim ono što je očito problem koji postoji već godinama, oklijevam se odlučiti za poziciju temeljenu na .NET-u. Čak i ako se problemi na čudesan način riješe, dosadašnji rekord ostavljanja toga neriješenog natjerao bi me da se zapitam kada će se ponovno slomiti.

U jednom od prvih razvojnih timova s ​​kojima sam radio, Postman se intenzivno koristio za testiranje krajnjih točaka API-ja koje su stvorili back-end programeri. Poštar ima nekoliko očiglednih problema s dostupnošću zbog kojih je teško koristiti ih s čitačem zaslona. Za savršen primjer neispunjenih obećanja pogledajte ovaj problem s GitHubom. Primijetite da je pitanje i dalje otvoreno nakon gotovo dvije godine i da se obećanja daju, ali da se neće održati.

Pristupačnost je često zamišljanje, nešto što se nepobitno dokazuje iznova i iznova. Slack je, nažalost, dobar primjer za to. Pristupačnost ovog sada gotovo nezaobilaznog alata bila je beznačajna, korisnici čitača zaslona jednostavno nisu mogli raditi s njim.

Definitivno vidimo poboljšanja u tom prostoru, nešto što ovaj članak prikladno pokazuje. No, vrijeme za sve ovo je nevjerojatno veliko - mjeseci, ponekad i godine, da ljudi koji koriste čitač zaslona ne mogu adekvatno pristupiti resursima kojima imaju pristup njihove kolege. Ovakav nedostatak može i uzrokuje da ljudi izgube posao jer jednostavno ne mogu pratiti komunikaciju unutar tvrtke u kojoj rade.

Gore spomenuti alati (Resharper, Slack, Postman itd.) Ključni su igrači na odabranim poljima. Nemate pristup tim alatima koči vas kao programera i prisiljava vas da trošite cikluse koje biste trebali potrošiti na obavljanje posla na pronalaženju zaobilaznih rješenja i alternativnih alata. Ovo je rastrošno, zamorno i ne bi trebalo biti potrebno, ali jest i to je jedna od temeljnih vještina u kojima sam morao biti vrlo dobar da bih išao u korak.

Kako vrijeme bude prolazilo, reći ću da se čini da postoji trend smanjenja da je to neophodno. Napori Microsofta, Applea, Googlea i drugih velikih igrača sve više i više ljudi osviješćuju ovu gotovo stalnu bitku za jednak pristup produktivnosti. Ipak, nipošto nismo iz šume, nešto što je sasvim jasno pokazao debakl Gutenberg WordPressa koji trenutno bjesni zajednicom pristupačnosti.

Slijepe osobe predstavljaju nišu tržišta za programere i web programere. Slijepi programeri su tržište niša unutar tržišta niša.

Slijepi programeri koji to rade, postanu produktivni i imaju posao s punim radnim vremenom, nažalost su još rjeđi. To se može i treba promijeniti, ali dok se to ne dogodi, borba za dostupni alat za programere je ona protiv koje se borite sami. Nadam se da je to borba s kojom se nećemo morati boriti u budućnosti, potrudit ću se dati svoj doprinos tom cilju.

Parčići

Želim ovaj članak završiti pozitivno. Činjenica da sam još uvijek na ovom polju, činjenica da imam puno radno vrijeme kao programer, donosi mi puno sreće čak i kroz sve naizgled stalne prepreke. Sretna sam što mogu dati svoj doprinos sjajnom timu kolega koji se prema meni ponašaju kao prema sebi i razmišljaju sa mnom kad naletim na nešto s čime imam problema.

Želim naglasiti da, iako polje računalnih znanosti nije bez prepreka, ljudi mogu napredovati i napreduju u poslovima vezanim uz CS. Gore opisane borbe zasigurno su istinite, ali u usporedbi s drugim poljima njima se barem u velikoj mjeri može upravljati. Sumnjam da ću uskoro napisati članak o prelasku u karijeru na kirurga, pilota borca ​​ili profesionalnog igrača bejzbola, ali tada bi me tehnologija još mogla iznenaditi. Za sada sam zadovoljan tamo gdje jesam i imam sjajnu ekipu oko sebe.

Često me pitaju za mišljenje kada je riječ o učinku na dostupnost proizvoda na kojem radimo. Moja mišljenja definitivno neće uvijek uzrokovati da se stvari promijene, ali drago mi je što barem mogu osvijestiti ljude o važnosti pristupačnosti i onome što će se dogoditi kad se ona zanemari.

Napokon sam živi primjer disanja onoga što se događa kad alat nije više ili više nije dostupan.

WordPress članak vezan uz gore ovu poruku šalje vrlo jasno; alat koji je godinama bio vrlo koristan i dostupan, sada je ronjenje na nosu. To se može dogoditi bilo kojem alatu o kojem ovisi slijepi programer, takoreći ruskom ruletu poslovanja.

Pišući ovakve članke, održavajući predavanja, educirajući programere i eksperimentirajući s novim alatima, novim tehnikama i novim metodologijama, nadam se da ću ostati ispred krivulje. Zapisujući svoja otkrića, nadam se da ću druge naučiti trikovima zanatstva do kojih sam došao pokušajem i pogreškom, tako da je prag za ovo polje snižen za korisnike čitača zaslona.

Glavni ciljevi ovog članka podudaraju se s mnogim, ako ne i sa svim tim ciljevima. Nadam se da sam vam dao uvid u borbe kao i u pozitivu slijepog programera.

Nadam se da sam istaknuo da, iako je to moguće, možemo i trebamo izuzetno poboljšati iskustvo. Nadam se da sam potaknuo čitatelje ovog članka na razmišljanje, stvarno razmišljanje o posljedicama nepristupačnog softvera i nadam se da sam pokazao da je čak i kroz sve prepreke vrlo moguće jednom postati dobar, čak i sjajan na ovom polju postižete brzinu bijega.

U svjetlu pozitivne napomene na koju sam upravo mislio, želim završiti ovaj članak spominjući dvije ogromne pobjede zbog pristupačnosti koje su savršeni primjeri kako smo postigli bolji rezultat, pri čemu sam i meni bio počasni suradnik.

Da biste naučili kako kodirati, puno interaktivnijih izvora poput Codeacademy nije baš pristupačno. To je povezano s time što razne komponente koje se koriste u tim projektima nisu dostupne. Srećom, na tome se već radi.

FreeCodeCamp je jedan od resursa koji je posljednjih godina dobio veliku snagu. Ova je inicijativa imala nekoliko prilično ozbiljnih problema s pristupačnošću, koji su nedavno skoro u potpunosti popravljeni i prepravljeni, što je platformu učinilo vrlo održivom za korisnike čitača zaslona koji žele naučiti kodirati.

To ima puno veze s Monaco Editor-om koji je vrlo dostupan web-uređivač koda i zapravo je komponenta uređivača koju koristi Visual Studio Code. Ovaj je urednik, kad je izašao, bio doslovno potpuno nepristupačan. Međutim, u relativno kratkom vremenu ovo nije samo u velikoj mjeri popravljeno, već sada projekte poput freeCodeCamp čini zadanim dostupnima jer koriste istu komponentu. Tako bi trebalo uvijek biti, to je ono što se nadam da ću vidjeti više kao što se i držim ovoga. I uz to, mislim da je krajnje vrijeme da se vratim programiranju.