Не - не е нужно да се научавате да кодирате

Изглежда целият свят ви казва, че трябва да научите програмиране. Ето защо не го правите - и какво трябва да научите вместо това.

Не - не е нужно да се научавате да кодирате

Представете си, че сте подложени на потоп от статии със заглавия като Защо всеки трябва да се научи да плете. При цялото ми уважение към плетачите, би изглеждало смешно. И все пак обединяващият вик да се научим да кодираме стана толкова разпространен, че едва ли сме изненадани, когато разработчик на софтуер в Ню Йорк се ангажира с силно разгласен опит да научи бездомник как да кодира. Кметът на Ню Йорк Майкъл Блумбърг прочуто каза пред пресата миналата година, че дори той планира да вземе курс по Codecademy, но разбира се, можете да получите и уроци по програмиране от Бил Гейтс или Марк Зукърбърг на Code.org . Странното е, че дори нетехнически хора като VC са призовавам ви да се научите да кодирате .



Аз съм програмист. Мисля ли, че всеки трябва да се научи как да кодира? Ето защо.

Занаятчийските радости

Класическият софтуер за управление на проекти Митичният човек-месец се отваря с описание на радостите и неволите на занаята за кодиране .



Защо програмирането е забавно? Какви наслади може да очаква практикуващият като награда?
Първо е чистата радост да правиш неща. Както детето се наслаждава на баницата си с кал, така и възрастният се радва да изгражда неща, особено неща по свой собствен дизайн. Мисля, че тази наслада трябва да е образ на Божието удоволствие да прави нещата, наслада, проявена в отличителността и новостта на всеки лист и всяка снежинка.



Нямам спомен за съдържанието на първите програми, които написах; Само си спомням, че беше забавно. Една Коледа през 80 -те години на миналия век сестрите ми и аз получихме персонален компютър Sharp за Коледа. Най -често го използвахме за игра Пак Ман (който се съхранява на касета), но машината също идва с BASIC компилатор и така за първи път научих как да програмирам. Кодирането дойде лесно за мен и беше нещо, което можех да правя часове наред. Подобно на игрите, кодът ви дава постоянна обратна връзка и поради тази причина може бързо да стане пристрастяващ, но също така е много отнемаща време и често обезумяваща дейност. Описвайки бедите на занаята, Брукс се позовава на мрачните часове на досаден, кропотлив труд и перфектната прецизност, необходима за комуникация с машината. Ако един знак, една пауза, на заклинанието не е строго в подходяща форма, магията не работи.

защо запасите на Amazon днес са намалени

Както всяко умение, можете да станете добри в това само като прекосите часове и часове скучна практика и има много други неща, които можете да направите с времето си. Кодирането ви обучава да мислите по определен начин и макар че може да ви научи на полезни познавателни умения като разбиване на проблеми, това мислене може да бъде доста тясно. Да стоиш неподвижен и да гледаш екран в продължение на дни, а понякога и нощи, накрая е така вредни за вашето здраве и общото благосъстояние . И накрая, компетентността е валутата на света за развитие. Добрите кодери не искат да работят с начинаещи и не обичат да виждат занаята си обезценен от натрупаните незабавни разработчици, извадени от кратки курсове, въпреки че може да са готови да ви наставляват, ако видят потенциал. Все още мислите, че искате да научите как да кодирате? Четете нататък.

Защо искате да кодирате?

Кодирането не е цел. Това е инструмент за решаване на проблеми. Дори професионалните разработчици могат да забравят това, когато се хванат за подробностите на нов език или религиозен спор за най -доброто ТУК (Интегрирана среда за разработка). Най -добре се научават да кодират кандидатите често са учени или професионалисти в други области, които могат да използват кода за решаване на проблемите, които виждат пред себе си. Помислете какво може да научи един социален учен от данните във Facebook или Twitter. Нобеловата награда за химия току -що беше присъдена за компютърно моделиране на химични реакции. Голяма част от кодирането, направено от изследователите, няма да премине в професионален софтуерен екип и често попада повече в категорията на скриптовете, но това не означава, че някои познания за кодиране не могат да подобрят резултатите в други области.



Голяма част от научаването на кодирането на яростта изглежда произлиза от идеята, че можете да постигнете слава и богатство, като създадете технологична компания и всъщност трябва първо да кодирате нещо. Програмирането не е схема за бързо забогатяване. Дори и да ударите джакпота, изпълнителните директори на успешните технологични компании не прекарват много време в кодиране, дори ако са започнали зад клавиатура. Просто има твърде много други задачи, свързани с управлението на компания. Така че, ако кодирането е това, което наистина обичате да правите, вероятно на първо място не бихте искали да бъдете главен изпълнителен директор.

Някои хора учат пиано просто за да свирят определена музика, която обичат. По същия начин, ако имате проблем, който може да бъде решен с код и който никой няма да разработи вместо вас, продължете и се научете да кодирате, за да го създадете, но имайте предвид, че ако стане успешен, вероятно ще трябва да наемете професионалист да пренапише всичко. Мислете за усилията си като за прототип, който можете да използвате, за да получите обратна връзка за вашата идея.

Кодът не може да реши всеки проблем

През цялото това време, прекарано пред екран, който се бори, често създадените от себе си проблеми могат да доведат кодерите до заключението, че всеки проблем може да бъде решен с повече или по-добър код. Не може. Най -големите проблеми винаги засягат хора, както и системите, а хората са досадно разхвърляни и непредсказуеми. Една от радостите на кодирането е, че когато ударите перфектното заклинание, машината ще направи точно това, което сте поискали отново и отново по надежден начин. Хората рядко правят това, а системите, които разчитат на хората, също не го правят. Историята на разработчика Патрик Макконлог опитвайки се да научи бездомник наречен Лео как да кодира илюстрира перфектно тази заблуда. Не че Лео не можеше да се научи, но че има толкова много други ресурси, необходими, за да стигнеш до етапа, в който можеш да изкарваш прехраната си като кодиращ. Преди няколко дни Лео беше арестуван за проникване в градски парк и лаптопът му е конфискуван. Бездомността е сложен проблем и само кодът няма да го реши.

Научете се да програмирате ... след 10 години



Питър Норвиг, директор на изследванията в Google, написа че преобладаващата тенденция предполага, че лошото програмиране е лесно. Идиоти може да го научи в 21 дни , дори и да са манекени . Фактът, че можете да издадете звук на флейта, не означава, че можете да композирате концерт за флейта. По същия начин обединяването на малко JavaScript не ви квалифицира за изграждане на сложни, мащабируеми системи.

Ако все пак искате да станете професионален разработчик или откриете, че просто наистина се наслаждавате на програмирането, тогава непременно продължете да изграждате знанията си. Преминаването от самоук любител към компетентен разработчик на софтуер обикновено не е кратък път, но е добре утъпкан в света на софтуера. Докато сте компетентни, други програмисти не се интересуват къде и как сте придобили уменията си.

Световното първенство 2018 на живо безплатно

Норвиг дава отличен съвет за това как да станете добър разработчик, за разлика от някой, който може да наниже няколко реда код заедно. Научете поне половин дузина езици, работете по проекти с други програмисти, които или открито ще се подиграват на грешките ви, или ще преценят мълчаливото и изсъхващо преценяване на вашето незнание, ще поддържат кода на някой друг и ще научат основите на това как хардуерът, на който работи софтуерът ви, всъщност върши работа. Звучи изтощително? Ето няколко алтернативи.

Вместо това, научете се да разбирате кодерите!

Ако все още искате да работите в света на технологиите, но преразглеждате кодирането, предлага дизайнерът Ник Марш правят нещо кодери намират за полезни. Колкото и блестящи да са големите разработчици, има много неща, които мразят да правят или просто не са добри в тях. Кодирането изисква ниво на фокус, граничещо с тунелната визия, и ако има нещо, което разработчиците мразят, това е разсейване. За кодера разсейването означава работа с бизнесмени, ръководство, клиенти или всъщност с някой извън инженерния екип. Ако искате да станете популярни сред разработчиците, пощадете ги от някои от тези взаимодействия, които те често смятат за шокираща загуба на време. Големият продуктов мениджър, например, е също толкова важен за успеха, колкото и компетентен програмист. Няма значение колко ясен е кодът, ако никой не иска продукта. Преведете езика на разработчиците на този на потребителите и обратно. Популяризирайте продукта. Всички създатели на творческа работа искат тяхната работа да бъде използвана. Марш заключава, че е много по -важно да разбираш кодерите, отколкото да разбираш кода.

Научете как работи всекидневния софтуер

Освен ако целта ви не е да станете професионален програмист, може да е по -полезно да научите основите на работата на мрежите и софтуера, които използвате всеки ден, както и техните пристрастия и слепи петна, вместо да добавяте към световния запас от лош код . Можете да шофирате кола, без да знаете как работи двигателят, но би било полезно да знаете какво кара двигателя да спре или че кормилното управление се извива надясно. Знаейки как да оценете пазарлъка за поверителност правим с технологични компании, избягайте от филтърния балон , анализирайте стойностите зад софтуер, проверете информацията, която получавате в Twitter, разберете как е структуриран Интернет или как работят алгоритмите за търсене и препоръки, вероятно е по -ценно в ежедневието от писането на код на Python.

Научете нещо друго изцяло

Гръцкият лекар Хипократ е казал Ars longa, vita brevis, което означава, че занаятът е дълъг, животът е кратък. Така че избирайте занаята си разумно. За времето, което сте спестили, като не сте се научили да кодирате, научете се да правите нещо, което ви харесва повече. Доказано е, че свиренето на музикален инструмент подобрява други умствени функции включително творчество , както и да доставят радост на играча. Йога разширява вашия мироглед, както и разтяга тялото ви. За да доставяте удоволствие всеки ден, не се научавайте да кодирате; научете се да готвите. И накрая, инженерният мениджър Rands In Repose предлага да се науча да пиша на вашия собствен език.

Вашите читатели са много по -критични от интерпретатора на Python. Те не само се интересуват от синтаксиса, но и искат да научат нещо и може би ще се забавляват, докато цялото това обучение намалява. Успехът означава, че те продължават да се връщат - провалът е самотна тишина. Python сега изглежда доста сладко, нали?

как да се държим с психопат

Може би кодирането в крайна сметка би било по -лесно.