Lær dig selv datalogi: den læringsvej, jeg brugte til at få et analytikjob hos Jet.com

Hvordan kan du gå fra nul programmeringsfærdigheder til et job inden for teknologi eller analyse?

Hvis du er interesseret i at lære disse færdigheder, hvad enten det er for sjov eller for en karriereændring, hvad er den bedste måde at gøre det på?

Der findes utallige lister over de bedste online kurser, men hvordan kan du skabe din egen læringssti med al støj?

Jeg troede personligt aldrig, at jeg ville lære nogen praktiske færdigheder omkring programmering, dataanalyse, maskinindlæring eller teknologi generelt. Som finansfag antog jeg altid, at jeg ville være "forretnings fyr". Alligevel lærte jeg mig selv Python og SQL på en eller anden måde og befandt mig i analytics på Jet.com ved at bruge et af disse sprog hver dag.

Hvorfor Python og SQL, spørger du måske?

Python er det hurtigst voksende programmeringssprog derude og med god grund. Det har et sindssygt antal biblioteker, som du kan bruge til maskinlæringsapplikationer, dataanalyse, visualisering, webapps, API-integrationer og meget mere. Plus, det er et af de lettere sprog at hente og lære. Hvad angår SQL, giver databaser strømteknologivirksomheder og SQL dig mulighed for bedre at forstå, udforske og gøre brug af de indsamlede data.

Nedenfor skitserer jeg den vej, jeg tog med at lære disse sprog, der bragte mig til analyse. For at være klar var denne vej utrolig udfordrende; Jeg tilbragte utallige aftener, følte mig frustreret og forvirret. Mange nætter ville jeg bare smide håndklædet ind og nøjes med at være forretnings fyr.

Men din motivation er fortsat nøglen til at skubbe frem gennem de forhindringer, du uundgåeligt står over for. Uanset om du ønsker at gå ind i en dataanalyse eller datavidenskabsrolle, eller bare vil have en bedre forståelse af programmering og teknologi til sjov for det (hvilket det bliver sjovt!), Skal du finde ud af, hvordan du forbliver motiveret og disciplineret, hvis du rent faktisk vil lære disse færdigheder.

For mig var det at afsætte specifikke mængder tid næsten hver dag (ca. 90 minutter til 2 timer) til at lære eller øve mig umiddelbart efter jeg kom hjem fra arbejde, der fik mig til at udvikle konsistente vaner og hamre hjemmekoncepter, som jeg fandt forvirrende.

Her er den vej, jeg tog; forhåbentlig kan det hjælpe dig i gang på egen hånd.

Core Foundation

  1. Lær Python den hårde vej

Dette er et af de bedste kurser, jeg nogensinde har taget, periode. Det er selvstyret og udfordrende, men Zed giver dig nok detaljer og vejledning til at begynde med at begynde med at begynde at programmere i Python. Han gør programmering tilgængelig, og materialet giver dig selvsikkerhed uge efter uge til faktisk at føle, at du effektivt kan lære Python.

2. Mode Analytics: Pandaer

Mode Analytics giver en fantastisk introduktion til Python og inkluderer tutorials om en af ​​dens mest kraftfulde datastrukturer: Pandas DataFrame. Dette er perfekt til at lære det grundlæggende i dataanalyse, når du først har fundamentet for Python nede.

3. Mode Analytics: SQL

Den anden Mode Analytics-tutorial om SQL er også fantastisk. Du kan lære alle nøglebegreberne og skabe et stærkt SQL-fundament her. De har endda deres egen SQL-editor og data, du kan lege med.

I forbindelse med Mode Analytics kan W3-skoler hjælpe med at besvare ethvert SQL-spørgsmål, du nogensinde har, når du går igennem vejledningerne.

Dykke lige ind i maskinlæring

Før jeg fuldt ud havde en stærk forståelse af Python, tog jeg et skud og ansøgte om Udacitys selvkørende bil nanodegree. Jeg vidste, at det var helt over mit hoved, men jeg tænkte, hvorfor ikke prøve?

Det er lettere at motivere dig selv til at lære Python og machine learning, når du er fascineret af de praktiske anvendelser.

Jeg havde cirka en måned før klassen begyndte, så jeg tog så mange klasser omkring datalogi og maskinindlæring som muligt.

Her var de bedste gratis introduktionskurser , jeg fandt, og som var utroligt nyttige:

  • Udacity Machine Learning Intro
  • Udacity Introduktion til statistik
  • Udacity Intro to Data Science

Ja, du kan se, jeg synes meget om Udacity.

Selvom det ikke er gratis, vil jeg også varmt anbefale at tjekke Grokking Deep Learning-bogen. Det giver yderst klare og sammenhængende eksempler på fundamentet for maskinlæring.

TensorFlow, udviklet af Google, er et open source-bibliotek til maskinindlæring, der kan skrives i Python. Det er utroligt stærkt og absolut værd at blive fortrolig med.

Tjek MNIST-øvelsen for en fantastisk introduktion til rammen.

Jeg fandt også, at Stanford CS231-klassen var en nyttig ressource; den dækker omfattende nedbrydningsneurale netværk (hvad vi bruger til billed- eller ansigtsgenkendelsessoftware) i vid udstrækning, hvilket jeg læste ville være utroligt nyttigt for den selvkørende bil Nanodegree. Hvis du overhovedet er interesseret i at bruge maskinindlæring med billeder eller video, finder du ikke meget bedre end dette kursus.

Endelig, efter at have brugt disse ressourcer til at opbygge et solidt fundament, begyndte jeg Udacity Self Driving Car Nanodegree.

Jeg vil ikke tale om det for meget, da der allerede er gode opskrivninger af kurset her og her. Hvad jeg vil sige er, at til trods for at være det mest udfordrende kursus, jeg nogensinde har taget, var jeg i stand til at forstå det meste af indholdet. Bevæbnet med den rigtige basiskendskab vil du blive overrasket over, hvor dyb din forståelse af et komplekst emne kan være.

Fortsat analyse og datalogi

Efter at have dykket intenst i maskinlæring i et par måneder, var det nyttigt at tage et skridt tilbage og styrke min forståelse af praktiske analyser og datalogiske principper.

Jeg startede med Data Science, Deep Learning og Machine Learning med Python, et fantastisk kursus om Udemy . Mens det berører maskinindlæring, dækker det fuldstændigt principper inden for analyse, datavidenskab og statistik, især omkring forskellige dataminingsteknikker og praktiske scenarier til implementering af dem.

Bogen Data Science For Business forklarer også utroligt godt, HVORDAN og HVORFOR visse modeller fungerer, når man løser problemer i en bestemt sammenhæng; det hamrer ind i dig en analytisk ramme og tankegang, der kan anvendes i enhver situation, der drejer sig om dataproblemer. Det er den bedste ressource, jeg fandt, der forbinder forskellige analytiske tilgange til specifikke forretningssituationer og problemer.

Selvfølgelig, hvis du er interesseret i at forfølge en karriere inden for analyse eller datalogi, skal du altid finpudse gamle færdigheder eller tilføje nye færdigheder i dit værktøjssæt. FreeCodeCamp og Hackernoonoffentliggøre informative artikler og tutorials om alle ting data science og software engineering. Min yndlingsartikel var for nylig en velskrevet tutorial om at skrive din egen blockchain.

Du ønsker dog at vide den bedste måde at fortsætte med at lære?

Byg noget. Hvad som helst. Udforsk et datasæt. Find et praktisk problem, som du eller din virksomhed står over for, og prøv at løse det.

Selvom du ikke har adgang til højkvalitetsdata i din virksomhed, er der masser af open source datasæt, som du kan lege og øve dig med. Jeg vedder på, at du lærer lige så meget, hvis ikke mere, at arbejde på dine egne dataprojekter end at tage noget kursus eller læse nogen bog.

Endelig er det enormt gavnligt at møde og lære af mennesker, der har de færdigheder, du vil tilegne dig. Jeg kan varmt anbefale at bruge Meetup til at finde grupper af analytikere eller softwareprofessionelle i dit område. Mange af disse grupper har gratis tutorial eller studiesessioner, og du møder masser af sindssygt smarte mennesker, der kan give tip og tricks til at fremskynde din læring.

I New York City er nogle af de grupper, der har hjulpet mig enormt:

  • Machine Learning Society
  • Google Developer Group
  • NYAI
  • New York Data Science

Hav det sjovt at lære, og lad mig vide, hvordan din egen rejse går!

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

OPDATERING : Udacity har lige udgivet et nyt Data Scientist Nanodegree-program. Jeg har kigget igennem materialerne, og det ser ud som en utrolig nyttig ressource! Projekterne inkluderer opbygning af en anbefalingsmotor med IBM-data og klassificering af kunder i segmenter. Jeg har ikke taget det endnu, men tjek det her: Data Scientist Nanodegree-program.