porady dotyczące kariery dla doktorantów chcących programować? [Zamknięte]

13

Jestem w dużej mierze samoukiem. W rzeczywistości zacząłem programować mniej więcej w połowie szkoły średniej z biofizyki i chociaż myślę, że wykonałem całkiem niezłą pracę, nigdy nie pracowałem w ramach „poważnego” zespołu programistów, który miał więcej niż jeden lub dwa inni programiści (i nie zawahałbym się nazwać ich równie niedoświadczonymi programistami jak zawodem).

Po ukończeniu doktoratu skupiłem się na programowaniu, oficjalnie jako postdoc, ale nieoficjalnie jako programista badań personelu. W tym czasie miałem także dwa wywiady w Google, ale nie rzeczywistą ofertę. W tej chwili zapuściłem korzenie i prawdopodobnie i tak nie byłbym w stanie podjąć pracy. Dom + żona z bardzo dobrze płatną pracą itp. Minęło około trzech lat, a moją szczerą oceną jest to, że nauczyłem się dużo więcej, ale naprawdę potrzebuję więcej grupy rówieśniczej, aby utrzymać lub przyspieszyć mój wzrost. Problem polega na tym, że za każdym razem, gdy patrzę, większość ofert pracy ma wymagania, które wydają się niemożliwie imponujące i waham się z aplikacją. To lub praca / projekt wydają się niesamowicie nudne.

Podejrzewam, że albo większość ludzi jest po prostu mniej realistyczna niż ja, jeśli chodzi o ocenę, ile czasu zajmie im przyspieszenie, albo ich to nie obchodzi; obawiam się, że jestem po prostu żałośnie niekwalifikowany do jakiejkolwiek interesującej, dobrze płatnej pracy programisty. IE: Jestem pewien, że mógłbym całkowicie przejść z powrotem do trybu C ++ po kilku tygodniach pracy (najczęściej używam C, Python, C # codziennie), ale nie wymieniam się jako „biegły” w C ++ w moim CV lub aplikowaniu dla miejsc pracy, które „wymagają” takiej wiedzy. Nieliczne aplikacje, w przypadku których czułem, że jestem dobrym partnerem, nie uzyskały odpowiedzi.

Podejrzewam, że następujące rzeczy są potencjalnymi problemami z moją aplikacją / CV i chciałbym uzyskać informacje zwrotne:

Nie mam dyplomu CS. Moje BS było w biochemii i biologii molekularnej, mój doktorat z biofizyki. Wziąłem kursy z algorytmów licencjackich i stopniowych i całkowicie je zabiłem, ale nie wiem, jak skutecznie to przełożyć na moje CV (różnica między uzyskaniem A + a paleniem wszystkich w klasie).

Mam doktorat, ale nie ma go w CS ... Zastanawiam się, czy powinienem usunąć go z mojego CV, czy też nie, wprowadzanie w błąd co najmniej niektórych z tych lat jako pewnego rodzaju „programowania” byłoby mylące „praca (pod wieloma względami była).

Myślę, że czasami istnieją silne znamiona związane z programistami „samoukami”. Jestem z pewnością jednym z nich. Nawet zdaję sobie sprawę, że niektóre z tych stygmatów zawierają ślad prawdy, ale naprawdę chcę być atutem dla zespołu. Jak mogę się komunikować, że mimo że w dużej mierze samokieruję od około 8 lat, nadal mogę przyjmować rozkazy w razie potrzeby? Czy mówię to wprost?

Czy powinienem stać się mniej skrupulatny w całym procesie? anegdota: Mam przyjaciela, który ubiegał się o stanowiska, w których całkowicie sfałszował swoje kwalifikacje, aby przejść pierwszy ubój. Gdy się z nim skontaktował, był o wiele bardziej szczery i szczery w kwestii swoich faktycznych kwalifikacji, a mimo to udało mu się zostać zaproszonym na kilka wywiadów, a nawet uzyskać kilka ofert. Jego kule są jednak większe niż moje.

C SD
źródło
Podziwiam wytrwałość w aplikowaniu do Google bez doświadczenia! Ale niestety wszyscy musimy zacząć od dołu drabiny. Głównym powodem, dla którego pracodawca może nie chcieć doktoratu, jest to, że ogólnie uważa się, że są one bardziej teoretyczne niż praktyczne (naukowcy, a nie inżynierowie). Chodzi o to, jak to zrobić, więc najpierw musisz udowodnić, że możesz to zrobić.
Nikt
1
Podejrzewałem tak samo, niestety myślę, że występuje błędne przekonanie międzydyscyplinarne. Twierdziłbym, że większość ludzi nie otrzymuje doktoratu z nauk biologicznych bez pomyślnego planowania pracy, wykonywania pracy i komunikowania się. Część „wykonywania pracy” oznacza brudzenie rąk: ekwiwalent programowania w świecie kodowania, debugowania i strojenia. Wydaje mi się, że jest to podobne do tego, co miałeś na myśli. Teraz jak mi to przekazać w CV, nie wyglądając pedantycznie, protekcjonalnie lub arogancko, umyka mi ...
C SD
1
Jaka jest twoja definicja dna? Chciałbym zrobić więcej niż teraz, ale moją większą motywacją jest to, że chcę uczyć się więcej, szybciej i w ramach większego wysiłku. Obecnie zarabiam ~ 45 tys. Jako nieoficjalny programista kadry (postoc), a moje przyszłe perspektywy, jeśli pozostanę na tym stanowisku, nie są najlepsze, ale czy uważam, że nieuzasadnione jest myślenie, że „dno” nie musi płacić mniej ORAZ być mniej interesującym?
C SD
Jeśli miałeś w przeszłości wywiady w Google, twój brak dyplomu CS prawdopodobnie nie wyklucza pracy w tym miejscu, w przeciwnym razie nie przeprowadziliby wywiadu. W przeciwieństwie do wielu firm Google daje „drugą szansę”, jeśli minie co najmniej rok. Jesteśmy teraz w szaleństwie rekrutacyjnym.
Uri

Odpowiedzi:

12

Jak to ująć: programiści przychodzą za kilkanaście centów, ale programiści z doświadczeniem biofizycznym są prawdopodobnie bardzo rzadcy. Więc gdybym był tobą, najpierw spróbowałbym znaleźć pracę w twojej dziedzinie, praca, w której programowanie jest częścią opisu pracy (lub uczynić ją częścią opisu pracy). W ten sposób rozwiniesz umiejętności, które są znacznie bardziej konkurencyjne i unikalne niż to, co ma przeciętny programista, co może ostatecznie dać ci świetną pracę.

Kiedy planujesz swoją karierę, musisz nie tylko spojrzeć na następny rok, pomyśl o długofalowych pięciu-dziesięciu latach. Jeśli programowanie jest czymś, co kochasz, ale może nie posiadasz formalnego wykształcenia, musisz wykorzystać swoje inne umiejętności, aby znaleźć pracę, którą chcesz.

AndersK
źródło
2
Znajdź firmę, która zajmuje się biofizyką, a także programowaniem.
Alex Feinman,
2
Zdecydowanie zgadzam się. Umiejętność rozmowy na dwóch polach to w zasadzie rzadka umiejętność. Wykorzystaj tę umiejętność, aby zrobić coś niesamowitego.
Paul Nathan
1
Zdecydowanie zajrzyj do biologii obliczeniowej
prostu
dobra rada. Przypuszczam, że mówisz mi, że nie jestem realistą. Miałem nadzieję, że dostanę pracę nad dużym, publicznym projektem. Rzeczy takie jak WebKit, StreetView / Earth, Photosynth, LLVM, btrfs, pakiety do edycji zdjęć: Photoshop, Lightroom, Aperture. Praca w dziedzinie biofizyki związana z programowaniem jest raczej tym, co już robię, to znaczy małymi zespołami, przypadkowym procesem ... ale po prostu będę wyglądać mocniej.
C SD
1
@C SD - Nie, nie będziesz w stanie wskoczyć do dużego zespołu i prowadzić go. Będąc doktorem, taka powinna być twoja pozycja, ale nie masz jeszcze na to szans. To, co musisz zrobić, to zmienić się z bio-fizyka zajmującego się programowaniem na programistę pracującego nad projektami z dziedziny biofizyki. Jeśli znajdziesz silnego starszego programistę, sprawdź, czy będzie on mentorem. Użyj swojego stopnia biofizyki, aby wesprzeć swoje programowanie, zamiast pozwolić ci to zdefiniować.
SoylentGray,
2

Najpierw naucz się koncentrować. Poważnie. Długie skomplikowane historie wymagają edycji.

Nie mam dyplomu CS.

Ani znacząca część pracujących programistów. W dużych sklepach informatycznych istnieje sporo stopni naukowych.

Mam doktorat, ale nie ma go w CS ... Zastanawiam się, czy powinienem usunąć go z mojego CV,

Nie. W przemyśle ważny jest każdy stopień. Ponownie, w przypadku prac podstawowych, w których możesz zdobyć trochę doświadczenia, np. W sklepie IT w firmie ubezpieczeniowej, konkurujesz z dziećmi ze stopniami współpracowników.

Myślę, że czasami istnieją silne znamiona związane z programistami „samoukami”.

Co? Większość informatyków, z którymi pracowałem, jest samoukiem, ponieważ ich firmy są zbyt tanie, aby przyprowadzać instruktorów nowych technologii.

Po prostu aplikuj na każde dostępne zadanie programistyczne. Im więcej aplikujesz, tym bardziej zrozumiesz, czego szukają.

Jakikolwiek duży sklep IT w jakiejś losowej firmie ubezpieczenia zdrowotnego z przyjemnością będzie mieć kogoś, kto jest rozsądnie inteligentny i zna technologię, nawet jeśli jest samoukiem.

Ponieważ większość (więcej niż połowa) pracujących programistów nie ma (a) żadnego przydatnego stopnia i (b) uczy się samouczków w zakresie jednej lub więcej technologii, których oczekuje się od nich, twoje obawy są całkowicie marnotrawstwem.

Jeśli chcesz wyglądać bardziej profesjonalnie, zacznij czytać więcej kodu. Zacznij od projektów open source, które Cię interesują, i w pełni przebuduj bazę kodu, aby zobaczyć najlepsze praktyki.

Ponadto, biorąc pod uwagę wybór, większość sklepów IT ma zatrudnić ludzi posiadających „wiedzę biznesową” zamiast umiejętności technologicznych. Tak więc, jeśli masz większość doktoratów z jakiegoś losowego przedmiotu (poważnie, twoje pytanie było tak długie i kłótliwe ...), to skup się na tej branży.

S.Lott
źródło
Przepraszam, że było za długo. Pomyślałem, że umieszczę najważniejsze fragmenty na górze i na dole, aby ułatwić szybkie skanowanie. Moje doświadczenie dotyczy: stopni było wręcz przeciwnie ... Joel S. ma nawet stary post na temat tego, jak „przeszacowani” są doktoranci z CS… waham się, aby ocenić jego ocenę tych z zupełnie innych dziedzin.
C SD
Czy możesz połączyć post Joela?
Andrea
joelonsoftware.com/articles/GuerrillaInterviewing3.html najistotniejsza część: ludzie sprytni, ale nie załatwiający spraw często mają doktoraty i pracują w dużych firmach, w których nikt ich nie słucha, ponieważ są całkowicie niepraktyczne. Woleliby raczej zastanowić się nad czymś naukowym na temat problemu niż wysyłać go na czas. -------------------- ujmując to w kontekście, jego rzeczywiste kryteria są słuszne i nie mają nic wspólnego ze stopniami naukowymi, ale ujawnia wyraźne uprzedzenie, nawet jeśli to prawda, humorystyczne.
C SD
Dodam też, że inni ludzie (najemnicy) powiedzieli mi, że wyższy stopień może zacząć cię wyżej lub wyżej, ale może też podnieść poprzeczkę wyżej. Chciałbym wymienić mój stopień naukowy, ponieważ ciężko nad tym pracowałem i myślę, że ma on pewne dobre cechy (i niekoniecznie wykształcenie), ale jeśli jakaś osoba z działu HR zobaczy litery i pomyśli „będziemy musieli mu zapłacić co najmniej X, a on nawet nie ma odpowiedniego stopnia i mnóstwa doświadczenia? ERRRRRRR "
C SD
@C SD: „jeśli jakaś osoba z działu HR zobaczy litery i pomyśli…” Nie masz żadnych dowodów. Możesz teraz przestać wykręcać ręce. Dopóki ktoś ci tego nie powie, nie uważaj tego za plotkę i legendę miejską.
S.Lott
1

Prawda jest taka, że ​​prawdopodobnie będziesz musiał podjąć jedną z tych „niesamowicie nudnych” prac, aby dostać się do drzwi. Ale kiedy będziesz mieć 6-12 miesięcy jako pracujący programista w swoim CV, powinieneś być w stanie dość szybko rosnąć i rosnąć.

Craig Schwarze
źródło
0

Mocno wierzę, że programowanie jest sztuką i pochodzi raczej z praktyki niż ze stopni.
Tak, to dość zniechęcające, że często organizacje szczególnie duże (takie jak Google) nie doceniają samouków, ponieważ nie mają wyższych stopni. Mówisz jak osoba o wysokim poziomie cierpliwości i nie uważam się za wystarczająco wykwalifikowanego, aby ci doradzić, ale chciałbym wspomnieć o kilku punktach, które mogą ci pomóc:
1. Spróbuj w małych organizacjach, w których wolą talent.
2. Open Source to platforma do pokazania swojego talentu, zdobycia prawdziwej wiedzy na temat rozwoju.
3. Certyfikaty: Istnieją różne certyfikaty programistyczne oferowane przez gigantów, takich jak MS, Oracle itp., Z pewnością dodanie ich w swoim CV zapewni przewagę programistyczną.
Powodzenia! :)

Leśniczy
źródło
Dzięki za radę. Szczególnie nr 2 wygląda dobrze, ponieważ korzystam z wielu projektów OSS, a nawet badam dużo kodu w tych, których używam. Powinienem naprawdę przyczynić się do niektórych z nich, ale na koniec dnia konieczność obsługi różnych próśb o oprogramowanie przez laboratorium składające się z 15 osób praktycznie samemu pozostawia mi niewiele czasu na zdobycie rozgłosu dzięki uczestnictwu. Być może odpowiedzią jest wypróbowanie nr 1 z nadzieją, że uda mu się również wykonać nr 2. powrót do potwora ...
C SD
Nie ma za co i powodzenia! :)
Strażnik
Ludzie samoukami zwykle uczą się niesystematycznie i często mają duże braki w wiedzy. Osoba z dyplomem jest zazwyczaj bezpieczniejszym wyborem. Ponadto stopień pokazuje pewien poziom determinacji i zdolność do wykonania czegoś. Może to być niesprawiedliwe dla danej osoby, ale istnieją powody, aby zatrudniać osoby ze stopniami naukowymi.
David Thornley
Rozumiem więc, że bycie samoukiem ORAZ niewłaściwy stopień może być gorszy niż jedno z nich?
C SD
@David Thornley, za to, że osiągnął zamiłowanie do mądrości za swoje zasługi - nie ma lepszego dowodu determinacji. Wolałbym rozstrzygać, co ktoś osiągnął lub może zrobić ze swoją wiedzą, a nie skąd i skąd ją wziął. Ważne rzeczy o każdej osobie, jak ująłby to Heinlein, elise.com/quotes/a/heinlein_-_specialization_is_for_insects.php .
Filip Dupanović
0

Pracowałem również jako postdoc. Jeśli możesz, weź udział w zajęciach z CS na uniwersytecie. Najprawdopodobniej nie możesz oficjalnie wziąć udziału w zajęciach, ponieważ nie jesteś uczniem płacącym, ale możesz poprosić instruktora klasy i opiekunów, czy możesz usiąść na kursie i wykonać projekty. Nie dostaniesz oceny za pracę domową, ale idź do godzin pracy i korzystaj z zasobów.

Dlaczego chcesz to zrobić? Istnieje kilka zajęć, których nie można się uczyć samodzielnie, bez udziału w dobrym wykładzie i interaktywnego zadawania pytań. Proponuję brać lekcje dla:

  • algorytmy
  • struktury danych (czasem w połączeniu z klasą algorytmów; jeśli nie, zazwyczaj druga klasa programowania oferowana przez uczelnię) *
  • sieć (w szczególności programowanie gniazd TCP / IP) *
  • bazy danych (w szczególności użycie SQL)
  • system operacyjny *
  • języki programowania (zwykle przegląd języków programowania)

Gwiazdka * wskazuje, że są to zwykle klasy wymagające programowania, więc pomogą one w ogólnej umiejętności programowania.

stackoverflowuser2010
źródło
0

Poluzować! Nasze najpopularniejsze opublikowane prace są pisane narracyjnie. Nie oceniamy na podstawie osiągnięć akademickich lub ich braku. Jesteśmy o najbardziej otwartej i masowej grupie naukowej. Umiejętność przyczynienia się do czegoś użytecznego jest najważniejsza.

Weź punkt 2 Rangera # 2. Nie musisz angażować się w duży projekt open source, jeśli nie masz czasu. Możesz po prostu napisać małą bibliotekę. Pracodawcy uwielbiają, gdy podchodzisz do nich z publicznym repozytorium, w którym mogą przeglądać niektóre z twoich prac - mogą natychmiast ocenić, że możesz postępować zgodnie ze wskazówkami stylu społeczności, że możesz czytać kod innej osoby i że możesz pisać kod, który jest izolowany, pakowalny , dystrybuowane i pod kontrolą wersji. Większość CS grad studenci nie mogą nawet robić, więc mówić o luki w swojej wiedzy.

W końcu pasjonujesz się programowaniem. Kto lub co cię powstrzyma?

Filip Dupanović
źródło
Rozumiem, że oznacza to, że pracujesz w Google? Naprawdę nie spodziewałem się, że dostanę ofertę podczas pierwszej rozmowy, za drugim razem byłem trochę bardziej rozczarowany, choć szczerze mówiąc, nie podjąłbym się tej pracy, ponieważ jestem teraz mocno zakorzeniony. Rozczarowując się, nie udało mi się nawet uzyskać odpowiedzi na niektóre z moich innych aplikacji, nie mówiąc już o wywiadzie. Nie złożyłem zbyt wielu wniosków, ale starannie je wybrałem, ponieważ myślałem, że będą dobrze dopasowane.
C SD
Wszyscy jesteśmy naukowcami od rakiet na papierze, prawda? Uważam, że na ogół nie są pod wrażeniem twoich przeszłych doświadczeń zawodowych, chyba że zapewnisz im coś fizycznego do przejrzenia. Większość z nas nie wykonała przełomowej pracy w NASA lub Google. Byłoby to wiarygodne, ponieważ każdy może odnosić się do rodzaju pracy, która się tam dzieje. Musisz więc pokazać swoje kompetencje, a nie tylko o nich mówić. Umieść kod QR, który wyląduje na stronie projektów. Zrób coś inaczej. Wyróżnij się w kałuży wnioskodawców Billa i Jane. Nie pracuję w Google, ale tak bym się zgłosił.
Filip Dupanović