Pytanie:
Jestem w izolacji - jak mogę udowodnić, że potrafię kodować bez wychodzenia z domu i płacenia dużych pieniędzy?
J. Mini
2020-03-29 20:25:47 UTC
view on stackexchange narkive permalink

To jest strzał w ciemno, ale mam nadzieję, że wszystko będzie dobrze. Moja sytuacja przedstawia się następująco:

  • Mam tytuł magistra matematyki i staram się jak najlepiej zdobyć pracę w statystykach lub, jeszcze lepiej, w nauce o danych.
  • Większość Nowoczesne prace związane ze statystyką wymagają więcej umiejętności kodowania niż moje studia. Szczerze mówiąc, wiele ofert pracy wygląda tak, jakby chcieli jednorożców, którzy w jakiś sposób są świeżymi absolwentami, którzy opanowali statystyki, ogólne kodowanie i zarządzanie bazą danych.
  • Potrafię kodować, ale nie mam żadnych dokumentów to w górę. Wszystko, co mam, to krótki kurs Java, który był częścią mojego dyplomu i dużo pracy R, którą wykonałem podczas studiów magisterskich. W obu wypadłem bardzo dobrze, ale mówimy o około 20 tygodniach doświadczenia z przerwami w ciągu czterech lat. Do tej pory prawie nie pamiętam składni.
  • Jak dotąd myślę, że mam niezły talent do kodowania, ale tylko w tym sensie, że mogę go szybko opanować - oczywiście nie jestem na równi z każdym, kto ma kwalifikacje. Szczerze mówiąc, w większości przypadków jestem mniej niż nowicjuszem. Jeśli zadałeś mi jakieś pytanie w stylu FizzBuzz, spodziewałbym się niepowodzenia. Jednak mogę śmiało wygooglować w Google przez Javę lub R, dopóki nie zrobią tego, co chcę.
  • Mój kraj jest obecnie zablokowany z powodu COVID-19. Podejrzewam, że najlepiej wykorzystam swój czas, aby umieścić w CV coś, co udowodni, że potrafię kodować. Oczywistym przykładem jest kwalifikacja do kodowania, ale pieniądze są krótkie i opuszczenie domu jest dla mnie ledwo legalne. To zmusza mnie do nauki online. Ponadto, sądząc po wczesnych komentarzach i odpowiedziach na wcześniejszą wersję tego pytania, wydaje się, że w branży panuje zgoda co do tego, że wiele kwalifikacji w zakresie kodowania nie jest wiele wartych i że zdecydowanie preferowane jest udowodnienie doświadczenia.

Pozostaje mi pytanie - gdzie mogę udowodnić, że potrafię kodować bez wychodzenia z domu i płacenia dużych pieniędzy? Kwalifikacja z kodowania byłaby krokiem we właściwym kierunku i na pewno chciałbym usłyszeć, jakie są dobre opcje, ale chciałbym również usłyszeć o wszystkim, co mogę zrobić, aby umieścić w moim CV coś innego, co to potwierdza Potrafię kodować. Na przykład, czy są jakieś projekty, do których mógłbym dołączyć, lub jakieś inteligentne rzeczy, które mogę zrobić, zakładając konto GitHub? Jeśli chodzi o kwalifikacje, usłyszałem sugestie Codeacademy, a do pracy praktycznej zasugerowano Rosetta Code.

Jak dotąd odpowiedzi wskazywały, że warunkiem wstępnym udowodnienia, że ​​potrafię dobrze kodować, jest umiejętność dobrze kodować, co jest sprzeczne z moim przyznaniem się do bycia prawdopodobną awarią FizzBuzz. W tym przypadku przyznaję, że odpowiedzi są prawidłowe. W rzeczywistości ta kwestia jest jednym z powodów, dla których zadaję to pytanie. Moim celem jest być dostatecznie dobrym do udowodnienia w programowaniu.

Komentarze nie służą do rozszerzonej dyskusji;ta rozmowa została [przeniesiona do czatu] (https://chat.stackexchange.com/rooms/106156/discussion-on-question-by-j-mini-im-in-isolation-how-can-i-prove-to mogę).
„Mój kraj jest obecnie zablokowany z powodu COVID-19”, wydaje się, że to dobry moment na naukę!Jeśli chcesz zacząć od podstawowych rzeczy, możesz pobrać Automate the Boring Stuff za darmo w Internecie, aby dowiedzieć się, jak wykonać podstawowe programowanie, a następnie przejść dalej.
Umieszczenie posta na blogu lub jakiegoś kodu na Githubie to długa droga do udowodnienia, że znasz podstawy programowania.Wpis na blogu może dotyczyć głównie Twoich mocnych stron (matematyka), ale pokazuje, jak rozwiązujesz problem z kodem.Open source może po prostu kodować wspomniany post na blogu, bez potrzeby tworzenia niczego zbyt skomplikowanego lub biblioteki.
Open source to Twój przyjaciel!Wspieraj, twórz, ucz się i umieszczaj swój GitHub lub podobny link do swojego profilu w widocznym miejscu w swoim CV.Najlepsze jest to, że zwykle nie ma (formalnej) bariery wejścia, ponieważ FOSS polega na wolontariuszach, a ponieważ nawet małe zadanie wymaga czasu, zazwyczaj jest mnóstwo biletów, z którymi nowoprzybyli mogą sobie poradzić.
Nie mam wystarczającej liczby przedstawicieli, aby zostawić odpowiedź, ale skomentować wszystkie odpowiedzi polecając umieszczenie kodu w GitHubie - to nie tylko po to, aby pokazać, że napisałeś kod, ale także po to, abyś mógł nauczyć się korzystać z kontroli źródła i pokrewnychnarzędzi, co jest co najmniej tak samo ważne w „pracy programistycznej”, jak umiejętność kodowania.
Należy również pamiętać, że umiejętność napisania dobrej dokumentacji jest bardzo dobrym wskaźnikiem zrozumienia istniejącej bazy kodu bez konieczności jej zmiany.Wiele dobrych projektów ma niezbyt dobrą dokumentację - znajdź taką, której faktycznie używasz regularnie i pomóż im.
`Mogę śmiało wygooglować w Google za pomocą języka Java lub R, dopóki nie zrobią tego, co chcę. To jest programowanie typu„ zgadnij i sprawdź ”i gwarantuję, że jakość kodu, który tworzysz w ten sposób, nie będzie odpowiednia dla profesjonalnych wymagań.
@J ...: Nazywam to programowaniem typu „kopiuj i wklej”.Zgadnij i sprawdź to trafna, choć prosta metoda rozwiązywania problemów.
Dlaczego nie wypróbujesz problemów typu FizzBuzz?A potem, jeśli masz skłonności matematyczne, możesz sprawdzić problemy Projektu Eulera.Po co martwić się o udowodnienie?Programiści-samouki nie są rzadkością, jeśli zapytasz, zawsze możesz powiedzieć, że masz dyplom z matematyki i sam nauczyłeś się programować.
Zwróć uwagę, że większość (dobrych) ankieterów nie powinna testować umiejętności przypomnienia sobie na żądanie dokładnej składni problemu w stylu FizzBuzz w określonym języku, ale raczej umiejętność rozwiązywania problemów, tj. Umiejętność zaprojektowania algorytmuza to (np. z pseudokodem).Ankieterzy wiedzą, że wielu osobom nawet to się nie udaje, więc jest to dobry sposób na wyeliminowanie naprawdę bezużytecznych kandydatów na wczesnym etapie.Dobry programista nie zapamiętuje składni dla każdego możliwego scenariusza.Zamiast tego potrafią dobrze myśleć o * rozwiązaniu * problemu.
@QuoraFeans * Nie * jest to poprawny sposób programowania - nic poza zgadywaniem i sprawdzaniem jest prawidłowym sposobem budowy mostu lub samolotu.Mówi, że deweloper nie wie, co robi, nie ma planu architektonicznego i po prostu tworzy kod razem z niczym więcej niż funkcjonalnym celem.
Jedenaście odpowiedzi:
#1
+254
Jeffrey
2020-03-29 21:41:00 UTC
view on stackexchange narkive permalink

Nie bądź niegrzeczny, ale jeśli

Jeśli zadałeś mi jakieś pytanie w stylu FizzBuzz, spodziewałbym się, że go nie zaliczy.

W takim razie ty nie może w ogóle kodować. Jedyną rzeczą, jaką robią takie bzdury, jest wyeliminowanie kandydatów, którzy nie potrafią kodować.

Jeśli chcesz

rozsądnie szanowane kwalifikacje kodowania

Jedyne, co możesz zrobić, to uzyskać kilometraż . I to dużo. Wdrażaj małe aplikacje internetowe, małe prototypy, pisz gry-zabawki, przeprowadź analizę danych publicznego zbioru danych, a nawet programowanie konkurencyjne może pomóc.

Komentarze nie służą do rozszerzonej dyskusji;ta rozmowa została [przeniesiona do czatu] (https://chat.stackexchange.com/rooms/106189/discussion-on-answer-by-jeffrey-supports-monica-im-in-isolation-how-can-i-zawodowiec).
#2
+115
Scoots
2020-03-29 21:02:39 UTC
view on stackexchange narkive permalink

Mówiąc jak ktoś, kto przez długi czas był programistą i liderem zespołu w tej branży ...

Nie obchodzą mnie Twoje kwalifikacje. W ogóle.

Kiedy mam przed sobą Twoje CV, zależy mi na Twojej dbałości o szczegóły w CV (pisownia, układ, spójność czcionek) i zależy mi na widocznym doświadczeniu silne>.

Przez dające się udowodnić odpowiednie doświadczenie mam na myśli: Twoją historię zatrudnienia (która, jak doceniam, będzie nieobecna dla Ciebie dopiero po ukończeniu edukacji), ale także Twoje portfolio: projekty, które zbudowałeś, które mogę znaleźć w Internecie , z kodem źródłowym, który widzę.

Tak więc, hipotetycznie, gdybym chciał zaprosić Cię na rozmowę kwalifikacyjną: wolałbym zobaczyć „Zbudowano [aplikację] [link do github]” niż kwalifikacja, o której prawdopodobnie nigdy nie słyszałem i prawdopodobnie nie zainteresowałbym się badaniami.

Cholera, ta odpowiedź jest dokładnie tym, czego się obawiałem.
Powiem, że nie dotyczy to całego IT, ale IT w określonych branżach.Kiedy praca bardziej dotyczy nauki o danych / devops / administracji bazami danych, certyfikaty mogą mieć duże znaczenie, więc może opisz trochę, w jakiej części branży było Twoje doświadczenie?
@J.Mini, dlaczego obawiałeś się tej odpowiedzi?Wskazuje, że możesz tworzyć własne projekty, aby zademonstrować, że umiesz kodować.Znajdź prawdziwy problem, rozwiąż go, prześlij kod do Github i umieść go w swoim CV.Wszystko to jest „bezpłatne” i pozwala potencjalnemu pracodawcy zobaczyć, co możesz zrobić.
@MyHeadHurts Ponieważ zmusza mnie to do zejścia z mojej drogi, aby znaleźć właściwą rzecz do zrobienia.Gdyby odpowiedź brzmiała po prostu „zrób ten kurs tutaj”, wszystko, co musiałbym zrobić, to zarejestrować się i ciężko pracować.Z tą odpowiedzią znacznie trudniej jest wymyślić kolejne kroki.Gdzie mogę znaleźć kogoś, kto przyjmie moją pomoc?
@J.Mini w przypadku popularnych tematów, takich jak webdev i data science, jest mnóstwo zasobów z przykładowymi projektami do wykonania.Stwórz sieć neuronową, która gra w węża lub przewiduje akcje.Pobierz nieprzetworzone dane z WHO i nadaj im własną wersję.Jeśli przejdziesz do sekcji programowania na Medium, to wyskakuje na ciebie.Uderz w Kaggle.Przeprowadź własne badania.Nauka o danych jest obecnie jedną z najgorętszych dziedzin - istnieje mnóstwo zasobów.
Oblałbym twój wywiad, ponieważ całe moje kodowanie zostało oznaczone jako „zastrzeżone” i nie mogę tego nikomu pokazać.Mogę pokazać produkty, nad którymi pracowałem (chociaż niektóre nie są już produkowane).
@ThomasMatthews tak - większość profesjonalnych programistów nie posiada kodu, nad którym pracują i nie może opublikować go online.Nie przykładam dużej wagi do GitHub podczas oceny - zbyt wiele starych projektów uczelnianych, rozwidlone przykłady sieci neuronowych, które grają w węża lub przewidują akcje, losowe widełki OSS, które nigdy nie były modyfikowane itp. Wolałbym, żebyś opisał, cozrobiłeś i miejmy nadzieję, że będziesz w stanie * inteligentnie * o tym porozmawiać, jeśli dostaniesz rozmowę telefoniczną._Powiem jeszcze_ trochę o dbałości o szczegóły w CV - składnia jest ważna w programowaniu, a twoje CV jest moim jedynym wrażeniem o tobie!
@J.Mini Rozpocznij projekt, który daje satysfakcję osobiście!Odpowiedz na interesujące pytanie, które postawiłeś w swojej pracy, lub sprawdź, jak COVID19 wpłynął na różne branże i rynki.Zapomnij o zgadywaniu, czego chce pracodawca.I tak będziesz ubiegać się o pracę w różnych branżach.
@ThomasMatthews Jeśli twój kod jest oznaczony jako zastrzeżony, prawdopodobnie oznacza to, że masz dobrą historię zatrudnienia, co jest drugą częścią wywiadu w tej odpowiedzi.
@J.Mini Trochę to brzmi tak, jakbyś nie lubił "Oto * tabula rasa *, pokaż swoje umiejętności. Idź!"Potrzebujesz bardziej ustrukturyzowanego środowiska, w którym cele są bardziej bezpośrednie, pewne i dobrane.Tak jest w przypadku bycia absolwentem i pozostania w szkole na zawsze.
Istotna może być również jakość opublikowanej pracy.Jeśli na Githubie lub odpowiedniku, czy projekt ma plik README.md?Czy jest czytelne dla zwykłego czytelnika?Itd. Wszystkie te szybkie spojrzenia dają wrażenie pracy, którą wykonujesz.
@J.Mini Istnieje wiele witryn z problemami praktycznymi, nad którymi możesz pracować.Rób je, dopóki nie będziesz potrzebować Google.Różnią się one od małych, „naucz się pisać funkcję”, wpisz zadania, „rozwiąż ten problem z algorytmem”, po „zbuduj działającą aplikację na platformie”.A następnie zastosuj praktyczne techniki problemowe do rzeczywistego problemu.Następnie, gdy okaże się to trudne, znajdź łatwiejszy problem w świecie rzeczywistym lub wróć i znajdź problemy praktyczne, które koncentrują się na obszarze, który uważasz za trudny.
@J.Mini „Z tą odpowiedzią znacznie trudniej jest wymyślić dalsze kroki”. Witamy w programowaniu!
@pyro W rzeczywistości na tym właśnie polega programowanie.Samodzielne rozwiązywanie problemów.
@Harper-ReinstateMonica, jeśli masz na myśli doktorantów, oni pracują nad rzeczami, których nikt na świecie nie jest naprawdę pewien.Jasność tego, co robić dalej, jest znacznie gorsza niż to, co dostajesz jako programista.
#3
+49
Matthew Gaiser
2020-03-29 21:42:51 UTC
view on stackexchange narkive permalink

To :

Z powodu mojego czasu programowania na uniwersytecie, w sposób okrężny, już się nauczyłem.

W ogóle się nie wyrównuje z tym:

Jeśli zadałeś mi jakieś pytanie w stylu FizzBuzz, spodziewałbym się, że go nie zdam.

Czy wiesz, skąd się wziął FizzBuzz? Ma to na celu szybki problem programistyczny w celu wyeliminowania tych, którzy w ogóle nie potrafią kodować, tak aby ankieter nie musiał poświęcać im więcej czasu. Jest to pytanie filtrujące, aby usunąć ludzi, którzy nie potrafią sensownie kodować, a nie oznaka umiejętności.

Zawsze mogę się uczyć po otrzymaniu artykułu.

Może to zależeć od kraju, ale nie sądzę, żeby było to dla Ciebie przydatne. Znajomość SQL można łatwo sprawdzić podczas rozmowy kwalifikacyjnej, więc większość miejsc ją sprawdza. Będziesz musiał faktycznie wiedzieć kilka rzeczy.

Polecam: https://www.coursera.org/specializations/learn-sql-basics-data-science.

  • Jest to kurs SQL z zakresu danych.
  • Jest tani (przynajmniej według zachodnich standardów, ponieważ nie jestem pewien, gdzie się znajdujesz). Pomoc finansowa jest również łatwa do zdobycia.
  • Do programu dołączona jest stała nazwa.
  • Będzie miał o wiele więcej struktury związanej z pracą niż ogólny kurs „nauki języka SQL” prowadzony przez CodeAcademy.
Dzięki, zredagowałem moje pytanie, aby odzwierciedlić mój brak prawdziwych umiejętności.
@J.Mini odnośnie pytania do CV, czy wiesz jaką pracę chcesz?Byłoby bardzo pomocne, gdybyś zamieścił pożądaną ofertę pracy lub coś w tym stylu.
Pracuję nad przeglądaniem niektórych ogłoszeń, aby mieć pewność, że wiem, czego chcę, ale wyszukiwanie „statystyka” lub „naukowców danych” na tablicy ogłoszeń daje wiele trafnych wyników.
„Czy wiesz, skąd się wziął FizzBuzz?” To była dziecięca gra do nauki liczb w Wielkiej Brytanii na długo przed tym, jak powstał program komputerowy.
#4
+27
Moo
2020-03-30 04:01:05 UTC
view on stackexchange narkive permalink

Rozpocznij projekt.

Pomyśl o czymś, co Cię interesuje, do czego rozwiązanie oparte na kodzie mogłoby się dobrze sprawdzić (prosta gra w kółko i krzyżyk, przechowywanie statystyk sesji D&D, symulacja toczących się kostek i raportowanie wyników do wielu użytkowników itp. itd.), a następnie zrób to - umieść kod na Github w publicznym repozytorium i naucz się . Ulepszaj bazę kodu na bieżąco, regularnie publikując nowy kod, który pokazuje postęp.

Następnie prześlij część kodu do Code Review SE (zgodnie z ich wytycznymi) i naucz się z opinii.

Gdy osiągniesz punkt, w którym nie możesz już posuwać się do przodu z projektem, rozpocznij kolejny projekt i zrób to samo.

Ale celem tej odpowiedzi jest zachęcenie Cię do nauki poprzez działanie , a dzięki działaniu masz publicznie dostępny przykład swoich umiejętności, którym możesz się pochwalić .

Zrób coś nowego, rzuć sobie wyzwanie, wybierz coś trudnego - dołącz do społeczności deweloperów (np. są Slacks dla .Net and Go, prawdopodobnie będzie coś podobnego dla Javy lub dowolnego innego zdecydować się użyć) i wchodzić w interakcje z innymi twórcami. Szukaj i przyjmuj opinie oraz rozwijaj się jako programista.

Czy znasz jakieś dobre miejsce do pracy w projekcie z R?Praktyczne doświadczenie z danymi ma duże znaczenie, ale to nie to samo, co kodowanie w R.
@J.Mini Nie, nie jestem programistą R, więc niestety nie jestem członkiem społeczności ani projektów.
@J.Mini, czy mógłbyś po prostu wybrać zbiór danych i przeprowadzić na nim analizę?Podobnie jak „zabawny” projekt, ale taki, który może zrodzić dalsze projekty.Może zrób jakąś analizę przypadków COVID-19, a następnie zrób interaktywną stronę internetową na ten temat i zobacz, jak się sprawy mają?
@Tim Ta opcja została poruszona w kilku odpowiedziach.Po prostu mogę to zrobić.
Sugerowałbym również [codereview.SE] jako dobre źródło.Możesz poprosić ludzi o pochwalenie twojego kodu i zasugerowanie ulepszeń.
#5
+20
Harper - Reinstate Monica
2020-03-31 12:23:16 UTC
view on stackexchange narkive permalink

Łatwiej jest nauczyć skrzypka gry na bongosie niż na odwrót

Pamiętaj, że zawsze, gdy martwisz się o swoje umiejętności kodowania.

Kodowanie to rzecz, którą musisz wiedzieć, jak to zrobić. Nie jest to jednak strasznie trudne, zwłaszcza że komputery i języki zostały wymyślone przez matematyków . Tak więc nastawienie właściwe dla programowania powinno przyjść ci naturalnie.

Najważniejsze w nauce (szczególnie w szkole średniej) jest to, że ludzie uczą się, kiedy chcą . Masz problem z pewnością siebie, więc masz skomplikowany związek z „nauką programowania”. Możesz to zrobić? Oczywiście, że możesz. Musisz znaleźć wiarę, a mówiąc dokładniej, uwolnić się od strachu, abyś mógł znaleźć projekt pasji w dziedzinie programowania.

Mam takie powiedzenie na temat tych wszystkich początkujących, którzy mają garaż pełen używanych kiedyś elektronarzędzi. Elektronarzędzia nie tworzą ani nie zastępują umiejętności, pozwalają wykwalifikowanym ludziom pracować szybciej. O to właśnie chodzi w programowaniu; nie ma w tym żadnej tajemnicy. Podstawowym celem programowania jest automatyzacja niektórych zadań, których lepiej nie wykonywać ręcznie. Więc znajdź projekt, który nadaje się do automatyzacji, a matematyki powinno być dużo.

Podoba mi się twoja analogia.Zauważ, że ma to również drugą stronę: większość skrzypków nie jest zbyt dobra w sterowaniu rytmem.Dla skrzypiec w orkiestrze to nie ma znaczenia, ale jako jedyny perkusista w małej grupie kompletnie rujnuje projekt.Podobnie, jest wielu dobrych matematyków / fizyków itp., Którym z pewnością udaje się szybko _uczyć kodowania_, ale kiedy faktycznie stają przed jakimś odpowiedzialnym projektem programistycznym, szybko zmieniają go w nie do utrzymania piekło z kodem spaghetti.Jest to szczególnie niebezpieczne dla kogoś, kogo „myślę, że umiem kodować” polega na kopiowaniu i wklejaniu kodu z Internetu.
jako pianista i gitarzysta nie oczekuj ode mnie żadnych cudów na bongosach ... Zupełnie zawodzę we wszystkim, co dotyczy perkusji.Chociaż podejście matematyczne i kodowanie częściowo się pokrywa (np. Rozkładanie dużych problemów na mniejsze, którymi można sobie poradzić), nadal istnieją znaczne różnice, a debugowanie kodu może znacznie odbiegać od rozwiązywania równań.OP powiedział, że może wygooglować swoje wyjście z sytuacji związanych z kodowaniem, ale przy jakiej szybkości / wydajności?
Świetna odpowiedź - dwa razy oblałem informatykę na pierwszym roku studiów z powodu niemożności kodowania.Teraz jestem starszy (i pracuję w IT), zdaję sobie sprawę, że to nie tak, że nie umiem kodować, ale tak naprawdę nie rozumiałem, dlaczego zostałem poproszony o zrobienie czegoś.Niedawno musiałem tworzyć skrypty itp. Do mojej pracy i mogę to zrobić, ponieważ ułatwia mi to życie - CHCĘ to zrobić!Ta zachęta do zaoszczędzenia mi dużo pracy oznacza, że mogę pracować nad projektem.Okazuje się, że sporo się nauczyłem na uniwersytecie, po prostu nie mogłem wtedy zastosować tego w tym środowisku edukacyjnym!
#6
+12
fmarm
2020-03-31 03:33:46 UTC
view on stackexchange narkive permalink

Jestem Data Scientist z tytułem magistra matematyki! Mogę podzielić się własnym doświadczeniem.

Weź udział w konkursach Kaggle!. Zacznij od Titanica, możesz rzucić okiem na kod innych ludzi, aby dać Ci pomysły, napisać własny kod i umieścić go na swoim Githubie. Następnie możesz spróbować innych konkursów. Dzięki temu zdobędziesz doświadczenie w projektach w „prawdziwym świecie”. Nie są idealne, ponieważ zwykle jest to statyczny zestaw danych, a czyszczenie danych jest zakończone, ale jest to dobry punkt wyjścia do uczenia maszynowego.

Również jak ktoś wspomniał, naucz się korzystać z narzędzi Business Intelligence. Poleciłbym Tableau lub Power BI, ponieważ są one obecnie najpopularniejsze. Sam nauczyłem się Tableau, korzystając z kursu Udemy (poczekaj na promocje za 10 USD), jest to naprawdę łatwe, jeśli jesteś już przyzwyczajony do Excela / tabel przestawnych. Następnie możesz opublikować pulpit nawigacyjny w Tableau Public, który możesz udostępnić rekruterom. Jeśli nie wiesz, co umieścić w swoim panelu, istnieje wyzwanie o nazwie Poniedziałek po przeróbkach, które co tydzień publikuje zbiór danych, możesz użyć tego zestawu do zbudowania swojego panelu.

SQL jest koniecznością, nie znam kursu, ale powinieneś wypróbować to, o czym wspomniał Matthew Gaiser.

Nauka o przetwarzaniu w chmurze może być przydatna, choć nie tak ważna jak inne rzeczy. Prawdopodobnie nie jest to najlepszy moment w tej chwili, ale firma Microsoft prowadzi bezpłatne szkolenia osobiste w dużych miastach w zakresie „podstaw platformy Azure” i oferuje bezpłatne kupony umożliwiające uzyskanie certyfikatu. Miej oko na witrynę wydarzeń firmy Microsoft, w zależności od sytuacji mogą one stać się wydarzeniami online.

Jako naukowiec zajmujący się danymi osobiście nie wkładam zbyt wiele w konkursy Kaggle z perspektywy rekrutacji.Jak sam zauważyłeś, całkowicie ignorują mniej seksowne praktyczne części nauki o danych.I to są te części, w których ogólna wiedza o kodowaniu jest często najbardziej przydatna.
@Max: Czy zawody Kaggle nie są w pewnym sensie odpowiednikiem FizzBuzz, ale dla naukowców zajmujących się danymi?Wykazują minimum zrozumienia.Nie dają ci pracy, nawet niższego stanowiska, ale załatwiają ci rozmowę kwalifikacyjną.
#7
+8
oupoup
2020-03-29 21:38:17 UTC
view on stackexchange narkive permalink

Dyplom z matematyki nie jest rzeczą trywialną. Wiele osób potrafi programować, ale tylko niewielka mniejszość z nich może łatwo przełożyć problem matematyczny na kod, a to jest bardzo często kluczowe pytanie w sektorach takich jak fintech i motoryzacja. Co więcej, wiadomo, że kiedy ktoś studiuje matematykę, to trzeba też zdobyć doświadczenie w programowaniu. Dlatego uważam, że nie powinieneś się tak bardzo martwić o to, co twój dyplom może udowodnić twoim przyszłym pracodawcom. Oczywiście ma to również związek z tym, jaką pracę chcesz znaleźć. Na przykład stosunkowo łatwo będzie znaleźć pracę w powyższych sektorach, a jeśli chodzi o pytanie, jak udowodnić swoją wiedzę, istnieją oczywiście usługi certyfikacyjne, takie jak codeacademy lub google (checkout https: // cloud. google.com/certification/data-engineer kilka lat temu Google zapewnia bezpłatne kursy i certyfikaty dla określonego narzędzia, teraz nie wiem, czy nadal istnieje).

Ale moja osobista rada jest taka, aby wybrać problem w swojej dziedzinie (nie ma znaczenia, czy istnieją już rozwiązania tego problemu, nie musisz z tego budować firmy), którym jesteś głęboko zainteresowany, wybierz stos technologii chcesz się uczyć i stworzyć prototyp rozwiązania tego problemu. Możesz oczywiście użyć sposobu, w jaki inni rozwiązali problem, ale ważne jest, aby sam go zakodować. Ustal harmonogram i dotrzyj tam, gdzie chcesz. Jako analityk danych możesz uzyskać źródła takie jak tutaj https://www.data.gov/ lub tutaj https://data.europa.eu/euodp/en/data/ (znalazłem je tutaj https://www.forbes.com/sites/bernardmarr/2016/02/12/big-data-35-brilliant-and-free-data-sources-for-2016 / # 4b5a37f1b54d) i manipuluj sobą. Cały ten proces zapewni ci podstawowe umiejętności kodowania lub przynajmniej przypomni sobie, o czym zapomniałeś, z pewnym zrozumieniem dziedziny, w której planujesz pracować (z pewnością napotkasz przeszkody i wyzwania, o których jeszcze nie pomyślałeś, ale są regularnie w terenie i dobrze znani przyszłym pracodawcom, więc przydadzą się podczas rozmowy kwalifikacyjnej) i mają coś do pokazania. Możesz nawet twierdzić, że ta praca została wykonana jako wolny strzelec i nie możesz ujawnić klientowi.

Te sugestie pochodzą z własnego doświadczenia. Chociaż mam dyplom z inżynierii komputerowej, nigdy nie korzystałem z niego w moim kraju, ale później przeniosłem się do innego kraju i zdecydowałem się użyć tego dyplomu. Chociaż nigdy wcześniej nie pracowałem jako programista, stworzyłem dwa osobiste projekty i zdobyłem rozsądne umiejętności przynajmniej na młodszym poziomie w wybranych technologiach. I udało mi się stosunkowo szybko znaleźć dobrze płatną pracę w kraju, do którego się przeprowadziłem (no cóż, był tu bardzo dobry rynek dla deweloperów, więc nie było to takie duże wyzwanie). pamiętaj, że jeśli zainwestujesz w coś, nie ma mowy, że nie wyciągniesz z tego owoców.

EDYTUJ --- Chłopaki, masz rację co do kłamstwa. Rzecz w tym, że osobiście pierwsza aplikacja, którą zdecydowałem się stworzyć, była czymś użytecznym, funkcjonalnym i interesującym mnie (aplikacja Rest dla konkretnej branży). Zaproponowałem aplikację komuś, kogo już znam, który miał firmę, w której aplikacja mogłaby się przydać. Nie prosiłem o pieniądze (aplikacja działała, ale bez ładnych rzeczy), po prostu oferowałem ją do testowania przez kilka lat z podpowiedzią, że jeśli aplikacja będzie przydatna, możemy załatwić sprawę z płatnością. Nie było to bynajmniej mylące, ponieważ naprawdę musiałem przetestować aplikację w produktywnym środowisku i naprawdę zrobiłem to w kolejnych latach. Nawet nie prosiłem o zapłatę, ale po tym czasie zaproponowano mi niewielką, ale nie nieprzyzwoitą kwotę, którą oczywiście przyjąłem. Chociaż masz całkowitą rację, że kłamstwo nie jest rzeczą, jeśli ktoś tworzy coś o solidnych kryteriach jakościowych (tak jakby to była prośba klienta), to dystans od bycia naprawdę w rękach kogoś innego do produktywnego użytku może być czasami ładny mały. Ale nie, kłamstwo nie jest konieczne, poprawiono mnie.

Zgadzam się z prawie wszystkim w tej odpowiedzi, ale nie polecałbym kłamać.Nie ma nic złego w stwierdzeniu: „Podczas izolacji nauczyłem się programować. Oto kod, który napisałem”.
Prawie to zagłosowałem.Jedyną rzeczą, która powstrzymała mnie przed głosowaniem za pozytywnymi opiniami, było to: „Możesz nawet twierdzić, że ta praca została wykonana jako wolny strzelec i nie możesz ujawnić klienta”.Nie kłam.Nigdy nie kłam.Nie ma znaczenia, jak wykwalifikowany jesteś, jeśli nie jesteś godny zaufania.Jest to szczególnie ważne, jeśli masz do czynienia z danymi lub statystykami, których firmy używają do podejmowania decyzji.
#8
+4
David Browne - Microsoft
2020-03-31 01:41:13 UTC
view on stackexchange narkive permalink

Dwa dodatkowe punkty:

Wiele z tego, co robią profesjonalni programiści i naukowcy danych, to interakcja z systemami takimi jak Spark, Docker, Git, GitHub *, Power BI *, SQL Server *, Jupyter Notebooks, Azure *, AWS. Każdy z nich jest niezwykle popularny i zawiera mnóstwo darmowych treści edukacyjnych, nawet dla tych, które są czystymi usługami w chmurze. I zawsze jest miejsce w zespole dla kogoś, kto jest zaawansowanym technologiem, nawet jeśli nie jest najsilniejszym programistą.

Drugi to po prostu Naucz się Pythona. Jest to ważny język dla nauki o danych, inżynierii danych i programowania ogólnego przeznaczenia. Jest mnóstwo darmowych materiałów. Zacznij od zera lub weź coś, co zrobiłeś w R i zrób to ponownie.

I możesz zacząć od super prostego projektu w Pythonie i przejść do punktu, w którym możesz omówić środowiska wirtualne Pythona, tworzenie i wdrażanie obrazów Dockera, migrację z Pand do ramek danych Spark.

* bezwstydna wtyczka

I znowu przypomina nam się, że Microsoft wykupił GitHub ... [Obejmowanie] (https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish) open source, widzę ...
Wszystkie dobre punkty, ale ... może przytłaczająca nauka 6 nowych technologii i Pythona.Powiedziałbym, że najpierw wybierz Git / GitHub, zatwierdź COŚ.Następnie stamtąd buduj.
@LioElbammalf Tłum Slashdot obiecał mi teraz Extend and Extinguish przez prawie 20 lat.Wciąż czekam.Czas zakończyć to głupie polityczne stanowisko przeciwko SM, które opiera się na zachowaniu sprzed 30 lat i zaakceptować, że SM się zmieniło.
#9
+4
computercarguy
2020-03-31 23:01:15 UTC
view on stackexchange narkive permalink

W odpowiedziach jest już mieszanka dobrych i złych rad, z kilkoma możliwymi do podjęcia działaniami, więc skupię się na tym, co możesz zrobić teraz i bez wydawania pieniędzy lub jak najmniej.

Oto lista witryn, w których można bezpłatnie nauczyć się kodowania. Użyłem niektórych z nich i nie jestem powiązany z żadnym z nich.

Nauka:

GitHub

Załóż sobie konto GitHub. To nic nie kosztuje, możesz bawić się niektórymi z ich redaktorów online i udostępniać stworzone przez siebie rzeczy. Wiele miejsc szuka specjalnie kont GitHub, szukając programistów. Połączyłem się z moim kontem, więc możesz zobaczyć, jak wygląda moje. Jednak niewiele z tym zrobiłem. Opublikuj wszystko, co chcesz udostępnić tutaj, kod źródłowy, a ludzie będą mogli to łatwo zobaczyć. To nie jest witryna hostingowa, więc nie uruchomi Twojego kodu, po prostu go zapisze.
https://github.com/computercarguy

CodeCombat

Nigdy go nie używałem, ale założenie wygląda dobrze.
https://codecombat.com/

17 najlepszych programów do kodowania online kursy

To jest lista 17 różnych witryn, które oferują zasoby kodowania online. Niektóre są darmowe, ale inne nie. Obejmuje to, co staram się tutaj zrobić lepiej niż ja, i nie zamierzam kopiować & wklejać artykułu, na wypadek, gdyby wprowadzili przydatne aktualizacje.
https://www.creativebloq.com / web-design / online-coding-tours-11513890

CodinGame

To naprawdę przyjemny i darmowy sposób nauki programowania. Cały interfejs graficzny jest zrobiony za Ciebie, wystarczy użyć podstawowych pojęć programowania, aby rozwiązać problemy. Istnieje wiele różnych wyzwań, od naprawdę łatwych do naprawdę trudnych, w wielu różnych językach. Witryna oferuje nie tylko wyzwania, ale użytkownicy mogą tworzyć własne wyzwania, więc jest coraz więcej rzeczy, które możesz zrobić, spróbować, uczyć się i dobrze się bawić. Połączyłem się również z moim kontem użytkownika, aby pokazać, co z nim zrobiłem.
https://www.codingame.com/profile/40cc0ecd21fa0060c59f2fb560b9a6695602602

RoboCode

To może wykraczać poza to, czego szukasz, a ja nie mam ' Użyłem go, ale wydaje się interesujący. Wygląda na to, że nie ma żadnej opłaty, a walka twojego robota z innymi wydaje się być czymś w rodzaju punktów reputacji.
https://robocode.sourceforge.io/

ClassCentral

Nie korzystałem z tego, ale wydaje się, że jest to ogromna lista bezpłatnych zajęć online typu szkolnego. Niektóre z nich wydają się mieć świadectwo ukończenia, a niektóre wymagają zapłaty za certyfikat, ale nie za sam kurs. Najwyraźniej te kursy są oparte na idei „zakupów w aplikacji”, polegającej na darmowej zabawie / użyciu, ale płatność za pomyślne ukończenie.
https://www.classcentral.com/subject/ programowanie i tworzenie oprogramowania
https://www.classcentral.com/subject/game-development

Jest o wiele więcej witryn niż mogę realistycznie opublikować tutaj, ale mam nadzieję, że dałem Ci dobre miejsce na rozpoczęcie.

Hosting:

Jeśli robisz jakieś witryny internetowe lub rzeczy, które można wyświetlić w przeglądarce , musisz mieć trochę miejsca na hosting. To może szybko stać się drogie, ale dostępne są tanie lub nawet darmowe opcje hostingu. Istnieje jednak wiele ograniczeń, a także sporo irytacji i problemów, które te witryny mają, próbując zmusić Cię do przejścia na płatne konto. Oto dwa artykuły, które próbują omówić i zweryfikować te witryny, na lepsze i gorsze. Ponownie, nie jestem powiązany z żadną z witryn ani artykułów wymienionych poniżej.

7 „Najlepsze” bezpłatne witryny hostingowe (2020)

14 najlepszych darmowych witryn hostingowych (2020)

Aby pokazać przykład, oto moje osobiste portfolio online. Muszę to powtórzyć, ale masz podstawowy punkt. Istnieją znacznie lepsze portfele niż moje.
http://intensecomputers.com/portfolio/

Jeśli chodzi o naukę, polecam zakup taniego lub darmowego serwera wirtualnego i samodzielne skonfigurowanie hostingu np.Digital Ocean, AWS, Google Cloud itp. Powiedziawszy to, nie sądzę, by OP miał na myśli projektowanie stron internetowych.
Nie mogę odpowiedzieć, więc skomentuję tutaj, jako najbardziej spokrewniony.Jeśli OP naprawdę potrafi już kodować, istnieje kilka witryn, które oferują łamigłówki, wyzwania lub po prostu proszą o idiomatyczne fragmenty kodu.Publikowanie na https://projecteuler.net/, https://rosettacode.org/ lub podobnych witrynach może pokazać to, co wiesz.Szczególnie podoba mi się Project Euler, ponieważ trochę trudniej jest oszukać, a nie możesz omawiać rozwiązań z innymi uczestnikami, dopóki nie masz działającego.
#10
+3
user114216
2020-03-30 15:59:30 UTC
view on stackexchange narkive permalink

Zaletą, którą masz nad innymi kandydatami, jest matematyka. Matematycy mogą nauczyć się programować, ale ogólnie rzecz biorąc, zdolności matematyczne absolwentów informatyki po ukończeniu studiów są na stromym spadku. Powinienem wiedzieć, że jestem magistrem fizyki i informatyki i zaledwie 30 lat po ukończeniu uniwersytetu ledwo potrafię liczyć na matematykę, teraz tylko komercyjne kodowanie.

Ważne jest, abyś przeprowadził burzę mózgów w małym, wykonalnym projekcie, który demonstruje Twoje umiejętności rozwiązywać rzeczywiste, matematyczne, użyteczne problemy, za które ludzie będą płacić. Możesz nawiązać współpracę ze środowiskiem akademickim, aby znaleźć taki projekt. Sztuczka polega na rozmiarze. Jestem pewien, że istnieją naukowcy, którzy mają małe projekty, na które nie byli w stanie zapewnić finansowania, i możesz to dla nich zrobić za darmo w zamian za referencje. Oczywiście ten projekt nie może cię wiązać latami, dla doświadczonego profesjonalisty musi trwać 3 miesiące, ponieważ zajmie ci to dużo więcej czasu.

Powodzenia w twoich poszukiwaniach.

Byłem podwójnie specjalizującym się w matematyce i CS, a z obserwacji: Nie. Wielu moich kolegów z kierunków matematycznych nie miało żadnych umiejętności * programowania * (ale byli dobrymi matematykami).Nasz podstawowy program nauczania miał obowiązkowy poziom wstępny CS dla kierunków matematycznych (dosłownie Python 101, te same zajęcia, co kierunki CS), a większość z nich ledwo się przeciskała.Nawet ci, którzy potrafili obsługiwać komputer, mieli trudności z „myśleniem komputerowym”, zwłaszcza wymyślaniem wydajnych algorytmów.Te, które faktycznie były dobre, były generalnie podwójnymi głównymi firmami ze zrozumieniem, że CS płaci rachunki.
Dobry Boże, kiedy tak się stało, „potrafię nauczyć się kodować”, wredny „zawsze umie kodować”
Mam na myśli to, że pod koniec semestru wciąż robili takie rzeczy, jak kopiowanie i wklejanie tej samej rzeczy kilka razy, ponieważ nie mogli rozgryźć pętli.Lub „nie mogłem zrobić FizzBuzz” ... nawet z podpowiedziami.
#11
+2
AffableAmbler
2020-03-31 02:30:46 UTC
view on stackexchange narkive permalink

Szczerze mówiąc, wiele ofert pracy wygląda tak, jakby chcieli jednorożców, którzy w jakiś sposób są świeżo upieczonymi absolwentami, którzy opanowali statystyki, ogólne kodowanie i zarządzanie bazą danych.

To nie jest tak rzadkie, jak mogłoby się wydawać. Kilka kursów online zapewni Ci wszystkie ogólne podstawy programowania, których będziesz potrzebować na podstawowym poziomie nauki o danych. Połącz to z wiedzą statystyczną ze swojego dyplomu, a będziesz w dobrej formie.

Moim celem jest być wystarczająco dobrym w programowaniu.

Jedynym sposobem, aby stać się wystarczająco dobrym w programowaniu, jest praktyka. Aby uzyskać motywację, zastanów się, dlaczego chcesz pracować w nauce o danych. Jakie problemy chcesz rozwiązać? Pomyśl o projekcie, nad którym chciałbyś pracować, a następnie wymyśl plan. Zwykle obejmuje to:

  1. Zbieranie danych. Istnieje wiele publicznie dostępnych zestawów danych, ale jeśli nie możesz znaleźć tego, czego potrzebujesz lub chcesz przejść na wyższy poziom, rozważ naukę pobierania danych bezpośrednio z kodu źródłowego html witryn internetowych.

  2. Wstępne przetwarzanie. Dowiedz się, jak należy sformatować dane dla rodzaju analizy, którą musisz przeprowadzić. Opracuj strategię postępowania z brakującymi punktami danych. Zbuduj ładnie wyglądające wizualizacje, aby zbadać / przedstawić wstępne wyniki.

  3. Analiza / wnioski / prognozy.

Opublikuj swoje wyniki w przyjemnej wizualnie formie, czy to pokaz slajdów, ładnie sformatowany notatnik Jupyter, interaktywny interfejs sieciowy itp. Dołącz link do projektu, a także źródłowy kod źródłowy (Github jest zwykle standardem) w swoim CV.

Głównym celem tych ćwiczeń jest poszerzenie wiedzy, ale na koniec warto mieć coś do pokazania.

Kilka kursów online zapewni Ci wszystkie ogólne podstawy programowania, których będziesz potrzebować na podstawowym poziomie nauki o danych. - na przykład?
@J.Mini Chodzi mi o to, że prawdopodobnie nie szukają zaawansowanego projektu algorytmu.Na przykład, jeśli mówią „znajomość języka Python”, najprawdopodobniej mają na myśli „czy możesz skutecznie wykorzystać istniejące biblioteki”, czy „nie”, czy możesz zbudować losową klasę lasu od podstaw.
Waham się, czy poprzeć jakikolwiek konkretny kurs lub program, ale zrobiłem kilka z DataCamp, Udemy i Coursera i zawsze uczę się przynajmniej kilku nowych rzeczy.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 4.0, w ramach której jest rozpowszechniana.
Loading...