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.
źródło
Odpowiedzi:
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:
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 .
źródło
Data Engineer
poradnictwa zawodowego.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.
źródło
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.
źródło