10 stvari koje web programeri moraju znati da bi postali zaista nevjerojatni

Autor: Laura McKinney
Datum Stvaranja: 10 Travanj 2021
Datum Ažuriranja: 16 Svibanj 2024
Anonim
Create A FREE CPA AFFILIATE MARKETING WEBSITE In 10 Mins That Earns $800 Daily With FREE Traffic!
Video: Create A FREE CPA AFFILIATE MARKETING WEBSITE In 10 Mins That Earns $800 Daily With FREE Traffic!

Sadržaj

Programeri moraju biti više od gruntovanih radnika koji generiraju kod. Očekujemo više od svog digitalnog života i upravo ga ti ljudi grade, pa što najbolji programeri trebaju znati? Evo stvari koje vidim da nedostaju previše programera. Ovo nije iscrpno, ali upravo te osobine pretvaraju razumnog kodera u nevjerojatnog programera.

Ali to nije jedno, a pogotovo nikad nije sposobnost raščlanjivanja XML-a ili optimizacije koda, iznenađujuća je zbirka vještina koje se ne podučavaju u knjigama o pisanju koda. Oni su malo nešto dodatno.

Zašto se takvo oduška? Budući da je razvoj važan, ali programeri se prečesto upućuju u drugačiji svijet, ne uvijek njihov rad. Ovo nikad ne uspije. Razvoj - bilo što tehničko - uvijek uspijeva kad oni sa znanjem razumiju više od samog koda.

01. Kodiranje, nemojte ga više rezati


Nalazimo se u svijetu u kojem je kodiranje sve manje impresivno. Svi grade web stranice, neke od njih kodiraju, ali vi to ne morate. Više nisu samo štreberi koji mogu stvarati web stranice, aplikacije i značajke.

Otkad se web pojavio i ljudi su se mogli podučavati, postoje samouki programeri. Ali čak su i diplomci pod prijetnjom. Dobivam životopise s ljudima s diplomama informatike, tečajevima AI, raznim medijima i kodiranjem, ali još uvijek nešto nedostaje. Ponekad puno nedostaje.

Nisam prva koja ovo govori. 'Kodiranje to više ne rezanje' naslov je poglavlja 3 iz Strastveni programer, koji je uz knjige kao što su Pragmatično razmišljanje i učenje apelirati na programere da se poboljšaju izvan koda; postati odgovorni i u potpunosti ljudski članovi tima.

Širina i dubina

Programeri trebaju biti bolji na dva načina: širina i dubina. Moraju razumjeti širinu ljudskih interakcija u svom timu i sa stvarima koje grade. Moraju razumjeti dubinu sustava s kojim rade, sve do O / S-a.

I nisu samo programeri ti koji bi trebali čitati ove stvari. Ako radite s razvojnim programerima, mislim da biste trebali očekivati ​​više od njih. Neka skiciraju o čemu govore. Neka objasne slikama, predmetima i (djeluje) ljudima izrezu kakav će sustav točno biti za ljude koji ga koriste.


02. Veliko upozorenje

Govorit ću negativno o programerima, ali mislim da mi je dopušteno jer sam takav. Također zato što barem jedna stvar o kojoj ovdje govorim vrijedi za mnoge programere koje susrećem. Iako je njihov rad izvrstan i znaju svoj kôd, vremena su konkurentna. Morate imati prednost, a to je:

  • biti tehničkiji

i

  • biti mnogo ljudskiji

03. Što kaže internet

Guglanje za 'bitnim vještinama web razvoja' donosi ono što biste očekivali. Okvirno znanje, x-preglednik, CSS i JS. Oni navode okvire koje biste trebali znati, platforme za koje morate pisati i nove trendove na koje biste trebali pripaziti.

To su naši mediji. Oni su ono što gradimo, ali nisu ono što projektu daje uspjeh. Programer može razumjeti svaki detalj sustava, reći vam svaku značajku API-ja i novu CSS tehnologiju, ali svejedno proizvesti nešto neupotrebljivo.

Shvatite medij

Programeri, kao i svi, moraju razumjeti svoj medij - ali moraju razumjeti i publiku, bilo da su to korisnici, tim ili drugi programeri. Moraju razumjeti kako se njihov medij uklapa u svijet (drugim riječima, u proizvodno okruženje) i kakav učinak ima (kako ga ljudi koriste).

Vidio sam da je to opisano kao 'široka i duboka' osoba. Široko, jer svijet trebate shvatiti kao čovjeka koji radi s drugim ljudima. Duboko jer vam je potrebno temeljito tehničko znanje ispod razine vašeg dijela projekta. Ovi programeri daju vašem projektu ogroman poticaj i mijenjaju tempo projekta, bez čega ćete pronaći netehničko osoblje zatrpano zamornim detaljima koji prelijevaju iz tehničkog tima.


04. Stvari s kojima gradimo

Nedavno sam zapisao popis svega što koristimo za izradu web stranica, upravljanje hostingom i obavljanje zadataka kako bi ljudi koji se pridružuju mogli imati varalice s tehnologijama koje bi mogli naučiti u prvih nekoliko tjedana. Čitali smo kao čitanje da ljudi znaju te stvari, pa bismo za novi početak regrutirali sve što koristimo svaki dan.

Očekivao sam pola tuceta tehnologija, ali na kraju s daleko više. Ovaj popis - 'ono što mi koristimo' uključuje uobičajene CMS-ove, programske jezike i tehnologije preglednika, ali i hrpu alata kojih se tim nije ni sjetio da koristi. Sve je to bilo pamćenje mišića. Utipkajući 'git', 'phing', 'thor' u naredbeni redak, nismo ni pomislili da to netko možda neće.

Izrada alata; CI; git za kontrolu verzija bili su zdravo za gotovo, ali gledajući unazad po CV-ima, oni se jedva pojavili. Pojavili bi se oni trendi (i je li cinično da mislim da ih određene agencije dodaju ?!), ali često bez konkretnog iskustva.

Ovi su alati važni za ubrzavanje razvoja projekata, zato pripazite da imate daleko bogatiji set alata od vašeg jezika, CMS-a i nekoliko okvira. Potrebna vam je implementacija, testiranje, CI, jaka kontrola verzija (u timovima - ne samostalno) i morate razumjeti temeljne koncepte ovih, a ne samo nekoliko vodiča.

05. Devops

Ovi dodatni alati i trikovi izvrsno se uklapaju u ono što ljudi nazivaju "devops". Devops muhe suočava se s dva tradicionalna silosa: proizvodnjom koja neprekidno pokreće stvari i razvojem koji stvara nove stvari (i često zaustavlja pokretanje stvari). Silosi rezultiraju dvama logorima s malo simpatija jedni za druge.

Programeri bez produkcijskog znanja češće proizvode kôd koji nije prikladan za proizvodnju, koristeći konfiguraciju ili značajke koje još nisu na proizvodnom stogu. Budući da nisu svjesni problema proizvodnog okruženja, oni kodiraju kako bi dovršili značajku, a ne kako bi je implementirali u proizvodnju.

Ti mali detalji mogu stvoriti bolna kašnjenja, pogoršana trendom slanja upravljanja poslužiteljem u inozemstvo.

Shvatite stog

Devops je samo po sebi ogromno polje koje obuhvaća kontinuirani razvoj i puno automatizacije. Ovo je kratak sažetak, ali ključna stvar koju programeri moraju razumjeti je hrpa na kojoj rade. Nije dovoljno to delegirati administratoru poslužitelja, morate razumjeti implikacije platforme na vaš kôd.

Ako radite na Railsu, pročitajte Rails kôd i znajte kako Apache izvršava Ruby. Ako radite na Javi, znajte o opcijama konfiguracije. Ako se radi o Perlu, shvatite kako instalirati Perl module i konfigurirati ih.

Tajanstveno djelo

Popis 'ono što koristimo' sadrži puno toga, a dobri programeri skaču na tome kako bi razumjeli kako se obavlja sve ovo misteriozno djelo. A kad ga jednom prime, implementacije idu brže, posao se odvija glatko i svi su samo sretniji.

Kontinuirano raspoređivanje i s njim povezane prakse devopsa postaju toliko standardni da se svaki programer ili tvrtka koja to ne prakticira postavlja da ih treba prestići. Netko drugi će to početi raditi i tada će biti brži od vas.

Praktični alati

Guglajući za 'devops' daje vam predodžbu o alatima koje ovi dečki koriste. Ne radi se o PHP-u i MySQL-u ili Rails-u. Riječ je o otpremi softvera i držanju rizičnih dijelova projekata bez rizika. Koncentrirani su na implementaciju, automatizaciju i održavanje cjevovoda od programera do proizvodnog okruženja što bržim.

Otkrićete da ovaj stil razvoja pruža programerima koji bolje rade međusobno i s drugim odjelima i tvrtkama. Ako rade s API-jem treće strane, razumjet će probleme koji će se vjerojatno pojaviti s druge strane. Kada rade s administratorima poslužitelja, razumjet će što im je potrebno instalirati i znati kako njihova web mjesta s softverom rade na poslužiteljima. Obrnuto od ovoga može biti bolno ...

06. Dev će to popraviti ... možda

Ta potraga za 'osnovnim vještinama web programera' donosi lijep odgovor Michaela Greera (The Onion's CTO) na Quori:

  • Lijenost: Odbija učiniti bilo što dva puta: napiše skriptu ili algo za to.
  • Kukavičluk: Razmišlja o testiranju, brine zbog opterećenja i utjecaja koda
  • Bezobzirnost: Stalno pokušava nove stvari, pokreće ideje za isti dan

Kukavičluk je lijep način izraza 'pažnja prema detaljima'. Otklanjanje pogrešaka i testiranje je 99 posto života programera koje nitko nije spomenuo kad su pogodili W3Schools ili započeli tečaj računalstva 101.

Sposobnost popravljanja aplikacija zahtijeva izvrsne vještine rješavanja problema, ali ne samo otklanjanje pogrešaka. Ponekad je rješenje za korisnike koji ne mogu preuzeti račune učiniti stranicu za ispis, umjesto da jedan dan generiraju PDF datoteke. Ponekad veza može zamijeniti tjedan dana razvoja, ali to elegantno rješenje neće se dogoditi ako programeri probleme rješavaju isključivo pisanjem puno redaka koda.

Testiranje je prekrasna mrtva točka za mnoge programere, unatoč brojnim alatima. Koristite jedinstvene testove, selen, testove opterećenja i alate za profiliranje kao što je xhprof. Analiza iz stvari kao što je New Relic kako bi otisak vaše aplikacije bio mali. I uzmite u obzir sve ovo dio razvojnog posla: to je vaš kôd, pazite da znate da radi kako je zamišljeno, a ne da se nadate da radi.

Otklanjanje pogrešaka

Otklanjanje pogrešaka također je bolna točka. Ne kako upotrijebiti program za ispravljanje pogrešaka, već kako ispraviti problem - pa bih dodao na popis Michaela Greera:

  • Nestrpljivost: agresivno zanemaruje nebitne informacije kako bi pronašla i riješila stvarni problem

Ovo je temelj svih tehnika otklanjanja pogrešaka. Zanemarivanje nebitnog i pronalaženje značenja u relevantnom. Nažalost, mnogi su skloni ropskom nabijanju nebitnog satima ili danima, rješavajući problem pokušavajući istu stvar deset puta.

Mnogo je knjiga (nažalost, ne ona koju sam ustupio izdavaču neću imenovati) o otklanjanju pogrešaka i svaki bi ih programer trebao pročitati. Stvarno sjajan programer može otkloniti probleme na sustavu, a da ne vidi liniju koda.

07. Što korisnici žele

Shvatite što ljudi oko vas pokušavaju učiniti. Uživajte u kodu - volite umjetnost savršenog uvlačenja CSS datoteka ili optimiziranja aplikacije šina - ali imajte na umu da je to sve svrhe.

Programeri moraju razumjeti poslovanje, poslovanje i poslovne procese jer njihove stvari pomažu u njihovom pokretanju. Razvojni programeri s tim znanjem sposobni su izraditi softver i aplikacije koji pomažu korisnicima, ali često se čine neobično produktivnima. To je možda zbog brzog tipkanja s osvjetljenjem ili nevjerojatnog poznavanja hrpe, no vjerojatnije je zbog njihovog znanja o tome što korisnici žele.

Konkurentno tržište

Vraćajući se na moju izvornu poantu, razvoj je sve lakši, a tržište za izvrsne programere konkurentnije je bilo kojem programeru koji je u stanju razumjeti poslovne zahtjeve i donijeti nešto izvrsno da ih ispuni imat će prednost. Razumijevanje tržišta, kupaca i zašto se ljudi rastaju s novcem sve pomaže.

Shvatite podatke i kako će se oni s vremenom mijenjati. Prema mišljenju programera, oni bi trebali postavljati nove tehnologije s izazovima koje imate danas ili koji dolaze. Na taj će se način, kada MD-u ili klijentu predložite neku fensi novu ideju, temeljiti na onome što kupci stvarno žele, a vi ćete za to dobiti proračun / vrijeme. (Nasuprot tome, najgora stvar koju mogu vidjeti jesu programeri koji svoju novu omiljenu tehnologiju koriste kao rješenje za sve naše boljke.)

Programeri imaju puno kontrole - moraju li znati što svako polje u bazi podataka znači za krajnjeg korisnika? Ako promijenimo podatke, što će korisnici vidjeti? Postoji li bolji način za pomoć korisnicima? Prečesto je mišljenje DB administratora da je svijet loš odraz njihove baze podataka, a ne da im baza podataka predstavlja loš prikaz stvarnog svijeta. Svijet je u neredu i iznenađujuće pun slučajeva. Bavite se time, DB administratori.

08. Crtanje i pisanje

Crtanje je najizravniji način komuniciranja kakve će stvari biti. Programeri moraju znati crtati svoje ideje na prostirkama za bijelu ploču, papir i pivo.

Programeri moraju biti u mogućnosti prototipirati na papiru, ispisati snimke zaslona i škrabati po njima samo kako bi priopćili svoju namjeru. Ne vjerujte programeru koji kima glavom, kaže da razumije i otvara njihov urednik.

Neuspjeh jeftino: najbolje kodiranje započinje crtanjem kao brzi prototip. Češće zakažite i pobrinite se da svi programeri oko vas čine isto jer je vjerojatnije da ćete na taj način uspjeti.

09. Uživajte

A što ako morate potrošiti 10 sati na rješavanje problema pomicanjem veze? Uživajte - čak i ako je to samo izazov proći kroz posao.

Najgori stav programera (ili bilo koga drugog) je apatija prema onome što tim pokušava postići. Nažalost, to je uobičajeno, jer programeri sebe vide kao da su izvan onoga što tim postiže. (Strastveni programer postavlja pitanje: „koliko zabavnije biste mogli napraviti svoj posao?“ - pokušajte.)
I budite spremni pokazati svoj rad jer je naličje ovoga: nemojte proširivati ​​isprobavši nekoliko tutorijala o Rubyju na 'Experience of Ruby'!

Razvoj weba i aplikacija još je uvijek mlada profesija, ali niz vještina koje zaista trebaju veliki programeri se širi. Svatko bi trebao očekivati ​​više programera jer što prije svi izađemo iz gadne stražnje sobe i uključimo se u kreativni proces, to će rezultati biti bolji.

10. Ostanite oštri

Da bih ovo doveo do lijepe runde 10, dodati ću još jednu stvar. Ostanite oštri. Pronađite konkurenciju. Najgora vrsta svega je ona izolirana.

"Uvijek budi najgori momak u svakom bendu u kojem si."

Najgori - stvarno, vrlo loši - programeri, programeri, dizajneri uče svoje stvari i odmaraju se na lovorikama. Bez srčanog stimulatora prelako je usporiti i bez gledanja konkurencije postaje navika vidjeti sebe iznadprosječnog.

Dakle, budite najgori što možete pronalazeći bolje. Pridružite se projektima izvan posla, doprinosite i tražite povratne informacije i kritike jer što više kritike dobijete, manje će vam ljudi dati u budućnosti. Kad pogađate što žele bolje nego što jesu, tada ste programer nindže koji svi žele.

Dan Frost tehnički je direktor web tvrtke s 3 usluge, službenog AWS partnera. Sedam godina radi u razvoju CMS-a i razvoju web aplikacija.

Sviđa li vam se ovo? Pročitajte ovo!

  • Kako izraditi aplikaciju
  • Najbolji besplatni web fontovi za dizajnere
  • Otkrijte što slijedi za proširenu stvarnost
Popularan
Kako dizajnirati animiranog junaka
Čitati

Kako dizajnirati animiranog junaka

ljedeći avjeti raščlanjuju moj po tupak animiranja Binka za nadolazeću web eriju Eric Miller Animation tudio . Bink je znatiželjno malo pomor ko tvorenje koje je zarobljeno i odvedeno u laboratorij z...
13 tajni za stvaranje brandinga koji mijenja igru
Čitati

13 tajni za stvaranje brandinga koji mijenja igru

Kada u e Ja on Gregory, Mark Bonner i Peter Hale upoznali na Royal College of Art, pronašli u okrepljujuću, interdi ciplinarnu "atmo feru Bauhau " koja je po ijala rano jeme i toimene london...
8 šarenih uzoraka kojima ćete dodati dašak proljeća svojim dizajnom
Čitati

8 šarenih uzoraka kojima ćete dodati dašak proljeća svojim dizajnom

Proljeće e napokon uvodi, ali izgledi u da ga zapravo ne o jećate zahvaljujući zaključavanju koronaviru a. Vani cvijeće cvjeta i ptice pjevaju, ali gdje je zabava u tome kad zaglaviš unutra?Čak i ako ...