10 ствари које веб програмери морају знати да би постали заиста невероватни

Аутор: Laura McKinney
Датум Стварања: 10 Април 2021
Ажурирати Датум: 16 Може 2024
Anonim
Митч Резник: Давайте учить детей программировать
Видео: Митч Резник: Давайте учить детей программировать

Садржај

Програмери морају бити више од грунтованих радника који генеришу код. Очекујемо више од свог дигиталног живота и ови момци су ти који га граде, па шта треба да знају најбољи програмери? Ево ствари које видим да недостају превише програмера. Ово није исцрпно, али управо ове особине претварају разумног кодера у невероватног програмера.

Али то није једно, а посебно никада није могућност рашчлањивања КСМЛ-а или оптимизације кода, то је изненађујућа колекција вештина које се не уче у књигама о писању кода. Они су нешто мало више.

Зашто овако одзрачивати? Јер развој је важан, али програмери се пречесто упућују у другачији свет, не увек њихов рад. Ово никад не иде. Развој - било шта техничко - увек успева када они са знањем разумеју више од самог кода.

01. Кодирање, немојте га више сећи


Налазимо се у свету у коме кодирање постаје мање импресивно. Сви граде веб локације, неки од њих кодирају, али не морате. Више није само штребер тај који може да креира веб локације, апликације и функције.

Откако се појавила мрежа и људи су се могли подучавати, постојали су самоуки програмери. Али чак су и дипломци под претњом. Добивам биографије са људима са дипломама рачунарства, курсевима АИ, разним медијима и кодирањем, али још увек нешто недостаје. Понекад недостаје много тога

Нисам први који је ово рекао. „Кодирање више га не пресецајте“ наслов је поглавља 3 из Страствени програмер, који је уз књиге као што су Прагматично размишљање и учење подстакните програмере да се побољшају изван кода; да постану одговорни и потпуно људски чланови тима.

Ширина и дубина

Програмери морају бити бољи на два начина: ширина и дубина. Морају да схвате ширину људских интеракција у свом тиму и са стварима које граде. Морају да разумеју дубину система са којим раде, све до О / С-а.

И нису само програмери ти који би требали читати ове ствари. Ако радите са програмерима, мислим да бисте требали очекивати више од њих. Натерајте их да скицирају о чему говоре. Наведите их да објасне сликама, предметима и (успева) да људи исеку тачно какав ће систем бити за људе који га користе.


02. Велико упозорење

Говорићу негативно о програмерима, али мислим да ми је дозвољено јер сам такав. Такође зато што бар једна ствар о којој овде говорим важи за многе програмере које упознам. Иако је њихов рад сјајан и знају свој код, времена су конкурентна. Морате имати предност, а ово је:

  • бити технички

и

  • бити много људскији

03. Шта каже интернет

Гуглање за „основним вештинама веб развоја“ доноси оно што бисте очекивали. Оквирно знање, к-претраживач, ЦСС и ЈС. Они наводе оквире које бисте требали знати, платформе за које морате писати и нове трендове на које бисте требали припазити.

То су наши медији. Они су ствар коју градимо, али нису оно што пројекту даје успех. Програмер може да разуме сваки детаљ система, да вам каже сваку карактеристику АПИ-ја и нову ЦСС технологију, али и даље производи нешто неупотребљиво.

Разумети медијум

Програмери, као и сви, морају да разумеју свој медиј - али морају да разумеју и публику, било да су то корисници, тим или други програмери. Морају да разумеју како се њихов медиј уклапа у свет (другим речима, у производно окружење) и какав ефекат има (како га људи користе).

Видео сам да је ово описано као „широка и дубока“ особа. Широко, јер свет треба да схватите као човека који ради са другим људима. Дубоко јер вам је потребно темељно техничко знање испод нивоа вашег дела пројекта. Ови програмери дају вашем пројекту огроман подстицај и мењају темпо пројекта, без чега ћете пронаћи нетехничко особље затрпано заморним детаљима који преплављују технички тим.


04. Ствари са којима градимо

Недавно сам записао списак свега што користимо за изградњу веб локација, управљање хостингом и обављање ствари како би људи који се придружују могли да имају варалице технологија које ће научити у првих неколико недеља. Читали смо као читање да људи знају те ствари, па бисмо за нови почетак регрутирали све што користимо сваки дан.

Очекивао сам пола туцета технологија, али на крају са много више. Ова листа - „оно што користимо“ укључује уобичајене ЦМС-ове, програмске језике и технологије прегледача, али и гомилу алата којих се тим није сетио ни да се користи. Све је то било памћење мишића. Укуцавајући „гит“, „пхинг“, „тхор“ у командну линију, нисмо ни помислили да неко можда неће.

Израда алата; ЦИ; гит за контролу верзија су се узимали здраво за готово, али гледајући уназад по ЦВ-има, они се једва појављују. Појавили би се они тренди (и да ли је цинично да мислим да их одређене агенције додају ?!), али често без конкретног искуства.

Ови алати су важни за убрзавање развоја пројеката, зато се побрините да имате далеко богатији сет алата од вашег језика, ЦМС-а и неколико оквира. Потребна су вам примена, тестирање, ЦИ, јака контрола верзија (у тимовима - не самостално) и морате да разумете основне концепте ових, а не само неколико водича.

05. Девопс

Ови додатни алати и трикови добро се уклапају у оно што људи називају „девопс“. Девопс лети пред два традиционална силоса: производњу која непрекидно покреће ствари и развој који ствара нове ствари (и често зауставља покретање ствари). Силоси резултирају двама логорима са мало симпатија једни за друге.

Програмери без продукцијског знања чешће производе код који није погодан за производњу, користећи конфигурацију или функције које још нису у производном стогу. Будући да нису свесни проблема производног окружења, они кодирају да би комплетирали функцију, уместо да је примене у производњу.

Ови мали детаљи могу створити болна кашњења, погоршана трендом слања управљања сервером у иностранство.

Схватите стог

Девопс је огромно поље само по себи, које обухвата континуирано постављање и пуно аутоматизације. Ово је обиман резиме, али кључна ствар коју програмери морају да разумеју је стек на којем раде. Није довољно то делегирати администратору сервера, морате да разумете импликације платформе на ваш код.

Ако радите на Раилс-у, прочитајте Раилс код и знајте како Апацхе извршава Руби. Ако радите на Јави, знајте о опцијама конфигурације. Ако користите Перл, разумејте како инсталирати Перл модуле и конфигурисати их.

Тајанствено дело

Листа „оно што користимо“ садржи пуно ових ствари, а добри програмери скачу на томе да би разумели како се обавља све ово мистериозно дело. А кад га једном примене, примене иду брже, посао се одвија глатко и сви су само срећнији.

Континуирано распоређивање и сродне праксе девопса постају толико стандардне да се сваки програмер или компанија која то не практикује поставља да претекне. Неко други ће почети то да ради и тада ће бити бржи од вас.

Приручни алати

Гуглајући за „девопс“ даје вам представу о алатима које ови момци користе. Не ради се о ПХП-у и МиСКЛ-у, нити о Раилс-у. Ради се о отпреми софтвера и држању ризичних делова пројеката без ризика. Концентришу се на постављање, аутоматизацију и одржавање цевовода од програмера до производног окружења да ради што је брже могуће.

Открићете да овај стил развоја пружа програмерима који боље раде једни с другима и са другим одељењима и компанијама. Ако раде са АПИ-јем треће стране, разумеће проблеме који ће се вероватно појавити на другој страни. Када раде са администраторима сервера, разумеће шта им је потребно инсталирати и знаће како се њихови софтверски сајтови налазе на продукционим серверима. Обрнуто од овога може бити болно ...

06. Дев’хо ће то поправити ... можда

Та потрага за „основним вештинама веб програмера“ доноси леп одговор од Мицхаел Греер-а (Тхе Онион’с ЦТО) на Куори:

  • Лијеност: Одбија да било шта уради два пута: напише сценарио или алго за то.
  • Кукавичлук: Размишља да тестира, брине због оптерећења и утицаја кода
  • Непромишљеност: Стално покушава нове ствари, лансира идеје истог дана

Кукавичлук је леп начин израза „пажња према детаљима“. Отклањање грешака и тестирање је 99 процената живота програмера које нико није споменуо када су погодили В3Сцхоолс или започели курс рачунарства 101.

Способност поправљања апликација захтева одличне вештине решавања проблема, али не само отклањање грешака у коду. Понекад је решење за кориснике који не могу да преузму фактуре да страницу направе за штампу, уместо да потроше један дан на генерирање ПДФ-ова. Понекад веза може заменити недељу дана развоја, али то елегантно решење се неће догодити ако програмери проблеме решавају само писањем пуно линија кода.

Тестирање је сјајна мртва тачка за многе програмере, упркос многим алаткама. Користите јединствене тестове, селен, тестове оптерећења и алате за профилисање као што је кхпроф. Анализа из ствари као што је Нова реликвија како би отисак ваше апликације био мали. И узмите у обзир све ово део развојног посла: то је ваш код, уверите се да знате да функционише како је предвиђено, а не да се надате да ради.

Отклањање грешака

Отклањање грешака је такође болна тачка. Не како се користи програм за отклањање грешака, већ како се решава проблем - па бих додао на листу Мицхаел Греер-а:

  • Нестрпљење: агресивно игнорише небитне информације како би пронашао и решио стварни проблем

Ово је камен темељац свих техника отклањања грешака. Занемаривање небитног и проналажење значења у релевантном. На несрећу, многи су склони ропском набијању небитног сатима или данима, решавајући проблем покушавајући исту ствар десет пута.

Постоји много књига (на жалост, не она коју сам издао издавачу, нећу именовати) о отклањању грешака и сваки програмер би требало да их прочита. Заиста сјајан програмер може да решава проблеме на систему а да не види линију кода.

07. Шта корисници желе

Схватите шта људи око вас покушавају да ураде. Уживајте у коду - волите уметност савршеног увлачења ЦСС датотека или оптимизације апликације шина - али имајте на уму да је све то наменски.

Програмери морају да разумеју пословање, пословање и пословне процесе јер њихове ствари помажу у њиховом покретању. Развојни програмери са овим знањем могу да направе софтвер и апликације који помажу корисницима, али се често чине необично продуктивним. То је можда због брзог куцања или невероватног познавања стека, али је вероватније због њиховог знања о томе шта корисници желе.

Конкурентно тржиште

Враћајући се на моју првобитну поенту, тај развој постаје лакши, а тржиште за сјајне програмере је конкурентније. Сваки програмер који буде у стању да разуме пословне захтеве и донесе нешто изврсно да их испуни имаће предност. Разумевање тржишта, купаца и зашто се људи раздвајају са новцем, све помаже.

Разумевање података и како ће се они временом мењати. По мишљењу програмера, они би требало да ускладе нове технологије са изазовима које имате данас или видите да долазе. На овај начин, када МД-у или клијенту предложите неку фенси нову идеју, она ће се заснивати на ономе што купци заиста желе и добићете буџет / време за то. (Насупрот томе, најгора ствар којој могу бити сведоци су програмери који своју нову омиљену технологију користе као решење за све наше бољке.)

Програмери имају пуно контроле - да ли треба да знају шта свако поље у бази података значи за крајњег корисника? Ако променимо податке, шта ће корисници видети? Да ли постоји бољи начин да се помогне корисницима? Пречесто је мишљење ДБ администратора да је свет лош одраз њихове базе података, а не да им база података представља лош приказ стварног света. Свет је збркан и изненађујуће препун ивица. Носите се с тим, ДБ администратори.

08. Цртање и писање

Цртање је најдиректнији начин комуникације о томе како ће ствари изгледати. Програмери морају бити у стању да цртају своје идеје на простиркама за белу таблу, папир и пиво.

Програмери морају бити способни да праве прототипе на папиру, штампају снимке екрана и да их цртају само да би саопштили своју намеру. Не верујте програмеру који клима главом, каже да разуме и отвара свој уређивач.

Неуспешно: неуспешно кодирање започиње цртањем као брз прототип. Чешће закажите и побрините се да сви програмери око вас раде исто што је већа вероватноћа да ћете на тај начин успети.

09. Уживајте

А шта ако морате да потрошите 10 сати на решавање проблема премештањем везе? Уживајте - чак и ако је то само изазов проћи кроз посао.

Најгори став програмера (или било кога другог) је апатија према ономе што тим покушава да постигне. Нажалост, ово је уобичајено, јер програмери себе виде као да су изван онога што тим постиже. (Страствени програмер поставља питање „колико забавније бисте могли да направите свој посао?“ - покушајте.)
И будите спремни да покажете свој рад као наличје овога: немојте проширити неколико испробаних неколико водича о Руби-у на „Екпериенце оф Руби“!

Развој веба и апликација је још увек млада професија, али сет вештина које су заиста неопходне програмерима се шири. Сви би требали очекивати више програмера, јер што прије изађемо из гадне задње собе и укључимо се у креативни процес, то ће бити бољи резултати.

10. Останите оштри

Да бих ово довео до лепе рунде 10, додаћу још једну ствар. Будите опрезни. Пронађите конкуренцију. Најгора врста свега је она изолована.

„Увек буди најгори момак у сваком бенду у којем си.“

Најгори - заиста, врло лоши - програмери, програмери, дизајнери уче своје ствари и одмарају се на ловорикама. Без пејсмејкера ​​сувише је лако успорити и без гледања конкуренције постаје навика да се видите изнад просека.

Дакле, буди најгори што можеш проналазећи боље. Придружите се пројектима ван посла, доприносите и тражите повратне информације и критике јер што више критике добијете, мање ће вам људи дати у будућности. Када погађате шта желе боље него што јесу, онда сте програмер нинџе који сви желе.

Дан Фрост је технички директор веб компаније са пуним сервисом 3ЕВ, службеног АВС партнера. Седам година ради у развоју система управљања садржајем и веб апликација.

Свиђа вам се ово? Прочитајте ово!

  • Како се прави апликација
  • Најбољи бесплатни веб фонтови за дизајнере
  • Откријте шта следи за проширену стварност
Занимљиве Публикације
Седам сјајних иПад апликација за дизајнере
Читати

Седам сјајних иПад апликација за дизајнере

Адобе Идеас 3,99 £ Адобе Ова апликација за цртање заснована на векторима олакшава грубу обраду идеја док сте ван радног стола, а затим их делите путем иТунес-а или их увезите нетакнуте у Пхотосхо...
Речник израде штампе
Читати

Речник израде штампе

4пп Овде „пп“ значи „одштампане странице“ и односи се на преклоп који се користи на листу папира. Нешто на 4пп обично буде један лист, пресавијен једном дајући четири странице.Папир без киселине Папир...
Погодите радну површину дизајнера!
Читати

Погодите радну површину дизајнера!

Ево како то функционише: представили смо избор слика радне површине мистериозног уметника, праћену низом трагова. Све што треба да урадите је да погодите коме припада ..."Волим свој студио, идили...