Nej - du behøver ikke at lære at kode

Hele verden ser ud til at fortælle dig, at du skal lære programmering. Her er hvorfor du ikke gør det - og hvad du bør lære i stedet.

Nej - du behøver ikke at lære at kode

Forestil dig at blive ramt af en flod af artikler med overskrifter som Hvorfor skulle alle lære at strikke. Med al respekt for strikkere, ville det virke latterligt. Alligevel er samlingsopropet om at lære at kode blevet så gennemgribende, at vi næsten ikke bliver overrasket, når en softwareudvikler i New York deltager i en stærkt omtalt forsøg at lære en hjemløs mand at kode. New Yorks borgmester Michael Bloomberg berømt fortalte pressen sidste år, at selv han planlagde at tage et kursus om Codecademy, men selvfølgelig kan du også få programmeringsstudier fra Bill Gates eller Mark Zuckerberg på Code.org . Mærkeligt nok er det også ikke-tekniske mennesker som VC'er opfordrer dig til at lære at kode .



Jeg er en programmør. Tror jeg, at alle skal lære at kode? Nej. Her er hvorfor.

Håndværkets glæder

Softwareprojektstyringsklassikeren Den mytiske menneskemåned åbner med en beskrivelse af glæder og problemer ved håndværket med kodning .



Hvorfor er programmering sjov? Hvilke glæder kan dens praktiserende læge forvente som sin belønning?
Først er den store glæde ved at lave ting. Når barnet glæder sig over sin mudderkage, nyder den voksne at bygge ting, især ting i sit eget design. Jeg tror, ​​at denne glæde må være et billede på Guds glæde ved at lave ting, en glæde vist ved hvert blad og hvert snefnugs særpræg og nyhed.



Jeg husker ikke indholdet i de første programmer, jeg skrev; Jeg husker bare, at det var sjovt. En jul i 1980'erne fik mine søstre og jeg en Sharp personlig computer til jul. For det meste brugte vi det til at spille Pac-Man (som blev gemt på et kassettebånd), men maskinen kom også med en BASIC -kompilator, og sådan lærte jeg først at programmere. Kodning kom let til mig og var noget, jeg kunne gøre i timevis. Ligesom spil giver kode dig konstant feedback, og derfor kan det hurtigt blive vanedannende, men det er også en massivt tidskrævende og ofte vanvittig aktivitet. Ved at beskrive håndværkets elendigheder refererer Brooks til de kedelige timer med kedeligt, omhyggeligt arbejde og den perfekte præcision, der kræves for at kommunikere med maskinen. Hvis en karakter, en pause i besværgelsen ikke strengt er i korrekt form, virker magien ikke.

ting at slå op på google

Som enhver anden færdighed kan du kun blive god til det ved at pløje igennem timevis med kedelig træning, og der er mange andre ting, du kan gøre med din tid. Kodning træner dig til at tænke på en bestemt måde, og selvom det kan lære dig nyttige kognitive færdigheder som at nedbryde problemer, kan den tankegang være temmelig snæver. At sidde stille og stirre på en skærm i dagevis, og nogle gange nætter, i slutningen er skadeligt for dit helbred og generelle trivsel . Endelig er kompetence udviklingsverdenens valuta. Gode ​​kodere vil ikke arbejde med begyndere og kan ikke lide at se deres håndværk devalueret af mængder af øjeblikkelige udviklere, der er skruet ud af korte kurser, selvom de måske er parate til at vejlede dig, hvis de ser potentiale. Tror du stadig, at du vil lære at kode? Læs videre.

Hvorfor vil du kode?

Kodning er ikke et mål. Det er et værktøj til at løse problemer. Selv professionelle udviklere kan glemme det, når de bliver fanget i detaljerne i et nyt sprog eller et religiøst argument om det bedste HER (Integreret udviklingsmiljø). Den bedste lære at kode kandidater er ofte forskere eller fagfolk på andre områder, der kan bruge kode til at løse de problemer, de ser foran dem. Tænk på, hvad en samfundsforsker kan lære af Facebook- eller Twitter -data. Nobelprisen for kemi blev netop uddelt for computermodellering af kemiske reaktioner. Meget af den kodning, forskere foretog, ville ikke bestå i et professionelt softwareteam og falder ofte mere ind under kategorien scripting, men det betyder ikke, at en vis kodningskendskab ikke kan forbedre resultaterne på andre områder.



Imidlertid ser det ud til, at meget af det at lære at kode vanvid springer ud af tanken om, at du kan opnå berømmelse og rigdom ved at starte et teknisk firma, og du skal faktisk kode noget først. Programmering er ikke en blive-rig-hurtig-ordning. Selvom du rammer jackpotten, bruger administrerende direktører for succesrige tech -virksomheder ikke meget tid på at kode, selvom de startede bag et tastatur. Der er simpelthen for mange andre opgaver involveret i at drive en virksomhed. Så hvis kodning er det, du virkelig elsker at gøre, ville du sandsynligvis ikke være administrerende direktør i første omgang.

Nogle mennesker lærer klaveret blot for at spille et bestemt stykke musik, de elsker. På samme måde, hvis du har et problem, der kan løses med kode, og som ingen vil udvikle for dig, skal du gå i gang med at lære at kode for at oprette det, men vær opmærksom på, at hvis det bliver en succes, skal du sandsynligvis ansætte en professionel til at omskrive det hele. Tænk på din indsats som en prototype, som du kan bruge til at få feedback på din idé.

træd ikke på mig flaghistorie

Kode kan ikke løse alle problemer

Al den tid, der bruges foran en skærm, der kæmper, ofte selvoprettede problemer kan føre kodere til den konklusion, at hvert problem kan løses med mere eller bedre kode. Det kan ikke. De største problemer involverer altid mennesker såvel som systemer, og folk er irriterende rodet og uforudsigelige. En af kodningens glæder er, at når du rammer den perfekte besværgelse, vil maskinen gøre præcis, hvad du spurgte igen og igen på en pålidelig måde. Folk gør det sjældent, og systemer, der er afhængige af mennesker, gør det heller ikke. Historien om udvikleren Patrick McConlogue forsøger at lære en hjemløs mand kaldet Leo, hvordan man koder, illustrerer denne vildfarelse perfekt. Det er ikke, at Leo ikke kunne lære, men at der er så mange andre ressourcer, der er nødvendige for at komme til det stadie, hvor du kan leve af din kode som koder. For et par dage siden Leo blev anholdt for overtrædelse i en bypark og hans bærbare computer blev konfiskeret. Hjemløshed er et komplekst problem, og kode alene løser det ikke.

Lær at programmere ... Om 10 år



Peter Norvig, direktør for forskning hos Google, skrev at den fremherskende trend indebærer, at dårlig programmering er let. Idioter kan lære det i 21 dage , selvom de er dummies . At du kan lave en lyd på en fløjte betyder ikke, at du kan komponere en fløjtekoncert. På samme måde kvalificerer du ikke en smule JavaScript til at bygge komplekse, skalerbare systemer.

Hvis du vil blive en professionel udvikler, eller hvis du opdager, at du virkelig godt kan lide at programmere, så fortsæt med at bygge din viden. At gå fra autodidakt hobbyist til kompetent softwareudvikler er normalt ikke en kort vej, men det er en velbetjent i softwareverdenen. Så længe du er kompetent, er andre kodere ligeglade med, hvor eller hvordan du har erhvervet dine færdigheder.

Norvig giver fremragende råd om, hvordan man bliver en god udvikler, i modsætning til nogen, der kan sno et par linjer kode sammen. Lær mindst et halvt dusin sprog, arbejd på projekter med andre kodere, der enten åbent vil håne dine fejl eller tavse og visne dom over din uvidenhed, vedligeholde andres kode og lære det grundlæggende om, hvordan den hardware, som din software kører på, rent faktisk arbejder. Lyder det udmattende? Her er et par alternativer.

Lær i stedet at forstå kodere!

Hvis du stadig vil arbejde i teknologiverdenen, men overvejer kodning igen, foreslår designer Nick Marsh gør noget, der koder finde nyttigt. Strålende som store udviklere er, er der masser af ting, de hader at lave eller bare ikke er gode til. Kodning kræver et niveau af fokus, der grænser op til tunnelsyn, og hvis der er noget, udviklere hader, er det distraktioner. For en koder betyder distraktioner at håndtere forretningsfolk, ledelse, kunder eller faktisk alle uden for teknikerteamet. Hvis du vil blive populær blandt udviklere, skal du spare dem for nogle af disse interaktioner, som de ofte ser som et chokerende spild af deres tid. En god produktchef er for eksempel lige så afgørende for succes som en kompetent koder. Det er ligegyldigt, hvor klar koden er, hvis ingen ønsker produktet. Oversæt udviklernes sprog til brugernes sprog og omvendt. Markedsfør produktet. Alle skabere af kreativt arbejde ønsker, at deres arbejde skal bruges. Marsh konkluderer, at det er meget vigtigere at forstå kodere end at forstå kode.

Lær hvordan dagligdags software fungerer

Medmindre dit mål er at blive en professionel programmør, kan det være mere nyttigt at lære det grundlæggende om, hvordan de netværk og software, du bruger hver dag fungerer, og deres forspændinger og blinde vinkler, frem for at tilføje til verdens lager af dårlig kode . Du kan køre bil uden at vide, hvordan en motor fungerer, men det ville være praktisk at vide, hvad der får motoren til at gå i stå, eller at styretøjet skæver til højre. Ved hvordan vurdere fortrolighedsforhandlingen vi laver med tech -virksomheder, undslippe filterboblen , analyser værdierne bag et stykke software, verificer oplysninger, du får på Twitter, forstår, hvordan Internettet er opbygget, eller hvordan søge- og anbefalingsalgoritmer fungerer, er sandsynligvis mere værdifuld i hverdagen end at skrive Python -kode.

Lær noget helt andet

Den græske læge Hippokrates sagde Ars longa, vita brevis, hvilket betyder Håndværket er langt, Livet er kort. Så vælg dit håndværk med omhu. I den tid, du sparede ved ikke at lære at kode, skal du lære at gøre noget, du nyder mere. At spille et musikinstrument har vist sig at forbedre andre mentale funktioner herunder kreativitet , samt at bringe glæde til spilleren. Yoga udvider dit verdensbillede samt strækker din krop. For at give glæde hver dag, må du ikke lære at kode; lære at lave mad. Endelig foreslår ingeniørchef Rands In Repose lære at skrive på dit eget sprog.

Dine læsere er langt mere kritiske end Python -tolken. De bekymrer sig ikke kun om syntaks, men de vil også lære noget og måske blive underholdt, mens al denne læring går ned. Succes betyder, at de bliver ved med at vende tilbage - fiasko er en ensom stilhed. Python ser ret sød ud nu, ikke?

navn til en, der aldrig afslutter noget

Måske ville kodning trods alt være lettere.