Czy od rozpoczęcia mojej kariery jako Data Scientist wymagane jest doświadczenie w inżynierii oprogramowania? [Zamknięte]

20

Jestem studentem MSc na uniwersytecie w Edynburgu, specjalizującym się w uczeniu maszynowym i przetwarzaniu języka naturalnego. Miałem kilka praktycznych kursów dotyczących eksploracji danych, a inne dotyczyły uczenia maszynowego, statystyki bayesowskiej i modeli graficznych. Moje wykształcenie to licencjat z informatyki.

Zrobiłem trochę inżynierii oprogramowania i nauczyłem się podstawowych pojęć, takich jak wzorce projektowe, ale nigdy nie brałem udziału w dużym projekcie rozwoju oprogramowania. Miałem jednak projekt eksploracji danych w moim mgr. Moje pytanie brzmi: czy chcę rozpocząć karierę jako specjalista ds. Danych, czy powinienem najpierw ubiegać się o stanowisko absolwenta danych, czy najpierw powinienem uzyskać tytuł magistra inżyniera oprogramowania, może coś związanego z nauką danych, np. Duże zbiory danych tworzenie oprogramowania do infrastruktury lub uczenia maszynowego?

Obawiam się, że mogę potrzebować dobrych umiejętności inżynierii oprogramowania do nauki danych i nie jestem pewien, czy można je zdobyć, pracując bezpośrednio jako absolwent danych.

Co więcej, w tej chwili lubię Data Mining, ale co, jeśli chcę w przyszłości zmienić karierę na inżynierię oprogramowania? To może być trudne, jeśli tak bardzo specjalizuję się w informatyce.

Nie byłem jeszcze zatrudniony, więc moja wiedza jest wciąż ograniczona. Wszelkie wyjaśnienia lub porady są mile widziane, ponieważ mam zamiar ukończyć mgr i chcę zacząć ubiegać się o stanowisko absolwenta na początku października.

cpumar
źródło
1
To pytanie wydaje się być nie na temat, ponieważ dotyczy poradnictwa zawodowego. Udowodniono, że porady dotyczące kariery prowadzą do zorientowanych na opinie, szerokich pytań lub czasami bardzo ograniczonych pytań, z których większość nie skutkuje użytecznym dyskursem. Jeśli nie zgadzasz się z tą opinią, proszę poruszyć problem dotyczący Data Science Meta .
asheeshr
1
Zapytaj Quora może pomóc.
zihaolucky

Odpowiedzi:

30

1) Myślę, że nie ma potrzeby kwestionować, czy Twoje wykształcenie jest odpowiednie do kariery w informatyce. Stopień CS IMHO jest więcej niż wystarczający dla naukowca z punktu widzenia inżynierii oprogramowania. Powiedziawszy to, wiedza teoretyczna nie jest bardzo pomocna bez dopasowania do praktycznego doświadczenia , dlatego zdecydowanie staram się wzbogacić moje doświadczenie, uczestnicząc w dodatkowych projektach szkolnych, stażach lub projektach open source (być może takich, które koncentrują się na danych / uczeniu maszynowym / sztucznej inteligencji ).

2) Uważam, że twoja obawa przed zbyt wczesnym skupieniem się na analizie danych jest bezpodstawna, o ile będziesz ćwiczyć inżynierię oprogramowania albo w ramach pracy związanej z analizą danych, albo dodatkowo w wolnym czasie.

3) Uważam następującą definicję naukowca za dość dokładną i mam nadzieję, że będzie ona pomocna w przyszłym sukcesie zawodowym:

Analityk danych to ktoś, kto jest lepszy w statystyce niż jakikolwiek inżynier oprogramowania i jest lepszy w inżynierii oprogramowania niż jakikolwiek statystyk.

PS Ogromna liczba różnych zasobów na tematy związane z naukami o danych jest oszałamiająca, ale ten program nauczania open source do nauki danych może wypełnić pewne luki między odpowiednimi programami studiów licencjackich i magisterskich a rzeczywistością kariery naukowej w dziedzinie danych (lub przynajmniej zapewnić jakiś kierunek dalszych badań i może odpowiedzieć na niektóre z twoich obaw): http://datasciencemasters.org lub na GitHub: https://github.com/datasciencemasters/go .

Aleksandr Blekh
źródło
2
+1 Musisz mieć duże doświadczenie inżynierskie, aby być skuteczną nauką o danych, ale nie dostaniesz tego w szkole. Użyj szkoły do ​​teorii i użyj pracy do umiejętności inżynieryjnych.
Sean Owen,
3
Podobało mi się twoje „Analityk danych to ktoś, kto jest lepszy w statystyce niż jakikolwiek inżynier oprogramowania i jest lepszy w inżynierii oprogramowania niż jakikolwiek statystyk”.
wabbit
Czy mógłbyś uprzejmie odpowiedzieć na to pytanie dotyczące Data Engineerporadnictwa zawodowego.
stom
@stom Z różnych powodów nie mogę odpowiedzieć na twoje pytanie, ale chętnie podzielę się z Tobą odpowiednimi i doskonałymi zasobami IMO : 1) medium.com/@rchang/… ; 2) medium.com/@rchang/… ; 3) medium.com/@rchang/… ; 4) medium.com/@richard534/… . Jak można zauważyć, pierwsze trzy linki prowadzą do postów z serii. Mam nadzieję że to pomoże.
Aleksandr Blekh
9

Od ogłoszeń o pracy, które widziałem, odpowiedź zależy: Są prace, które mają bardziej techniczny charakter (projektowanie projektów dużych zbiorów danych, przeprowadzanie analiz) lub dokładnie odwrotnie (przeprowadzanie analiz, przechowywanie itp. To inna praca).

Powiedziałbym więc, że NIEKTÓRE umiejętności projektowania oprogramowania są niezwykle przydatne, ale nie potrzebujesz umiejętności budowania ogromnego programu w języku C # / Java. Dlaczego lubię niektóre umiejętności SW, to po prostu to, że Twój kod prawdopodobnie wygląda znacznie lepiej niż kod kogoś, kto nigdy nie programował ze względu na programowanie. Przez większość czasu ten drugi kod jest bardzo trudny do zrozumienia / debugowania dla osób postronnych. Czasami twoja analiza musi być zintegrowana z większym programem, zrozumienie potrzeb programów z pewnością pomaga.

Christian Sauer
źródło
6

Absolutnie. Zachowaj ostrość swoich umiejętności programistycznych. Możesz to zrobić w programie akademickim, jeśli po prostu samodzielnie wdrożysz wszystkie algorytmy, o których się uczysz.

Dobry wybór kursów, btw. Zastanów się też nad odbyciem stażu.

Emre
źródło