Po czym rozpoznać, że firma w której pracuje jest słaba? Niedługo rozpoczynam swoją pierwszą pracę jako junior java dev i chciałbym usłyszeć co może źle świadczyć o firmie i że nie wiele w takiej firmie będę w stanie się nauczyć. Chodzi mi bardziej od strony deweloperskiej, że jak spojrzę w projekt i jego kod to można powiedzieć, że jest to słaby kod, słaby programiści go tworzyli, że rzeczy zrobione nieprzemyślane, jakieś obejścia żeby zrobić rilis do klienta na juz itp. Przykładowo używanie javy 6/7, tworzenie klas po kilka tysięcy linii, metody z nawet 10 parametrami czy to może świadczyć o słabej firmie czy to raczej norma jeśli chodzi o firmy, a w szczególności korporacje bo do takiej dołączę, do projektu w którym pisało setki programistów.
Po samej rozmowie ciężko to stwierdzić, bo pracownicy będą kłamać, że kod jest czysty (nawet jeśli będzie spaghetti), że organizacja jest super, edżaj i w ogóle (nawet jak będzie waterfall pod spodem), i generalnie będą ci mydlić oczy.
Natomiast, jak już się zatrudnisz, to "you know it when you see it", czyli po prostu będziesz widział, że coś jest nie tak. A jeśli dalej nie wiesz, to takie rzeczy jak test Joela może być jakąś wskazówką. Chociaż - wskazówką. Np. nie wiem, czy punkt 6 (Do you have an up-to-date schedule?) to dobry punkt. Czyli co - lepiej pisać byle jak, żeby tylko zdążyć przed deadline'm?
Poza tym dodałbym jeszcze swoje punkty:
- czy firma dobrze płaci, i czy płatności są w terminie
- czy są testy? (test Joela mówi chyba tylko o testerach manualnych zdaje się)
- ile kroków trzeba zrobić, żeby zmienić jedną trywialną rzecz w aplikacji, np. wielkość wyświetlanego fontu? Widziałem projekty, w których, żeby jakiekolwiek gówienko zmienić, trzeba było najpierw poruszyć ileś modułów, pozmieniać w iluś miejscach to samo (bo aplikacja była zrobiona metodą kopiuj-wklej, bez zachowania DRY), potem ileś plików konfguracyjnych pozmieniać, a na końcu jeszcze czekać z tydzień na code review.
- czy ludzie są skłonni do pomocy, czy może każdy zakłada tylko swoje słuchawki i "nie przeszkadzaj mi"
- czy ma się jakikolwiek wpływ na produkt czy proces jego robienia, czy można swoje sugestie wysuwać? Czy może po prostu jest tak, że już wszystko idzie z góry i programiści tylko klepią wg poleceń, bez prawa do jakiegokolwiek myślenia czy przejawów kreatywności?
Według mnie słaby sprzęt = słaba firma. Jak szef nie widzi, że słabo się pracuje na niewygodnych krzesłach za 150zł z JYSKa i myszkach za 10zł z ekspozycji to poważniejsze tematy będą tylko gorsze.
Kiedyś byłem na rozmowie o pracy w pewnej firmie.
Były dwa pokoje około 70 m2 (+ sekretariat, kuchnia itp).
W pierwszym byli developerzy i biurka stały tak gęsto, że na pewno było to naruszenie przepisów BHP.
W drugim pokoju siedzieli dwaj właściciele. Już wtedy wiedziałem, że coś z tą firmą nie tak.
Potem zaproponowali mi stanowisko, za śmieszne pieniądze, ciut lepiej niż dla studenta, więc od razu powiedziałem "do widzenia".
W pierwszym byli developerzy i biurka stały tak gęsto, że na pewno było to naruszenie przepisów BHP.
Ja też byłem w podobnej sytuacji na rozmowie. Malutka klitka, i trzy osoby w niej, tak że nawet za bardzo nie było gdzie postawić biurko dla mnie (którego to biurka zresztą fizycznie nie było, i się zdziwili, że chcę biurko do pracy. I chcieli mi potrącić z pensji za komputer służbowy, bo myśleli, że przyniosę swój. Ale pisałem już o tym kiedyś).
Jeśli nigdy nie ma na nic czasu. Nie ma czasu na testy automatyczne, na wdrażanie ludzi w projekt, na poprawienie rzeczy takich jak CI/CD. Jeśli firma tak pracuje (może z wyjątkiem startupów) to jest to raczej, jak to w stanach ładnie nazywają, "dumpster fire".
Saga w kuchni
Kiedy kawa z ekspresu nie smakuje, nie ma jej albo nie jest darmowa - uciekaj :)
- Mało punktów w testu Joela
- Brak bloga, hackathonów, niewspieranie meetupów, współpracownicy nieaktywni w projektach OSS
- Brak funduszu edukacyjnego
- Nie można pracować zdalnie
- Gdy laptopy mają mniej niż 32GB ramu (dla macbooków minimum to 16GB)
- Jeżeli firma nie zezwala na zatrudnienie poprzez B2B
- Ilość pracy (czy są potrzebne nadgodziny?)
- Klimat zbudowany przez HR (czy muszę się bać brania chorobowego? czy na wynagrodzenie czekam 16 dni, bo w 13-dniu okazuje się, że jest problem w fakturze?)
- Czy HR/Finanse radzą sobie w trudniejszych sytuacjach na UoP, jak np. oddawanie krwi, albo 4-godzinne zwolnienie z pracy w celu złożenia wyjaśnień w urzędzie, czy raczej spowoduje, że u Pani HR oczy zamienią się w 5-ciozłotówki z powodu zakłopotania?)
- Gdy projekt i klient w całości zależy od 1 pracownika (tzw. polski styl zarządzania, czyli 1 programista, 2 kierowników, 5 menedżerów w projekcie)
- Brak procedur antymobbingowych czy chociażby code of conduct
- Czy w firmie są robione projekty nieetyczne? Np. rekomendacja potencjalnych klientów chwilówek, webscrapping portali zamiast wykupienia bazy
przykładów można mnożyć
Po czym rozpoznać, że firma w której pracuje jest słaba?
Warunkiem koniecznym i wystarczającym jest spełnienie następujacych zależności (łącznie):
- nazwa firmy musi zaczynać się na "COM"
- nazwa firmy musi się kończyć na "ARCH"
@raveltravel
4-godzinne zwolnienie z pracy w celu złożenia wyjaśnień w urzędzie
opowiedz coś więcej, bo nie wiedziałem, że takie coś istnieje 0o
dla mnie słaba firma, to taka, w której nie ma jakiegokolwiek pomysłu na wdrożenie nowego pracownika.
podejście na zasadzie tu jest kod (repo gita), tu jest jira (czy inny system do taksów) jest okropne.
niech sobie będa stare i archaiczne technologie, a nawet g**no-kod w 40%, ale nie poznając domeny, junior/mid średnio sobie poradzi i jest raczej przeszkodą, niż korzyścią dla firmy. piszę to z pozycji juniora ;) (w sumie na stanowisku już nie jestem juniorem, ale dalej tak się czuję)
to jest primo.
a co do nie wypłacania pieniędzy na czas - na szczęście do tej pory nie natrafiłem na taką patologię i na razie (mam nadzieję, że aż do emerytury) jest to dla mnie kompletna abstrakcja
Znaki ostrzegawcze
- Wszelkie nieprzyjemne, lekceważące, niesłowne zachowania na etapie rekrutacji. Jeśli nie jesteśmy miło traktowani na pierwszej randce, to co będzie po ślubie?
- Pobieżna, trywialna weryfikacja umiejętności technicznych. Twoim poprzednikom też zawieszono niską poprzeczkę...
- Przesadnie chełpliwe stwierdzenia na stronie internetowej (nasi programiści to "jedni z lepszych, jak nie najlepsi na świecie specjaliści od pisania wydajnych i bezpiecznych programów na platformę LAMP" - czyt. w kodzie będą szkolne błędy).
- Dla prawie każdego pracownika jest to pierwsza firma w życiu. Innymi słowy, firma nie ceni doświadczenia. Oczywiście, ktoś musi dawać szanse świeżo upieczonym programistom. Ale kiedy stawia się wyłącznie na takich, to może być efekt założenia a la profesor Filipiak, że "każdego specjalistę można zastąpić studentem". W wyniku tego nie będzie się tam od kogo uczyć. Uwaga: firmy lubią sobie do tego dorabiać dumne ideologie pt. "to my kształcimy prawdziwych ekspertów" (jeśli szwendali się gdzie indziej, są już zepsuci).
- Zjawisko programistów zasiedziałych w firmie np. przez 10 lat (co nie kłóci się z poprzednim punktem). W naszej dość dynamicznej branży zawsze jest to nieco dziwne. No cóż, może rzeczywiście jest to takie fantastyczne miejsce pracy... a może z jakichś przyczyn nie sprzyja ono podnoszeniu swej wartości na rynku, i miejscowych "seniorów" żadna konkurencja nie mogłaby traktować poważnie?
- Na konferencjach nigdy nie występuje żaden pracownik firmy - im większa, tym poważniejszy znak ostrzegawczy, bo wraz z wzrostem liczby pracowników statystycznie coraz bardziej należałoby oczekiwać, że któryś miałby branżowej społeczności coś do powiedzenia.
- Zjawisko ludzi nie do zastąpienia. Od problemów z serwerem jest Franek. Zenek orientuje się, jak działa moduł płatności - w razie czego musisz poczekać, aż wróci z urlopu.
- Brak zaufania do pracowników. Np. surowe reguły dotyczące rejestracji czasu pracy. Albo konfrontacyjne podejście szefostwa do estymacji przygotowywanych przez programistów ("nie, sprężcie się w tydzień"). Dobór standardów, konwencji, narzędzi zleca główny architekt-dyktator, który nie przewiduje dyskusji.
- Notoryczne nadgodziny, np. przed release'ami. Obsuwy terminów jako reguła.
- Brak testów jednostkowych. Szpital, w którym lekarze leczą tak zawzięcie, że nie starcza im czasu na umycie rąk, to nie jest poważna placówka.
- Brak Continuous Integration.
- Słaby sprzęt (jak słusznie zauważył @itsme). Niechęć do inwestycji w lepsze narzędzia pracy - kupienie licencji za 100 dolarów? Nie wchodzi w grę.
- Syndrom "Not Invented Here", czyli firma ma do wszystkiego swoje własne frameworki i biblioteki, nie korzysta z rozwiązań standardowych. (Oczywiście nie dotyczy to firm, które się w czymś rzeczywiście specjalizują i wiedzą, co robią). System ticketów też własnej produkcji, bo napisał go 15 lat temu sam właściciel :) A później na CV możesz sobie dumnie wpisać 3 lata pracy i doskonałą znajomość frameworka Krzaksoft MVC.
- Brak code review albo jego wykoślawione formy (np. review robi wszystkim jeden główny programista, a nie koledzy kolegom).
- Nigdy nie ma czasu, żeby coś zrobić dobrze, ale zawsze jest czas, żeby to poprawiać. Testowanie systemu na użytkownikach.
Obecność takich ludzi i sytuacji może wcale nie musi źle świadczyć o całej firmie, ale takie rzeczy moim zdaniem źle wpływają na pracę, skuteczność, atmosferę.... (czasem nawet do tego stopnia, że nie opłaca się pracować w takich firmach, które to mają - nawet jeśli te firmy nie są całkiem złe, a po prostu mają pewne bolączki. Jednak czasem te bolączki są decydujące).
- nawiedzony koleś
Znacie pewnie ten typ człowieka, pseudo-coacha, który będzie was co chwila na siłę chciał motywować i będzie tryskał nierealnym entuzjazmem. Tacy ludzie są niebezpieczni, bo są przywódcami na happy-times, a nie są w stanie rozwiązać realnych problemów i konfliktów. To hipokryci zamiatający problemy pod dywan.
W ogóle trochę paradoks, bo tacy ludzie wydają się na pierwszy rzut oka charyzmatyczni, motywujący... jednak na dłuższą metę nie są skuteczni. No bo sorry, ale mówienie wszystkim wokoło "mamy super firmę, super zespół, super proces, jesteśmy zwycięzcami' wiele nie pomoże, jeśli się pojawią faktyczne problemy.
- współpracownik, którego nie ma
Czasem to wygląda tak, że po prostu kolesia fizycznie nie ma, jest poza firmą, czy na urlopie. A są ważne sprawy do omówienia i zawsze muszą czekać.
Aha - i nie chodzi mi tutaj o sam fakt nieprzebywania w firmie (bo praca zdalna byłaby ok), tylko o brak kontaktu w kluczowych sprawach.
No i też nie można ludzi winić za to, że idą na urlop. Tutaj wydaje mi się, że często winę ponosi złe zsynchronizowanie pracy różnych ludzi w zespole.
- współpracownik, który nie szanuje twojej pracy
Dajmy na to piszesz pieczołowicie moduł, zostawiasz go na 2 dni i robisz coś innego, a potem widzisz commita, który ci w zasadzie bez większego powodu ora cały twój moduł, nad którym pracowałeś z tydzień. I bez żadnego ostrzeżenia, zapytania. Bo po co? W końcu kolektywna własność kodu.
- Odwrotna sytuacja do 3. Czyli jeśli ktoś czuje się właścicielem swojego kodu tak bardzo, że jego moduły są nieruszalne i cokolwiek ruszysz w jego module, to będziesz miał opieprz
(wg mnie należy wypośrodkować. Ani kolektywna własność kodu, ani też nie trzymanie się kurczowo swojego kodu jak ulubionego kocyka).
Jest takie powiedzenie że, jeżeli na parkingu firmowym stoją mercedesy roczniki 2016+ lub inne fajne auta, zwykłych pracowników. To trafiłeś do dobrej firmy.
V-2 napisał(a):
- Zjawisko programistów zasiedziałych w firmie np. przez 10 lat (co nie kłóci się z poprzednim punktem). W naszej branży jest to zjawisko dziwne. No cóż, może rzeczywiście jest to takie fantastyczne miejsce pracy... a może z jakichś przyczyn nie sprzyja ona podnoszeniu swej wartości na rynku, i miejscowych "seniorów" żadna konkurencja nie mogłaby traktować poważnie?
To akurat nie zawsze musi być złe/dziwne. Pracując te 10 lat w firmie outsourcingowej można było być w kilku różnych projektach (zarówno pod względem technologii jak i zarządzania) czyli tak jakbyś pracował w kilku różnych firmach. Oczywiście mówię o jakiejś porządnej firmie outsourcingowej.
Gdybyś przypadkiem wyniuchał czowieka, który zatrudnia ludzi z intencją, żeby byii w tym lepsi od niego, to dobry znak. Tylko niestety jako Junior pewnie nie zobaczysz tego w stosunku do siebie, ale może dostrzeżesz w stosunku do innych, chyba ze jesteś w korpo to nic nie zobaczysz bo wszystko jest tajemnicą. ;(
OverMorda napisał(a):
V-2 napisał(a):
- Zjawisko programistów zasiedziałych w firmie np. przez 10 lat (co nie kłóci się z poprzednim punktem). W naszej branży jest to zjawisko dziwne. No cóż, może rzeczywiście jest to takie fantastyczne miejsce pracy... a może z jakichś przyczyn nie sprzyja ona podnoszeniu swej wartości na rynku, i miejscowych "seniorów" żadna konkurencja nie mogłaby traktować poważnie?
To akurat nie zawsze musi być złe/dziwne. Pracując te 10 lat w firmie outsourcingowej można było być w kilku różnych projektach (zarówno pod względem technologii jak i zarządzania) czyli tak jakbyś pracował w kilku różnych firmach. Oczywiście mówię o jakiejś porządnej firmie outsourcingowej.
Zgadzam się, sam pracuję w takiej firmie - ale mimo wszystko część z tych ludzi zawsze będzie odchodzić na inne, zieleńsze pastwiska :) Staje się podejrzane, jeśli wśród nestorów praktycznie nie ma już żadnej rotacji.
Zresztą zauważ specjalnie nazwałem to "znaki ostrzegawcze" - to nie są jeszcze dowody niebezpieczeństwa ani problemy same w sobie. Tylko sygnały - "trzeba wzmóc czujność" ;) W złych firmach zazwyczaj występuje ich kilka naraz.
Zatrudnia Hindusów.
Jak firma ma ~ 10 osób, a od roku regularnie pokazuje się to samo ogłoszenie na "web developera" to chyba nie dobry znak. Teraz pytanie czy nikt nie spełnia ich wymagań (wątpię) czy ludzie się zatrudniają po czym błyskawicznie sami odchodzą - ale w takim razie firma funkcjonuje i bez stałego zatrudnienia na tym stanowisku, a więc widocznie nie jest jej potrzebne?
Brak procedur antymobbingowych czy chociażby code of conduct
To akurat jest PiArowa ściema. Zresztą nawet niedawno na forum pojawiły się wątki kierujące do większej "afery" związanej z kernelem i wprowadzaniem w zespole developerów "poprawności politycznej". I zasadniczo nikt z tego nie był zadowolony, wszyscy narzekają, że w ten sposób dochodzi do sporów i konfliktów, a sam CoC może być używany jako narzędzie walki.
Poza tym w dobrze zarządzanej firmie takie tematy wyłapują przełożeni i żadne stosowne regulaminy nie są potrzebne. U nas każdy pracownik dostaje do podpisania m.in. pouczenie o braku dyskryminacji i inne takie pierdoły prawnicze, aczkolwiek to tylko po to, żeby w papierach był porządek. Natomiast nie ma to żadnego sensu. A jeśli ktoś się zachowuje nie fair albo w inny sposób stwarza problemy, to po prostu jest brany na rozmowę, a jeśli to nie pomoże to się żegnamy. I tak się to odbywa, bez dodatkowych regulaminów, wielkiego halo itp.
Rozszerzając ten wątek, za chwilę możemy dojść do wniosku, że w sumie nie tylko brak procedur jest problemem, ale także za mała ilość kobiet, inwalidów czy Murzynów w ekipie. Czy w tym kierunku chcemy zmierzać?
WielkiMędrzec napisał(a):
@raveltravel
4-godzinne zwolnienie z pracy w celu złożenia wyjaśnień w urzędzieopowiedz coś więcej, bo nie wiedziałem, że takie coś istnieje 0o
Pozostało jeszcze 93 % treści
Aby zobaczyć cały artykuł, zaloguj się lub zamów dostęp.
Ok, super wytłumaczenie...
Słabe firmy. Kilka smrodów, które na etapie rekrutacji mnie odstraszają:
- koncepcja nadgodzin, już na etapie rekrutacji wyjaśnianie, ze oczywiście nie robimy za bardzo nadgodzin, ale
taski muszą być na deadline
, - brak parkingu na rowery,
- hasła na ścianach -
każde hasło, które jest na ścianie to takie którego nie ma pomiędzy ścianami
(dotyczy to wszelkich agile, clean code, szacunku itp), - tajemnice - jak już na etapie rekrutacji firma nie chce powiedzieć na czym zarabia, kim sa klienci itp, to zwykle znaczy, że coś śmierdzi,tajemnica jakie narzędzia(!) są w użyciu itp,
- sprzęt - jak widzę, że na biurkach stoją jakieś zbieractwa i słabizny to juz wiadomo, że dobrze nie będzie, biurka, krzesła też ważne,
- nadmiar marketingu: jak wszystko błyszczy i jest cudownie, wszyscy pracownicy to eksperci, kod cudowny, frameworki najlepsze itp - to znaczy, że to wersja demo,
- dobrze ubrani programiści, cisza na sali, drętwo, ( od razu widzę, że kod będzie katastrofalny),
tajemnice - jak już na etapie rekrutacji firma nie chce powiedzieć na czym zarabia, kim sa klienci itp,
to zwykle znaczy, że coś śmierdzi, jakie narzędzia(!) są w użyciu itp,
Ja się zawsze wtedy zastanawiam się czy to pycha osób wymyślających polityki firmowe (chcą się dowartościować, więc będą robić ze swoich projektów tajemnicę większą niż północnokoreański program atomowy (i to dosłownie, bo jak Północna Korea robi test jądrowy, to przynajmniej się z tym nie kryją. A firma IT nie powie co robi i pani z HR powie tylko, że "ciekawy projekt").
Czy może raczej powody są dużo bardziej prozaiczne - czyli mają g**no kod, nieciekawe projekty, brak pomysłu na siebie - więc się po prostu boją, że jakby ujawnili prawdę, to mogliby odstraszyć kandydatów...?
Ew. może po prostu robią coś nie do końca etycznego/zgodnego z prawem i z wiadomych powodów po prostu muszą to utajniać przed outsiderami.
hasła na ścianach - każde hasło, które jest na ścianie to takie którego nie ma pomiędzy ścianami(dotyczy to wszelkich agile, clean code, szacunku itp),
nadmiar marketingu: jak wszystko błyszczy i jest cudownie
Coś w tym jest. Pracowałem w firmach, które miały różnego rodzaju hasła na ścianach (o TDD, lean startup, agile, inne "modne rzeczy"), gdzie w sumie te hasła nijak miały się do praktyki, do tego co faktycznie widziałem w kodzie, czy tego, w jaki sposób się realnie pracowało od poniedziałku do piątku.
Tak samo byli tam ludzie, którzy robili korpo-startupo-coacho-doping, i im bardziej słodko po wierzchu i przed innymi, tym większe chamstwo i hipokryzja odbywała się za kulisami.
jarekr000000 napisał(a):
- tajemnice - jak już na etapie rekrutacji firma nie chce powiedzieć na czym zarabia, kim sa klienci itp, to zwykle znaczy, że coś śmierdzi,tajemnica
- Rekruterka zachwala: Nie Mordor! Niestety nie mogę powiedzieć gdzie jest siedziba klienta.
W trakcie rekrutacji klient musiał się ujawnić. Na Targówku.
Na krakowskim Ruczaju, w KPT, jest parę fajnych mniejszych firm, a Ruczaj to totalne zadupie.