Pytanie:
Mój kierownik nie ma umiejętności obliczeniowych, ale chce mieć dostęp do mojego kodu: czy mam na to zezwolić?
Monoandale
2015-08-12 01:34:59 UTC
view on stackexchange narkive permalink

Mój przełożony nie ma żadnych umiejętności obliczeniowych: bez zaawansowanej analizy danych, bez skryptów, bez programowania. Niedawno zmienił częstotliwość naszych spotkań na cotygodniowe (z jednego co 2 tygodnie) i chce sprawdzać mój kod tydzień po tygodniu.

Tło: nie jest specjalistą i stara się głównie zmonopolizować dostęp do moich technicznych ekspertyza, np jeśli chcesz korzystać z technologii X, musisz przejść przeze mnie. Ale inni ludzie byli bardzo zadowoleni z mojej pracy i nikt nigdy nie narzekał.

On tak naprawdę nic nie wie o tworzeniu oprogramowania. Myślę, że chce kontrolować mój kod, albo licząc wiersze, albo dając go swojemu przyjacielowi, który powie mu „to jest do bani, zapłać mi, a zrobię to za mniej”. Myślę, że danie mu dostępu do mojego kodu tylko mnie spowolni. Czy powinienem pozwolić na to mojemu menedżerowi?

Nie możesz go powstrzymać, to własność firmy, ale z pewnością powinieneś być dobrze przygotowany na wszystkie wspomniane ewentualności.
Czy faktycznie * zapytałeś * go, do czego potrzebuje kodu? Skąd znasz * jego * przyjaciół tak dobrze, że jesteś pewien, co * oni * zrobiliby z twoim kodem?
Zakładając, że jesteś zwykłym pracownikiem, a nie jakimś niezależnym wykonawcą, to nie jest twój kod. To kod pracodawcy, który stworzyłeś dla niego w trakcie zatrudnienia.
Martwiłbym się o jakość kodu, gdybyś nie mógł nawet spróbować tego wyjaśnić osobie nietechnicznej, która ma wymagane doświadczenie biznesowe. Czy jest jakiś powód, dla którego chcesz tego „zabronić”?
@Monoandale Kiedy napisałem swoją odpowiedź, było jasne, że w Twojej sytuacji brakuje wielu szczegółów. Jak przechowywany jest kod? Lokalne czy repozytorium? Jesteś pracownikiem lub wolnym strzelcem? Czy inne osoby mają dostęp? Jak zorganizowana jest Twoja firma (Ile osób, ile poziomów?)
Jeśli Twój kod jest poprawnie wpisany w solidnym systemie zarządzania wersjami. Więc nie może tego zepsuć ani wprowadzić zmian i powiedzieć, że to ty.
Twoje pytanie staje się dla mnie niejasne. On nie jest techniczny. Po czym może stwierdzić, że używasz technologii X?
Czy wiesz, czy znajomy Twojego kierownika jest współpracownikiem, czy kimś spoza firmy? Jeśli poprosi kogoś, kto tam nie pracuje, o przejrzenie twojego kodu, złamałby poufność firmy i oboje mogliby podlegać postępowaniu dyscyplinarnemu (on za prośbę i ty za posłuszeństwo)
akademickie wsparcie IT.
Co oznacza „zmonopolizowanie dostępu do mojej wiedzy technicznej”? Wygląda na to, że twój menedżer próbuje tobą zarządzać, aby mógł ustalać priorytety, rozumieć różne jednostki biznesowe, które proszą cię o zrobienie pewnych rzeczy, itp. W takim przypadku jest to dość podstawowa odpowiedzialność menedżera. Nie jestem pewien, dlaczego miałoby to mieć coś wspólnego z potrzebą dostępu do twojego kodu. Ale nie mogę sobie wyobrazić, dlaczego miałbyś sprzeciwić się zarządzaniu tobą przez twojego menedżera. Zwłaszcza, gdy wiele innych pytań wskazywało, że pociągają cię w wielu kierunkach naraz.
Czy dana aplikacja ma problemy z wrażliwością? Znam menadżerów App Dev, którzy nie mogą widzieć formuł takich rzeczy jak obliczanie wynagrodzeń i premii oraz niektórych danych HR, mimo że zarządzają programistami, którzy muszą to zakodować. Więc takie problemy z pewnością mogą się pojawić, czy mają one zastosowanie tutaj?
odpowiedni film, bezmyślni menedżerowie i eksperci: [Ekspert, aby narysować 7 linii] (http://www.youtube.com/watch?v=BKorP55Aqvg)
Skoro nie wskazałeś żadnych negatywnych konsekwencji ukrycia kodu, na czym polega problem?
Zwróć też uwagę - możliwe, że Twój menedżer czytał coś o cotygodniowych meczach 1 na 1. Chociaż mógł przeczytać część „cotygodniową” i przegapić to, co jest naprawdę ważne w pojedynkach 1 na 1.
@Carson63000, Zależy od umowy i kraju.
Fakt, że wydaje ci się, że masz władzę kontrolowania tego, czy twój szef ma dostęp, czy nie, jest zdumiewający. Czy Ty i Twoja firma macie wdrożone odpowiednie systemy zarządzania kodem źródłowym? jeśli tak, jak to się dzieje, że Twój szef nie może _ już_ spojrzeć na Twój kod?
Nie spekuluj, jakie są jego motywy, a jakie nie. Zwykle, gdy pracownicy mają paranoję na ten temat, są w błędzie. W każdym razie, o ile menedżer nie prosi o wprowadzenie własnych zmian w kodzie, nie ma powodu, dla którego nie powinien mieć jego kopii. Jeśli pozwolą ci odejść z tego powodu, nie przejmuj się. Wokół jest mnóstwo zawodów programistycznych.
Jeśli twój kod znajduje się w systemie kontroli wersji - a powinien być - i jest dostępny przynajmniej w trybie tylko do odczytu / tylko dla wszystkich innych programistów - co też powinno być - to po prostu uczy go, jak uzyskać dostęp do repozytorium zawierającego kod i pozwól mu wyglądać tak, jak chce. Jeśli używasz githuba, mają nawet świetne narzędzia, dzięki którym widzi wszelkiego rodzaju statystyki.
Mój kod jest w VC i są inni programiści, z którymi nie mam kontaktu, z własnym repozytorium. Ich menadżer wie coś o rozwoju. Mój nie.
Cześć Monoandale, czy możesz edytować post, aby zawierał informacje z komentarzy? Również w pytaniu skup się na konkretnym wyniku. Jaki problem masz nadzieję rozwiązać? Zapytaj o to, a nie tylko ogólnie, co robić. Mam nadzieję że to pomoże! Zobacz [zapytaj] po szczegóły, ponieważ pomoże to uniknąć zawieszania postów.
Piętnaście odpowiedzi:
user52889
2015-08-12 01:44:08 UTC
view on stackexchange narkive permalink

Czy mam pozwolić mojemu przełożonemu to zrobić?

Tak, prawie na pewno. Jeśli jesteś w normalnym stosunku pracy, kod write należy do Twojej firmy i nie masz prawa odmówić Twojemu przełożonemu dostępu do Twojego kodu. Odmowa prawie na pewno byłaby postrzegana jako nierozsądna lub podejrzana i mogłaby spowodować postępowanie dyscyplinarne.

Chce sprawdzać mój kod tydzień po tygodniu

Jeśli to ci przeszkadza, dowiedz się, czego on naprawdę potrzebuje. Kiedy to się pojawi, porozmawiaj z nim o tym. Jeśli wzajemnie uznano, że nie programuje, zapytaj, co chciałby z tym zrobić i jak możesz mu w tym pomóc. Jeśli on chce liczb, a ty nie chcesz być oceniany na podstawie linii, znajdź alternatywne wskaźniki, które lepiej odzwierciedlają twoją pracę, np. zasięg testu.

Nie bądź defensywny, bądź dumny ze swojego kodu.

(Chyba że jest to naprawdę zły kod, w takim przypadku przestań pisać źle kod!)

@user52889, Jakie inne sugestie masz jako metryki oprócz pokrycia testów?
Wspomniałem o pokryciu testów, ponieważ nic innego się nie liczy, jeśli kod nie robi tego, co powinien. Zakres dokumentacji jest ważny. Metryki wydajności - czas / pamięć / dysk, w zależności od tego, co ma znaczenie (należy jednak pamiętać, że dane wydajności służą do porównania, a nie do pomiaru bezwzględnego). Jeśli jesteś zdeterminowany, wszystko to można pogłębić, ale zazwyczaj wystarczy krótka inspekcja kodu, aby się przed tym ustrzec. Mogą istnieć inne metryki, które odnoszą się do celów kodu lub zespołu.
Metryki mogą być trudne do zastosowania do danych wyjściowych kodu. Ale inną opcją jest oferowanie raportów postępu. Wyjaśnij na wysokim poziomie funkcje, które opracowujesz, lub błędy, które naprawiasz. Można to prawdopodobnie osiągnąć w ciągu 5-10 minut tygodniowo.
Joe Strazzere
2015-08-12 03:27:19 UTC
view on stackexchange narkive permalink

Myślę, że chce kontrolować mój kod, licząc wiersze lub przekazując go swojemu przyjacielowi, który powie mu „to jest do bani, zapłać mi, a zrobię to za mniej”.

Możesz mieć rację.

Może chce liczyć wiersze. Może chce sprawdzić Twój styl kapitalizacji. Może chce zobaczyć, jak dobrze komentujesz. Może chce sprawdzić, czy postępujesz zgodnie z przewodnikiem stylu firmy. Może chce się czegoś nauczyć z twojego kodu. Tak naprawdę nie wiesz, a my najwyraźniej nie możemy wiedzieć. Ale nieważne - to i tak jego prawo. Pracujesz dla niego. Próba odmówienia szefowi dostępu do kodu, który piszesz, z pewnością będzie mieć negatywny wpływ na Twoją pracę.

Jeśli Twój menedżer naprawdę chce się ciebie pozbyć i zamiast tego zatrudnić swojego przyjaciela, prawie na pewno nie potrzebuje dostępu aby to zrobić.

Myślę, że udostępnienie mu mojego kodu tylko mnie spowolni.

Możesz mieć rację w tym przypadku.

Czy powinienem pozwolić mojemu menedżerowi to zrobić?

Tak, ale „zezwól” jest tu niewłaściwym słowem. Jeśli Twój przełożony każe Ci udzielić mu dostępu i jeśli w ogóle cenisz swoją pracę, nie masz wyboru.

Nie jesteś właścicielem kodu, ale robi to Twój pracodawca. Nie jesteś menadżerem, ktoś inny jest. Nie możesz decydować, kto ma dostęp do Twojego kodu, a kto nie, robi to Twój menedżer.

Twój menedżer nie potrzebuje Twojej zgody na dostęp do napisanego przez Ciebie kodu. Próba odmówienia dostępu do napisanego kodu może być szybkim sposobem na uzyskanie odmowy dostępu do swojej pracy.

Komentarze nie służą do rozszerzonej dyskusji; ta rozmowa została [przeniesiona do czatu] (http://chat.stackexchange.com/rooms/26925/discussion-on-answer-by-joe-strazzere-my-manager-does-not-have-computational-ski) .
Thorsten S.
2015-08-12 12:20:37 UTC
view on stackexchange narkive permalink

Dziwnie brzmiące pytanie.

Zwykle w przypadku tworzenia oprogramowania zawsze masz system kontroli wersji, w którym każdy, kto ma prawa, może uzyskać dostęp do kodu i zobaczyć jego historię rozwoju. Twoje pytanie brzmi tak, jakbyś miał swój kod lokalnie lub w niedostępnym repozytorium ( co samo w sobie jest bardzo złym pomysłem, utrata danych jest zawsze nieuchronna ) albo twój menedżer nie wie, jak działa oprogramowanie przechowywane ( co sprawia, że ​​jest bezradny, jeśli zdecydujesz się odejść lub ciężarówka cię uderzy ).
To uruchamia dzwonki alarmowe, jak wszyscy inni już zauważyli, kod nie należy do Ty i nie masz absolutnie żadnego prawa do odmowy dostępu . Jedynym wyjątkiem jest sytuacja, gdy jesteś wolnym strzelcem i zastrzegłeś sobie swoje prawa do swojego kodu.

Moja kryształowa kula sugeruje, że być może inne osoby mają dostęp i obawiasz się, że Twój przełożony jest pointy- z włosami szefem? Jest wiele powodów, dla których chce uzyskać dostęp do Twojego kodu, a niektóre są całkowicie nieszkodliwe.

  • Tak naprawdę nie chce zaglądać do Twojego kodu, po prostu chce wiedzieć, jak jest przechowywany i jak można uzyskać do niego dostęp i jest zbyt dumny, by przyznać, że czuje się głupio. Żądając zobaczenia kodu, może rzucić to pytanie jako prawidłowe zapytanie bez utraty twarzy.

  • W rzeczywistości próbuje ocenić twój kod, pokazując (jego części) innym osoby, które według niego mają wiedzę. Tak, nie mając pojęcia, że ​​to może przynieść ci odwrotny skutek, ponieważ nie może określić, czy druga osoba go bzduruje, ale jeśli nie, to jest całkowicie w porządku. Przeglądy kodu przez inne osoby posiadające wiedzę są standardową praktyką, zwłaszcza że ludzie mają określone zalety i wady: Unikają pewnych błędów, ale też wpadają w określone pułapki. Jeśli tego nie chcesz, problem leży po stronie Ciebie.

  • Twój bezpośredni przełożony to osoba, która nie może przyznać, że jest bezsilna i stara się zachować pozory, że to on tu rządzi. Dlatego spotkania i prośby o zapoznanie się z kodem. Zależy to od osoby, czy jest to przeważnie nieszkodliwe (spotkanie polegające na marnowaniu czasu), czy też wyjątkowo irytujące (on naprawdę próbuje użyć bezsensownych metryk, głupio komentuje Twój kod lub znalazł nowego guru programowania, który ma na myśli srebrną kulę).

  • Najgorszy przypadek: niektórzy ludzie uznali, że nie są zadowoleni z Twojej pracy i szukają zastępstwa. Teraz zdają sobie sprawę, że wydarzył się najbardziej wiarygodny wypadek: nie mają pojęcia, jak działa twój kod i próbują to naprawić. Kontrargument: gdyby tak było, jest bardziej prawdopodobne, że będzie on naciskał w tej sprawie na codziennych spotkaniach.

Żyj z tym, rób, co chce (dobrą odpowiedzią użytkownika52889 jest rozmowa, aby dowiedzieć się, czego naprawdę chce), a jeśli coś pójdzie nie tak, rozwiąż problem, narzekając do wyższej instancji lub ponieść konsekwencje.

Mohair
2015-08-12 01:49:14 UTC
view on stackexchange narkive permalink

Czy naprawdę możesz powiedzieć „Nie”? Jestem bardzo zaskoczony, że Twój menedżer musi o to zapytać. Fakt, że stawiasz opór, nie działa na Twoją korzyść. Jeśli trzymasz się swojego kodu, powinieneś być w stanie go obronić, zwłaszcza przed kimś mniej kompetentnym.

Nie potrafię sobie wyobrazić paranoicznej organizacji, w której pracujesz.

Chodzi o to, że mój menedżer nie może kodować i pośrednio przejrzy mój kod przez kilku znajomych i uwierzy ich na słowo, ponieważ nie może kodować.
I co z tego, on jest twoim menadżerem i ma pełne prawo zobaczyć twój kod i uzyskać inne opinie na jego temat
Zdradzę ci sekret - żaden z jego „przyjaciół” nie przeprowadzi za niego dokładnej analizy kodu. Zamierzają po prostu rzucić na to okiem i sprawdzić, czy znasz podstawy. Jeśli wykonałeś dobrą robotę dokumentując to na bieżąco, a nazwy twoich metod mają sens, a twoje zajęcia są wykonane odpowiednio dla twojej platformy, jesteś dobry.
@Monoandale To, co myślisz, że się wydarzy, nie wydaje mi się zrównoważone. Twój menadżer musi mieć naprawdę dobrych przyjaciół, jeśli chce, aby co tydzień sprawdzali Twój kod, tylko po to, aby mógł to przekazać jako swoją pracę. Jeśli kwestionuje twoją pracę, zawsze możesz udać się do swojego szefa i zmusić go do podjęcia wyzwania. Czego naprawdę się boisz? Jeśli naprawdę chce się ciebie pozbyć, znajdzie sposób. W międzyczasie zrób dobrą robotę, żeby nie było jej łatwiej.
@WesleyLong: Myślę, że równie prawdopodobne jest, że znajomi wykonają złą robotę: powiedzą menedżerowi, że kod nie powinien zawierać linii dłuższych niż 78 znaków lub że podziały wierszy są w niewłaściwym miejscu w stosunku do nawiasów klamrowych, lub tak potrzebuje więcej interfejsów lub wzorców projektowych, albo określona funkcja ma niedopuszczalnie dużą złożoność cykliczną. Pytający otrzyma dużo pracy bez dostrzegalnych korzyści. Ale nawet jeśli nie pozwolisz swojemu szefowi zobaczyć twojej pracy, nadal * nie * jest to skuteczny sposób, aby uniemożliwić szefowi ocenianie twojej pracy przez niedorzeczne nierozsądne kryteria.
@SteveJessop - W takim razie to również dobrze, ponieważ plakat będzie wiedział, że nie ma sensu pozostać na tej pracy i może przejść do czegoś, co pozwoli im rozwijać karierę.
@WesleyLong: to prawda, ale opóźnienie tego momentu do momentu ustawienia nowej pracy może być sprytnym posunięciem.
@SteveJessop - Oczywiście jest to część procesu „przechodzenia do przodu”.
NotMe
2015-08-12 21:48:21 UTC
view on stackexchange narkive permalink

Inni odpowiedzieli na pytanie, czy należy przyznać dostęp. A także wady wynikające z nie wykonywania poleceń. Pozwólcie, że przedstawię perspektywę menedżera.

Załóżmy, że mam pracownika z umiejętnościami, których naprawdę nie jestem uprawniony do właściwej oceny. Coś produkują, może to działa, może ma problemy. Może nawet nie wiem, czy rodzaj i liczba zauważonych problemów jest „normalna”, czy też świadczy o złej pracy. Być może jest odwrotnie, a praca jest naprawdę wysokiego kalibru, ale nie mam pojęcia, a mój szef domaga się więcej.

Jako menedżer muszę się upewnić idą tak, jak powinny.

Nie mogę po prostu uwierzyć Ci na słowo, ponieważ prawdopodobnie powiesz mi, że jakość Twojej pracy jest po prostu niesamowita - i możesz mieć zbyt zawyżoną opinię na temat

Mógłbym zatrudnić konsultantów do oceny pracy. Z drugiej strony, bez względu na to, jak wygląda praca, jeśli konsultanci uważają, że przez złe mówienie, dostaną ze mną mocniejszy kontrakt, a potem źle to zrobią. Więc mój poziom zaufania, idąc tą drogą, jest już niski.

Oznacza to, że muszę rozmawiać z ludźmi, którym ufam. Poproszę cię, żebyś spakował swoją pracę i pozwolił tym ludziom się temu przyjrzeć. Nie będą szukać daleko, bo to będzie osobista przysługa. Miejmy nadzieję, że faktycznie wiedzą, o czym mówią. To pozostawia kilka możliwości.

  • Po pierwsze, są ekspertami i uważają, że to, co zrobiłeś, jest co najmniej wystarczająco dobre.
  • Po drugie, są ekspertami i myślą, że Twoja praca to katastrofa.
  • Po trzecie, nie są ekspertami, ale nie chcą się dalej angażować i po prostu mówią, że to dobrze.
  • Po czwarte, nie są oni ekspertami ale nie chcę źle wyglądać i dlatego wybieraj raczej bezsensowne rzeczy, abyś się zmienił.

W każdym z tych scenariuszy jedynym , którym powinieneś się obawiać, jest to, czy szef rzeczywiście zna dobrych programistów, którzy uważają, że twoja praca to śmieć. Jeśli tak jest, najlepszym rozwiązaniem jest spotkanie z nimi, aby omówić swoje decyzje, uważnie słuchając tego, co mają do powiedzenia.

Szczerze mówiąc, fakt, że nie chcesz ktoś inny to widzi, sprawia, że ​​wierzę, że masz coś do ukrycia. Być może wiesz, że Twoja praca nie jest tak wspaniała i boisz się, co ktoś o niej pomyśli. W takim przypadku możliwość omówienia tego z osobą trzecią byłaby dla Ciebie bardzo dobra. Dlatego proponuję porozmawiać ze swoim przełożonym i zapytać, czy mógłby dokonać przeglądu kodu na miejscu, razem z Tobą. W ten sposób możesz zarówno uczyć się z ich doświadczenia, jak i wyjaśniać podjęte przez siebie decyzje.

Każdy świetny programista, którego znam, chce, aby ludzie przyjrzeli się jego pracy. Czemu? Ponieważ kodowanie jest trudne i nawet bardzo doświadczeni ludzie mogą popełniać podstawowe błędy. Czy to w samym kodzie, czy nawet w ogólnej architekturze. Wiemy, że jeśli zostanie złapany wystarczająco wcześnie, ból związany z naprawą jest zminimalizowany. Wiemy też, że nikt nie jest doskonały i wszyscy możemy się od siebie uczyć.

Ostatni akapit ma zastosowanie tylko wtedy, gdy osoba przeglądająca kod _właściwie rozumie, na co patrzy_, co wyraźnie nie dotyczy tego OP. Gdyby mój menedżer przeglądał mój kod, z pewnością widzę, jak odpowiadam na ciągłą falę „Co to robi?” może znacznie zmniejszyć moją produktywność.
@reirab: Szczerze mówiąc, menedżer powinien być ekspertem w dziedzinie domeny. Nie oznacza to, że muszą kodować, tylko że muszą znać przestrzeń problemu. OP powinien być w stanie wyjaśnić, w jaki sposób radzą sobie z konkretnym problemem, a kierownik powinien być w stanie powiedzieć, czy * logika * jest słuszna. Wiem, że eksperci dziedzinowi, którzy nigdy wcześniej w swoim życiu nie napisali linii kodu w związku z kiepską implementacją, postawili mnie przed zarzutami, po prostu dlatego, że nie rozumiałem wystarczająco dobrze przestrzeni problemu.
@reirab: Ponadto osoby nietechniczne zazwyczaj nie chcą zagłębiać się w szczegóły, chyba że 1) programista twierdzi, że żądanie nie jest możliwe, ponieważ * powody *; 2) pojawiają się problemy związane z logiką. W każdej z tych sytuacji OP naprawdę musi przejść przez to z kimś innym.
Przechodzenie przez logikę i ogólne kwestie „co to robi” jest z pewnością dobre, ale nie muszą widzieć do tego kodu (a zobaczenie tego nie pomoże, jeśli faktycznie nie rozumieją programowania / projektowania oprogramowania .)
@reirab: Nie zgadzam się z tobą. Deweloper może wskazać fragment kodu i powiedzieć „widzisz, mnoży miesięczny depozyt przez 0,06”, a następnie menedżer / ktokolwiek mógłby powiedzieć „Myślałem, że to powinno być 0,006?” ... Są ku temu powody i szczerze mówiąc nie ma przeciw. Zmniejszyć produktywność? Kogo to obchodzi, kierownik kontroluje produkcję.
Ogólnie rzecz biorąc, wymagania powinny być opracowane (i udokumentowane), zanim w ogóle istnieje kod. To samo dotyczy projektowania wysokiego poziomu, w tym opisów algorytmów wysokiego poziomu, które byłyby zrozumiałe dla eksperta domeny, który nie jest programistą. Z pewnością OP powinien omówić te sprawy z menedżerem, ale żadna z tych czynności nie wymaga od menedżera ręcznego przeglądania kodu (lub oglądania go w ogóle). Jeśli menedżer musi przejrzeć sam kod, aby dowiedzieć się, jak problem z domeną rozwiązany, powiedziałbym, że istnieje problem z komunikacją i / lub dokumentacją.
@reirab: lub istnieje problem z zaufaniem - co, jak podejrzewam, ma miejsce.
+1 za ostatni akapit. Dlatego radzę każdemu, kto chce się uczyć (lub uczyć) programowania, aby założył konto Github i publikował wszystkie (osobiste) prace.
Roger
2015-08-12 01:42:12 UTC
view on stackexchange narkive permalink

To rozsądna prośba, przynajmniej z pozoru. Jest wiele dobrych powodów, dla których twój szef może chcieć uzyskać dostęp do twojego kodu źródłowego i kilka wiarygodnych powodów, dla których mu go odmówisz. „Nie chcę, żeby utrudniał mi życie” nie jest uzasadnionym powodem.

Odmowa pokazania mu swojego kodu byłaby równoznaczna z niesubordynacją. Podsumowując, daj mu to, czego chce.

ckpwong
2015-08-12 19:50:14 UTC
view on stackexchange narkive permalink

Kontekst: nie jest specjalistą i stara się głównie zmonopolizować dostęp do mojej wiedzy technicznej, np. jeśli chcesz używać technologii X, musisz przejść przeze mnie. Ale inni ludzie byli bardzo zadowoleni z mojej pracy i nikt nigdy nie narzekał.

  1. Twój kierownik ma pełne prawo decydować, jakiej technologii użyć, nawet jeśli nie jest przygotowany do podjęcia takiej decyzji. Twoim obowiązkiem jest przedstawienie swojej sprawy popartej dowodami, które ceni. Mów o dolarach i centach, a nie o surowej sile wydajności lub duchowej wyższości.

  2. Czy istnieje formalny proces weryfikacji kodu? Jeśli nie, zacznij. W przeciwnym razie nie ma formalnego sposobu na uchwycenie opinii innych o Twoim kodzie. Może osoby, które wydawały się zadowolone z Twojego kodu, są tymi samymi, które krytykują go pod adresem Twojego kierownika. A może jesteś po prostu paranoikiem. Nie możesz tego wiedzieć bez formalnego sposobu na pociągnięcie Cię do odpowiedzialności za jakość kodu w ocenie innych. Nic nie jest w stanie powstrzymać tego samego wroga przed dźgnięciem cię w plecy, ale możesz przynajmniej stwierdzić, że „nie to powiedział podczas przeglądu kodu”.

  3. Jak wielu innych powiedziało , cały kod powinien znajdować się w repozytorium na serwerze firmowym. W idealnym przypadku okresowe tworzenie kopii zapasowych, kolokacja itp. Jeśli w tej chwili nic nie jest skonfigurowane, uzasadnij to. („Jeśli uderzy mnie autobus, nadal masz dostęp bla bla bla…”)

  4. Dokumentuj wszystko , od decyzji projektowych, przez proces tworzenia, po przypadki testowe. Opierając się na twoim pytaniu, mam wrażenie, że nie jesteś doświadczonym programistą w firmie, która nie ma żadnego doświadczenia w tworzeniu oprogramowania. Twój kierownik może nie wiedzieć, jak kodować, ale (mam nadzieję) jest wystarczająco logiczny i analityczny, aby zrozumieć dokumenty peryferyjne. Niekoniecznie muszą one być bardzo formalne, ale powinieneś zostawić wystarczającą ilość papierowych śladów (wirtualnych i / lub fizycznych), aby umożliwić kompetentnej osobie wejście w twoje buty bez większych trudności. Jeśli nie chcesz tego zrobić, powstrzymujesz się przed rozwojem i trzymasz firmę jako zakładnika.

  5. Twój menedżer najprawdopodobniej nie ma prawa udostępniać Twojego kodu poza organizacja. Nie musisz się zbytnio martwić o wyimaginowanych „przyjaciół”.

Bądź otwarty na swoje obawy przed przełożonym. Dobra komunikacja i wzajemne relacje są niezbędne dla każdego udanego związku, w tym w środowisku zawodowym.

Gdybym był Twoim kolegą i zdawał sobie sprawę z tego, co robisz lub myślisz, jak wspomniano powyżej, byłbym bardzo zmęczony współpracą z tobą ... chyba że podzielę te same uczucia wobec twojego przełożonego. W takim przypadku muszę zapytać: „ta praca jest do niczego. Dlaczego nie szukasz nowej pracy?”

user27483
2015-08-12 20:20:51 UTC
view on stackexchange narkive permalink

Jak OP wspomina w komentarzu do odpowiedzi @ blankip:

Jestem jedynym programistą i nikt inny nie używa repozytoriów. I nie mam zespołu.

Może po prostu Twój przełożony próbuje sprawdzić jakość Twojej pracy, jak każdy dobry menedżer powinien w ramach wzajemnej oceny.

Nawet jeśli Twój kierownik nie jest technicznie wystarczająco zdolny do samodzielnego przejrzenia kodu, może on działać jako „wycinanka z kartonu”, tj. jeśli zwerbalizujesz swoją pracę swojemu przełożonemu, być może zauważysz problemy, błędy itp., których inaczej byś nie zrobił.

Level River St
2015-08-12 22:46:32 UTC
view on stackexchange narkive permalink

Twoje ostatnie pytanie jest zatytułowane „Wszyscy chcą mnie ze względu na moje umiejętności, ale nie mam wsparcia i wszystko to wygląda jak polityczne przeciąganie liny”.

Wygląda na to, że Twój menedżer zdaje sobie sprawę, że jest więcej pracy, niż jesteś w stanie znieść, ale nie wie, co z tym zrobić. Wydaje się, że chce monitorować, jaką pracę wykonujesz dla kogo, co powinien wykonać: jeśli ma zasób, powinien wiedzieć, który dział z niego korzysta. Traktujesz to jako „monopolizowanie”, ale jeśli jesteś zasobem swojego bezpośredniego przełożonego, inni nie powinni pomagać sobie w Twoim czasie. Myślę, że dobrym pomysłem byłoby przechowywanie kart czasu pracy. Przedyskutuj to ze swoim przełożonym.

Tak, powinieneś udostępnić mu swój kod. W końcu to kod firmy, a nie Twój.

Coś musi się zmienić. Musi zaistnieć jedna z następujących sytuacji.

  1. Zatrudniają młodszego programistę.
  2. Zatrudniają starszego programisty.
  3. Szkolisz menedżera kodu (wygląda na to, że właśnie to próbuje zrobić, ponieważ nie ma budżetu na poprzednie dwie opcje).
  4. Odchodzisz.

Twoja obsługa sytuacja spowoduje różnicę między 1 a 2. Którą z nich chcesz? Jeśli zatrudniają innego programistę, czy chcesz wziąć udział w procesie rozmowy kwalifikacyjnej?

Sugeruję, abyś skorzystał ze spotkań ze swoim kierownikiem, aby omówić obciążenie pracą i przyszłość wewnętrznego rozwoju oprogramowania.

Jest piąta opcja: zostaniesz zwolniony, a oni dostaną innego programistę lub outsourcing. Wydaje się to mało prawdopodobne, ponieważ istnieje teraz kod, który napisałeś i który najlepiej rozumiesz. Ale jeśli odmówisz współpracy, stanie się to realistyczną możliwością.

cześć, 1 lub 2 byłyby świetne, ale powiedziano mi, że nie ma pieniędzy na powiększenie mojego zespołu, chyba że startup przyniesie zyski (wcześniej pisałem akademickie IT, ponieważ kontekst i postacie są bardzo podobne)
Tom Kidd
2015-08-12 22:16:18 UTC
view on stackexchange narkive permalink

Konsensus w odpowiedziach wydaje się być taki, że tak, musisz pozwolić mu zobaczyć / uzyskać dostęp do kodu, jeśli sobie tego życzy, i być przygotowanym na ewentualne konsekwencje. W najlepszym przypadku chce po prostu zobaczyć, co się dzieje, w najgorszym przypadku jest to czerwona flaga, że ​​coś jest nie tak, ale w każdym razie nie masz wyboru.

Jednak, chociaż wątpliwe, że dotyczy to ciebie, ja chciałem zwrócić uwagę na jeszcze jedną rzecz: w niektórych branżach dostęp do Twojego kodu lub przynajmniej możliwość jego modyfikacji może być w rzeczywistości zły lub nawet niezgodny z prawem. Nie jestem tutaj ekspertem, ale jeśli twoje miejsce pracy wymaga zgodności z czymś takim jak PCA lub SOX (pomyśl: branże finansowe / bankowe), może to być duży problem w audycie, jeśli szef przeglądał lub modyfikował kod źródłowy. Teoria głosi, że oddzielenie problemów zapobiega zanieczyszczeniu. Jest to podobne do powodów, dla których w większości miejsc programiści nie mają dostępu do danych produkcyjnych. W niektórych scenariuszach audytu musisz być w stanie jednoznacznie stwierdzić, że tylko programiści mają dostęp do kodu źródłowego, a menedżerowie - którzy mogą mieć dostęp do danych produkcyjnych, w przeciwieństwie do programistów - nie.

Teraz oczywiście przenosi się to na terytorium prawne i nie powinieneś w żaden sposób korzystać z porady prawnej od Stack Exchange, ale tak jak w przeciwieństwie do powyższych odpowiedzi, istnieje sytuacja, w której z powodów prawnych twój szef nie może mieć dostępu do kod źródłowy, nawet gdyby chciał. Jeśli tak, możesz zwrócić się do niego ze swoimi obawami, że próbujesz uchronić was oboje od kłopotów. Twój przebieg może się różnić, skonsultuj się ze swoimi przełożonymi, nieważne, jeśli zabronione, itp.

Oczywiście porady prawne powinny pochodzić od prawdziwych prawników, ale w Sarbanes-Oxley nie ma nic, kto może uzyskać dostęp do kodu. SOX dba tylko o ścieżki audytu. I założę się, że 99% miejsc, które muszą przestrzegać zgodności z SOX, nie podpisuje kryptograficznie swoich zobowiązań, co jest zabawne.
Opierając się na komentarzu OP „Jestem jedynym programistą i nikt inny nie korzysta z repozytoriów. I nie mam zespołu” wydaje się mało prawdopodobne, aby ta firma musiała przestrzegać uciążliwych przepisów.
Acumen Simulator
2015-08-12 09:12:44 UTC
view on stackexchange narkive permalink

W relacjach w miejscu pracy, zwłaszcza z szefem, zawsze pamiętaj:

Nie zajdziesz zbyt daleko, mówiąc ludziom, czego NIE zamierzasz robić.

Po pierwsze, jest twoim szefem i każda praca, którą wykonujesz, jest w zasadzie jego. Dotyczy to również sytuacji, gdy coś schrzanisz, to jego wina.

Najlepszym sposobem na poradzenie sobie z tym jest zaangażowanie się. Jeśli potrzebuje twojego kodu z konkretnego powodu, zapytaj go, co to jest i pomóż mu go zdobyć. W ten sposób masz przynajmniej jakąś kontrolę lub wgląd w to, do czego go używa.

Patricia Shanahan
2015-08-13 13:58:30 UTC
view on stackexchange narkive permalink

Wymaganie dostępu do kodu i zmiana spotkań z dwutygodniowych na cotygodniowe to objawy menedżera, który nie czuje się w pełni poinformowany o Twoim statusie i postępach.

Oczywiście powinieneś dostarczyć wszelkie artefakty, które wyprodukowane w trakcie pracy, które Twój kierownik chce zobaczyć. Ponadto zastanów się, co oferujesz, i zobacz, czy możesz zrobić więcej, aby go informować.

Jedna strategia, której użyłem w sytuacji, gdy mój menedżer nie miał kwalifikacji do bezpośredniej oceny moich postępów , Brałem udział w projekcie jednoosobowym, a mój projekt miał kluczowe znaczenie dla celów firmy: uzgodniliśmy serię przypadków testowych i dat, a co tydzień informowałem, które przypadki testowe zdały. to tylko przykład. Ty i Twój menedżer musicie wspólnie wypracować, jakich informacji potrzebuje co tydzień w Twojej konkretnej sytuacji.

joojaa
2015-08-13 10:06:40 UTC
view on stackexchange narkive permalink

Jeszcze jedna rzecz, o której jeszcze nie wspomniałem.

Weź pod uwagę, że masz menedżera „odcisków palców”. Czuje, że jeśli nie jest częścią pracy, nie wykonuje swojej pracy. Dlatego chce zobaczyć, co robisz.

Miałem zaszczyt pracować z kilkoma okazami z nich. Wydaje się, że nie ma dla nich znaczenia, że ​​nie rozumieją przepływu pracy lub tego, co robisz. Ważne jest to, że mogą coś zmienić, cokolwiek. Ułatw mu to.

Jeśli jesteś naprawdę dobry, możesz dać im wszelkiego rodzaju wybory, które są w 100% nieistotne dla projektu i łatwe do wdrożenia. "Czy chciałbyś ten chartreuse czy beżowy?" Podczas gdy on (s) podejmuje decyzję, możesz wykonać * prawdziwą * pracę.
Ed Heal
2015-08-14 22:53:19 UTC
view on stackexchange narkive permalink
  1. Kod nie jest Twój - należy do zespołu i osoby, która Ci zapłaciła.
  2. Kod należy udostępnić - ze względów jakościowych.
  3. Powinieneś być dumnym, pokazując kod innym.
  4. Jeśli odmówisz pokazania kodu, jako pracodawca będę podejrzliwy co do twoich zamiarów. Czy sprzedajesz to rywalowi? Czy zaimplementowałeś rzeczy, które mogą być użyte do oszustwa?
  5. Jeśli twój kod jest "gówniany", być może przyniesie to korzyści innym osobom. Zawsze uczysz się od innych. Nawet ja, który byłam w tym biznesie odkąd pamiętam.
user40067
2015-08-13 01:50:11 UTC
view on stackexchange narkive permalink

Cokolwiek robisz, odpowiadaj e-mailem, aby mieć doświadczenie i być bardzo pozytywnym i pomocnym. To nie jest TWÓJ kod, to kod, który napisałeś dla swojego pracodawcy.

Rzecz w tym, że jeśli chcą cię zwolnić, wiele stanów ma zatrudnienie „na życzenie”… więc on może to zrobić… i nie potrzebuje uzasadnienia. Bardziej prawdopodobne jest, że ma inny plan, wtedy musisz mu pomóc.

Zazwyczaj, gdy jestem niechętny, aby pokazać kod, który napisałem (a nie „mój kod” ), to dlatego, że działa, ale nie jest ładne ...

Więc po wyrażeniu zgody na udostępnienie / pokazanie kodu, powiedz mu, że kod nie został udokumentowany, aby mógł być zrozumiany przez Jeśli chce, aby było to częścią Twoich standardowych praktyk operacyjnych, z pewnością możesz to zrobić, ale będziesz musiał zrewidować swoje szacunki / koszty projektu w górę. Zapytaj go również, czy istnieją jakieś wytyczne lub standardy kodowania, których chciałbyś, abyś przestrzegał.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...