Mam tylko dwa języki w moim CV - jak źle to jest? [Zamknięte]

21

Mam pytanie, na które najlepiej odpowiedzieć tutaj, biorąc pod uwagę ogromne doświadczenie niektórych z was!

Mam zamiar skończyć licencjat z CS i spójrzmy prawdzie w oczy, czuję się swobodnie z C ++ i Pythonem. C ++ - Nie mam doświadczenia i nie mogę cytować standardu C ++, jak niektórzy faceci z SO, ale mimo to dobrze rozumiem podstawy języka i rzeczy, które mają największe znaczenie. Dzięki Pythonowi zademonstrowałem doświadczenie w pracy w dobrej firmie, więc mogę to spokojnie powiedzieć.

Nigdy nie dotknąłem C, choć chciałem to teraz zrobić. Nie mogę więc napisać C w moim CV, ponieważ nigdy tego nie robiłem. Pewnie, że mogę ukończyć K & R i nauczyć się języka za miesiąc, ale nie mam ochoty pisać tego, ponieważ byłoby to dla mnie niewierne.

Tak więc główne pytanie brzmi: czy dwa języki na CV są uważane za OK, czy to zwykle zły znak? Większość życiorysów, które widziałem, wspominają wiele języków i stąd moje pytanie. W sekcji językowej mojego życiorysu wspomnę tylko: C ++ i Python, i to wygląda na puste!

Jakie są twoje poglądy na ten temat i co sądzisz o takiej sytuacji?

PS: Naprawdę nie chcę pisać każdej znanej mi biblioteki lub interfejsu API. Czy powinienem?

Karl
źródło
Czy możesz to przeformułować, aby było to bardziej pytanie?
Jeremy
10
Znajomość 2 języków pochodzących ze studiów jest prawdopodobnie w porządku. Ważniejsze jest, abyś mógł wykazać, że rozumiesz, co robisz.
ChrisF
Myślę, że lepiej być w czymś dobrym, nawet jeśli są to tylko 2 języki, niż znać wiele i nie jest dobry w żadnym. I jak powiedział @Jas, polecam języki wyższego poziomu, takie jak C #. A skoro znasz Python, możesz wypróbować silnik aplikacji django / google? Myślę, że aplikacje internetowe to przyszłość
Jiew Meng,
Dziwię się, że unikałeś C w pogoni za swoim BS. Większość dyplomów CS ma łańcuch kursów „sprzętowych”, które intensywnie wykorzystują C, takich jak Organizacja Comp i systemy operacyjne.
Bryan Harrington
3
Obiecujesz, że nigdy nie dotkniesz Perla, prawda?
Job

Odpowiedzi:

24

Tak długo, jak wiesz, jak przemyśleć problemy, nie ma znaczenia, w ilu językach jesteś biegły. Ale ponieważ jesteś biegły w C ++, możesz zainwestować kilka miesięcy, aby zdobyć umiejętności w C # lub Javie (lub Ruby , z tego powodu).

Jas
źródło
+1 @Jas: doskonałe porady dotyczące zapoznania się z nowszymi technologiami. Ważne jest, aby dać sobie dodatkową głębię umiejętności.
IAbstract
2
„Tak długo, jak wiesz, jak przemyśleć problemy, nie ma znaczenia, w ilu językach jesteś biegły”. Nie chcę padać na paradę PO, ale tak, to ma znaczenie. Czasami musimy nosić wiele różnych czapek do pracy i musimy być w stanie szybko je zmienić. Obecnie w pracy piszę w powłoce, Pythonie, Perlu, Ruby i SQL-ach, a możliwość przełączania się bez „ponownego wprowadzania zmian” jest ważna. Ale robiłem to od dłuższego czasu, więc jest to oczekiwane. Tak długo, jak OP bierze na siebie obowiązek nauki kolejnych języków, będzie dobrze.
Tin Man
2
Bardzo dobra rada. Rozważyłbym wybranie „Siedmiu języków w siedmiu tygodniach” Bruce'a Tate'a jako sposobu na szeroką gamę języków, a następnie pomyślałem o rodzajach pracy, którą chciałbyś wykonać, i nauczyłem się, które języki będą miały zastosowanie.
zwykły programista
Popieram zalecenie Tate'a „Siedem języków w siedmiu tygodniach”.
Bruce Alderson
Upewnij się, że znasz struktury danych, dużą notację och, a możesz pisać na tablicy na dziesięciocentówce i możesz zostać zatrudniony prawie wszędzie. Musisz tylko znaleźć mały sklep deweloperów, taki jak Google, w którym zatrudniają programistów znających c ++ i python.
Kevin
6

Nie jest tak źle, jeśli starasz się o pracę wyłącznie w języku C ++ lub Python. Niektórzy pracodawcy mogą uznać znajomość wielu języków za znak, że można ufać, że szybko nauczą się nowych, ale ponieważ właśnie kończysz studia, rozsądny pracodawca prawdopodobnie weźmie to pod uwagę. Byłoby inaczej, gdybyś miał 20 lat doświadczenia zawodowego, ale znał tylko 2 języki.

Możesz rozważyć rozpoczęcie nowego języka, który Cię interesuje i wspomnieć o swoim CV. Oznaczałoby to, że jesteś zaangażowany w poszerzanie wyboru języka i rozwijanie umiejętności.

JJJ
źródło
Programuję zawodowo od ponad 30 lat i mam za sobą wiele języków. Zawsze uczę się czegoś nowego, co wielokrotnie się opłacało.
Tin Man
3

Dwa problemy ze znajomością tylko dwóch języków:

  1. Istnieje wiele modeli programowania, które mogą pomóc Ci poprawić sposób myślenia o projektowaniu problemów. Brak wiedzy na temat innych modeli ogranicza twoje możliwości.

  2. Twoje umiejętności nie są tak przenośne na inne języki, a ty nie masz wprawy w nauce nowych języków.

Co do twojego wznowienia, to inne pytanie: niektórzy pracodawcy będą bardzo szczęśliwi, że znajdą kogoś, kto skupi się tylko na kilku rzeczach. Nie sądzę, żeby to był dobry znak dla programisty, ale istnieje wiele różnych potrzeb i firm.

Sugeruję naukę co najmniej jednego języka rocznie, poza tym, czego wymaga twój pracodawca. Jest dobry dla mózgu, twojego projektu i dla twojego przyszłego wznowienia.

Bruce Alderson
źródło
2
+1 za wskazanie, że różne języki pomagają myśleć w nowy sposób. Im więcej języków znamy, tym lepiej jesteśmy w stanie wybrać odpowiednie narzędzie do pracy.
Tin Man
Co więcej, niektóre języki sugerują różne rozwiązania (na przykład Prolog i Hanoi lub SQL i krojenie i krojenie zestawów danych). To zrozumienie ustawia sposób myślenia o problemach w dowolnym języku. Zastosowałem koncepcje SQL do C ++ i STL, a także podstawy Prolog i Lisp w małych językach, które zaprojektowałem.
Bruce Alderson
jeśli chodzi o 2., ponieważ jest świeżo po studiach, wątpię, żeby nie ćwiczył nauki. Jeśli chodzi o 1., jestem złagodzony, zarówno C ++, jak i Python są językami wieloparadygmatycznymi, więc nie jest tak źle, jak Java / C #.
Matthieu M.,
1

Prawdopodobnie zaszkodziłoby ci to tylko nietechniczne osoby, które nie zdają sobie sprawy z tego, że nauka języków to trywialna część programowania.


źródło
5
Nauka nowego języka jest trywialna tylko wtedy, gdy nie dodaje absolutnie nic oprócz składni do tego, co wiesz. Nauka pisania programów C ++ w języku Python lub Ruby jest łatwa, ale w rzeczywistości nauka języka Python lub Ruby nie jest łatwa, jeśli musisz wyłapać nowe paradygmaty programowania. Naprawdę możesz odróżnić kogoś, kto właśnie nauczył się składni, a następnie zhakował coś, a kimś, kto faktycznie nauczył się języka.
asm
trywialne, ale absolutnie niezbędne
Javier
Z mojego doświadczenia, tylko kilka pierwszych języków jest trudnych do nauczenia. Kiedy rozumiesz, jak działają języki, masz lepsze pytania i intuicje, i szybko zaczynasz opracowywać koncepcje.
Bruce Alderson
@Andrew, absolutnie, miałem na myśli, że nauka składni jest trywialna i to wszystko, co naprawdę może pokazać CV.
1

Skoncentruję twoje CV na zademonstrowanym doświadczeniu zawodowym - pokaż, że ukończyłeś projekty. To jest warte znacznie więcej niż to, jakie zajęcia odbyłeś. Prawdę mówiąc, chyba że absolwent CS faktycznie ukończył prawdziwy projekt - i nie mówię o pracy w szkole, mówię o czymś, nad czym pracowali od miesięcy lub lat, który był używany przez prawdziwych ludzi do rozwiązywania prawdziwych problemów - prawdopodobnie nie mają wystarczającego doświadczenia, by twierdzić, że „znają” dowolny język. Ponieważ masz doświadczenie w pracy z Pythonem dla firmy, prawdopodobnie jesteś już o krok przed wieloma ludźmi.

Również tak, definitywnie dodaj API i frameworki, z którymi pracowałeś. Nie zapomnij też o SQL, jeśli pracowałeś z bazami danych.

Grandmaster B.
źródło
1

Liczba języków w twoim CV jest nieistotna. Posiadanie w CV języków używanych przez pracodawcę jest ważne, a nawet to do negocjacji.

Przekazałem osoby, które „znały język” na korzyść osoby o dobrych podstawach w dziedzinie informatyki i znajomości języka programowania „zbliżonego” do tego, którego używamy. Nauka składni języka jest często trywialna. Nauka idiomów językowych i standardowe podejście zwykle zajmuje więcej czasu.

BTW W moim CV umieszczam tylko języki, w których jestem obecny. Nie zobaczysz eiffla, schematu, C itp. Nie umieszczam tam też Javy, ale to dlatego, że nie lubię używać tego języka.

dietbuddha
źródło
1

Zatrudniłbym cię za szczerość. to jest tak cenne jak trzeci język. Czego wkrótce się nauczysz, prawda?

Zbyt wiele języków może również budzić podejrzenia. Dobry dla potencjalnego sprzedawcy / sprzedawczyni, który popisuje się swoimi umiejętnościami walenia byków.

Tło API może łatwo znaleźć się w wywiadzie. Niektórzy uważają, że wiedza API jest ważniejsza niż sam język. Jeśli znasz słabości interfejsu API, może to pomóc firmie uniknąć błędów. Jeśli znasz mocne strony API, jest to również przydatne.

Jedną ze strategii jest krótkie podsumowanie interfejsów API w życiorysie, ale zachowaj smaczniejszą część wywiadu, aby zbudować rozmowę.


źródło
1

Nie sądzę, żeby to miało tak duże znaczenie, zwłaszcza że to dobra para języków:

  • oba są paradygmaty, więc nie utkniesz w OO
  • uzupełniają się raczej dobrze, C ++ jest stosunkowo niskim poziomem (zarządzanie pamięcią), a Python pozwala szybko zhakować skrypt, gdy jest to konieczne (i to w programowaniu)

Widziałem CV w wielu językach i szczerze mówiąc, nie jestem pod wrażeniem. Każdy może nauczyć się składni języka (oprócz C ++: p) w ciągu tygodnia lub dwóch, ale istnieje różnica między znajomością składni a pisaniem dobrego (idiomatycznego) kodu.

Deklarując tylko te 2, pokazujesz, że jesteś uczciwy i otwarty. Stres projektów już zrealizowanych, aby pokazać, że zrobić je znać, to jest o wiele bardziej prawdopodobne, aby zaimponować pracodawcy przyszłości.

Matthieu M.
źródło
1

Miałem szczęście przeprowadzić wywiad z firmą, która „dostała to” już w czasach studenckich ... Mimo że miałem żenująco długą listę rzeczy, które „znałem” (będąc bardzo liberalnym pod tym pojęciem), tak naprawdę praca oparta na programie asemblera VMS, który napisałem ... Którego nie włączyłem w CV, ale wyszło w wywiadzie.

Dosłownie

Miałem to w plecaku (to było wtedy, gdy drukowałeś swoje programy na przemysłowych drukarkach igłowych).

Więc nie. Firmy, które go „zdobędą”, prawdopodobnie uznają to połączenie za pozytywne.

czerwony brud
źródło
1

Na pierwszym miejscu poza szkołą wartości niematerialne mają większe znaczenie niż doświadczenie. Nawet w późniejszym życiu możesz znaleźć pracę jako specjalista w zaledwie kilku technologiach. (Nie oznacza to, że nie ucz się innych języków, tylko, że nie sprawi to, że będziesz bezrobotny)

Przygotuj się do dyskusji na temat algorytmów, pisz w językach, które znasz na białej tablicy, i okazuj entuzjazm w rozwiązywaniu problemów. Jeśli możesz to zrobić, znajdziesz kogoś, kto może wykorzystać twoje umiejętności.

Pamiętaj, że zatrudnienie zależy od pozycji. Oczekuje się, że juniorzy będą sprytni i chętni. Oczekuje się, że seniorzy będą mieli bardziej konkretne doświadczenie - dlatego zarabiają więcej.

MathAttack
źródło
0

Większość absolwentów nie ma dużego doświadczenia językowego, tylko jeden lub dwa ich stopnie skupiają. I większość z nich spotkała się z tymi nielicznymi.

Craig
źródło
0

To zależy od tego, jaką pracę naprawdę próbujesz zdobyć, a także od tego, kto dokonuje wyboru.

Osobiście, gdybym zatrudniał młodszego programistę, szukałbym głównie sposobu myślenia i spodziewałbym się, że znają tylko jeden lub dwa języki. Gdybym zatrudniał głównego programistę, chciałbym zobaczyć listę pralni języków, ponieważ ci, którzy nie pracowali w wielu językach, niezmiennie nie mają pojęcia o projektowaniu języka, a moją osobistą filozofią jest to, że ktoś, kto rozumie przynajmniej podstawy projektowania języka są znacznie lepszym rodzajem kodera.

HedgeMage
źródło