10 bagay na dapat malaman ng mga developer ng web upang maging tunay na kamangha-manghang

May -Akda: Laura McKinney
Petsa Ng Paglikha: 10 Abril 2021
I -Update Ang Petsa: 16 Mayo 2024
Anonim
How To Do Intermittent Fasting For Health - Dr Sten Ekberg Wellness For Life
Video.: How To Do Intermittent Fasting For Health - Dr Sten Ekberg Wellness For Life

Nilalaman

Ang mga developer ay kailangang higit pa sa mga manggagawa ng grunt na bumubuo ng code. Inaasahan namin ang higit pa sa aming digital na buhay at ang mga taong ito ang nagtatayo nito, kaya ano ang kailangang malaman ng mga pinakamahusay na dev? Narito ang mga bagay na nakikita kong nawawala mula sa masyadong maraming mga developer. Hindi ito lubusang ngunit ang mga katangiang ito na ginagawang isang kamangha-manghang developer ang isang makatwirang coder.

Ngunit hindi ito isang bagay, at lalo na't hindi ang kakayahang mai-parse ang XML o i-optimize ang code, Ito ay isang nakakagulat na koleksyon ng mga kasanayan na hindi itinuro sa mga libro sa pagsulat ng code. Ang mga ito ay isang maliit na isang bagay na labis.

Bakit nagpapalabas ng ganito? Sapagkat ang pag-unlad ay mahalaga ngunit ang mga developer ay madalas na consigned sa isang iba't ibang mga mundo, hindi palaging ng kanilang paggawa. Hindi ito gagana. Pag-unlad - anumang teknikal - laging umunlad kapag ang mga may alam kung paano nauunawaan ang higit pa sa code.

01. Ang pag-coding ay huwag na itong i-cut


Nasa isang mundo tayo kung saan ang pag-coding ay nagiging mas kahanga-hanga. Ang bawat isa ay nagtatayo ng mga site, ang ilan sa kanila ay code ngunit hindi mo kailangang. Hindi na lamang ang nerdy ang makakalikha ng mga site, app at tampok.

Dahil sumama ang web at maaaring turuan ng mga tao ang kanilang sarili na mayroong mga nagtuturo ng sarili. Ngunit maging ang mga nagtapos ay nasa ilalim ng banta. Nakakakuha ako ng mga CV sa mga taong may degree sa agham ng computer, mga kurso sa AI, iba't ibang media at pag-cod sa ilalim ng kanilang sinturon ngunit mayroon pa ring nawawala. Minsan maraming nawawala.

Hindi ako ang unang nagsabi nito. 'Ang pag-coding ay huwag itong putulin pa' ay ang pamagat ng kabanata 3 mula Ang Passionate Programmer, na kasama ng mga libro tulad ng Pragmatic Thinking and Learning himukin ang mga programmer na pagbutihin ang kanilang sarili na lampas sa code; upang maging respeto at ganap na mga miyembro ng koponan.

Lawak at lalim

Ang mga developer ay kailangang maging mas mahusay sa dalawang paraan: ang lawak at lalim. Kailangan nilang maunawaan ang lawak ng pakikipag-ugnayan ng tao sa kanilang koponan at sa mga bagay na kanilang itinatayo. Kailangan nilang maunawaan ang lalim ng system na pinagtatrabaho nila, hanggang sa O / S.

At hindi lamang mga tagabuo ang dapat basahin ang bagay na ito. Kung nagtatrabaho ka sa mga dev, sa palagay ko dapat mong asahan ang higit sa kanila. Ipa-sketch sa kanila kung ano ang pinag-uusapan nila. Ipaliwanag sa kanila sa mga larawan, bagay at (gumagana ito) ang pagputol ng mga tao nang eksakto kung ano ang magiging sistema para sa mga taong gumagamit nito.


02. Ang malaking babala

Magsasalita ako ng negatibo tungkol sa mga developer, ngunit sa palagay ko pinapayagan ako dahil isa ako. Gayundin dahil kahit papaano ang isang bagay na pinag-uusapan ko dito ay totoo sa marami sa mga developer na nakikilala ko. Bagaman mahusay ang kanilang trabaho at alam nila ang kanilang code, ang mga oras ay mapagkumpitensya. Kailangan mong magkaroon ng isang gilid, at ito ay:

  • maging mas matalino

at

  • maging marami mas tao

03. Ano ang sinasabi ng internet

Naghahatid ng Googling para sa 'mahahalagang kasanayan sa pagbuo ng web' kung ano ang iyong inaasahan. Kaalaman sa Framework, x-browser, CSS at JS. Inililista nila ang mga balangkas na dapat mong malaman, mga platform na dapat mong writting para sa at mga bagong trend na dapat mong bantayan.

Ito ang aming media. Ang mga ito ang bagay na itinatayo namin ngunit hindi sila ang nagbibigay ng tagumpay sa isang proyekto. Maaaring maunawaan ng isang developer ang bawat detalye ng system, sabihin sa iyo ang bawat tampok ng isang API at isang bagong teknolohiya ng CSS ngunit gumagawa pa rin ng isang bagay na hindi magagamit.

Maunawaan ang daluyan

Ang mga developer, tulad ng lahat, ay kailangang maunawaan ang kanilang medium - ngunit dapat din nilang maunawaan ang madla, maging ang mga gumagamit, ang koponan o iba pang mga developer. Kailangan nilang maunawaan kung paano umaangkop ang kanilang daluyan sa mundo (sa madaling salita, ang kapaligiran sa produksyon) at kung anong epekto nito (kung paano ito ginagamit ng mga tao).

Nakita ko itong inilarawan bilang 'malawak at malalim' na tao. Malawak, dahil kailangan mong maunawaan ang mundo bilang isang tao na nagtatrabaho sa ibang mga tao. Malalim dahil kailangan mo ng masusing kaalamang panteknikal sa ibaba ng antas ng iyong bahagi ng proyekto. Binibigyan ng mga tagabuo na ito ang iyong proyekto ng isang malaking tulong at binabago ang bilis ng proyekto, kung hindi mo makikita ang hindi kawaning teknikal na kawani na nabalisa sa nakakapagod na detalye na umaapaw mula sa tech na koponan.


04. Ang mga bagay na itinatayo namin

Kamakailan ay nagsulat ako ng isang listahan ng lahat ng ginagamit namin upang bumuo ng mga site, pamahalaan ang pagho-host at magawa ang mga bagay-bagay upang ang mga taong sumali ay maaaring magkaroon ng isang cheat sheet ng mga teknolohiya upang malaman sa kanilang unang ilang linggo. Kinukuha namin ito bilang nabasa na alam ng mga tao ang mga bagay na ito, kaya upang bigyan ang mga bagong rekrut ng isang jump start nais naming ilista ang lahat ng ginagamit namin sa bawat araw.

Inaasahan kong kalahating dosenang teknolohiya ngunit natapos sa mas marami pa. Ang listahang ito - 'kung ano ang ginagamit namin' - ay may kasamang karaniwang CMSes, mga wika sa pagprograma at mga teknolohiya ng browser, ngunit pati na rin ang isang bungkos ng mga tool na hindi man naaalala ng koponan na ginagamit nila. Lahat ng ito ay memorya ng kalamnan. Ang pagta-type ng 'git', 'phing', 'tw' sa linya ng utos, hindi namin naisip na maaaring may hindi.

Bumuo ng mga tool; CI; Ang git para sa kontrol sa bersyon ay kinuha para sa ipinagkaloob, ngunit ang pagbabalik tanaw sa mga CV na halos hindi lumitaw. Ang mga naka-istilong lilitaw (at mapang-isip ba na sa palagay ko ang ilang mga ahensya ay nagdaragdag sa kanila ?!) ngunit madalas na walang kongkretong karanasan.

Ang mga tool na ito ay mahalaga para sa pagpapabilis ng pagbuo ng proyekto, kaya tiyaking mayroon kang isang mas mayamang tool na itinakda kaysa sa iyong wika, ang CMS at isang pares ng mga balangkas. Kailangan mo ng pag-deploy, pagsubok, CI, malakas na kontrol ng bersyon (sa mga koponan - hindi sa iyong sarili), at kailangan mong maunawaan ang pangunahing mga konsepto ng mga ito kaysa sa ilang mga tutorial lamang.

05. Mga Yawa

Ang mga labis na tool at trick na ito ay umaangkop nang maayos sa tinatawag ng mga tao na 'devops'. Lumilipad ang mga demonyo sa harap ng dalawang tradisyunal na silo: produksyon, na pinapanatili ang mga bagay na tumatakbo, at pag-unlad, na gumagawa ng mga bagong bagay (at madalas na pinipigilan ang mga bagay na tumatakbo). Ang mga silo ay nagreresulta sa dalawang kampo na may kaunting pakikiramay sa bawat isa.

Ang mga developer na walang kaalaman sa produksyon ay madalas na gumagawa ng code na hindi angkop para sa produksyon, sa pamamagitan ng paggamit ng pagsasaayos o mga tampok na wala pa sa stack ng produksyon. Dahil hindi nila alam ang mga problema sa kapaligiran ng produksyon, nai-code nila upang makumpleto ang tampok sa halip na i-deploy ito sa produksyon.

Ang maliliit na detalye na ito ay maaaring lumikha ng masakit na pagkaantala, pinalala ng takbo para sa pagpapadala ng pamamahala ng server sa ibang bansa.

Maunawaan ang stack

Ang Devops ay isang malaking larangan sa sarili nito, na sumasaklaw sa tuluy-tuloy na paglawak at maraming pag-aautomat. Ito ay isang nakamamanghang buod, ngunit ang pangunahing bagay na kailangang maunawaan ng mga developer ay ang stack na tumatakbo sila. Hindi sapat na idelegate ito sa admin admin, kailangan mong maunawaan ang mga implikasyon ng platform sa iyong code.

Kung nagtatrabaho ka sa Rails, basahin ang Rails code at malaman kung paano isinasagawa ni Ruby si Ruby. Kung nagtatrabaho ka sa Java, alamin ang tungkol sa mga pagpipilian sa pagsasaayos. Kung Perl ang ginagamit mo, maunawaan kung paano mag-install ng Perl modules at i-configure ang mga ito.

Misteryosong gawain

Ang listahan ng 'kung ano ang ginagamit namin' ay naglalaman ng maraming bagay na ito, at ang mahusay na mga developer ay tumalon doon upang maunawaan kung paano nagagawa ang lahat ng misteryosong gawaing ito. At sa sandaling makuha nila ito, mas mabilis ang pag-deploy, ang trabaho ay mas mahusay na na-deploy at lahat ay mas masaya lamang.

Ang tuluy-tuloy na pag-deploy at mga kaugnay na kasanayan ng mga devops ay nagiging pamantayan na ang sinumang developer o kumpanya na hindi nagsasanay nito ay inaayos ang kanilang sarili na maaabutan. May ibang magsisimulang gawin ito at pagkatapos ay mas mabilis sila kaysa sa iyo.

Mga madaling gamiting tool

Ang Googling para sa 'devops' ay nagbibigay sa iyo ng isang ideya ng mga tool na ginagamit ng mga taong ito. Hindi ito tungkol sa PHP at MySQL, o Riles. Ito ay tungkol sa pagpapadala ng software at mapanatili ang mga mapanganib na piraso ng mga proyekto na walang panganib. Nakatuon sila sa pag-deploy, pag-aautomat at pagpapanatili ng pipeline mula sa developer hanggang sa produksyon na kapaligiran na tumatakbo nang mas mabilis hangga't maaari.

Malalaman mo na ang ganitong istilo ng pag-unlad ay nagbibigay sa iyo ng mga developer na mas mahusay na gumagana sa bawat isa at sa iba pang mga kagawaran at kumpanya. Kung nagtatrabaho sila sa isang API mula sa isang third party, mauunawaan nila ang mga problemang malamang na makarating sa kabilang panig. Kapag nagtatrabaho sa mga admin ng server mauunawaan nila kung ano ang kailangan nilang mai-install at malalaman kung paano ang kanilang mga site ng software sa mga server ng produksyon. Ang kabaligtaran nito ay maaaring maging masakit ...

06. Aayusin ito ni Dev ... marahil

Ang paghahanap para sa 'mahahalagang kasanayan sa developer ng web' ay nagdudulot ng magandang sagot mula kay Michael Greer (The Onion's CTO) sa Quora:

  • Katamaran: Tumanggi na gumawa ng anumang bagay nang dalawang beses: nagsusulat ng isang iskrip o algo para dito.
  • Cowardice: Nag-iisip upang subukan, nag-aalala sa pag-load at epekto sa code
  • Kawalang kabuluhan: Patuloy na sumusubok ng mga bagong bagay, naglulunsad ng mga ideya sa parehong araw

Ang cowardice ay isang magandang paraan ng pagbibigay ng pansin sa detalye '. Ang pag-debug at pagsubok ay ang 99 porsyento ng buhay ng isang developer na walang nabanggit nang maabot nila ang W3Schools o sinimulan ang kurso sa computing 101.

Ang kakayahang ayusin ang mga app ay nangangailangan ng mahusay na mga kasanayan sa paglutas ng problema, ngunit hindi lamang ang pag-debug ng code. Minsan ang solusyon sa mga gumagamit na hindi ma-download ang kanilang mga invoice ay upang mai-print ang pahina, sa halip na gumastos ng isang araw sa pagbuo ng mga PDF. Minsan ang isang link ay maaaring mapalitan ang isang linggo ng pag-unlad, ngunit ang matikas na solusyon na iyon ay hindi mangyayari kung ang mga dev ay naglulutas ng mga problema pulos sa pamamagitan ng pagsulat ng maraming mga linya ng code.

Ang pagsubok ay isang kahanga-hangang blindspot para sa maraming mga dev, sa kabila ng maraming mga tool doon. Gumamit ng mga pagsubok sa unit, siliniyum, pagsubok sa pag-load at pag-profiling ng mga tool tulad ng xhprof. Pagsusuri mula sa mga bagay tulad ng New Relic upang mapanatiling maliit ang bakas ng paa ng iyong app. At isaalang-alang ang lahat ng ito ng trabaho ng dev: ito ang iyong code, siguraduhing alam mong gumagana ito ayon sa nilalayon kaysa umasa na gagana ito.

Pagde-debug

Ang pag-debug ay isang masakit na punto din. Hindi kung paano gumamit ng isang debugger, ngunit kung paano i-debug ang isang problema - kaya idaragdag ko sa listahan ni Michael Greer:

  • Kawalan ng pasensya: agresibong hindi pinapansin ang walang katuturang impormasyon upang hanapin at malutas ang tunay na problema

Ito ang pundasyon ng lahat ng mga diskarte sa pag-debug. Hindi pinapansin ang walang katuturan at paghahanap ng kahulugan sa may kaugnayan. Sa kasamaang palad, marami ang madaling kapitan ng martilyo ng walang katuturan sa loob ng maraming oras o araw, na inaayos ang isang problema sa pamamagitan ng pagsubok ng parehong bagay ng 10 beses.

Maraming mga libro (nakalulungkot, hindi ang itinayo ko sa publisher na hindi ko pangalanan) sa pag-debug at dapat basahin ng bawat developer ang lahat ng mga ito. Ang isang talagang mahusay na dev ay maaaring mag-debug ng mga problema sa isang system nang hindi nakikita ang isang linya ng code.

07. Ano ang gusto ng mga gumagamit

Maunawaan kung ano ang sinusubukan na gawin ng mga tao sa paligid mo. Tangkilikin ang code - gustung-gusto ang sining ng pag-indent ng mga CSS file nang perpekto, o pag-optimize ng isang app ng riles - ngunit tandaan na ang lahat ay para sa isang layunin.

Kailangang maunawaan ng mga developer ang mga proseso ng negosyo, pagpapatakbo at negosyo dahil ang kanilang mga bagay ay nakakatulong sa pagpapatakbo nito. Ang mga dev na may kaalamang ito ay nakapagbuo ng software at mga app na makakatulong sa mga gumagamit, ngunit madalas silang mukhang hindi pangkaraniwang mabunga. Maaaring dahil ito sa kanilang mabilis na pagta-type sa ilaw o kamangha-manghang kaalaman sa stack, ngunit mas malamang na dahil sa kanilang kaalaman sa gusto ng mga gumagamit.

Makukumpitensyang merkado

Bumabalik sa aking orihinal na punto, ang pag-unlad na iyon ay nagiging mas madali at ang merkado para sa mahusay na mga developer ay mas mapagkumpitensyang sinumang developer na may kakayahang maunawaan ang mga kinakailangan sa negosyo at magdala ng isang mahusay na bagay upang matugunan ang mga ito ay magkakaroon ng isang gilid. Maunawaan ang merkado, mga customer at kung bakit sila bahagi ng pera lahat ay tumutulong.

Maunawaan ang data at kung paano ito magbabago sa paglipas ng panahon. Sa pag-iisip ng nag-develop dapat na pinagsasama nila ang mga bagong teknolohiya sa mga hamon na mayroon ka ngayon o nakikita mong paparating. Sa ganitong paraan, kapag nagmungkahi ka ng isang magarbong bagong ideya sa MD o sa isang kliyente batay ito sa kung ano talaga ang gusto ng mga customer at makukuha mo rito ang badyet / oras. (Sa kaibahan, ang pinakapangit na nasaksihan ay ang mga developer na nagtutuon ng kanilang bagong paboritong teknolohiya bilang solusyon para sa lahat ng ating mga sakit.)

Ang mga developer ay mayroong maraming kontrol - kailangan ba nilang malaman kung ano ang ibig sabihin ng bawat patlang sa database para sa end-user? Kung babaguhin natin ang data, ano ang makikita ng mga gumagamit? Mayroon bang mas mahusay na paraan ng pagtulong sa mga gumagamit? Kadalasan ang pagtingin sa mga admin ng DB ay ang mundo ay isang masamang salamin ng kanilang database sa halip na ang kanilang database ay isang masamang representasyon ng totoong mundo. Magulo ang mundo at nakakagulat na puno ng mga case-case. Pakitunguhan ito, mga admin ng DB.

08. Pagguhit at pagsulat

Ang pagguhit ay ang pinaka direktang paraan ng pakikipag-usap kung ano ang magiging mga bagay-bagay. Dapat magagawang iguhit ng mga developer ang kanilang mga ideya sa whiteboard, papel at banig sa beer.

Dapat ma-prototype ng mga developer ang papel, pag-print ng mga screenshot at scribble sa kanila upang maiparating lamang ang kanilang hangarin. Huwag magtiwala sa developer na tumatango, sinabi na naiintindihan at binubuksan nila ang kanilang editor.

Mabigo nang mabigo: ang pinakamahusay na pag-coding ay nagsisimula sa pagguhit bilang isang mabilis na prototype. Mas madalas na mabibigo at siguraduhin na ang lahat ng mga dev sa paligid mo ay gumawa ng pareho dahil mas malamang na magtagumpay ka sa ganoong paraan.

09. Masiyahan ka sa iyong sarili

At paano kung kailangan mong gumastos ng 10 oras sa paglutas ng isang problema sa pamamagitan ng paglipat ng isang link sa paligid? Tangkilikin ito - kahit na hamon lamang sa pagtatapos ng trabaho.

Ang pinakapangit na pag-uugali mula sa mga developer (o sinuman) ay walang pakialam sa kung ano ang sinusubukang makamit ng koponan. Sa kasamaang palad ito ay karaniwan, dahil nakikita ng mga developer na ang kanilang sarili ay nasa labas ng nakamit ng koponan. (Ang Passionate Programmer nagbigay ng tanong, 'gaano ka mas kasiya-siyang nagagawa mo ang iyong trabaho?' - subukan ito.)
At maging handa na ipakita ang iyong trabaho bilang kabaligtaran nito: huwag palawakin ang pagsubok sa isang pares ng mga tutorial sa Ruby sa 'Karanasan ni Ruby'!

Ang pag-unlad ng web at app ay isang batang propesyon pa rin, ngunit ang hanay ng kasanayan na talagang mahusay na kailangan ng mga dev ay lumalawak. Dapat asahan ng bawat isa ang higit pang mga developer dahil kung mas maaga tayong lahat ay makalabas sa hindi magandang silid sa likod at makisangkot sa proseso ng malikhaing mas mahusay ang mga resulta.

10. Manatiling matalas

Upang mapunta ito sa isang magandang ikot ng 10 magdagdag ako ng isang panghuling bagay. Manatiling matalas. Maghanap ng kumpetisyon. Ang pinakapangit na uri ng anumang bagay ay nag-iisa.

"Laging maging ang pinakamasamang tao sa bawat banda na iyong naroroon."

Ang pinakapangit - talaga, napakasamang - mga programmer, coder, taga-disenyo ay natututo ng kanilang mga bagay-bagay at nagpapahinga sa kanilang pamimili. Nang walang isang pacemaker, napakadali na magpabagal at nang hindi nakikita ang kumpetisyon naging ugali mong makita ang iyong sarili nang higit sa average.

Kaya, maging ang pinakamasamang magagawa mo sa pamamagitan ng paghahanap ng mas mahusay. Sumali sa mga proyekto sa labas ng trabaho, mag-ambag at maghanap ng feedback at pagpuna dahil kung mas maraming kritika ang makukuha mo, mas kaunti ang ibibigay sa iyo ng mga tao sa hinaharap. Kapag hinuhulaan mo kung ano ang gusto nila nang mas mahusay kaysa sa kanila, kung gayon ikaw ang ninja developer na nais ng lahat.

Si Dan Frost ay isang teknikal na direktor ng buong-serbisyo na kumpanya ng web na 3EV, isang opisyal na kasosyo sa AWS. Siya ay nagtatrabaho sa CMS at web app development sa loob ng pitong taon.

Nagustuhan ito? Basahin ang mga ito!

  • Paano bumuo ng isang app
  • Ang pinakamahusay na libreng mga web font para sa mga tagadisenyo
  • Tuklasin kung ano ang susunod para sa Augmented Reality
Ang Aming Mga Publikasyon
Ang Adam Dewhirst ng Mill kung bakit magiging 'gigantic' ang ZED
Magbasa Pa

Ang Adam Dewhirst ng Mill kung bakit magiging 'gigantic' ang ZED

Ang nilalamang ito ay dinala a iyo na ka ama ng HP ZED, i ang 'pop up hop' para a mga creative a London' oho mula Lune ng etyembre 29 hanggang Biyerne 10 Oktubre 2014. Magrehi tro para a Z...
10 mga tool sa disenyo para sa mga propesyonal sa marketing
Magbasa Pa

10 mga tool sa disenyo para sa mga propesyonal sa marketing

Kung nai mo ng i ang prope yonal na di enyo para a iyong kampanya a marketing, kailangan mong kumuha ng i ang prope yonal na taga-di enyo. Ngunit kung min an kailangan mo lamang ng i ang mabili na bag...
Limang mamamatay na mga paraan upang magamit ang onboarding
Magbasa Pa

Limang mamamatay na mga paraan upang magamit ang onboarding

Ang artikulong ito ay unang lumitaw a i yu ng 226 ng .net magazine - ang pinakamabentang magazine a buong mundo para a mga web de igner at developer.Kaya't nakumbin i mong may mag- ign up para a i...