HMTL, CSS og JS i en LEGGE til, OCD, Bi-Polar, Dyslektikere og Autistiske Verden

0
36

Hei CSS-Luringer! Mye folk twitret, e-post, kommentert og selv courier pigeoned (OK, kanskje ikke det), og historier om deres personlige reiser læring web utvikling etter at vi publiserte “Great Divide” essay. En av disse historiene var fra Tim Smith og, det var så interessant, at vi inviterte ham til å dele det med det større samfunnet. Så, vær så snill å hjelpe oss å ønske ham velkommen som han utdyper sin unike personlige erfaring og hvordan det føles å være i hans sko som en front-ender.

Hei folkens, mitt navn er Tim Smith

Jeg har ADD, OCD, Bi-Polar, Dysleksi… og for ikke å nevne at jeg er på Autism spectrum. Denne kombinasjonen (bortsett fra forårsaker meg til å føle deg mye av personlig skam) gjør koding svært vanskelig — spesielt å lære å kode, som jeg prøver å gjøre. Ting blir blandet opp i hodet mitt, og vises bakover til det punktet at jeg finner det nesten umulig å fokusere lenger enn 15-20 minutter av gangen. Kanskje jeg vil utdype dette i et annet innlegg. Selv nå som jeg skriver dette, jeg føler meg dratt for å rangere hver sang på YouTube Musikk og forsøk på å korrigere alle feil jeg gjør. Og siden jeg holder å bytte “skrive” med “rett”, dette blir rasende og nedslående, for å si det mildt.

Jeg trenger ikke lese godt, så å lære fra bøker er den minst effektive måten for meg å lære (beklager O ‘ Reilly). Online tutorials er OK, men jeg har en tendens til å selge meg selv kort ved å være lat med kopiere og lime inn for kode-eksempler. Hvis jeg tvinge meg til å hånd-type eksemplene, kan jeg få nytte av muskel minne, men drukne i ord av opplæringen og til slutt mister interessen helt.

Video tutorials er mitt ideal å lære metoden. Det er ingen som leser involvert og ingen måte for meg å kopiere og lime inn på min vei ut av ting. Å måtte stoppe og starte videoer for å skrive koden er frustrerende, men vel verdt det. YouTube er et flott sted for video tutorials hvis du har tålmodighet til å vasse gjennom dem… som jeg ikke.

Jeg fant Chris Coyier tidlig på 2000-tallet. Den skattekiste av artikler, guider og videoer som finnes her på CSS-Triks har vært en stor fordel for meg og faktisk utviklet min evne til å lære kode. Senere, fant jeg Wes Bim. Han har også vært en ledende bidragsyter til min web læring. Wes låst opp mange av de tingene jeg slet med, nemlig Reagere og de nye funksjonene i ES6.

Sammen, jeg vil si Chris og Wes er ansvarlig for minst 80% av mine kollektive front-end kunnskap. (Personlig bortsett: Chris og Wes, dere to er mine helter og hemmelige mentorer.) Både Chris og Wes har en måte å gi meg informasjon som er relevant til det jeg lærer på en måte som er morsom og underholdende, så vel som enkel og presis. De ikke bare presentere koden; de forklare hvorfor og historien bak hvert emne. Wes er litt bedre på dette, men det store antallet av videoer Chris har skapt har holdt meg opptatt i mange år og vil fortsette inn i fremtiden.

Bare å skrive kode er en effektiv måte for meg å lære. Jeg liker å nerde-ut og oppsett utvikling servere for ulike web språk og biblioteker og spille rundt. Jeg har lært mye om MacOS og Linux (for det meste Ubuntu), mens også lære det grunnleggende av mange web-språk og biblioteker: PHP (for WordPress temaer), Python, Reagere, Vue og mange andre. Jeg lærte å omfavne kommando-linjen og unngå Gui når det er mulig. Ingenting mot Gui; jeg bare finne kommandolinjen mer presise (og bare mellom deg og meg, måten kulere å skryte av til ikke-programmerere).

Jeg gjør fortsatt bruke kommando-linje — eller i det minste ville jeg hvis jeg fortsatt hadde en bærbar eller stasjonær å jobbe på. Jeg faktisk skriver dette på en iPad Mini 2. Men, jeg har funnet en annen flott måte å skrive og dele koden uten behov for å sette opp servere og kompliserte miljøer: CodePen. Jeg deltar i en tidlig beta vei tilbake da, og det var kjærlighet ved første blikk. Jeg kan nå skrive kode, dele den og få tilbakemeldinger på ett og samme sted (her er min profil). Hver gang jeg får en morsom idé eller finne en morsom kata, jeg skyte opp Codepen og bare begynne koding. Ingen vanskelige dev oppsett. Det finnes også andre apper som gjør dette, men CodePen er unik på grunn av det sosiale aspektet og muligheten til enkelt å legge inn koden prøver på forumet.

Så, det er litt om meg. Hva jeg ønsker å komme inn er hvordan jeg lære HTML og CSS fordi det er sannsynligvis noe som ligner på ditt, men annerledes enn hvordan du kunne ha gått om det.

Å bryte inn i HTML –

Jeg lærte HTML i et par forskjellige måter. Ved første, jeg ville se på kildekoden til populære nettsteder. På begynnelsen av nittitallet, da jeg begynte å lære HTML mange, om ikke de fleste, nettlesere hadde muligheten til å vise kildekoden til en nettside. Jeg så alle tagene, hvordan de ble brukt, og den grunnleggende strukturen av nettsteder. Jeg var i stand til å foreta omvendt utvikling dem. Jeg hadde ikke lært CSS på den tiden, så min første nettstedene var enkelt kolonne og veldig kjedelig.

Rask bortsett: Uten CSS, alle nettsteder er perfekt forståelsesfull og ser fantastiske ut på enhver enhet eller størrelse. Vi bryter dem med CSS, så må fikse dem… tenke at en bit.

Takk til kildekode, begynte jeg å lese artikler på nettet og studert hele tiden. Jeg fant DreamInCode forum som fungerer som et forum for alle-kode fagområder og språk — lik StackOverflow fordi, som StackOverflow, folk var arrogant og uhøflig å newbies, i hvert fall i min erfaring. Likevel, jeg var i stand til å se hvordan folk nærmet seg ulike HTML-begreper og problemer, og dette var springbrett på som jeg lanserte min læring eventyr. Jeg fikk sløv, ofte sterke tilbakemeldinger på min kode eksempler. Så vanskelig som det er å høre hard kritikk, det nytte meg som det lærte meg rett, og — enda viktigere, feil — måte å nærme seg og skrive HTML.

Som de fleste ting, skrive og det å mestre HTML er alt om prøving og feiling. Jeg hadde for å lage hundrevis av fryktelig nettsteder (hvis du kan kalle dem det) før det “klikket” for meg. Men det er bedre enn ingenting, som vi alle har hørt det er sagt før:

Bare å bygge nettsteder!
— Chris Coyier

Det var ikke lenge etter at jeg ble introdusert til CSS-kode, og deretter den virkelige reisen begynte…

Kom CSS

Den enkleste måten for meg å beskrive CSS er dette: Det er koden som gjør HTML se bra ut.” Jeg hadde til å vedta et KYSS holdning som jeg lærte CSS fordi jeg fant ut at jeg var overthinking det. CSS er enkelt hvis du lar det være. La oss ta en titt:

Se Penn
Ting av Tim Smith (@WebRuin)
på CodePen.

Dette er omtrent så enkelt som CSS er. Navn blokk i HTML (f.eks. <div class=”Tim”>…</div>), så er målet at navnet ditt i en CSS-fil med egenskaper for å beskrive blokken, som farger, rammer, skrift behandlinger blant mye, mye mer.

Ved første, jeg ville tilbringe all min tid på å prøve å huske så mange CSS-egenskaper som jeg kunne. Jeg ville “Alta Vista” (husker du det?!) rundt for hva slags andre ting var å gjøre med CSS og hvordan de gjorde det. Dette var moro og lærerikt, men bare tjente til å forvirre meg å ingen ende. Prøver å reverse-engineering CSS som jeg gjorde med bare HTML fikk meg så langt. Min hukommelse for ting som dette er dårlig, i beste fall. Jeg måtte gå tilbake, ta et dypt pust (bokstavelig talt og i overført betydning), og finne en ny tilnærming.

Min tankeprosess vanligvis går noe sånt som dette:

  1. Vil jeg gjøre ordene til å være svart? Hvis så, gjøre ingenting
  2. Hva om bakgrunnen farge? Standard hvit er kjedelig, så… gi det en bakgrunnsfarge.
  3. Hvor stor vil jeg element for å være? Ikke overthink dette så langt som måleenhet gå, fordi punkter er fine og, vel, høyde og bredde virker ganske logisk for meg.

Og så videre. Enkle spørsmål med enkle eiendom navn. Poenget mitt er at du kan gjøre noen fantastiske ting med enkel CSS. Det var som enkelheten som gjorde meg lyst til å lære og bruke alt jeg har funnet. Men, på samme tid, jeg var så overveldet at jeg nesten slutte web-utvikling for godt. Det er en vanskelig konflikt: den enkelhet og eleganse er innbydende og moro, men de utallige mulighetene er svimlende og umulig å beholde.

Hva som fungerte for meg var å ta en trinnvis tilnærming for å lære CSS. Ved å starte små og sakte legge til mer etter hvert som jeg virkelig har lært og forstått egenskaper. Jeg fant at jeg kunne ha det gøy og være kreativ i et behagelig tempo uten å legge for mye press på meg selv.

Jeg vil ikke lyve. Jeg er ikke en designer. Gitt et tomt lerret, jeg vil fryse eller komme opp med en middelmådig design som er avledet av en mish-mos av annen design som jeg liker. Når det er sagt, jeg er stor på koding en design som noen med faktiske design ferdigheter kan sette sammen (som dette).

Jeg falt i kjærlighet med CSS for en grunn: det er den perfekte balansen av logikk og design. Mye av kodingen er som dette. Koden kan være vakkert, men CSS er bee knærne for meg!

JavaScript er vanskelig! Men jeg prøver.

HTML og CSS kom relativt lett for meg. Jeg snublet litt på CSS nett og noen av de mer avanserte ting, men det klikket for meg. Som jeg antydet tidligere, er jeg en visuell elev. Både HTML og CSS er iboende visual språk, og de gir meg øyeblikkelig tilfredstillelse LEGGE til mine behov. Begge er grei og commonsensical til meg.

I kontrast, Javascript, er noe jeg finner å være veldig, veldig vanskelig. Det er en logikk-basert språk som ellers ville være min kopp te, men jeg har funnet det vanskelig å “klikke” med. Til tross for et par epiphanies mens du lærer det, JavaScript synes å mangle i meg utover det grunnleggende. Jeg har fullført Wes Bim’ JavaScript30 kurs sammen med mange andre tutorials. De gir mening i det øyeblikk det blir forklart for meg, men likevel, når presentert med et “blankt lerret” så å si, jeg glemmer det meste av konsepter og enten skrive den samme ol’ ting over og over eller rett og slett gi opp.

Overraskende, Reagerer kom mye mer naturlig for meg. Jeg tror det har å gjøre med dens fleksibilitet og min kjærlighet for klosser, lego-klosser, og gåter. Jeg har lært det godt nok til at jeg har vært i stand til å være kreativ med det og begynte å skrive en app med det: en folkemengde-hentet urban bad locator. Jeg har skrevet og omskrevet start av programmet med ulike Flux biblioteker og backend data biblioteker. Jeg har alltid gi opp bare for å starte på nytt, som den kjente definisjonen på galskap. Jeg bare tenker at jeg vil finne det ut og/eller finne noen til å gjøre de harde delene for meg.

Min veisperring med Reagerer JavaScript, selvfølgelig. Det kan ikke være fornuftig, men husk min holdning på blokker. Jeg vet Reagerer JavaScript. For meg, skjønt, det er ganske annerledes enn vanilje JavaScript. Nedleggelser, ren funksjoner, pil funksjoner, la vs. const vs. var, er den enorme sett av innebygde metoder, for ikke å nevne importert biblioteker, klasser, og selvfølgelig, min nemesis, Big-O (hvor jeg loath Big-O)… hodet mitt er spinning selv mens jeg skriver dette.

Jeg ønsker så sårt å være, i det minste, anstendig på Javascript, så jeg fortsetter å prøve. Hundrevis av tutorials, kode skoler som freeCodeCamp.org, Trehytte, Khan Academy, og ja, selv muscling gjennom mange bøker (jeg elsker JavaScript: The Good Deler).

Jeg har ingen problemer med å lære syntaks. Legg på den, tror jeg, ligger i en mangel på computer science kunnskap og denne manglende evne til å tenke matematisk. Algoritmer fornuftig konsept, men den praktiske anvendelsen rett og slett blåser i mitt sinn.

For mental helse grunner, det var nødvendig for meg å gå bort fra min web-utvikling karriere i 2005. Jeg var i stand til å komme tilbake i det rundt 2010, da jeg jobbet for et par selskaper i oppstartsfasen, men jeg har aldri virkelig kom tilbake i. Javascript er min akilleshæl. Jeg var så heldig å finne noen jobber som virkelig var lys på JavaScript, så jeg kunne konsentrere seg om HTML og CSS — de tingene jeg har tenkt lagt opp til front-end utvikling, men uunngåelig, jeg var forventet å skrive JavaScript utover grunnleggende grensesnitt forbedringer og jobber falt fra hverandre. Så jeg enten sluttet eller ble oppsagt.

Den pågående søk etter arbeid

På jakt etter arbeid i nyere tid har vært et mareritt! Vi lever nå i en verden som er dominert av JavaScript, og det synes ingen ønsker en front-end utvikler som styrker ligge i HTML, CSS med et middels kjennskap til Javascript — spesielt de uten en grad i informatikk. Jeg kan ikke engang finne en jobb å poste for dette på noen store arbeidsplassen.

Jeg har hatt den ære av intervju med rekrutterere på Google , Apple, men jeg kan ikke komme forbi den første runden av telefonen screening. Jeg ble spurt spørsmål som jeg følte har lite til ingenting å gjøre med hva jeg forstår front-end utvikling for å bli. Det var ingen spørsmål om CSS beste praksis og selv ingenting om semantisk HTML eller riktig bruk av ARIA-attributter. Alle de syntes å bry seg om var Stor O og effektiv looper. Selv intervjuer med mindre selskaper var som dette. Har tjenester som Wi-og som tatt alle core front-end jobber unna?

Til tross for alle utfordringene jeg har møtt, jeg føler jeg har mestret HTML og CSS, og har en grunnleggende forståelse av JavaScript. Jeg er veldig stolt av det. Mens jeg drømmer om å få en jobb i et stort selskap som Google eller Apple, jeg bare håper å finne en rolle hvor min HTML og CSS ferdigheter vil skinne og jeg kan få reell erfaring med JavaScript, som junior-utvikler med fordelen av mentoring et sted, som San Francisco Bay-Området hvor jeg bor.

Vi har alle forskjellige læringsstiler og skritt, så ikke gi opp før du har prøvd alle mulige måten å lære hva du prøver å gjøre. Og, hvis du kommer opp med en ny måte, kan du dele slik at vi alle kan utvide vår individuelle og kollektive kunnskap.

Jeg håper denne artikkelen har nådd minst en annen utvikler som meg! Takk til alle mine forgjengere. Glad for koding!