Programista nie do zastąpienia

Programista nie do zastąpienia
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:około 5 godzin
  • Postów:8409
2

No, ale jak się ładnie temu klientowi zobrazuje katastrofę samolotową, gdzie na pokładzie byli wszyscy znający dany obszar systemu (albo lepiej - już była w projekcie sytuacja, że cała taka ekipa była na urlopie w tym samym momencie), to raczej się na to zgodzi. :D

nie do końca zrozumiałem metaforę z samolotem. Chociaż kojarzy mi się z tym, że "nie ma demokracji na pokładzie samolotu" - i że jednak musi być załoga, która nim steruje. Jakby każdy pasażer losowo się wymieniał drążkiem i sterował w swoją stronę, to nie byłoby fajnie. Czyli to byłby argument za specjalizacją, żeby poszczególne działki pozostawić (niezastąpionym) ekspertom, a nie bawić się full stackowanie.

LowSkiller napisał(a):

Trzeba też przy tym pamiętać, że zazwyczaj trzeba mieć kasę na rozbijanie silosów i dobrze sprzedać to klientowi - dzielenie się kompetencjami wiąże się z tym, że biznes godzi się na to, że dany bug/feature będzie robiony 2-3x dłużej, bo jest ktoś nowy, kto się tej działki uczy.

Myślę, że tu można argumentować w obie strony (albo i więcej).

Można twierdzić, że dany ficzer będzie robiony szybciej, bo będzie go robiło kilka osób, więc się podzielą pracą. A jakby jedna osoba robiła, to by musiała robić wszystko, więc wolniej. No i jak jest kilka osób, to każdy może robić to, w czym się zna, a nie, że jeden człowiek orkiestra.

A można twierdzić, że dany ficzer będzie robiony szybciej, bo będzie go robić jedna osoba, więc będzie mieć wolną rękę. I nie będzie narzutu na komunikacje, na bikeshedding, na ustalanie "co kto robi" na rozwiązywanie konfliktów czy na code review i poprawianie kodu po innych. Czy na wdrażanie osób nowych w projekcie.

Przydałyby się jakieś badania, które by sprawdzały, czy faktycznie zwiększenie osób w zespole wpływa na produktywność i w jaki sposób. I kiedy opłaca się dorzucać więcej ludzi do zespołu, a kiedy się to nie opłaca.


TS
Takie badanie nie byłoby reprodukowalne. Każdy zespół jest inny, zbyt często się zmienia i często urlop jednej osoby sprawia duży spadek produktywności zespołu. Być może jednak ktoś wymyśli kiedyś taki eksperyment, który to dokładnie przetestuje.
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:3 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
5

Kiedyś usłyszałem że nie ma osób nie do zastąpienia. A jeśli przypadkiem jest to należy ją jak najszybciej zwolnić zanim jeszcze bardzie się okopie i stanie się jeszcze bardziej nie do zastąpienia.

Naprawdę nigdy nie pracowaliście w projekcie, gdzie ostatni poprzedni programista zniknął w tajemniczych okolicznościach, a wy musicie niczym archeolog odcyfrować zapis pradawnej cywilizacji?
Jest to drogie, ale wykonalne. Co znaczy, że nigdy programista nie może okopać się tak by być nie do zastąpienia


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 1x, ostatnio: KamilAdam
PA
Najgorzej jest, jak odziedziczasz projekt, który był debiutem programistycznym grupy ludzi, która wcześniej nawet nie wiedziała co to programowanie. Na szczęście w dzisiejszych czasach rzadko spotykane.
BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
1
KamilAdam napisał(a):

Kiedyś usłyszałem że nie ma osób nie do zastąpienia. A jeśli przypadkiem jest to należy ją jak najszybciej zwolnić zanim jeszcze bardzie się okopie i stanie się jeszcze bardziej nie do zastąpienia.

Klient dla którego pracuje "twój" outsourcing kupił biznes i włącza go w swoje struktury. Do zintegrowania jest wszystko co się da i co trzeba, a zostało to dawno temu zrobione przez firmy pracujące dla tamtego, wykupionego biznesu. Współpracy z tamtymi wykonawcami już nie ma i nie będzie.
Co się robi? Robi się w Polsce, w Wietnamie, na Białorusi i innych podobnych krajach i jest zrobione.

Wszystko/każdego da się zastąpić "tańszym zamiennikiem"


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
loza_wykletych
loza_wykletych
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 4 lata
  • Postów:854
1
LukeJL napisał(a):

Przydałyby się jakieś badania, które by sprawdzały, czy faktycznie zwiększenie osób w zespole wpływa na produktywność i w jaki sposób. I kiedy opłaca się dorzucać więcej ludzi do zespołu, a kiedy się to nie opłaca.

Po co badania? Spójrz na świat biznesu - wielkie, niezarządzalne, niezatapialne korporacje które nawet nie wiedzą co robią i dla kogo ale rada nadzorcza kosi premie za wykresy w PowerPoincie. Teamy które latami potrafią pracować nad projektami który już dawno zostały zapomniane i nigdy nie wejdą na produkcję. Jak potrzeba coś innowacyjnego to się przegląda rynek bierze najbardziej obiecujący startup daje właścicielom kilkaset baksów na urządzenie życia a wielkość i siła nabywcy pozwala na gwałtowne zwiększenie skali. Słupki w PP rosną, premie również.

Później kolejne przegięcie krzywej i cykl zaczynamy od nowa.


Z wszelkiego drzewa tego ogrodu możesz spożywać według upodobania - ale z drzewa poznania dobra i zła nie wolno ci jeść, bo gdy z niego spożyjesz, niechybnie umrzesz.
PA
Ty serio nie jesteś z automotive?
loza_wykletych
loza_wykletych
Coś się tak uparł z tym automotive? To że ten rynek jest w fazie ostatecznej konsolidacji nie oznacza że jest jakoś wyjątkowy jeśli chodzi o procesy. Zresztą jakoś nie słychać żeby specjalnie automotive goniło za startupami, chyba bardziej tworzą własne rozwiązania na nieszczęście konsumentów.
PA
Po prostu bardzo trafnie opisujesz pewnie procesy, które widać w tej branży.
loza_wykletych
loza_wykletych
To są procesy które ujrzysz w KAŻDEJ dużej organizacji. Duże organizacje minimalizują wewnętrzne ryzyko a to spowalnia procesy decyzyjne - więc jeśli chcą szybko reagować to muszą pewne rzeczy eksternalizować - czy to do spółek córek czy po prostu zostawić to startupom. Jak spojrzysz szerzej np. poprzez perspektywę życia biologicznego to zauważysz te same wzorce.
GS
  • Rejestracja:ponad 8 lat
  • Ostatnio:dzień
  • Postów:1265
0

Programistów pewnie można, ale jeśli chodzi o inżynierów oprogramowania to moim zdaniem istnieją tacy nie do zastąpienia, co nie oznacza, że nie można się bez nich obejść.

Przez "nie do zastąpienia" rozumiem zbiór pewnych unikalnych kompetencji, które powodują, że zespół, dział czy nawet firma nie jest w stanie realizować bez nich pewnych strategii. Czy zespół sobie bez nich poradzi? Pewnie tak, po prostu będzie realizował inną strategię, możliwe że gorszą, możliwe, że prowadzącą do innego celu niż założone, ale zawsze jakiegoś celu. Sam pracuję przynajmniej z 2-ma takimi. Ich niezastępowalność nie ma nic wspólnego z ich stylem kodowania czy podobnie nieistotnymi rzeczami. Po prostu ich wiedza i doświadczenie powodują, że bez nich nie powstałyby rozwiązania problemów rzutujących na strategię firmy. Gdyby ich nie było od początku, to pewne rzeczy po prostu by nie powstały, a strategia firmy byłaby gorsza. Gdyby ktoś miał ich zastąpić w pół projektu, to albo by ten projekt natychmiast uwalono, co było by względnie rozsądnym zadaniem, albo pozwolono by dziesiątkom ludzi pracować jeszcze przez jakiś rok by w końcu przyznać się do porażki i tego że założenia nie zostaną osiągnięte.

To trochę jak z pytaniem, czy da się zastąpić samochód. Do pewnych rzeczy pewnie tak - do dojazdów do pracy można zastąpić autobusem czy nawet hulajnogą. Ale żeby być za 5 godzin 400 km. stąd. to albo innym samochodem, albo helikopterem. Więc jeśli nie masz tych środków transportu, to po prostu nie będziesz w tym miejscu w zadanym czasie, wybierasz np. transmisję telewizyjną i żyjesz dalej :)

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 6 godzin
3

Programistów pewnie można, ale jeśli chodzi o inżynierów oprogramowania

Jak to dobrze, że jestem oficjalnie starszym inżynierem oprogramowania :)


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
Zobacz pozostałe 2 komentarze
Wibowit
Jestem jak Dr. Jekyll and Mr. Hyde
loza_wykletych
loza_wykletych
Czyli borderline?
Wibowit
Borderline autism.
RA
@Wibowit: z jakiego kawałka ten tekst?
loza_wykletych
loza_wykletych
@Wibowit: Przecież autystycy nie kłamią i są szczerzy aż do bólu. Poza tym pewnie nie gadasz do księżyca więc po co palić głupa?
loza_wykletych
loza_wykletych
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 4 lata
  • Postów:854
0
GutekSan napisał(a):

Przez "nie do zastąpienia" rozumiem zbiór pewnych unikalnych kompetencji, które powodują, że zespół, dział czy nawet firma nie jest w stanie realizować bez nich pewnych strategii.

Przecież nieredukowalna złożoność to BS dla kreacjonistów ;)


Z wszelkiego drzewa tego ogrodu możesz spożywać według upodobania - ale z drzewa poznania dobra i zła nie wolno ci jeść, bo gdy z niego spożyjesz, niechybnie umrzesz.
loza_wykletych
loza_wykletych
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 4 lata
  • Postów:854
0
LowSkiller napisał(a):
LukeJL napisał(a):

nie do końca zrozumiałem metaforę z samolotem. Chociaż kojarzy mi się z tym, że "nie ma demokracji na pokładzie samolotu" - i że jednak musi być załoga, która nim steruje. Jakby każdy pasażer losowo się wymieniał drążkiem i sterował w swoją stronę, to nie byłoby fajnie. Czyli to byłby argument za specjalizacją, żeby poszczególne działki pozostawić (niezastąpionym) ekspertom, a nie bawić się full stackowanie.

Masz rację, zgadzam się z tym. Tylko chodziło mi o samolot w innym znaczeniu.

Samoloty, samoloty
https://www.pacificventury.com/post/the-737-max-8-case-what-happened-to-the-leadership-compass-of-boeing


Z wszelkiego drzewa tego ogrodu możesz spożywać według upodobania - ale z drzewa poznania dobra i zła nie wolno ci jeść, bo gdy z niego spożyjesz, niechybnie umrzesz.
HA
  • Rejestracja:około 6 lat
  • Ostatnio:około 20 godzin
  • Postów:1006
1

W małych firmach są ludzie, których czasami bardzo trudno zastąpić, bo mają wiedzę, która wymaga 2-3 specjalistów wchodzących z zewnątrz, a kasy na nich brakuje. W dużych firmach o ludziach nie do zastąpienia po miesiącu już nikt nie pamięta.

BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
0
hadwao napisał(a):

W małych firmach są ludzie, których czasami bardzo trudno zastąpić, bo mają wiedzę, która wymaga 2-3 specjalistów wchodzących z zewnątrz, a kasy na nich brakuje.

1 admin
2 projektant & grafik
3 programista full stack

3 w 1* /do tego Janusz wpierniczający przy rozmowie telefonicznej chipsy/*


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
HA
Między innymi takie sytuacje mam na myśli, ale również firmy gdzie developerów jest np. 5 i mają kilka obszarów specjalizacji w których są dobrzy. Takie osoby trudno zastąpić w krótkim czasie bo trudno znaleźć osoby z podobnym zestawem skilli na rynku.
BraVolt
5 dobrych specjalistów od dawna w firmie to raczej sugeruje, że w takiej firmie nie ma permanentnych problemów kasą (typowy Small Software Media Johnny Company sp. z o.o. - bo teraz żona Janusza chciałaby nowego SUVa a poprzednio trzeba było kasy na ferie zimowe na Borneo)
HA
Oj to nawet nie chodzi o dobrych specjalistów, tylko po prostu zestaw kilku technologii, których używa się w firmie. Nie jest łatwo trafić na rynku osobę, która jest od zaraz i ma taki sam stack pomijając jakieś oklepane standardy. Znam też sytuację, gdzie w firmie (nie IT) jest jeden koleś, który ogarnia wszystkie systemy wewnętrzne firmy (często pisane przez niego) - wyobraź sobie jaki to jest dramat jak ktoś taki odchodzi i znając życie zostawia kod, który rozumie tylko on sam.
BraVolt
@hadwao: To też, ale (znam z życia 'mojej starej prowincji') jednak dużo częściej to fatalne zarządzanie biznesem i "kadrami" janusz-biznesu kręci się bo się kręci, bo pracowników i robotników na miejscu ma dość żeby każdego zastąpić. Tak to wygląda, bo niestety Polska to nie tylko programiści w trzech największych miastach.
loza_wykletych
loza_wykletych
programista pracujący dla Januszsoft na polskiej wsi? Nie deprecjonujmy terminów. Toż to informatyk jest.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)