Jak nowy programista może wywrzeć wrażenie na inżynierze oprogramowania (szefie)? [Zamknięte]


98

Pracuję przy pierwszej pracy programistycznej. Mój szef jest bardzo inteligentnym inżynierem oprogramowania i wydaje mi się, że mam niewiele do zaoferowania w porównaniu z nim. Problem w tym, że zawsze jest zajęty i potrzebuje kogoś, kto mu pomoże. Czuję, że nie jestem wystarczająco dobry, ale nadal chcę odnieść sukces. Chcę być świetnym programistą.

Co mogę zrobić, aby zrobić na nim wrażenie?

Dziękuję Ci.


4
@Pablo: Jak już wspomniałeś, po prostu bądź świetnym programistą :)
Fanatic23,

2
@ Fanatic23 +1 za przydatne porady ... NIE.
Olivier Lalonde,

Poproś go, aby został mentorem ...
Brian,

1
Bądź pasjonatem, sprytnym, samoukiem, szybkim uczniem i w sumie prawdziwym rozwiązaniem problemu :-)
Jahan Zinedine

7
Dla przyszłych czytelników odpowiedź TL; DR brzmi: Zaskocz swojego szefa, pozostawiając niewdzięczną pracę, aby polecieć z Michigan do San Francisco, ponieważ jedynym miejscem, w którym możesz zrobić coś imponującego, jest miasto pełne stałych rowerów.
Incognito,

Odpowiedzi:


189

Czy mówiłem ci kiedyś o Ashtonie?

Ashton był twoim klasycznym chłopcem karmionym kukurydzą. Jego rodzice byli hipisami, którzy tak naprawdę nigdy nie zdołali się połączyć, dopóki jego matka nie odziedziczyła 15 akrów w wiejskiej części Michigan. Rodzina przeprowadziła się tam, kupiła kilka mlecznych kóz i starała się zarabiać na życie organicznym serem kozim dla yuppies na targu Ann Arbor Farmer's Market.

Od czasu, gdy miał dziesięć lat, Ashton musiał budzić się każdego ranka o 4 rano i doić te cholerne kozy, a to było męczące. Ashton uwielbiał chodzić do szkoły, ponieważ oznaczało to, że nie pracował po kolana w koziej kupce. Przez całe liceum studiował dupsko, mając nadzieję, że stypendium na dobry uniwersytet będzie jego biletem na farmę. Uważał, że studia są o wiele łatwiejsze niż życie na farmie, że nie rozumiał, dlaczego wszyscy inni nie rozumieli, że A jest taki jak on. Specjalizował się w inżynierii oprogramowania, ponieważ nie wyobrażał sobie, aby inżynier mógł kiedykolwiek wstawać o 4:00 rano

Ashton ukończył szkołę, nie wiedząc wiele o branży oprogramowania, więc poszedł na targi kariery, złożył podanie o trzy miejsca pracy, został przyjęty przez wszystkich trzech i wybrał ten, który zapłacił najwięcej: coś szalonego jak 32 000 USD rocznie, pracując w dużej firmie meblowej w południowo-zachodniej części stanu, która produkowała farmy kabin dla korporacji na całym świecie. Nigdy więcej nie chciał zobaczyć farmy, więc postanowił wywrzeć dobre wrażenie na swoim szefie, Charliem Shermanie.

„To nie będzie łatwe”, powiedział jego kolega z kabiny, Jeff. „Ona jest tutaj legendą.”

„Co masz na myśli?” Zapytał.

„Cóż, pamiętasz kilka lat temu, kiedy wokół Y2K było tyle zamieszania?”

Ashton był prawdopodobnie za młody. „Y2K?”

„Wiesz, nikt nie spodziewał się, że wszystkie stare programy komputerowe napisane w latach 60. będą nadal działały w 2000 r., Więc miały miejsce tylko na dwie cyfry na rok. Zamiast przechowywać w 1999 r., Mieliby przechowywać 99. A potem, gdy rok zmienił się 1 stycznia 2000 r., Systemy komputerowe uległy awarii, ponieważ próbowały zmieścić „100” dwiema cyframi.

"Naprawdę? Myślałem, że to mit - powiedział Ashton.

„W każdej innej firmie na świecie nic się nie działo” - powiedział Jeff. „Wydali miliardy dolarów na sprawdzenie każdego wiersza kodu. Ale tutaj oczywiście są tani drani, więc nie zawracali sobie głowy testowaniem.

"Ani trochę?"

„Zilch. Zerowe testowanie. Nada. I oto, gdy ludzie zatoczyli się do pracy 2 stycznia, nic nie działało. Nie mogli wydrukować harmonogramów produkcji. Nie udało im się nawet włączyć połowy linii montażowych. I nikt nie wiedział, jakie zmiany mieli pracować. Fabryka dosłownie się zatrzymała. ”

- Żartujesz - powiedział Ashton.

„Nie sra mnie. Fabryka była całkowicie cicha. Charlie, była wtedy nowa. Pracowała w Microsoft, NASA, czy coś w tym rodzaju ... nikt nie mógł zrozumieć, dlaczego ktoś taki jak ona będzie pracował w naszej małej pachie firmy. Ale usiadła i zaczęła kodować. I kodowanie. I kodowanie.

„Charlie był kodowany przez dziewięć dni z rzędu. Dziewięć dni bez spania, bez jedzenia, niektórzy twierdzili nawet, że nigdy nie poszła do łazienki. Przeszła od systemu do systemu i dosłownie naprawiła je wszystkie. To było coś do zobaczenia. Mój Boże, tam były systemy COBOL , które musiały zostać naprawione. Cała fabryka stoi w miejscu, a Charlie wysyła ludzi do biblioteki uniwersyteckiej w Ann Arbor, aby znaleźć stare podręczniki COBOL. Pracownicy na linii montażowej stoją wokół, drżąc, ponieważ nawet termostaty miały błąd Y2K. A Charlie pije kubek za filiżanką kawy i pisze jak szalona.

"Łał. I nigdy nie poszła do łazienki?

„Cóż, ta część może być trochętrochę przesady. Ale naprawdę pracowała 24 godziny przez dziewięć dni z rzędu. W każdym razie, 11 stycznia, około pięć minut przed rozpoczęciem dziennej zmiany, wychodzi z kabiny, idzie do drukarki linii, naciska przycisk i bum! wychodzi harmonogram produkcji i harmonogram zespołu, a wszystko jest idealne, doskonale sformatowane, przy użyciu nieco mniejszej czcionki, dzięki czemu „2000” pasuje tam, gdzie kiedyś mówiono „99”, a nawet napisała nowy system optymalizacji priorytetów, który pomaga im nadrobić zaległości w produkcji przez 9 dni bez wkurzania zbyt dużej liczby klientów, a wszystkie linie montażowe zaczynają działać, jakby nic nie było nigdy nie tak, a ciepło nadchodzi, a faktury są drukowane z napisem „2000” jako rok „19100”, a po tym dniu nikt nie znalazł ani jednego błędu. ”

„Och, daj spokój!” Mówi Ashton. „Nikt nie pisze kodu bez błędów”.

"Ona zrobiła. Widziałem to na własne oczy. Pierwszego dnia spędziły dwa dni kabin bez czkawki. ”

Ashton był oszołomiony. „To epickie. Jak mogę to zrobić? ”

- Nie możesz, kolego, nikt nie może - powiedział Jeff, wracając do terminala komputerowego, gdzie wznowił internetową wojnę z płomieniami o to, kto wygra walkę, Spock lub Batman, która szalała przez ponad cztery miesiące.

Nie poddając się, Ashton przysięgał, że pewnego dnia zrobi coś legendarnego. Ale prawda jest taka, że ​​nigdy nie było drugiego Y2K. I nikt w tej części Michigan nie dał szczurom tyłka na temat dobrego programowania. W rzeczywistości programiści nie mieli prawie nic do roboty. Ashtonowi przydzielono mu głupie małe projekty ... w pewnym momencie spędził trzy tygodnie, pracując nad sprawą, w której podatek od sprzedaży w jednym konkretnym hrabstwie był nieprawidłowy, ponieważ niektóre kody pocztowe obejmowały dwie różne strefy podatku od sprzedaży. Zabawne było to, że w jakiejś niezamieszkanej części stanu Nowy Jork nikt nigdy nie kupował szaf biurowych i nigdy nie mieli tam klienta, więc jego kod nigdy nie zadziałał.

Zawsze.

Przez dwa lata Ashton podchodził do pracy z entuzjazmem i podekscytowaniem, umierając, aby coś zmienić i zrobić coś wspaniałego i niesamowitego, podczas gdy jego współpracownicy surfowali po Internecie, wysyłali wiadomości błyskawiczne do znajomych i godzinami grali w pasjansa komputerowego.

Jeff, jego kolega z kabiny, miał tylko jedną odpowiedzialność: aktualizację cotygodniowego arkusza kalkulacyjnego Excel wskazującego, ile osób zostało rannych podczas pracy w tym tygodniu. Nikt nigdy nie był. Raz w tygodniu Jeff otworzył arkusz kalkulacyjny, poszedł na dół strony, wprowadził datę i zero, wcisnął „zapisz” i tyle.

Ashton napisał nawet makro dla Jeffa, które zautomatyzowało to jedno zadanie. Jeff nie chciał zostać złapany, więc odmówił instalacji. Po tym nie rozmawiali. To było niezręczne.

Rankiem swojej dwuletniej rocznicy w firmie kabinowej Ashton jechał do pracy, kiedy coś zrozumiał.

Nigdy nie uruchomił ani jednego wiersza kodu, który napisał.

Nic, co zrobił przez dwa lata pracy, nie miało wpływu na świat.

I w tej części Michigan było kurwa 24 stopnie, było szare i śmierdzące, a jego Honda była gównem, a on nie miał żadnych przyjaciół w mieście i nic, co zrobił, nie miało znaczenia.

Jadąc linią Lincoln Avenue, zobaczył przed sobą firmę meblową po lewej stronie. Trzy flagi powiewały przed kampusem korporacyjnym: flaga amerykańska, flaga wielkiego stanu Michigan oraz biało-czerwona flaga z logo firmy. Wjechał na zakręt za długą linią samochodów czekających na skręt w lewo. Zawsze po czterech lub pięciu cyklach światłach, w godzinach szczytu, aby skręcić, więc Ashton miał mnóstwo czasu, żeby spróbować sobie przypomnieć, czy dowolny kod miał kiedykolwiek napisany został kiedykolwiek używany przez nikogo .

I tak nie było. I powstrzymał łzę.

I zamiast skręcić w lewo, poszedł prosto, prawie powodując wypadek, ponieważ zapomniał, że skręt w lewo nie oznacza, że ​​możesz iść prosto.

I pojechał prosto Lincoln Avenue, wjechał na autostradę Geralda Forda i jechał dalej, aż dotarł na lotnisko w Grand Rapids, i zostawił swoją gównianą, starą Hondę przed terminalem, doskonale wiedząc zostanie odholowany, a nawet nie zamknie drzwi samochodu. Podszedł do lady Frontier Airlines i kupił sobie bilet na następny lot do San Francisco, który odlatował za 20 minut, i dostał w samolocie i opuścił Michigan na zawsze.


61
nie możesz mnie tak zostawić. gdzie jest rozdział 2 tej historii :)
mikeal

50
Czy jestem głupi, że nie rozumiem moralności tej historii? :(
Terence Ponce

39
Potem Ashton powiedział: „spojrzałem na moje królestwo, że w końcu tam byłem, aby zasiąść na moim tronie jako książę Bel-Air”. Niestety nie mogłem się oprzeć.
Jin,

37
Morał jest taki, że jeśli nie robisz różnicy w swojej pracy lub nie masz szans na awans, znajdź pracę tam, gdzie chcesz. Byłem w sytuacji, gdy wiedziałem, że jestem dobry w swojej pracy, ale mój szef był staroświecki i nieelastyczny i wiedziałem, że nigdzie się nie dostanę, więc odszedłem. Najlepsza decyzja zawodowa, jaką kiedykolwiek podjąłem.
Simon Hibbs,

149
Historia trwa: poszedł do pracy w Google, gdzie pracował dla Wave. I znowu nikt nie używał swojego kodu.
Ivo van der Wijk,

97

Pamiętasz scenę z Aladdin, w której Aladdin chce zrobić wrażenie na Jasmine, a dżin mówi mu, że lepiej by było po prostu skupić się na byciu sobą? Ta sama zasada tutaj.

Jeśli szef jest o wiele lepszy od ciebie i ty o tym wiesz, to prawdopodobnie również o tym wie. Nie oczekuje od ciebie wielkich osiągnięć w programowaniu gwiazdorstwa rocka. Ponieważ jest to twoja pierwsza praca, najprawdopodobniej cię zatrudnił, ponieważ dostrzegł potencjał, aby stać się dobrym koderem w tobie. Więc jeśli naprawdę chcesz zrobić na nim wrażenie, naucz się. Naucz się języka, naucz się systemu, nad którym pracujesz, poznaj tajniki i ciemne zakątki. Skoncentruj się na nauce prawidłowych zasad, ich nauce i szybkim uczeniu się w tej kolejności.

I pamiętaj, że częścią uczenia się jest kopiowanie wiedzy, którą mają już inni ludzie. Nie bój się zadawać pytań ani współpracownikom, ani StackOverflow, ani badać rzeczy w Google. Cokolwiek robisz, nie udawaj, że coś wiesz, kiedy naprawdę tego nie robisz, aby nie wydawać się głupim. Każdy dobry programista zauważy to szybko, a to sprawi, że będziesz wyglądać jeszcze głupiej w ich oczach. Pokora jest nadal uważana za zaletę wśród inżynierów.

Wykonaj dobrą robotę, a to zaimponuje szefowi.


2
+1 i jeśli jego szef jest lepszy od niego - nic dziwnego
sharptooth

@Mason: Świetna i dokładna odpowiedź. Ale myślę, że powinieneś usunąć Aladdin para ....

3
Dokładnie. Nawet w szkole programowania gier jestem tym (lub tym), który ciągle zadaje pytania. Ale musisz także zrozumieć, że ludzie nie zawsze mają odpowiedź, nawet nauczyciel. Kilka razy nauczyciel odpowiedział mi „nie wiem” i nie czułem się dumny, ale bardziej jak „lepiej bym to przeszukał, zanim zmarnowałem czas tego faceta”. Ciekawość, podobnie jak w nauce, jest NAJLEPSZĄ VIRTUE, jaką możesz mieć. Poważnie, wyszukuj w Google dowolne słowa na jakiś temat, o którym się zastanawiasz. Ciekawość jest najlepszym mechanizmem uczenia się, jaki mam, to jest różnica między ludźmi, których nazywacie inteligentnymi i innymi
jokoon

3
wiesz, że jesteś w złym miejscu w życiu, kiedy bierzesz wskazówki z filmu Disneya.
Epaga,

47

Dwa słowa: bądź godny zaufania.

Na swoim stanowisku nie zostałeś zatrudniony jako najmądrzejsza osoba w zespole. Zostałeś zatrudniony ze względu na potencjał, który pokazałeś i ponieważ istnieją zadania dostosowane do twojego poziomu umiejętności, które wymagają wykonania.

Pokaż, że możesz w pierwszej kolejności sprostać temu zaufaniu, a gdy poznasz kod i firmę, znajdź sposoby, aby przewyższyć ich pierwsze wrażenie. To ostatnie może trochę potrwać, ale nie pomyl się z tym, że jesteś młodszy, ponieważ jesteś gorszy.


2
Ten komentarz odnosi się do każdej pracy. To po prostu niesamowite, jak niezawodność może zapewnić ci miejsca.
Bryan Harrington,

27

Jak się wydaje na zawsze, podjąłem niesamowitą pracę, pracując z pokojem pełnym niesamowitych i utalentowanych programistów. Wszyscy byli gwiazdą rocka, kilka osób z oryginalnego zespołu Macintosha, prawie połowa osób, które tam wydały książki, było to świetne miejsce.

Pierwszy rok spędziłem tam, próbując zaimponować wszystkim. Czułem się, jakbym musiał zrobić coś niesamowitego, co sprawiło, że w bardzo krótkim czasie dowiedziałem się więcej, niż kiedykolwiek myślałem. Na drugim roku uspokoiłem się, byłem bardziej pewny tego, co robię, trochę głośniej o moich opiniach, a kiedy się rozejrzałem, stawałem się coraz bardziej pesymistyczny w stosunku do faktycznego produktu, który budowaliśmy.

To był ostatni rok, w którym projekt był w pełni finansowany. Ci niesamowici inżynierowie, do których wciąż patrzę do dziś, spędzili 5 lat i miliony dolarów na tworzeniu frameworka po frameworku, platformy aplikacji do budowania na bazie aplikacji, która tak naprawdę nie została dostarczona, a wreszcie interfejsu użytkownika i przepływu pracy, którego nikt nie mógł rozumiem, nawet ludzie, którzy go zbudowali.

Spryt jest przereklamowany. Bycie „gwiazdą rocka” jest przereklamowane. To naprawdę łatwa wymówka, aby zwiększyć próg złożoności. Sprawia, że ​​myślisz, że ważniejsze jest przepisanie działającego systemu, aby był „czystszy”, niż wdrożenie kolejnej rzeczy, o którą poprosił klient.

Jacob Kaplan Moss powiedział mi kiedyś coś o programatorze, którego nie wymienię, powiedział: „Jest zbyt inteligentny. Pisze te naprawdę inteligentne, skomplikowane biblioteki, których nie mogę używać, ponieważ nie jestem wystarczająco inteligentny. Głupi ludzie powinni pisać biblioteki aby głupi ludzie mogli z nich korzystać ".

Programiści, którzy „osiągnęli” inżynierów, zwykle zlekceważyli nos, ludzie, którzy piszą w Ruby, JavaScript i innych językach „zabawkowych”, ci ludzie tworzą PRODUKTY i WYSYŁAJĄ JE. Kod może być brzydki, architektura może nie być tak czysta i czysta, jak byś chciał, ale wysyłają ją do cholery, a w tej branży to jest naprawdę ważne.

Na twoim miejscu zrezygnowałbym z bycia gwiazdą rocka i skupiłbym się na wysyłce i budowaniu produktu. Nie powinieneś oceniać swojego wkładu na podstawie tego, jak sprytny jest twój kod, powinieneś oceniać na podstawie liczby osób, które uruchamiają go codziennie i są zadowolone.


1
Prawda. Napisz kod, który można łatwo naprawić, gdy klienci narzekają lub gdy coś się psuje, a będziesz wyglądać, jakbyś miał swoje gówno razem.
TehShrike,

14
Spryt nie jest przereklamowany. Jeśli zbudowali zbyt skomplikowany i pozbawiony kontaktu z rzeczywistością system, to wcale nie byli bystrzy. Mądrzy ludzie powinni pisać biblioteki, aby głupi ludzie mogli z nich korzystać.
EMP,

1
Niedawno odbyłem podobną rozmowę i jeden z moich współpracowników określił kod osoby / styl kodowania jako „pretensjonalny” ... i myślę, że to naprawdę trafny opis ... Kolega piszący kod jest / był genialny .. ... nikt, kto go znał, nie zgodziłby się ... ale jego kod był okropnie pretensjonalny ... co miało taki efekt uboczny, że trudno było go stosować dla ludzi, którzy nie byli równie błyskotliwi ... Lubię pisać kod dla głupich ludzi ( To sprawia, że ​​mój głupi *** łatwiej to zrozumieć).
TJ Seabrooks,

2
Zespoły muszą składać się z różnych rodzajów ludzi, aby odnieść sukces. Potrzebujesz projektantów, architektów, programistów, menedżerów, chrząknięć, inteligentnych ludzi, ludzi zorientowanych na szczegóły, ludzi, którym zależy na procesie itp. Jeśli masz tylko jeden typ osoby, Twój zespół prawdopodobnie nie będzie dobrze współpracować i jest bardziej prawdopodobne, że zawiedzie niż nie. Grupy, które próbują zatrudnić tylko gwiazdy rocka, często nie dostrzegają tego faktu.
onedozenbagels

@Eggeny Zgoda. Chodzi o to, aby uczynić coś trudnym (lub przynajmniej nużącym) łatwiejszym poprzez abstrakcję. Potrzebujesz tylko inteligentnych ludzi, którzy kochają prostotę.
LnxPrgr3

16

Napisz wyraźny, solidny kod.


7
W tym dobra dokumentacja!

1
... Tak jasne, że jest całkowicie przejrzyste. To będzie jak uderzenie ciężarówką w niewidzialny mur z prędkością 50 mil na godzinę. [Do kogo zadzwonisz? MythBusters!]
Mateen Ulhaq

Ogólnie dobra rada. Ale niestety jest to problem sysadmin - jeśli wszystko działa, nikt cię nie zauważy, jeśli coś się zepsuje, wszyscy cię winią. To samo dotyczy kodu: jeśli jest jasny, prosty i po prostu działa, nikt nie uwierzyłby, że trudno go napisać. Nie jest to więc sposób na „rozpoznanie”.

1
staraj się być wymienny - w ten sposób zostaniesz awansowany lub wymieniony.
IAdapter

lol @try być wymiennym! Czy nie masz na myśli być niezastąpionym, pisząc kod wymienny?
Anonimowy typ

15

Pukaj do jego drzwi. Zapytaj go, czy ma jakieś gówniane prace, które odkładał, z którymi mógłbyś sobie poradzić. Powiedz mu, żeby wysłał ci później e-maila, jeśli nie ma teraz czasu.


2
lub powiedz mu, żeby cię zwolnił, jeśli ci się nie uda.
IAdapter

Zarówno ta odpowiedź, jak i komentarz @IAdapter doprowadziły mnie do szału.
CFL_Jeff

13

Czytaj Knuth

(następstwo: wielu ludzi ma Knutha, ale nikt nie czyta Knutha)

Wszyscy naprawdę dobrzy programiści, z którymi pracowałem, mają pewne cechy wspólne:

(1) Mimo że nie musisz być dobry z matematyki, aby programować, i tak byli (i podobało im się)

(2) Doceniają jakość, którą nazywam „elegancją” - nie należy jej mylić ze zwięzłością (!!!)

(3) Są dobrzy w projektowaniu oprogramowania (nawet jeśli nikt z nas nie jest w stanie wyjaśnić, czym tak naprawdę jest dobry projekt)

Ponadto osobiście uważam, że przydatne są następujące cechy:

(a) lubię rozwiązywać zagadki

(b) pisanie czytelnego kodu

(c) dobra pamięć

(d) może łatwo powierzchownie dostosować się do innych języków programowania (szerokość)

(e) dogłębnie naucz się swojego głównego języka (np. wykonaj certyfikację Java, jeśli Java jest twoim środowiskiem (dla nieświadomych przeciwników, którzy nigdy tego nie zrobili, ale zrzucaj certyfikację, ponieważ certyfikacja Microsoft jest (była?) naprawdę zła ... korzyści nie ma w tym mając kawałek papieru, korzyść jest w badaniu ))

(f) biorąc pod uwagę wybór zrobienia czegoś prostego i łatwego, a następnie przejścia do przodu lub czegoś bardzo skomplikowanego, co zajmie tygodnie / miesiące, robię tę prostą rzecz. Lubię proste, ponieważ dąży do solidności, jest też bardziej elastyczne, gdy wymagania zmieniają się w połowie kroku, i jest znacznie łatwiej komunikować się z innymi członkami zespołu

(g) jeśli robisz coś, co uważasz za szczególnie przebiegłe, udokumentuj to

Ktoś (Djikstra?) Powiedział, że debugowanie jest dwa razy trudniejsze niż kodowanie, dlatego jeśli piszesz kod, który ogranicza możliwości, z definicji nie jesteś wystarczająco inteligentny, aby go debugować.

========

Powiedziawszy to, stawanie się inteligentnym / lepszym programistą nie jest tym samym, co rozwój kariery.

Tak naprawdę tylko jeden „tajny składnik” jest wymagany do rozwoju twojej kariery i są to umiejętności ludzi.

Jeśli naprawdę chcesz rozwijać swoją karierę , najlepiej jest rzucić palenie i sprzedawać samochody przez 6-12 miesięcy.


3
Myślę, że ten cytat to Kernighan: stackoverflow.com/questions/1103299/…
Orbling

2
„Debugowanie jest dwa razy trudniejsze niż pisanie kodu. Dlatego, jeśli piszesz kod tak sprytnie, jak to możliwe, z definicji nie jesteś wystarczająco inteligentny, aby go debugować. ”- Brian Kernighan
Ape-inago

4
O dobrej pamięci: znałem bardzo dobrego programistę z wyjątkowo dobrą pamięcią. Mógł spojrzeć na kod, który napisał 2 lata temu i przypomnieć sobie, co wtedy myślał. Dlatego nigdy nie wkładał wiele wysiłku w pisanie dobrych komentarzy - wystarczy słów kluczowych, aby utworzyć kod skrótu. Moja pamięć jest do kitu. MUSZĘ dobrze komentować, ponieważ wiem, że 1-2 miesiące po zgłoszeniu błędu musiałbym zrobić to samo, co ktoś zupełnie nowy - np. Przeczytać każdy dziwny krok. Oczywiście niektóre rzeczy są bardziej żywe niż inne ... Nie mówię, że jestem świetny, ale opiekunowie i testerzy lubią mnie;)
Job

1
Niemniej jednak elegancja i zwięzłość mają wiele wspólnego.

Spotkałem wielu świetnych programistów i nigdy nie zauważyłem, że nawet wiedzą, czym jest matematyka, dlaczego? mówisz tylko o matematyce w szkole i złych wywiadach programistycznych. chyba że mówisz o przedwczesnej optymalizacji, spotkałem ludzi z niesamowitymi umiejętnościami dodawania (mogli nawet dodawać rzeczy, które istnieją tylko w ich głowach, myślę, że nazywa się to dyskretną matematyką).
IAdapter

11

Kodowałem od ponad 20 lat i obecnie współpracuje ze mną 10 programistów. Muszę powiedzieć, że robią na mnie wrażenie te, które dobrze wykonały swoją pracę, dostarczyły na czas iz jakością (mniej błędów). komunikować się często, okazanie pasji to ważne czynniki.

to wszystko, co mogę teraz udostępnić. ;)


Czy masz jakieś cholerne prace do wykonania? (Jak wspomniał Doug w odpowiedzi-25473), ponieważ myślę, że nie ma żadnej, ale mogę się mylić.
IAdapter

9

Chciałbym tylko dodać ten cytat z Ewangelii:

„Ktoś, komu można zaufać bardzo mało, można również zaufać bardzo, a każdemu, kto jest nieuczciwy, mając bardzo mało, również nieuczciwie będzie dużo”.


3
To znaczy z Łukasza 16:10 : „Ten, kto jest wierny w najmniejszej mierze, jest także wierny w wielu; a kto jest niesprawiedliwy w najmniejszych, jest także niesprawiedliwy w wielu”. Także: „Dobra robota, dobry i wierny niewolniku. Byłeś wierny w kilku sprawach; ustawię cię w wielu sprawach. Wejdź w radość swego pana”. (Mateusza 25:21)
Mark C

7

Będąc szefem programistów, mogę powiedzieć, że nic mnie nie uszczęśliwiało bardziej niż wtedy, gdy programista naprawił błąd, który miałem ochotę naprawić !

Więc jeśli możesz, napraw jego błędy dla niego.


6

Jak mówi Steven, Mason ma rację - skup się na własnej grze. Należy pamiętać, że szef chce, abyś dobrze wykonywał swoją pracę. Prawdopodobnie podoba mu się fakt, że jest lepszy od ciebie - gdyby tak nie było, czułby się niepewnie (szefowie są ludźmi!). W tej chwili jesteś w idealnej pozycji, aby uczyć się na podstawie jego doświadczenia - nie marnuj czasu na konkurowanie z nim, zamiast tego zapytaj go o radę. Jeśli kiedykolwiek przeczytałeś 48 Praw Mocy, kluczowe jest: „Nigdy nie przyćmiewaj mistrza”.


I zanim Software Monkey skieruje na mnie ten sam punkt, co u Stevena ... Poparłem odpowiedź Masona :) Chciałem po prostu nieco inaczej się zająć.
Stuart Golodetz,

Ale czy głosowałeś również na Stevena? ;)
Jackson Miller,

6

Rozwiąż kostkę Rubika. Szef będzie wiedział, że lubisz łamigłówki i da ci trudne zadania.


1
tak, ale to zależy od tego, czy chcesz trudne zadania, czy nie.
Robert S Ciaccio,

Aby to zadziałało, musisz to zrobić. To

Zrobiłem to, gdy miałem 11 lat, po zdobyciu nowego C64 na Boże Narodzenie.
Pablo,

1
Mogę to zrobić w niecałą minutę. Co teraz? Gdzie są moje trudne zadania? : P
Nathan Osman,

+1 najlepsza jak dotąd odpowiedź! George - zrób to teraz z zamkniętymi oczami!
IAdapter

6

Jeśli chcesz wywrzeć wrażenie na szefie, bądź szczery. Na swoim cotygodniowym koncie 1-1 spytaj go, co jest dla Ciebie najważniejsze, i zrób to. Spróbuj zrozumieć, co według niego jest twoją rolą, i postaraj się ją wypełnić. Możliwe, że potrzebuje on pewnych zadań, aby mógł skoncentrować się na tym, co robi. Jeśli starasz się robić rzeczy, które on robi, być może nie wykonujesz wystarczającej ilości własnego zadania. Znajdź swoje miejsce w zespole, wyróżnij się, a następnie rozwiń. Powiedz mu, że chcesz pomóc.


5

@Mason ma rację

  • słuchać
  • uczyć się
  • zadawaj odpowiednie pytania z szacunkiem w odstępach czasu (np. dwa razy dziennie, nie co 5 minut)
  • zrelaksuj się i bądź sobą

3
Jeśli @Mason ma rację, czy nie powinieneś po prostu głosować na jego odpowiedź zamiast publikować własną, która po prostu podsumowuje jego odpowiedź?
Lawrence Dol

@ Software: Poparłem jego odpowiedź i rozwinąłem ją.
Steven A. Lowe,

2
@ Software Software - i zamienił go w punktory. Szczerze mówiąc, jak tylko zobaczyłem Alladin, przeskoczyłem do następnego punktu. Myślę, że to całkiem niezły wkład.
Alex C,

@Alex: +1 z kulą!
Steven A. Lowe,

5

Według mnie największym atutem, który zielony programista może przynieść do stołu, poza jego umiejętnościami technicznymi, jest inicjatywa i pasja. Jeśli pokażesz swojemu szefowi, że jesteś agresywny w uczeniu się nowych rzeczy, agresywny w uczeniu się w firmie, bazie kodu, narzędziach i współpracownikach, i pokazujesz, że masz pasję do tego, co robisz , to zrobi wrażenie. Chyba że pracujesz dla okropnego menedżera, w którym to przypadku i tak chcesz wyjść.

Chciałbym również zasugerować jakiś nacisk na „miękkie umiejętności” rzeczy. Pokaż, że nie jesteś tylko maniakiem, który jest bezużyteczny w jakiejkolwiek interakcji międzyludzkiej. Zaprzyjaźnij się z ludźmi z działu sprzedaży, marketingu, wsparcia, rozwoju biznesu, zarządzania projektami itp. Pokaż, że jesteś dobrym komunikatorem i osobą, która może współpracować z ludźmi, aby załatwić sprawę.


Sh.t ​​gromadzi się z czasem w bazie kodu i zwykle zauważają to ludzie zieleni. Czasami czytanie go po raz pierwszy może sprawić, że poczujesz się wyjątkowo. Zależy od tego, jak duża jest organizacja, od tego, jak dobrze oceniają test Joela itp.
Job

3

Jeśli masz taką swobodę: pisz dotacje, przynieś pieniądze z dotacji z zewnątrz lub rozpocznij współpracę o wartości biznesowej z nowymi partnerami, którzy uważają cię za kompetentnego programistę lub pracownika o najmniejszej wartości.


3

Nie zawracaj sobie głowy imponowaniem ludźmi lub szefami. Nikt nie jest pod wrażeniem samej rozmowy. Zamiast tego skoncentruj się na kodzie wysyłki. Upewnij się, że jesteś zaangażowany w projekty lub aplikacje, z których będą korzystać ludzie. Więcej kodu, który masz w produkcji, będzie bardziej odpowiedni. Bardziej odpowiedni jesteś dla ludzi, bardziej będą na tobie polegać. Reszta to cała magia.


dobra uwaga, powinieneś zostać Menedżerem wersji i nie pozwalać innym osobom mówić Ci, co napisać, pisać, co chcesz i wysyłać!
IAdapter

2

Pracuj ciężko. Rób wszystko, co ci powiedzą i ucz się wszystkiego. Masz szczęście, że pracujesz u kogoś, kto wie o wiele więcej niż ty, pracuj do momentu, aż będziesz w stanie nadrobić zaległości.

Oprócz ciężkiej pracy i powodzenia w pracy, w której się teraz znajdujesz, chciałbym udzielić porady, która może być odpowiedzią na pytanie, którego nie zadajesz. (Nie było nawet na moim radarze, kiedy dostałem pierwszą pracę programistyczną).

Internet tworzą ludzie tacy jak ty. I ludzie tacy jak ty mogą zarabiać w Internecie.

Znajdź coś, co Cię pasjonuje. Zbuduj to. Sprzedaj to. Być swoim własnym szefem.

  • Otwórz http://news.ycombinator.com i zacznij czytać artykuły. Zobaczysz niekończącą się falę historii od ludzi takich jak Ty, którzy mieli pomysł, zbudowali stronę internetową i udało się zarobić na tym jednego lub dwóch dolarów. Inspirujące i otwierające oczy jest facet, który zarabia absurdalnie dobrą płacę, sprzedając generator kart bingo nauczycielom ... inny facet, który sprzedał stronę internetową za miliony Google. Jest tam również wiele innych interesujących technologii.

  • „Bogaty ojciec, biedny ojciec” są miejsca, w których ma dobrą radę.

  • „Czterogodzinny tydzień pracy” bierze ten z odrobiną soli, ale ma kilka interesujących sposobów patrzenia na pracę i życie.

Ucz się od faceta, którym teraz jesteś. W „twojej pierwszej prawdziwej pracy” jest tyle rzeczy do nauczenia, że ​​nie mogę nawet zacząć. Jednak na dłuższą metę (trzy, pięć, dziesięć, dwadzieścia lat), jeśli nauczysz się, jak zarabiać własne pieniądze, nie będziesz musiał się martwić, że zrobisz wrażenie na kimś innym.


2

Rzadko robisz wrażenie na ludziach, próbując zrobić na nich wrażenie. I dopóki próbujesz wywrzeć wrażenie na ludziach, a oni nie wydają się pod wrażeniem, twoja frustracja będzie rosła.

Wykonuj swoją pracę w sposób, który sprawia, że ​​jesteś z siebie dumny. Nie martw się o to, co ktoś myśli. Jedyną osobą, którą możesz uszczęśliwić, jesteś ty.


1

Podobała mi się historia zamieszczona w odpowiedzi, ale jest bardziej zabawna niż wiarygodna odpowiedź.

To normalne, że wszyscy są tacy jak ty: staramy się być lepsi w tym, co robimy, to ludzie. Ale okropna prawda jest taka, że ​​istnieje tak małe szanse, że będziesz w tym najlepszy.

Jeśli chodzi o mnie, zawsze obawiałem się pokory, ponieważ nienawidzę tych dziecinnych walk o to, kto ma rację, a kto nie, i oto dlaczego.

Dopóki nie jesteś jednym z najlepszych, lepiej staraj się pracować, aby uzyskać więcej doświadczenia, porównując to, co wiesz i robisz z tym, co wiedzą i robią najlepsi programiści.

Można powiedzieć, że porównuję się do najlepszych programistów, ale to tylko połowa racji: - Lepiej porównuję się do najlepszych, wiedząc, że jestem po prostu absurdalny w porównaniu do nich, dlatego zasada porównywania jest dość głupia i bezużyteczna. - Nie uważam ich sławy, a raczej tego, co osiągnęli, aby ją zdobyć, ponieważ w rzeczywistości większość mitów geniuszy zanika, gdy pozna się prawdziwy fakt, na przykład, jak działa biznes. Nie zmienia to faktu, że osiągnęli świetną pracę, ale pamiętaj, że trudno jest ocenić doświadczenie, jeśli myślisz o warunkach pracy. - W końcu proces ten unika procesu konkurencji, który jest dla mnie naprawdę niepokojący, i pomaga mi skupić się na tym, co ważne: uczenie się przez praktykę, ale także uczenie się przy pomocy dobrego silnika ciekawości.

Możesz podziwiać kogoś, kogo chcesz, myśląc, że jest on lepszy niż wszyscy inni pracownicy lub inni programiści, których spotkasz, ale musisz pamiętać, że świat jest ogromny i że facet, którego podziwiasz, jest w rzeczywistości dość średni w porównaniu do innych lepszych doświadczeni ludzie tam są, więc może poczujesz się lepiej, gdy zrobisz na nim wrażenie, ale poczujesz to samo wobec innych ludzi z lepszym doświadczeniem niż on, więc to wszystko na nic.

Wyjdź z tej drobnej gry i spróbuj znaleźć bardziej interesujące tematy, o których mogłeś słyszeć, ponieważ ten inżynier, o którym mówisz, z pewnością jest zajęty pracą nad czymś mniej świetnym, niż myślisz.


Dzięki temu postowi mogłem to zrozumieć. Kiedy schodzisz z dołu, bohaterowie są narzędziami, których użyłem, by zmotywować mnie do działania. Ale teraz, kiedy dotarłem do lepszego miejsca, muszę stać się moim własnym bohaterem i ciężko pracować. Nie dla uznania, ale dla siebie. Mój ojciec, który jest mądrym człowiekiem, powiedział mi kiedyś, że tajemnicą sukcesu jest ja. Nigdy tego nie dostałem do wczoraj. Dziękuję Ci.
Pablo,

1

Muszę zgodzić się z niektórymi z pozostałych tutaj, że prawdopodobnie nie uda ci się osiągnąć celu - ponieważ skupiasz się na niewłaściwym problemie , a przynajmniej twoja uwaga jest zbyt wąska.

Chcesz być świetnym programistą - czy subiektywna opinia jednego inżyniera oprogramowania nadaje ci ten tytuł i umiejętności (inne niż Joel)? Jeśli skupiasz się tylko na wywarciu wrażenia na szefie, nie koncentrujesz się na pracy ani na doskonaleniu swoich umiejętności - nie koncentrujesz się na celu, jakim jest zostać świetnym programistą. Starasz się uzyskać szacunek, niż go zdobyć.

Weźmy najgorszy przypadek (ponieważ programiści lubią to robić) - twój szef absolutnie cię nienawidzi bez obiektywnego powodu (nosiłeś kapelusz Patriots pierwszego dnia, cokolwiek). Po prostu nigdy nie będzie miał o tobie dobrej opinii. Jeśli skoncentrujesz się na wykonywaniu powierzonych zadań, na skutecznym i eleganckim rozwiązywaniu problemów i rozwijaniu swojego zestawu umiejętności technicznych - poprawisz siebie - w końcu jesteś zwycięzcą - niezależnie od tego, co myśli twój szef.

Praca Ashtona była przepisem na porażkę nie dlatego, że jego kod się nie wykorzystał, ale dlatego, że ta praca nie przyniosła mu żadnych praktycznych korzyści poza bezpieczeństwem w hierarchii Maslowa. Czy uczył się nowych umiejętności? Nie. Czy jego praca pozwoliła mu być kreatywnym? Nie. Czy zdobył mu szacunek? Nie.

Ponieważ jest to Twoja pierwsza pozycja, domyślnie oferuje większość z tych właściwości. Będziesz miał swoje pierwsze doświadczenia w profesjonalnym programowaniu, otrzymasz nowe wyzwania zarówno techniczne, jak i nietechniczne. Ale nadejdzie czas, kiedy wyrośniesz z pozycji lub wyrosnie ona z ciebie, i musisz ciągle się doskonalić, abyś nie był zaskoczony.

I jeszcze jedno, jeśli Ashton zamierza zmierzyć swoją wartość jedynie na podstawie liczby osób używających jego kodu, to sugeruję, aby dołączył do klubu osób często podróżujących. Jedynym trwałym szczęściem w życiu jest to, co tworzymy dla siebie. Życie ściśle według opinii innych ludzi na temat nas powoduje tragiczne i nieautentyczne istoty ludzkie.

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.