Jakich umiejętności można się spodziewać i docenić w młodszym inżynierze oprogramowania? [Zamknięte]


64

Niedawno ukończyłem studia magisterskie z inżynierii oprogramowania i mam zamiar rozpocząć swoją karierę zawodową za kilka tygodni. Będę młodszym programistą w firmie, która rozwija oprogramowanie przy użyciu technologii Java i technologii pokrewnych (między innymi Spring i Hibernate). Szczerze mówiąc, jestem bardzo podekscytowany tym, co nadchodzi, szczególnie dlatego, że chcę rozwijać swoją karierę jako programista Java. Jestem również bardzo zainteresowany zdobywaniem doświadczenia w tej dziedzinie. Dodatkowo będzie to moje pierwsze doświadczenie zawodowe jako profesjonalny programista, więc naprawdę chcę od samego początku dawać z siebie wszystko.

Chciałbym wiedzieć, które umiejętności i zdolności, zarówno miękkie, jak i techniczne, byłyby najbardziej doceniane w nowym profesjonalnym (Junior Developer), który mógłby należeć do Twojego zespołu i na których umiejętnościach powinienem się skupić, aby osiągnąć udaną karierę jako programista Inżynier.


13
Wymownie zadane cudowne pytanie.
Adam Crossland,

2
Znajdź bramę narkotykową / działanie, gdy rzeczy w rzeczywistych warunkach pracy nie działają tak, jak możesz to sobie wyobrazić, ale upewnij się, że ich działanie nie rozleje się do rana.
Job

Dbałość o szczegóły - nic nie jest ważniejsze.
Orbling

1
Ponieważ jesteś JSWE. Posługuj się językami, w których mówiłeś, że jesteś biegły. Nie ma nic bardziej irytującego w zatrudnianiu kogoś, kto mówi, że zna język, ale nauczył się go tylko w jednej klasie. Przykład: ludzie, którzy wymieniają C / C ++ w swoim życiorysie, ale nie mogą używać jednego lub drugiego (nie daj Boże, nie mogą używać żadnego!)
aqua

Co się stało z marzeniem o tworzeniu gier wideo? „Poważnie chcesz„ rozwinąć swoją karierę jako programista Java ”? tylko żartuję, każdemu z nich :)
cambraca

Odpowiedzi:


50

Wiele z nich jest prawdą bez względu na to, gdzie jesteś w swojej karierze, ale może być szczególnie ważne dla kogoś, kto dopiero zaczyna.

  • Słuchaj więcej niż mówisz. Ucz się z tego, co mówią inni ludzie.
  • Być pokornym. Nie bój się dzielić swoimi pomysłami, ale nie zakładaj, że masz rację, a wszyscy inni się mylą. Jeśli zauważysz coś, co uważasz za niewłaściwe, zapytaj o to, nie wypowiadaj się na ten temat.
  • Ucz się. Podstawa twojego wykształcenia jest (powinna być) świetna, ale dopiero zacząłeś uczyć się zawodu. Ucz się przez działanie. Nie sądzę, że naprawdę możesz się uczyć, chyba że faktycznie ćwiczysz to, czego się uczysz.
  • Klient rzadko wie, czego chce, dopóki tego nie zobaczy. Przyzwyczaj się do zmieniających się wymagań. Zastosuj styl rozwoju (jeśli jest dozwolony), który szybko przekazuje informacje klientowi, aby uzyskać informacje zwrotne.
  • Znajdź ludzi, którzy są dobrzy w pracy z klientami i poproś ich, aby pomogli Ci w rozwijaniu relacji z nimi.
  • Napisz dobrze przetestowany, solidny kod. Wykonanie tego nie jest celem; dobrze to zrobić. Jeśli jesteś w tym dobry, prędkość przyjdzie z czasem.
  • Pracuj ciężko. Nie czekaj, aż zostaniesz o coś poproszony; szukać lub prosić o rzeczy do zrobienia.
  • Opanuj swoje błędy lub błędy zespołu. Nie wyrzucaj członków zespołu pod autobus przed klienta, ale bądź szczery, gdy masz problemy z kodem.
  • Możesz myśleć, że twoi koledzy z drużyny chcą, abyś był świetnym programistą. To byłoby niesamowite, ale twoi koledzy z drużyny naprawdę chcą, żebyś był kompetentny, a nie palantem. Jeśli będziesz palantem, lepiej bądź genialny.

3
+1 za „Klient rzadko wie, czego chce, dopóki go nie zobaczy ...”
FrustratedWithFormsDesigner

1
+1 za „Ucz się dalej”. Jest to prawdopodobnie najważniejsza rzecz, której bym szukał u programisty na poziomie młodszym
Rachel

+ za „Wykonanie tego nie jest celem; prawidłowe wykonanie to” Upewnij się, że Twój kod nie tylko działa, ale jest poddawany rygorystycznym testom, jest bardzo ważny. Właściwe wykonanie tego zadania oznacza, że ​​inny programista może przyjrzeć się Twojemu kodowi, zrozumieć go i przeczytać komentarze, a następnie przejąć jego utrzymanie.
Jeremy,

61

Oto krótka lista z góry mojej głowy:

  • Kontynuacja (zakończ to, co zaczynasz)
  • Uczciwość (powiedz mi, czy utknąłeś)
  • Ciekawość (znajdź lepsze sposoby robienia rzeczy)
  • Otwartość (zarówno na krytykę, jak i na pomysły, które nie są twoje)
  • Hojność (dziel się tym, czego się uczysz; trenuj następne pokolenie)

1
Zgadzam się ze wszystkimi wymienionymi cechami. Gdybym został poproszony o opiekę nad takim młodszym programistą, chętnie to zrobiłbym i sprawiłoby, że mój dzień pracy byłby znacznie przyjemniejszy.
Adam Crossland,

3
Sądzę, że ta lista podsumowuje, jedyne, co mógłbym dodać, to komunikacja. Widziałem tylu obiecujących młodych programistów, którzy po prostu nie chcieli komunikować się z członkami swojego zespołu. Sam kodowanie po prostu tego nie ogranicza, musisz porozmawiać z użytkownikami, członkami zespołu i zaangażować się. Naucz się też dobrze pisać, ponieważ będziesz robił więcej, niż się spodziewałeś.
Nodey The Node Guy

14
+1 Uczciwość: Uczę się mówić: „Nie rozumiem tego”. - najpierw dla siebie, a potem dla kolegów - jest naprawdę ważne. Otwiera drzwi do komunikacji i nauki. Widziałem zbyt wielu programistów, którzy pozwolili swojemu ego przeszkodzić w rozwoju umysłów. Pracuję w tej branży przez większość 4 dekad i wciąż napotykam na rzeczy każdego dnia , których nie rozumiem. Więc google, czytam, piszę kod do ćwiczeń, a potem mam jeszcze jedną umiejętność, którą mogę wnieść do stołu.
Peter Rowell,

O otwartości - dotyczy to w szczególności wyjątków od zbioru przepisów. Nie udało mi się w tej kwestii. Częścią doświadczenia jest nauka, kiedy łamać zasady. Czasami zmuszanie wszystkiego, aby pasowało do twoich ideałów, tylko komplikuje wszystko. OTOH, w ogóle nie znając zbioru przepisów ...
Steve314

1
Ze strony Uczciwość: Mówię ludziom, którzy dla mnie pracują, że spędzają pół godziny, próbując to rozgryźć samodzielnie, a następnie proszą mnie o pomoc lub wskazówkę. Jeśli nie mam natychmiastowej odpowiedzi, uderz w nią przez około cztery godziny, zanim poinformujesz mnie, że potrzeba więcej. Wtedy zaczynamy ściągać ludzi z innych zadań, aby pomóc. W dzisiejszych czasach radziłbym im również, aby przeszukali, a następnie zapytali w przepełnieniu stosu i ogólnie w Google, na początku tego procesu. Moim celem tutaj jest zapobieganie natychmiastowej reakcji na przerwanie, która może zabić produktywność ludzi wokół ciebie.
Hack Saw

8

Dwie rzeczy: chęć uczenia się i umiejętność uczenia się.


4

Ciekawość, entuzjazm, ustanawiają dla ciebie wysoki standard, chęć nauki, chęć przyznania się, że nie wiedzą, zainteresowanie tym, co robi firma i jak wpływa na twoją pracę. (Wszystkie dobre cechy, nawet jeśli masz 20-letnie doświadczenie)

Dobra wiedza techniczna jest świetna, ale musisz pokazać, jak ją zastosować.

Przede wszystkim osoba przeprowadzająca rozmowę musi widzieć, jak tam pracujesz, przyczyniając się i chcąc zostać. Jeśli jesteś zbyt dobry, może to zniechęcić niektórych ludzi do szybszego niż bycie poniżej średniej. ;)


4

Motywacja. Czy wiesz, jak się zmotywować? Czy wiesz, jakie taktyki mogą działać lepiej niż inne? Chodzi o samoświadomość, której niektórzy mogą oczekiwać od wszystkich wykształceń, które odkryliście, aby dowiedzieć się tego na marginesie.

Podstawowe umiejętności testowania i debugowania. Czy wiesz, co to jest test jednostkowy? Czy znasz kilka sposobów debugowania problemu? Nie chodzi o to, aby wiedzieć konkretnie, co robić w środowisku, ale raczej o ogólne pojęcie o tym, jakie mogą być najbardziej podstawowe testy i jakie strategie mieć przy patrzeniu na problem.

Umiejętności komunikacyjne. Jak precyzyjny jesteś z językiem? Jak dobrze możesz przejść od technicznego do nietechnicznego? To prawda, że ​​jest to coś, co należy rozwinąć, ale należy to odnotować, aw niektórych przypadkach uratować kogoś, kto może wpaść w kłopoty, nie rozumiejąc konsekwencji tego, co twierdzą. Jak dobrze dogadujesz się z ludźmi? Nie jest to ścisły wymóg, ale jeśli możesz utrzymywać dobre relacje z innymi współpracownikami, może to nieco ułatwić wykonywanie niektórych zadań. Uczciwość i uczciwość również należą do tej grupy umiejętności, ponieważ generalnie mogą pojawić się pytania dotyczące tego, jak dobrze mówisz, co masz na myśli i co masz na myśli. "Powierzchnia biurowa" ma wiele przykładów słabej komunikacji i chociaż praca jest fikcyjna, mogło być wiele scen, które były naprawdę bliskie rzeczywistości dla niektórych osób pod względem pracy w środowisku biurowym.

Wszechstronność. Nowi ludzie w zespole mogą mieć szeroki zakres obowiązków, więc jeśli w małej firmie będziesz musiał skonfigurować bazy danych, sieci, serwery sieciowe i inne rzeczy, które nie są programowane. Innym przykładem może być skorzystanie z pomocy zespołowi w dotrzymaniu terminu.


1
+1: Chciałbym dodać uczciwość do sekcji Umiejętności komunikacyjne. Jeśli czegoś nie znasz lub napotykasz problem, wczesne poinformowanie starszego kolegi lub kierownika zespołu może pomóc w uniknięciu poważniejszych problemów w późniejszym terminie.
oosterwal

2
Poczekaj ... „Powierzchnia biurowa” to fikcja ???
PSU

3

Dla mnie, jako młodszego programisty bez żadnego stopnia, moja chęć ciężkiej pracy i doskonalenia się bardzo pomogła w mojej karierze. Zauważyłem też, że moi przełożeni docenili możliwość krytyki (pozytywnej lub nie) i kontynuowania tej sprawy.

Jeśli chodzi o nowe środowisko: radzę po prostu płynąć z prądem przez około tydzień. Popełniłem błąd, próbując zbyt mocno, co nie zostało docenione.


Tak. Akceptowanie krytyki oznacza zadawanie wielu pytań uzupełniających, aby „krytyk” był wygodniejszy. Zapytaj, co jeszcze możesz zmienić, aby zrobić lepiej. Pokaż następny przykład z tym samym problemem - tym razem poradziłeś sobie lepiej? Czy się poprawiasz? Kiedy wszyscy naprawdę poczują się dobrze z konstruktywną krytyką, zaczyna się zabawa. Pamiętaj tylko, że ludzie z twojego biznesu mogą nie myśleć w ten sposób;)
Michael Durrant

3

Zgadzam się ze wszystkim, co zostało już powiedziane, ale chcę podkreślić, że nigdy nie powinieneś zapominać o tych ogólnych (i miękkich) umiejętnościach zamiast bycia ekspertem technicznym. Powinieneś pracować nad obiema, ale wolałbym mieć pośrednika, który może przekazać to, co wiedzą, niż mistrza, który wolałby pracować sam.

Nie spędzaj też zbyt wiele czasu z nosem w książce. Książki są dobre, nawet świetne, ale jeśli spędzasz większość czasu na czytaniu, a mniej czasu pracujesz, nie dostaniesz o połowę mniej z tych książek.


++ Dobra uwaga, Wes, choć muszę się zastanawiać. Jeśli w dzisiejszych czasach pytam ludzi, czy przeczytali takie a takie rzeczy, odpowiedź brzmi zwykle: Czytasz?
Mike Dunlavey

2

Świetne odpowiedzi dla wszystkich. Chciałbym tylko dodać, z mojego ograniczonego doświadczenia w lataniu - wiesz, jak nazywają licencję pilota?

Licencja do nauki.


2

Wiele świetnych odpowiedzi.

Nawet jeśli nie pracuję dla „dużych facetów” i nie jestem guru, dodam moje 2 centy.

Bądź miły dla ludzi .

Staraj się towarzysko ze swoimi kolegami, spędzaj trochę czasu z niektórymi z nich codziennie, jeśli to w ogóle możliwe. Od czasu do czasu idź z nimi na kolację, pośmiej się z nimi.

Innymi słowy, spróbuj zbudować „społeczność”, jeśli nie istnieje, lub stać się jej częścią, jeśli istnieje.

Poznanie kolegów pomoże ci łatwiej się z nimi dogadać. Plus, szanse są dobre, będziesz się dobrze bawić.


2

Oprócz wszystkich dobrych materiałów przesłanych przez społeczność (powyżej), spodziewałbym się również dowodów na pewne trudne umiejętności. Nie doskonałość ani moce über-maniaka, ale dobra praktyczna znajomość podstaw i podstawowych pojęć. Masz już pracę ( gratulacje !), Więc prawie tam jesteś.

Ale odświeżenie wiedzy i / lub przyspieszenie pracy dzięki narzędziom, językom i technologiom, z których korzysta Twoja firma, oznacza, że ​​osiągniesz sukces i stworzysz dobre pierwsze wrażenie.

Hipotetyczny idealny młodszy programista pozna podstawy takich rzeczy jak

  • język.
  • I / O
  • Koncepcje OO, takie jak dziedziczenie
  • Interfejsy obiektowe
  • dostęp do bazy danych (szczególnie w odniesieniu do tego, jak to robią w sklepie z nowym kodem)
  • model HTTP
  • CSS
  • JavaScript / JQuery
  • projekt bazy danych
  • SQL i procedury składowane
  • IDE (s), których będziesz używać
  • odpowiednie ramy (wspominasz o wiośnie)

i tak dalej. Będzie mógł skoncentrować się na zdobywaniu nowych umiejętności bez konieczności zatrzymywania się i nauki podstaw. Będzie mógł sobie poradzić (zadając tyle rozsądnych pytań, ile mu się podoba - większość starszych deweloperów uwielbia zadawać rozsądne pytania techniczne) z rutynową ofertą formularzy online, stron administracyjnych, z którymi wielu juniorów ma do czynienia przez pierwsze kilka miesięcy. Stanie się wiarygodnym młodszym twórcą może być pierwszym testem inicjacyjnym w zespole ;-)

Kiedy zaczynałem jako młodszy w zespole internetowym dużej korporacji, większość początkowej pracy, którą mi przydzielono, była trochę mało inspirująca, ale opodatkowała mnie do tego stopnia, że ​​co noc trafiałem do książek, aby móc zrozumieć, co zamierzam robić następnego dnia . Przeszedłem przez to, ale było to stresujące pięć lub sześć miesięcy po względnym luksusie mojego kursu magisterskiego ;-)

Jeśli potrafisz efektywnie wykonywać wszystkie podstawowe czynności, masz dość ciekawe rzeczy do zrobienia dość szybko, co oczywiście pomoże ci w rozwoju kariery.

I echo tego, co wielu powyżej powiedziało, świat komputerów i kodu stale się rozwija. Będziesz musiał uczyć się nowych rzeczy co drugi dzień. Miej szeroko otwarty umysł i staraj się przede wszystkim zrozumieć, dlaczego podjąłeś tę decyzję - ponieważ <3 to. W nadchodzących latach mogą przyjść chwile, kiedy nie będzie to na czele twojego umysłu. Entuzjazm przeprowadzi cię przez większość nierówności i przeszkód.

Powiedziawszy to wszystko, moje doświadczenie z ostatnich dwunastu lat sugeruje, że większość juniorów nie pozostaje w swoim pierwszym towarzystwie na zawsze, więc nie przejmuj się zbytnim byciem „idealnym”. Popełnianie błędów to część procesu, który doprowadzi cię od juniora do miejsca, w którym chcesz skończyć. Robię to już od dłuższego czasu i prawie usuwam produkcyjną bazę danych prawie co najmniej kilka razy w roku.

Powodzenia w twojej karierze.


1
+1 za posiadanie odpowiedzi, która wspomina coś specyficznego dla programowania i dlatego nie można go przenieść bez edycji do podręcznika dla harcerza.
psr

Lol. Tak, w tym pytaniu jest wiele frazesów;)
5arx 23.01.12

1

(1) Otwarty umysł. Nie chcesz kogoś, kto jest zinstytucjonalizowany w używaniu języka X i środowiska Y dla każdego projektu. Chcesz kogoś, kto może się wypowiedzieć, gdy konkretna technologia nie rozwiąże problemu i nie zaoferuje dobrych alternatyw. Ponadto potrzebujesz kogoś, kto może rzucić wyzwanie konwencjonalnemu myśleniu i zaproponować rozwiązania motywujące biznes. Możesz doświadczyć tego sam, ale odkryłem, że ludzie są tak przyzwyczajeni do procesu, że go nie zmieniają, ale wciąż narzekają na ból, który powoduje. Zwykle po przyjeździe patrzę na to, jak to poprawić i oferuję rozwiązania mojemu kierownikowi. Powiedziałbym też, że osobisty powinien być „dyplomatyczny” w kwestii swoich sugestii :)

(2) Dobre umiejętności modelowania domen. Jest to dość duży, o którym zauważyłem, że niektórzy ludzie go nie zauważają. W niektórych miejscach, w których pracowałem, nauka o firmie to „brudzenie rąk” i ludzie unikają czysto technicznych problemów, takich jak integracja sprawdzania pisowni w kontroli wersji itp. I nie poświęcają dużo czasu na poprawę biznes. Będąc w stanie spojrzeć na biznes i tworzyć z niego modele (uproszczenia) i komunikować, że różnym odbiorcom, czy to mówionym, wizualnym (UML, SSADM czy cokolwiek innego), czy po części obu, potrzebujesz kogoś o takiej mentalności.

Dwie książki, które mogę polecić na ten temat, to: Namiętny programista i pragmatyczny programista . Obie książki oferują dobre porady zarówno młodszym, jak i starszym programistom.


+1 za rekomendacje książek; Umiejętności modelowania domen OTOH wymagają czasu, aby dojrzeć, więc nie spodziewałbym się ich od juniorów. Ale dążenie do zrozumienia biznesowego punktu widzenia i rozwiązania rzeczywistych problemów użytkowników jest ważne na każdym poziomie.
Péter Török

Peter, poprzez uniwersytet (przynajmniej z tego, co widziałem), programista zbudowałby silny zestaw umiejętności analitycznych. To naprawdę jest cel modelowania, pozyskiwania wiedzy specjalistycznej i umożliwienia jej uczenia się innym ludziom. Powiedziałbym, że jest to podstawowa umiejętność, której oczekiwałbym od większości programistów. Będąc w stanie sformułować konkretny problem na poziomie mikro / marco i wyjaśnić go, aby powiedzieć przedsiębiorcy finansowemu, uzyskać informacje zwrotne i przekazać je z powrotem członkom zespołu. Ale to tylko moje zdanie.
Desolate Planet

1

Przejęcie inicjatywy. Miałem wielu ludzi, którzy w ogóle tego nie robią i zawsze czekają, aż powie mi się dokładnie, co robić. Jeśli widzisz coś, co należy poprawić, zrób to. Masz pomysł, aby coś poprawić? Przynieś to do przodu. Potrzebujesz innej umiejętności, aby coś poprawić? Naucz się tego.

Pokazuje, że zależy Ci na tym, co robisz i chcesz poprawić.


1

Wcale nie przestraszyłem cię, ale jedną rzeczą, przed którą cię ostrzegam w każdej firmie, w której pracowałem, są duże, brudne, ogromne metody przewijania i źle nazwane obiekty, które powodują, że boisz się otwierać pliki źródłowe w czystej postaci szok i przerażenie takim bałaganem. Miejsca, w których zwykle się znajdują, znajdują się w modułach obsługi zdarzeń przycisków „OK” w oknach dialogowych lub przycisku „Prześlij” na stronach internetowych.

Błagam cię z głębi serca. Proszę zainstalować dzwonek alarmowy, że kiedy metoda zaczyna wyglądać na dużą, a przez to mam na myśli więcej niż 10 wierszy, pomyśl o stworzeniu innej metody ... tyle metod później, zrozumiesz, jak wielką odpowiedzialność ponosi obiekt, w którym się rozwijasz.

Kolejny dzwonek, który polecam, to 2-3 parametry w metodzie. Jeśli zobaczysz metody z około 10 parametrami wejściowymi, przywitaj się z programowaniem funkcjonalnym w języku OO ...

Przepraszam za lekką frustrację wyrażoną w tej odpowiedzi, po prostu nie mogę wykrzyczeć, jak korzystne jest nauczenie się pisania czystego kodu.

Proszę, weź sobie kopię Roberta. C Kod Martins Clean . Czytaj go co tydzień, wyjmij go na obiad, śpij z nim pod poduszką, miej kopię w toalecie, wydrukuj kilka stron i przyklej je na suficie, aby przed snem przeczytać je wcześniej kiwacie głową;).

Życzę ci wszystkiego najlepszego w twojej karierze. Twoja pasja w tym momencie już pokazuje, że poradzisz sobie świetnie.


1

Jedyna rada, jaką mogę zaoferować, to nigdy nie przestawać się uczyć. Sposób, w jaki dostali się tam programiści rockstar, polega na tym, że poświęcają czas na naukę nowych technik i języków. Chociaż jest to świetne, jeśli zostaniesz tam przez 10 lat, kiedy wyjdziesz, poznasz tylko Java + Spring + Hibernacja. Dlatego w wolnym czasie patrzę na platformę .NET, Python i sporadyczny kod C ++, aby pozostać aktywnym. Jako ktoś, kto pracuje nad stwardnieniem rozsianym w informacji s, czas może być cenny i musi być mądrze wykorzystany.


1

Możliwość korzystania z Google. Naprawdę.

Nie dlatego, że nigdy nikomu nie pomogę, zwłaszcza młodszemu koledze. Ale nie ma nic bardziej frustrującego niż to, że ktoś nie robi należytej staranności w rozwiązywaniu problemów w sposób ciągły.

Moja rada dla juniorów miękkich. inżynierowie dokładają należytej staranności w rozwiązywaniu problemów. Korzystaj z google, wikipedia lub stackoverflow, gdy czegoś nie wiesz.

Nie czekaj zbyt długo, zanim pójdziesz do starszego współpracownika na pomoc - zależy to jednak od rodzaju organizacji. W dobrym towarzystwie, w którym ludzie pomagają sobie nawzajem, jeśli spędzasz ponad pół dnia próbując znaleźć odpowiedź, nie wahaj się przerwać własnych badań i poprosić o pomoc.

W innych organizacjach, w których ludzie zawsze są dla siebie nawzajem, być może będziesz musiał spędzić kilka dni na własną rękę (dokumentując wszystko, co zrobiłeś i wszędzie, gdzie szukałeś), zanim poprosisz o pomoc. W takich firmach udokumentowanie tego, co zrobiłeś, pomaga ci pokazać, że „zrobiłeś google”, ponieważ będzie to pierwsza retorta, którą na ciebie rzucą.

Ale niezależnie od tego, istotą tego, czego szukałbym u młodszego inżyniera, jest dołożenie należytej staranności, próbując rozwiązać problem, zamiast oczekiwania na otrzymanie odpowiedzi przez cały czas. Krótko mówiąc, pokaż mi, że możesz używać Google.



1

Świetne odpowiedzi, jeśli śledzisz wszystko, co mówią tutaj ludzie, jestem pewien, że każdy będzie dobry w tym, co robi,

Chcę tylko podkreślić kilka punktów.

  • Bądźcie pokorni, nie bójcie się wyrażać swojej opinii, ale kiedy opinia zostanie podzielona, ​​nie trzymajcie się jej, bądźcie gotowi uczyć się od innych.
  • nawiązywać relacje z członkami twojego zespołu, ludźmi, o ile chcemy współpracować z inteligentnymi i dobrze ugruntowanymi programistami, wciąż potrzebujemy ludzi, z którymi możemy rozmawiać, utrzymywanie zdrowych relacji z członkami zespołu znacznie pomoże ci w karierze.
  • Bądź proaktywny, nie czekaj, aż dostaniesz pracę, znajdź pracę, proponuj nowe pomysły dla środowiska, nawet jeśli nie zostaną zaakceptowane, zwiększy to twoją wartość dla firmy.
  • Podziel się z innymi tym, czego się nauczysz, zwiększy to twoje zrozumienie, zwiększy twoją wartość dla firmy i społeczności.
  • Dokończ to, co zaczynasz, zaangażowanie to świetna jakość.
  • Bądź szczęśliwy i nie zawiedź się, gdy wszystko nie idzie zgodnie z planem, będą wzloty i upadki, ale trzymaj się

Wszystkiego najlepszego w swojej pracy


1

Jedna umiejętność, którą nie sądzę, że wielu programistów Jr ma, ale jest naprawdę dobra, umiejętność tworzenia własnych narzędzi. Możesz zaoszczędzić DUŻO czasu i wysiłku dzięki kilku dobrze wykonanym niestandardowym narzędziom. I wcale nie muszą być niczym szczególnym, większość moich to 3-wierszowe skrypty powłoki, choć niektóre są znacznie dłuższe.

Ale nauka automatyzacji rzeczy ułatwi ci życie. (I zaimponuj swoim współpracownikom, kiedy możesz dobrze załatwić sprawę)


-3
  • Silna niechęć do Java i C ++.
  • Podstawowa znajomość elementów wewnętrznych systemu operacyjnego, algorytmów i struktur danych.
  • Doskonała znajomość języka C i przynajmniej jeden język skryptowy.
  • Praktyczna znajomość jednego głównego nurtu VCS (Mercurial, Subversion lub Git).
  • Zdolność do sprawnej pracy w linii poleceń.
  • Nie lubię Windowsa i okazjonalnego użytku domowego systemu operacyjnego uniksowego, takiego jak Linux, BSD lub Solaris, do programowania lub ogólnego użytku.

Nie uważam, by silna niechęć do Java / C # / C ++ była tak ważna, jak zrozumienie, że świat się z nimi nie zaczyna i nie kończy. Java ma swoje zastosowania, ale podobnie jak Ruby, PHP, Erlang, Lisp itp.
Zachary K

Jak długo trwa rozwijanie praktycznej wiedzy na temat głównego VCS?
Andrew M,

@Andrew M: Osiągnięcie biegłości w posługiwaniu się mnóstwem narzędzi otaczających VCS może zająć tygodnie. Różnice, gałęzie, łatanie, łączenie. Potem jest obejście ograniczeń lub nadmiernych komplikacji każdego VCS.
Matt Joiner,

@Matt: Rozumiem, dziękuję. Więc jaki jest najlepszy sposób, aby to zrobić samemu? Czy samo użycie go do własnych projektów domowych byłoby wystarczającą praktyką?
Andrew M,

2
Twoje pierwsze i ostatnie punkty mają niewiele wspólnego z byciem dobrym w rozwijaniu lub uczeniu się (najważniejsze rzeczy, których potrzebujesz od nowych programistów). Posiadanie „silnej niechęci do XYZ” jest przydatne tylko wtedy, gdy wszyscy w zespole nie lubią tego. Jeśli wszyscy tego nie zrobią, spowoduje to tylko szczeliny. Nie ma różnicy między hejterami Windows i hejterami Linux, z wyjątkiem tego, że oboje nienawidzą. Z drugiej strony, ktoś, kto ma powody, by nie lubić czegoś opartego na osobistych doświadczeniach, oznacza, że ​​ma coś do przyniesienia do stołu - TO warto mieć ... Ale używanie Suse w domu nie uczyni cię mądrzejszym.
corsiKa
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.