Statistical programmer - to znaczy kto?

0

Co jakiś czas na feedzie linkedina pojawiają mi się dziwne ogłoszenia dla "statistical programmer" albo "clinical programmer". WTF?
Wiem, kim jest programista bazodanowy, programista systemów wbudowanych, programista aplikacji sieciowych, mobilnych itd. Ale co robi programista statystyczny?

Przykładowe wymagania:

  • ma umieć tworzyć datasety CDISC
  • ma znać biegle język SAS i/lub R. Nigdzie nie pojawiają się typowe języki jak C albo Java, Python
  • ma znać różne zagadnienia statystyki
  • ma znać biegle format XML
  • ukończone studia z zakresu matematyki lub statystyki lub bioinżynierii lub medycyny
  • umiejętność pracy z małymi zbiorami danych

Czy zwykły programista może zostać "statistical programmer"? Po co miałby to robić? Czy chodzi tylko o lepsze zarobki? Widziałem kilka ogłoszeń z widełkami i wychodzą w 5 cyfrowych kwotach na rękę, ale dlaczego??? Dlaczego nie poszukują ludzi po IT? Czy zwykły programista po politechnice jest gorszy niż gość po statystyce albo medycynie? Czy oni programują coś zupełnie innego niż np. programista .NET? Dlaczego np. w przeciętnej korporacji zarabia się mniej niż oni, mając mgr inż informatyki i wiele lat praktyki? Bez sensu. Dalej, z tego co się orientuję, oficjalnym językiem data science jest Python, więc dlaczego nie pojawia się w żadnym ogłoszeniu dla "statistical programmer"? Z tego co się orientuję, cały świat idzie w big data, więc o jakie "małe zbiory" chodzi? Po co to robić?

Dodam tylko, że odpowiedziałem na jedno ogłoszenie, że dobrze programuję w Javie, a przecież nowoczesny machine learning stoi na Scali i dostałem odpowiedź negatywną, że oni nie szukają "ordinary programmer" tylko "statistical programmer".

Nie, żeby mnie to specjalnie interesowało zawodowo, mam swoją działkę, ale intryguje mnie samo pojęcie.

0
Wesoły Krawiec napisał(a):

Dlaczego nie poszukują ludzi po IT? Czy zwykły programista po politechnice jest gorszy niż gość po statystyce albo medycynie?

W statystyce dla medycyny? Pewnie że jest (przeciętnie) gorszy. Szukają ludzi którzy znają wiedzę domenową (bioinżynieria) albo z dobrą znajomością metod (matematyka). Idealnie obu tych zdolności.

Czy oni programują coś zupełnie innego niż np. programista .NET?

Tak, opracowania statystyczne dla medycyny i dziedzin pokrewnych. Przeciętny programista .NETu nie wchodzi prawie nigdy w metody matematycznej analizy danych.

Dlaczego np. w przeciętnej korporacji zarabia się mniej niż oni, mając mgr inż informatyki i wiele lat praktyki? Bez sensu.

Bo przeciętny programista w przeciętnej korporacji nie ma wiedzy biznesowej potrzebnej do samodzielnej pracy z danymi medycznymi. Ludzi z takich dziedzin z jakich oni szukają jest mniej. Więc żeby jakiegoś złapać trzeba płacić więcej.

Dalej, z tego co się orientuję, oficjalnym językiem data science jest Python, więc dlaczego nie pojawia się w żadnym ogłoszeniu dla "statistical programmer"?

Pewnie dlatego że w ich niszy po prostu się go nie stosuje. Tak samo jak nikt o zdrowych zmysłach nie pakował by się w SAPa (chodzi mi oczywiście o niemieckie ERP i inne tego typu kloce) gdyby nie był używany w wielu firmach. Ale jest, więc się pakują.

Z tego co się orientuję, cały świat idzie w big data, więc o jakie "małe zbiory" chodzi? Po co to robić?

Eksperymenty medyczne nie generują dużych ilości danych (śmiem twierdzić że dużo systemów które srają sloganami "big data" też nie) - na przykład masz dane z jednej serii eksperymentów albo z pacjentów jednego szpitala, ale z tych danych które masz musisz wycisnąć tyle informacji ile się tylko da. Nikt ci nie pozwoli podać twojego leku grupie 10 milionów osób które później będą raportować w real-time czy dobrze się czują - raczej będziesz mieć ręcznie zebrane dane wpakowane w jakąś bazę które trzeba obrobić. Z tego co wyczytałem to jest to raczej rola wsparcia dla statystyków - coś takiego jak data engineer jest dla data scientistów. Jest tam też oczywiście element wizualizacji danych.

1

Myśle że chodzi tutaj o ludzi ze znajomością statystyki/analizy danych + programowania. Ileż tej statystyki masz niby na informatyce? 1 semestr? I pewnie i tak niewiele pamiętasz. Modeli matematycznych dla skomplikowanych zagadnień to ty raczej nie zrobisz ;)
To jest tak jak z Quant Developerami gdzieś w finansach -> z jednej strony to niby programowanie, ale do tego musisz jeszcze rozumieć dobrze "dziedzinę" i co ktoś do ciebie mówi.

1

"Czy zwykły programista może zostać "statistical programmer"?"

Tylko i wyłącznie z wiedzą wyniesioną ze studiów i własnym poczuciem zajedwabistości? Nie.

"Widziałem kilka ogłoszeń z widełkami i wychodzą w 5 cyfrowych kwotach na rękę, ale dlaczego???"

Widziałem tysiące ogłoszeń z pięciocyfrowymi kwotami na rękę dla programistów, których praca w 99% składała się z c&p kodu z SO, a odpowiedzialność za wykonaną pracę wynosi zero. Dlaczego? Skoro pielęgniarka czy inżynier budownictwa zarabia 1/5 tej kwoty, a ich odpowiedzialność jest 5x większa?

"Dlaczego nie poszukują ludzi po IT? Czy zwykły programista po politechnice jest gorszy niż gość po statystyce albo medycynie?"

Tak. Jakie masz pojęcie o statystyce czy medycynie?

"Dlaczego np. w przeciętnej korporacji zarabia się mniej niż oni, mając mgr inż informatyki i wiele lat praktyki?"

Dlatego, że oni programistów jest na pęczki, a ludzi ogarniających programowanie ORAZ statystykę/medycynę jest znacznie mniej. Prawa popytu i podaży się kłaniają. Jak czytam takie posty to zaczynam rozumieć ludzi, którzy twierdzą, że w programiści to grupa ludzi o przerośniętym ego...

0

tak, tak

pozniej ludzie sie rzucaja z mostu, bo widza taka egzotyczna nazwe, jak "Python Quant Developer" za jakies 80k-130k £.
a to nie jest takie ciekawe. no przez ilez mozna tylko modele budowac, gdzie jakas praktyka, hands-on-experience ?

0
zgrzybiale skarpety - UK napisał(a):

tak, tak

pozniej ludzie sie rzucaja z mostu, bo widza taka egzotyczna nazwe, jak "Python Quant Developer" za jakies 80k-130k £.
a to nie jest takie ciekawe. no przez ilez mozna tylko modele budowac, gdzie jakas praktyka, hands-on-experience ?

Za 80-130k£ jestem skory zmienić swoją definicję ciekawej pracy. Z drugiej strony quanci nie są raczej znani z rozsądnych godzin pracy.

0

Zerknij do linku, który wklejam poniżej. Jest tam przykładowy rozdział oraz spis treści:

Statistical programming

Dodatkowo znam odpowiedź na jeszcze jedno Twoje pytanie:
Dalej, z tego co się orientuję, oficjalnym językiem data science jest Python, więc dlaczego nie pojawia się w żadnym ogłoszeniu dla "statistical programmer"?

Chodzi o hermetyzację tzn. jedynymi dopuszczalnymi językami, w których możesz składać raporty do regulatorów jest SAS lub R, w innych nie możesz. Chodzi o walidację tych raportów tzn. żeby były poprawne. Dlatego nikt Ci nie pozwoli ściągnąć pakietu Pythona z jakiejś stronki i zrobić w nim raportu. ;-)

0

Cały pic polega na tym że nie chodzi o to że statistical programmer powinien umieć statystykę - on powinien rozumieć ją na tyle (i znać modele żeby wiedzieć którego w danym przypadku użyć) żeby wykazać rezultaty których chce klient ;) . A to nie jest prosta rzecz. Gros zleceń z tej branży to firmy farmaceutyczne które chcą wprowadzić nowe substancje na rynek (nowe w cudzysłowie, zazwyczaj już gdzieś stosowane -> USA) - najlepiej jak substancja zostanie dopuszczona i zaszeregowana jako ważny lek do stosowania w procedurze X, wtedy może nawet załapać się na refundację (często 100%) i już można spijać śmietankę (to są leki drogie, największy zysk jest gdy lek jest refundowany). Ale żeby do tego doszło to trzeba mieć podkładkę w postaci badań i wyników które to uzasadniają. Nazwali to fachowo EBM (evidence based medicine)

Problem jest taki że te badania są na małych próbach i większość jedyne co pokazuje to że placebo w grupie kontrolnej jest równie skuteczne albo rezultaty są ale dla nieakceptowalnych z punktu widzenia klienta przedziałów ufności. I tutaj trzeba tak pomysłowo zastosować modele żeby te wyniki "podrasować" albo zaciemnić to że nic z nich nie wynika ;)

0
loza_szydercow napisał(a):

Cały pic polega na tym że nie chodzi o to że statistical programmer powinien umieć statystykę - on powinien rozumieć ją na tyle (i znać modele żeby wiedzieć którego w danym przypadku użyć) żeby wykazać rezultaty których chce klient ;) . A to nie jest prosta rzecz. Gros zleceń z tej branży to firmy farmaceutyczne które chcą wprowadzić nowe substancje na rynek (nowe w cudzysłowie, zazwyczaj już gdzieś stosowane -> USA) - najlepiej jak substancja zostanie dopuszczona i zaszeregowana jako ważny lek do stosowania w procedurze X, wtedy może nawet załapać się na refundację (często 100%) i już można spijać śmietankę (to są leki drogie, największy zysk jest gdy lek jest refundowany). Ale żeby do tego doszło to trzeba mieć podkładkę w postaci badań i wyników które to uzasadniają. Nazwali to fachowo EBM (evidence based medicine)

Problem jest taki że te badania są na małych próbach i większość jedyne co pokazuje to że placebo w grupie kontrolnej jest równie skuteczne albo rezultaty są ale dla nieakceptowalnych z punktu widzenia klienta przedziałów ufności. I tutaj trzeba tak pomysłowo zastosować modele żeby te wyniki "podrasować" albo zaciemnić to że nic z nich nie wynika ;)

Aha, czyli dla dobra korporacji mam klamac do klientow, zeby zarabiac te 100k w obcej walucie ?
To nie, dziekuje postoje. Juz pracowalem we firmie, gdzie wprowadzano nowy "Tool" i to ja bylem posmiewiskiem, jak jechalem do klienta to pokazywac / pracowac z nim i gdy cos sie psulo cala frustracja ladowala na mnie, A menadzery, handlowcy, HRy sobie przyjemnie i latwo siedzialy w biurze u siebie i mialy ubaw zapewne, ze nie maja odpowiedzialnosci...
Jak mam tu tak samo modyfikowac kod i klamac w raportach, tak tylko, zeby dzialal dla jednego przypadku (klienta), to o kant d.. rozbic taka prace i dziedzine..
Dobry produkt powinien zadzialac w wiekszosci przypadkow z minimalnymi modyfikacjami.

0

Czemu kłamać - masz wyciągać z lichego (zazwyczaj) zbioru danych zależności na których zależy klientowi i uzasadnić to tak żeby miało to ręce i nogi. Jeśli dla ciebie umiejętność znalezienia igły w stogu siana == kłamstwo to się nie nadajesz do tej roboty i tyle.

Twoja odpowiedzialność jest raczej ograniczona jeśli nie zmieniasz danych (usuwasz/dodajesz) arbitralnie a jedynie dostosowowujesz model który da akceptowalne wyniki. Jeśli chodzi o Polskę to te substancje zazwyczaj są już gdzieś na świecie w legalnym obrocie więc tu chodzi jedynie żeby załapać się na refundację (najlepiej pełną), zazwyczaj wystarcza tłumaczenie badań zagranicznych, czasem jednak trzeba przeprowadzić jakieś na miejscu bo tamte nie spełniają jakichś tam kryteriów ministerstwa - więc robi się to najtańszym kosztem na małej próbie ;)

0

@goJavaGo
Nie jest to prawdą. Nie istnieją żadne regulacje dopuszczające konkretne oprogramowanie, a inne nie.
https://www.fda.gov/ForIndustry/DataStandards/StudyDataStandards/ucm445917.htm

FDA does not require use of any specific software for statistical analyses, and statistical software is not explicitly discussed in Title 21 of the Code of Federal Regulations [e.g. in 21CFR part 11]. However, the software package(s) used for statistical analyses should be fully documented in the submission, including version and build identification.

Aby można było używać danego oprogramowania, musi być ono najpierw zwalidowane, co zapewniają "z pudełka" tylko komercyjne pakiety jak SAS czy Stata.

I R się do tej grupy nie kwalifikuje, podobnie jak Python. Można jednak, i jest to praktykowane, samemu zwalidować używane oprogramowanie, są nawet firmy, które się tym zajmują komercyjnie (nie, nie jest to Microsoft ani Oracle). I wtedy można używać zarówno R jak i Pythona, czy nawet VBA z Excela.

Powód jest inny. Pythona nie było w czasach, gdy rozwijał się SAS i S, a potem jego następca R. Dziesiątki tysięcy publikacji powstawały z wykorzystaniem głównie tych pakietów. Python postawił na data science się z rozkwitem big data, kompletnie przesypiając marketing w bionaukach. Efekt jest taki, że po pierwsze - Python jest bardzo ubogi w procedury i modele statystyczne dla badań klinicznych, a te, które już zaimplementowano to raczej "programistyczne wprawki", zabawki niż poważne narzędzia, po drugie - tradycja i historia Pythona w tych zastosowaniach jest praktycznie żadna, po trzecie - środowisko jest tak konserwatywne, że kręcą nosem nawet na R, wierzą tylko w komercyjny soft, siejąc masę FUDu, więc co to myśle o Pythonie?

Jest to wręcz książkowy przykład sytuacji, gdy dobry język nie został po prostu wypromowany, "urodził się za późno". A teraz ma zbyt dużo do nadrobienia. Kto napisze te brakujące biblioteki, skoro przez ostatnie 10 lat nikt tego nie zrobił? Kto je przetestuje tak dobrze jak SASowe/eSowe/eRowe (10-30 lat testów), wreszcie - po co ma to robić, skoro Python i tak się nie przebije obecnie w takich badaniach? To efekt "zamkniętego koła": nie opłaca się, więc nikt tego nie robi, a ponieważ nikt nie robi, to nikt tego nie używa, więc nie opłaca się. Tutaj SAS jest wręcz podręcznikową ilustracją "sukcesu marketingu". 90/100 maganerów w badaniach klinicznych powie, że "SAS jest konieczny", a innych programów "nie wolno". 9 powie - "wolno, ale i tak się boję", a z nich 5 się zdecyduje. Inaczej wygląda to w tzw. "evidence based medicine" (w tym badania kliniczne, ale poza trzecią fazą), gdzie R jest powszechny i stosowany od końca lat 70.

Python jest stosowany w genetyce, można spotkać wiele przykładów, a także w "zwykłych" badaniach naukowych, ale nie w badaniach klinicznych - a już na pewno nie fazie trzeciej - do których właśnie odwołuje się nazwa stanowiska statistical programmer - choć nie wyłącznie. Statistical programmera znajdziesz też w bankach.

Kolejny mit do obalenia: Czy może nim zostać ktoś po informatyce? No jasne, że TAK, pod jednym warunkiem - będzie się szybko uczył wiedzy dziedzinowej. Masa statistical programmerów to właśnie ludzie po IT, którzy bardzo dobrze przyswajają wiedze dziedzinową. Ale w Polsce bardzo trudno o takich ludzi, bo nie mamy odpowiednich kierunków, dopiero raczkują.

Statistical programmera nie interesują zagadnienia systemu operacyjnego, zarządzanie pamięcią, algorytmy drzew, grafów, projektowanie i programowanie obiektowe, czy jeszcze inne zagadnienia typowe dla "klasycznego" programisty itd itp. Tak naprawdę nawet student 1 roku, dobrze ogarnięty w pisaniu czystego kodu (ważne!) mógłby to robić, gdyby miał zdolności w kierunku np. medycyny. Jeśli ktoś ma taki konik, szybko się uczy, ale jednak skończył IT, to nie ma powodu, dla którego nie miałby się nauczyć pewnych zagadnień i wykorzystywać w praktyce. Przecież po pierwsze - wiedza ta jest ogólnodostępna, po drugie - nikt nie wymaga od niego, by był lekarzem, prawda? Lekarze, zwani klinicystami, są od badań i stawiania diagnoz, statistical programmer ma tylko umieć się z nimi dogadać, ich językiem. I to często nie bezpośrednio, o czym dalej.

No i oczywiście trzeba dobrze rozumieć statystykę. Ale - i to kolejny mit - nie aż tak bardzo. W takiej branży są dwa rodzaje stanowisk: biostatyk i programista statystyczny. Ten pierwszy ma świetnie rozumieć statystykę i domenę - i dobrze, jeśli jest też dobrym programistą, a ten drugi ma umieć wyłącznie zaprogramować to, co mu nakaże ten pierwszy i ew. skomunikować się z klinicystami, sponsorem (jeśli go o to poproszą, często - nie). Statistical programmer ma za to bezbłędnie wiedzieć jak przełożyć zlecenie od biostatystyka na kod w SAS, R czy innym języku.

Co do kwot - to akurat nie jest mit. Znasz SAS i przyswajasz dobrze wiedzę z zakresu medycyny i farmacji, bo cię to kręci? No to możesz całkiem szybko (2-5 lat) dojść do 8-15 tys. netto totalnie "home based". W Polsce. Bo za granicą - nadal zdalnie - zarobek rzędu 20 tys netto to nie jest nic niecodziennego.

Tyle tylko, że książki i certyfikaty SAS trochę kosztują. Certyfikaty i kursy to kilka tys. zł. Książki - ceny w dolarach, więc 4 razy takie jak w Polsce. A książka kosztująca np. 500$ to wcale nie rzadkość. Jeśli stać cię wydać 2000 na jedną książkę, to dobrze. Oczywiście zakładamy, że nie "piracisz" książek w PDFach, zresztą nie ma ich zbyt wiele w sieci. To bardzo szczególna wiedza, tutoriale z netu jej nie zastąpią. Tak więc, by wejść w branżę, musisz najpierw sporo zainwestować. Naprawdę sporo. A raczej nie będzie inwestował ktoś, kto nie ogarnia tematu, bo mu się to zwyczajnie nie opłaca.

I wreszcie - ostatnia rzecz, programowanie w R to nie tylko umiejętność wywoływania funkcji i rysowania prostych wykresów. Jest duża przepaść między "użytkownikiem R" i "programistą R". Zresztą dotyczy to także SAS. Często wymagana jest daleko większa wiedza, np. taka: https://cran.r-project.org/web/packages/rockchalk/vignettes/Rchaeology.pdf lub taka http://adv-r.had.co.nz/

0

W Polsce oprócz SASa i Ra jest jeszcze Statistica, przynajmniej na mojej uczelni była dość często spotykana tylko że sprawiała wrażenie dość ubogiej. @Eigenvector używałeś kiedykolwiek tego narzędzia/miałem styczność?

0

Tak, korzystałem jakiś czas ze Statistiki przy okazji pewnego zlecenia z zakresu statystyki medycznej. Byłem także na kilku kursach organizowanych przez StatSoft. W porównaniu do SAS rzeczywiście jest ograniczona, ale i tak jest to dobry pakiet. I na szczęście ma wbudowany interpreter Visual Basica, który jest IMO przyjemniejszy niż makrojęzyk SASa, który wręcz rani moje oczy i naturę programisty. Statistica może się także komunikować z R. Ma fajną funkcjonalność wysyłania tabel i wykresów od razu do raportu. No i jest - o ile dobrze pamiętam - sporo tańsza. Pakiet jest dobrze ukierunkowany na medycynę, są dostępne specjalistyczne nakładki.

Odnoszę wrażenie, że bionauki są jednym z głównych targetów StatSoftu. W oparciu o Statistikę powstała główna pozycja dotycząca statystyki medycznej na polskim rynku autorstwa prof. Andrzeja Stanisza, który współpracuje (lub pracuje, nie pamiętam już) ze StatSoftem, pt. "Przystępny kurs statystyki z zastosowaniem STATISTICA PL na przykładach z medycyny" (3 tomy). Warta uwagi jest także "Czytelnia": medycyna, farmacja czy nauki przyrodnicze - wszystko w oparciu o Statistikę.

Nie spotkałem się jednak z przykładami wykorzystania Statistiki w badaniach klinicznych 3 fazy, choć nie szukałem też zbyt daleko.

0
loza_szydercow napisał(a):

W Polsce oprócz SASa i Ra jest jeszcze Statistica, przynajmniej na mojej uczelni była dość często spotykana tylko że sprawiała wrażenie dość ubogiej. @Eigenvector używałeś kiedykolwiek tego narzędzia/miałem styczność?

Za szybko wysłałem, a nie mam opcji edycji (jestem niezarejestrowany): w tej branży liczy się bardziej SPSS i Stata. Stata raczej nie jest zbyt dobrze znana w Polsce, ale na tzw. "zachodzie" jest jednym ze "standardów przemysłowych" w dziedzine EBM (medycyna oparta na dowodach): http://www.stata.com/disciplines/biostatistics/

Niekwestionowanym liderem na tym rynku jest jednak SAS, potem Stata i inne specjalistyczne oprogramowanie, jak np. WinNonlin, i wreszcie - z oporami managerów - R. Jak się jednak dobrze poszuka, to są oferty dla biostatystyków i clinical programmerów znających R - jestem przykładem.

Zapewne z w/w powodów Autor wątku nie znalazł wzmianek na temat Pythona.

0

Z ciekawości twoja kariera to: uczelnia informatyczna -> statystyka medyczna czy uczelnia medyczna -> informatyka -> statystyka medyczna?

0

Uczelnia informatyczna (uniwerek) -> pierwsza praca w IT i kontakt z medycyną (m.in.) oraz statystyką medyczną -> odkrycie w tym pasji -> kilka ładnych lat spędzonych jako programista (junior -> mid -> senior), a następnie projektant oprogramowania || w tym samym czasie, równolegle || samodzielna nauka i kursy + zlecenia z zakresu statystyki medycznej -> po 12 latach całkowita zmiana branży na badania kliniczne -> biostatystyk i programista statystyczny R,.

Było mi o tyle łatwiej, że od dzieciaka ciągnęło mnie do medycyny. Gdyby nie pewien zbieg różnych okoliczności, zapewne wybrałbym właśnie ją.

Większość moich kolegów poszło inną ścieżką:
a) uczelnia: matematyka / statystyka -> zainteresowania pod kątem medycyny lub farmacji -> biostatystyk
b) matematyka / statystyka -> kontakt z SAS na uczelni -> poszukiwanie pracy jako programista SAS -> programista statystyczny
c) medycyna -> studia podyplomowe z zakresu IT lub statystyki -> kursy SAS -> programista statyczny lub biostatystyk

Tak, że moja ścieżka jest raczej rzadko spotykana.

1 użytkowników online, w tym zalogowanych: 0, gości: 1