Linki: sława i chwała.

Prze­mek podesłał.

Wśród pro­gra­mi­stów obser­wuję cią­głą mor­der­czą rywa­li­za­cję: o to kto napi­sze lep­sze narzę­dzie, o to kto napi­sze now­sze narzę­dzie (bo spo­łecz­ność sta­rego, czę­sto lep­szego, jest już obsa­dzona i nie można tam zostać gwiazdą), o to kto opra­cuje (w sen­sie pozna­nia, albo stwo­rze­nia) nową, lep­szą tech­no­lo­gię.

Z zawo­do­wego punktu widze­nia to jałowa inte­lek­tu­alna roz­rywka. Nie osią­gnie się w ten spo­sób awansu pio­no­wego w struk­tu­rze firmy, nie zosta­nie się udzia­łow­cem czy nawet mana­ge­rem. Osią­gnąć można „awans poziomy” coraz węż­sza spe­cja­li­za­cja, umiar­ko­wa­nie coraz więk­sze pie­nią­dze, coraz więk­sza odpo­wie­dzial­ność i obcią­że­nie. Dopóki jedna ite­ra­cja tech­no­lo­gii nie zosta­nie zastą­piona przez następną, wów­czas taki czło­wiek sta­nie się opie­ku­nem wymie­ra­ją­cych sys­te­mów, dopóki one będą.

Nie kupi się tą drogą willi w Kon­stan­ci­nie, Fer­rari, czy małego, cichego pen­sjo­natu w Prowansji.

Jak to, zakrzyk­nie ktoś, prze­cież celem życia pro­gra­mi­sty jest pro­gra­mo­wa­nie!

Dla pra­co­dawcy nie jest to prawda. Dla pra­co­dawcy celem pra­cow­nika jest dostar­cze­nie pro­duktu, który przy­nie­sie dochód. Jak to będzie wyko­nane to szcze­góły nie wycho­dzące poza dział technologii.

Jeśli jest to prawda dla czło­wieka, to bar­dzo szybko się wypali.

A biz­ne­sowo, sys­temy pisze się w tym albo w tam­tym, i nie ma wiel­kiego zna­cze­nia co jest bar­dziej ele­ganc­kie, czy do pew­nego stop­nia, wydajne. Liczy się to, co ma niż­szy próg wej­ścia. Wtedy na rynku jest wię­cej pro­gra­mi­stów danej plat­formy, można dostać wię­cej umie­jęt­no­ści za mniej­sze pie­nią­dze. Dowód? Dwa naj­waż­niej­sze w Pol­sce pro­jekty Social Web są napi­sane w sze­roko pogar­dza­nym PHP.

Obser­wuję na bli­pie, naj­czę­ściej nasto­lat­ków, dla któ­rych naucze­nie się pro­gra­mo­wa­nia jest celem samym w sobie. Tro­chę to prze­ra­ża­jące, ciśnie się na usta palah­niu­kow­skie „nie jesteś swoim języ­kiem programowania”.

Naj­więk­szą szkodę Pytho­nowi wyrzą­dził Paul Gra­ham.

19 Comments

  • Shigella wrote:

    Wydaje mi sie przede wszyst­kim, ze doszli­smy juz do stanu „Star­szego kodera Mali­niaka”, czyli sytu­acji, gdy pro­gra­mi­sta sta­nowi dosko­nale wymienny ele­ment.
    Mijaja czasy hero­iczne, gdy pro­gra­mi­sta sam sobie byl ste­rem, zegla­rzem i okre­tem, a na jego bar­kach spo­czy­wal los stwo­rze­nia calej aplikacji.

    Placi sie takiemu gro­sze, bo coraz cze­sciej jedy­nym jego zada­niem jest prze­lo­ze­nie na klasy/moduly tego, co mu ana­li­tyk z archi­tek­tem wymy­slili.
    Artyzm tez jest tepiony, bo znacz­nie bar­dziej istotna jest umie­jet­nosc wspol­dzia­la­nia z innymi i pro­stota kodu, ktory ktos bedzie musial roz­wi­jac i utrzy­my­wac (wg zasly­sza­nej aneg­dotki pro­gra­mi­ste, ktory zna kolej­nosc ope­ra­to­row w danym jezyku nalezy zwol­nic, a zatrud­nic takiego, co wsze­dzie wsa­dza nawiasy).

    Zna­jo­mosc jakie­gos archa­icz­nego jezyka czy sytemu ma swoje zalety — pozwala cze­sto byto­wac w cha­rak­te­rze swie­tej krowy, ktora jako jedyna zna mean­dry i mroki pre­hi­sto­rii i potrafi cos naprawic.

  • Pro­gra­mi­ści w sen­sie tych co ryją kod? Tak, zgoda. Pro­gra­mi­ści w sen­sie tych co pro­jek­tują zło­żony sys­tem, a potem go razem z espo­łem prze­ku­wają na $$$ dla firmy? Nie zni­kaj ich, faj­nie się z nimi pracuje :)

    Ale rozu­miem że jestem ano­ma­lią w prze­strzeni firm rzeczywistych.

  • @yacoob

    To co nazy­wasz pro­ge­ami­stą to w „nor­mal­nej fir­mie” to jest archi­tekt, koduje, pro­jek­tuje, pozo­stali (kilka — kil­ka­na­ście osób na jed­nego archi­tekta) to po pro­stu wyko­nawcy jego wizji.

    Ale nawet „archi­tekt” nie prze­kłada się na pozy­cję w fir­mie czy w świecie.

    Ja się od 10 lat zasta­na­wiam, czemu w końcu ludzie w IT nie zaczną zakła­dać związ­ków zawodowych.

  • @alex:
    Sam mia­łem stycz­ność z 2 podej­ściami do „bycia pro­gra­mi­stą” w fir­mie.
    Jedno było takie jak opisujesz(długo-istniejąca firma z wła­snymi dziw­no­ściami IT) — zakła­dam swe­te­rek, wybie­ram swój kącik, włą­czam 15calowy crt i sie­dzę zaraz obok lodowni (ser­we­rowni) 8 godzin. Za nor­malną stawkę wkle­puję kod jaki żywnie mi się podoba w coraz to nowych waria­cjach (och, prze­cież select ma tyle moż­li­wo­ści uży­cia WHERE, JOINY, a to PHP:). Nie potra­fiąc się znu­dzić, wykle­pa­łem tro­chę sys­te­mów które jedyne co robiły to muto­wały zwra­cane stringi z htm­lem. Z per­spek­tywy czasu może wyda­wać się to śmieszne że ludzie mają ubaw z takimi rze­czami. Duża część (strze­la­łem kie­dyś że 95%) pro­jek­tów webo­wych opiera się na sche­ma­tach w bazach danych i loso­wym języku do wybie­ra­nia danych (php+sql, python+sql itd). Uda­wało się odna­leźć w tym „fun” — taki dla samego sie­bie (przy­spie­sze­nie apli­ka­cji itd). Dla pra­co­dawcy te malut­kie zwy­cię­stwa nie miały zna­cze­nia — dopóki nie pogar­szały stanu apli­ka­cji :)
    Potem spró­bo­wa­łem tro­chę innego podej­ścia do tego samego pro­blemu — pro­gra­mi­sty w małym startupie(grafik, koder html, szef i ja). Był to dla mnie spory szok — nagle ta sama praca zaczęła sma­ko­wać „zupeł­nie ina­czej”. Z jed­nej strony w zakre­sie obo­wiąz­ków nadal mia­łem kle­pa­nie kodu/utrzymywanie sys­temu. Ale spa­dło na mnie tro­chę innych obo­wiąz­ków — utrzy­my­wa­nie kon­tak­tów z klien­tami, pil­no­wa­nie samego sie­bie i jed­no­cze­śnie całego zespołu, samo­dzielne wybie­ra­nie tech­no­lo­gii (para­dok­sal­nie — sta­łem się bar­dziej ostrożny w nowin­kach). Chyba nie muszę mówić jak to odmie­nia pro­gra­mi­stę intro­wer­tyka :) Zmie­niła się per­spek­tywa którą patrzę na pro­jekt. Z wła­snego, małego poletka musia­łem spoj­rzeć na pro­jekt bar­dziej kom­plek­sowo obej­mu­jąc o wiele wię­cej aspek­tów (które kie­dyś nie miały dla mnie zna­cze­nia). To taka hybryda architekta/project-managera/. Czło­wiek z tek­stu „celem życia jest pro­gra­mo­wa­nie” prze­cho­dzi w „celem życia jest roz­wią­zy­wa­nie pro­ble­mów” a pro­gra­mo­wa­nie jest tylko jed­nym z narzę­dzi. Od tego momentu zaczy­nasz myśleć o biz­ne­sie i milio­nie przed trzy­dziestką ;)
    Wydaje mi się że nie ma co dra­ma­ty­zo­wać z tą mło­dzieżą — wielu moich rówie­śni­ków zaczy­nało od pro­gra­mo­wa­nia dla pro­gra­mo­wa­nia a koń­czyło na PMo­wa­niu ;) Z tego się wyrasta.

  • Tak, zgoda, archi­tekt. Na pozy­cję w świe­cie się nie prze­kłada, w fir­mie już tak. Zakła­da­jąc że mówimy o fir­mach eng, a nie o takim, ja wiem? IBMie który utrzy­muje Exchange dla innych. Myślę że fakt że pozy­cji „w świe­cie” nie osią­gniesz jest dosyć dobrze znany i ludzie są tego świa­domi (a jeżeli nie są — śmierć frajerom).

    Co do sławy w środo­wi­sku — to jest róż­nie. Nie ocze­kuj fan­bo­izmu i zacho­wań rodem z fan­domu Lady Gagi wśród infor­ma­ty­ków. Nie muszę pamię­tać jak nazywa się autor sil­nika rege­xpo­wego w Perlu by wyra­żać podziw. Jeżeli teraz dobry pro­gra­mi­sta wpa­kuje ener­gię *tylko* w pro­jekt open­so­urce to… cóż. To będzie miał to, co sobie nawa­rzy. Czyli niewiele.

    A związki? Pew­nie zaczną. IMOIT” jakie masz na myśli jest jesz­cze po pro­stu za młode, płace za wyso­kie a warunki pracy zbyt dobre. Więc po co się wysilać…?

  • @yaco

    Co to zna­czy „tylko” w pro­jekt open source?

    Na war­szaw­skim CON­Fi­dence był Mike Ker­shaw, autor dość pod­sta­wo­wego narzę­dzia w jed­nej dzie­dzi­nie (kismet). Pomię­dzy pre­lek­cjami snuł się samot­nie. Nikt nie pod­szedł zamie­nić słowa, posta­wić piwa, czy powie­dzieć pro­ste „dzię­kuję”. Ja też nie.

    O tym jest ten post który linkowałem.

  • A w zasa­dzie czemu nie podszedłeś?

  • @Valvit

    Bez­po­śred­nio, bo nie moja działka, nie sie­dzę w wire­les­sach i ostatni raz Kismeta uży­wa­łem ładnych kilka lat temu. Po pro­stu zare­je­stro­wa­łem „o, Ker­shaw od Kismeta, nice”, i posze­dłem dalej.

    A sze­rzej, to tak jak Zed napi­sał: mam ten kawa­łek kole­sia, który jest uży­teczny, kon­takt z czło­wie­kiem mi niepotrzebny.

  • tatamaxa wrote:

    kon­takt z czło­wie­kiem mi niepotrzebny”

    socjo­pata

  • tatamaxa wrote:

    @Alex

    auć

  • @alex, mam na myśli że:
    1/ szu­ka­nie „chwały i uzna­nia” za pomocą dzia­ła­nia w IT to ogól­nie kiep­ski pomysł;
    2/ poświę­ce­nie całej swo­jej ener­gii na pro­jekt open­so­urce, to gwa­ran­to­wana „chwała” w bar­dzo zamknię­tym środo­wi­sku;
    3/ owe środo­wi­sko, to (nie bójmy się tego słowa) nerdy, które nie podejdą i po plec­kach nie poklepią.

    Wpa­ko­wa­nie ener­gii w pro­jekt komer­cyjny może zaowo­co­wać punk­tami uzna­nia „na zewnątrz” — o ile pro­jekt się uda a inwe­stu­jący będzie w odpo­wied­nim miej­scu. Ana­lo­gicz­nie, publi­ka­cja odno­śnie nowej metody kom­pre­sji też pew­nie przy­nie­sie tro­chę sławy na zewnątrz.

    Z cie­ka­wo­ści: uwa­żasz że ta „sława” wygląda lepiej w przy­padku innych pro­fe­sji tech­nicz­nych? Słynni budow­ni­czo­wie mostów, pro­jek­tanci łodzi pod­wod­nych, czy cho­ciażby biolodzy?

  • ziembor wrote:

    Z cie­ka­wo­ści: uwa­żasz że ta “sława wygląda lepiej w przy­padku innych pro­fe­sji tech­nicz­nych? Słynni budow­ni­czo­wie mostów, pro­jek­tanci łodzi pod­wod­nych, czy cho­ciażby bio­lo­dzy?„
    te wszyst­kie inne pro­fe­sje są o wiele bar­dziej zespo­łowe. Masz małą szansę będąc skraj­nym intro­wer­ty­kiem zyskać szer­szą sławę. Bo ona jest dla sze­fów zespo­łów które coś robią

  • […] Alex, 8. czerwca roku pań­skiego 2023 ← […]

  • @ziembor

    Nauka jest owszem, zespo­łowa, ale każda publi­ka­cja ma zna­nych auto­rów i publicz­nie wia­domo, że pan Doe współ­au­to­rzył arty­kuly o X i Y i książkę o Z, więc zna się conajm­niej na X i Z. I to juź jest coś.

    I jak szu­kasz kon­traktu na post­doca to nikt ci nie każe za każ­dym razem roz­wią­zy­wać rów­na­nia Schro­edin­gera roz­wi­nię­ciem na funk­cje kuli­ste Gre­ena (fizy­ków pro­szę o nie­krzy­cze­nie). Nie ma odpo­wied­nika tego co Zed Shaw opi­suje, że facet co napi­sal Mon­grela musi za każ­dym razem udo­wod­nić, że umie programować.

    W dodatku umie­jęt­no­ści w IT dewa­lu­ują się prze­raź­li­wie szybko.

    @yacoob

    @1 zga­dzam się

    @2 zawsze jakaś chwała, ale praw­nicy od kon­trak­tów kor­po­ra­cyj­nych czy kar­dio­chi­rur­dzy to też są małe środowiska

    @3 z wła­snego doświad­cze­nia powiem tylko że na uber­ner­dow­skich prze­cież kon­fe­ren­cjach fizy­ków jest dużo bar­dziej „spo­łecz­nie” niż na takim CONFidence

  • jakub wrote:

    Nie każą roz­wią­zy­wać rów­na­nia Schro­edin­gera bo to roz­wią­za­nie nie­szcze­gól­nie się zmie­nia pew­nie.
    A jak się prze­słu­chuje pro­gra­mi­stę, to nie wia­domo od razu jak gościu poli­czy dajmy na to ciąg Fibo­nac­ciego (na przy­kład na pałę ze wzoru), albo jak będzie sor­to­wał (weź ten vec­tor…), a prze­bi­ja­nie się przez kod jest jak kosze­nie trawy wia­domo czym. Po tym, jak na roz­mo­wie gościu dostaje krót­kie zadanko widać co i jak i czy może być tym któ­rego chce się zatrudnić.

  • @jakub

    Tak, w przy­padku kode­rów z ulicy ale:

    * w cyto­wa­nym poście auto­rem nie jest koleś z ulicy tylko facet, który napi­sał coś dużego (tu: Mon­grela), facet który napi­sał Mon­grela raczej (&sar­kazm) umie programować;

    * zna­jo­mość metody na sumo­wa­nie ciągu Fibo­nac­ciego ma się nijak do dostar­cza­nia na ter­min, umie­jęt­no­ści współ­pracy z zespo­łem czy pisa­nia kodu, który łatwo przej­mie ktoś inny;

    * metoda na opty­malne sumo­wa­nie ciągu Fibo­nac­ciego to się jakoś mocno zmie­nia? Nie zauważyłem.

    Spo­tka­łem się kilka razy (z obu koń­ców lufy nie­stety), z podej­ściem że część roz­mowy kwa­li­fi­ka­cyj­nej służy raczej do usta­la­nia nie co się umie, tylko who is the butch, and who is the bitch.

  • septi wrote:

    Jak dla mnie sedno tkwi w tej aneg­dotce z ope­ra­to­rami i nawia­sami, tylko tro­chę z innej per­spek­tywy. Tzn. jest płacz­liwa histo­ryjka kole­sia, któ­remu się wydaje, że go zwol­nili za to, że znał prio­ry­tety ope­ra­to­rów, a cho­dzi o to, że zwol­nili go za to, że mu się wyda­wało, że zna­jo­mość tego zwal­nia go z wsta­wia­nia nawiasów.

    To, że ten cały Zed napi­sał jakiś open­so­ur­cowy pro­gra­mik nie ozna­cza, że nie jest typem pro­gra­mi­sty, który nie wsta­wia nawia­sów. I to mię­dzy innymi może spraw­dzać zada­nie na napi­sa­nie kodu liczą­cego ciąg Fibonacciego.

    Co zaś do Mon­grela, z bloga prze­czy­ta­łem, że kole­siowi się wydaje, że jest sławny. Ja nigdy dotąd (aż nie prze­czy­ta­łem wpisu z odno­śnika) nie sły­sza­łem ani o nim, ani o Mon­grelu. Nie jest to, owszem, dokład­nie moja działka, ale jed­nak zaj­muję się zawo­dowo two­rze­niem opro­gra­mo­wa­nia od kilku lat i znam nazwę wię­cej niż jed­nego ser­wera http. Naj­wy­raź­niej Zedowi, i tobie, Alex, wydaje się, że Mon­grel jest słyn­nym pro­gra­mem i że fakt napi­sa­nia go świad­czy o tym, że Zed jest świet­nym pro­gra­mi­stą, ale np. mnie, a co za tym idzie zapewne rów­niez wielu poten­cjal­nym ludziom prze­pro­wa­dza­ją­cym z nim roz­mowy o pracę, mówi to tylko tyle, że napi­sał jakiś pro­gram, który działa.

    Co do „nor­mal­nej firmy” w któ­rej jest jeden archi­tekt na kil­ku­na­stu dosko­nale wymie­nial­nych pro­gra­mi­stów, to oso­bi­ście się z taką „nor­malną firmą” nie spo­tka­łem. Zawsze wyglą­dało to tak, że wymiana pro­gra­mi­sty jest bole­sna. I wcale nie dla­tego, że jest geniu­szem, co roz­wiąże pro­blemy, któ­rych nikt inny nie roz­wiąże, ale po pro­stu zna kod, który napi­sał i utrzy­muje i jest w sta­nie w dwie minuty udzie­lić odpo­wie­dzi, któ­rej uzy­ska­nie z reverse engi­ne­ering zaję­łoby godziny lub nawet dni. I w tym mam dosyć świeżą prak­tykę na trzech fron­tach, tzn. z jed­nej strony udzie­lam takich odpo­wie­dzi, z dru­giej strony cho­dzę z takimi pyta­niami, a z trze­ciej pra­co­wa­łem nie tak dawno nad prze­ra­bia­niem kodu, któ­rego autor „już tu nie pracuje”.

    I owszem, być może, a nawet pra­wie na pewno ist­nieją firmy, w któ­rych jest to mniej­szy pro­blem, bo ist­nieje obszerna i szcze­gó­łowa doku­men­ta­cja wszyst­kiego, bo wie­dza jest porząd­nie roz­pro­szona po zespole, bo wszystko jest sta­ran­nie peer revie­wo­wane itd. Ale nie jestem prze­ko­nany, że jest to sytu­acja „normalna”.

    Ale też nie spo­tka­łem się z sytu­acją, żeby firma, w któ­rej pra­cuję, zwol­niła programistę.

    I wła­śnie sobie też pomy­śla­łem, że taka odmien­ność per­spek­tywy mojej od wielu piszą­cych tutaj wynika w dużej mie­rze z tego, że nigdy nie pra­co­wa­łem w dotcomie.

Leave a Reply

Your email is never shared.Required fields are marked *