eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingIdeologia Polskiego Programisty wer.3 › Ideologia Polskiego Programisty wer.3
  • X-Received: by 2002:a81:ad61:0:b0:546:6ef:8baf with SMTP id
    l33-20020a81ad61000000b0054606ef8bafmr1026408ywk.2.1680873118620; Fri, 07
    Apr 2023 06:11:58 -0700 (PDT)
    X-Received: by 2002:a81:ad61:0:b0:546:6ef:8baf with SMTP id
    l33-20020a81ad61000000b0054606ef8bafmr1026408ywk.2.1680873118620; Fri, 07
    Apr 2023 06:11:58 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.n
    et!news.uzoreto.com!peer01.ams4!peer.am4.highwinds-media.com!peer02.iad!feed-me
    .highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.c
    om!postnews.google.com!google-groups.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Fri, 7 Apr 2023 06:11:58 -0700 (PDT)
    Injection-Info: google-groups.googlegroups.com; posting-host=188.147.100.70;
    posting-account=uFgJ3goAAAAHaGlwfVGxxrSUMlvEACGk
    NNTP-Posting-Host: 188.147.100.70
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <2...@g...com>
    Subject: Ideologia Polskiego Programisty wer.3
    From: Jacek Marcin Jaworski <j...@a...pl>
    Injection-Date: Fri, 07 Apr 2023 13:11:58 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 38293
    Xref: news-archive.icm.edu.pl pl.comp.programming:215939
    [ ukryj nagłówki ]

    Na życzenie wer. PDF: j...@a...pl lub e...@a...pl .

    Ideologia Polskiego Programisty wer. 3
    Odnajdywanie Sensu Na Przekór Propagandzie
    autor: Jacek Marcin Jaworski
    pseudonim: Energo Koder Atlant
    utworzono: 2023-01-27
    wersja: 416 z dnia: 2023-04-07



    Spis treści
    Wstęp...............................................
    ....................................................
    ............... 2
    Wykaz Skrótów.............................................
    ....................................................
    .2
    1 Co ma znaczyć dumping tekstów
    kultury?............................................
    ......3
    1.1 Co ma znaczyć zalew tanich, grubych książek na banalne
    tematy
    programistyczne?....................................
    ....................................................
    ................3
    1.2 Co ma znaczyć zalew darmowych sys. op. rodz.
    Linuks?.................................4
    1.3 Co ma znaczyć zalew darmowych języków i bibliotek
    programistycznych?. 4
    2 Jakie kupować książki do nauki
    programowania?......................................
    4
    3 Jaki kupować sprzęt do
    programowania?......................................
    ..............5
    4 Jaki kupować sys. op. do
    programowania?......................................
    ...........5
    5 Jaki wybrać język do
    programowania?......................................
    ...................6
    6 Jakie kupować narzędzia do
    programowania?......................................
    ......6
    7 Czy programować po polsku a może po
    ang.?...........................................7
    8 Jakie wykształcenie jest konieczne do
    programowania?...........................7
    8.1 Technik.............................................
    ....................................................
    ..................7
    8.2 Inżynier............................................
    ....................................................
    ..................7
    8.3 Mgr
    Inż.................................................
    ....................................................
    ..............8
    8.4 Studia
    podyplomowe.........................................
    ..................................................8
    8.5 Własne projekty hobbystyczne i projekty
    komercyjne....................................8
    8.6 Własne opracowania
    teoretyczne.........................................
    .............................9
    8.7 Większa wydajność przez metodologię i automatyzację a
    nie przez
    pośpiech............................................
    ....................................................
    .......................9
    9 Jak pracować na stanowisku
    programisty?........................................
    .........9




    2023 Wszelkie Prawa Zastrzeżone przez Jacka Marcina Jaworskiego czyli Energo Kodera
    Wstęp
    Tezą Ideologii Polskiego Programisty wer. 3 jest:

    Ideologia nadaje sens życiu w obliczu wszechogarniającego nonsensu zmasowanej
    propagandy.

    Jak wiadomo propaganda dzieli się na krajową i zagraniczną. W praktyce nie
    ma ten podział znaczenia, bo
    cel propagandy jest jeden: ogłupianie. Tak! Twój umysł jest wrogiem władzy w kraju i
    tym bardziej władzy za
    granicą.

    Choć nie naucza się filozofii w polskich szkołach, to jednak wiadomo, że
    od wieków szukano "filozofii
    wszystkiego" która przyświecała twórcy wszechświata i która definiuje sens istnienia
    w nim istot inteligentnych
    (sens istnienia pozostałych istot jest znany bo wiadomo, że pozostałe istoty mają
    służyć istotom inteligentnym).
    Podobnie pasjonaci historii wertują książki na temat historii by poznać źródła
    sukcesów i powody porażek
    imperiów i ich wodzów.

    My programiści też musimy się mierzyć z problemami filozoficznymi i
    analizować źródła sukcesów i
    powody porażek. I to w wielu aspektach od analizy poszczególnych algorytmów, przez
    architektury programów,
    dzieje systemów operacyjnych, małych firemek i wielkich, światowych korporacji. Jest
    nad czym się głowić i to
    całymi latami.

    Na przestrzeni lat 1993-2022 byłem w Polsce piratem, samoukiem, uczniem
    biednego technikum,
    studentem zwyczajnej, prowincjonalnej politechniki, programistom w kilku małych
    firmach. Wiem ile kłamstw i
    głupot wmawiano na łamach książek, w klasie przy tablicy i w pracy. Wiem też ile
    upokorzeń trzeba znosić będąc
    entuzjastą informatyki i programistą. To wszystko było w brew wrogiej propagandzie
    która trąbiła jakie to sielskie i
    anielskie jest życie polskiego informatyka (bo słowo programista jest na
    cenzurowanym). Dlatego jestem zdania,
    że trzeba omówić jak sobie z tym wszystkim radzić by nowym pokoleniom otworzyć drogę
    do życia
    sensowniejszego od mojego.



    Wykaz Skrótów
    komp. komputer

    sys. system

    sys. komp. system komputerowy

    sys. op. system operacyjny

    prog. program

    arch. architektura

    j. prog. język programowania

    kś. książka

    s. strona

    p. punkt
    1 Co ma znaczyć dumping tekstów kultury?
    Wiedza informatyczna jest dumpingowa: poradnikowe filmy na youtube.com są
    całkowicie darmowe. Ktoś
    płaci ogromne pieniądze by przestrzeń dyskowa na youtube.com rosła szybciej niż
    wszyscy cywilizowani ludzie na
    Ziemi są w stanie nagrywać filmiki. Jest to całkowicie nienormalne i wymierzone
    przeciwko wszystkim państwom
    na świecie, bo ten dumping uniemożliwia rozwój alternatywnych rozwiązań. Akceptowanie
    youtube.com przez
    rządy na całym świecie jest dowodem zmowy, bo dumping normalnie powinien być tępiony
    z całą premedytacją -
    były takie awantury jak np. tania stal z Chin.

    Podobnie ktoś finansuje Abi Szeki z Indii by pisali oni poradniki dla programistów i
    administratorów na s. WWW.
    Co prawda hosting s. WWW jest dużo tańszy niż hosting filmów, ale też jest to dumping
    tekstów kultury. Też nie
    wiadomo kto ani dlaczego za to płaci.

    Podobnie sprawa ma się z darmowymi serwisami informacyjnymi. Też nie wiadomo kto ani
    dlaczego za to płaci.

    Nie jest przy tym prawdą, że hosting tego wszystkiego i redaktorów można utrzymać z
    reklam. Zadaj sobie pyt.:
    kiedy ostatnio kliknąłeś w reklamę i coś kupiłeś? Ja jeszcze nigdy! A internet mam od
    końca 2001r.

    Z drugiej strony wiadomo, że budżet USA to ok. 17 bilionów dolarów (polskich
    bilionów), natomiast ich długi
    przekraczają 35 bilionów dolarów. Tak więc widać, że biorą ogromne kredyty i w coś
    inwestują. Pytanie tylko kto
    ma za to zapłacić? Czy jeśli my, programiści korzystamy z tych darmowych poradników
    na youtube.com i na s.
    WWW to czy jakiś bankier nabija nam kwity i kiedyś je wyciągnie i będzie gadał, że
    mamy długi? Jeśli tak to co?
    Sprzedadzą nas za te długi? Na roboty do jakichś obozów koncentracyjnych?

    Jest na to dość prosty sposób: W razie pytań należy mówić, że nikt u nich nie
    zamawiał youtube.com ani filmików
    poradnikowych, ani nikt nie żądał wynajmowania Abi Szeków z Indii. Jeden jest tego
    warunek by móc tak odp.:

    Nasze głowy muszą być przynajmniej na tyle świadome co dzisiaj. Niestety po
    śmierci ludziom w
    standardzie kasuje się pamięć i osobowość - jest to zabijanie umysłu. Wtedy nic
    już nie można zrobić w
    swojej obronie, bo wtedy myślenie jest na poziomie niemowlęcia (przez to łyka się
    każdą głupotę jak małpa
    kit).



    1.1 Co ma znaczyć zalew tanich, grubych książek na
    banalne tematy programistyczne?
    Kś. są b. tanie. Jak się temu przyjrzeć, to widać, że na jeden i ten sam
    temat może być kilka grubych kś. -
    mimo, że powinny być tylko 2: podstawy (cieniutka ok. 150s.) i zaawansowane (do
    300s.).

    Obecnie (2023r.) nie potrafię wskazać żadnej kś. inf. na tematy
    zaawansowane.

    Mimo, że informatyka to algorytmy i architektury programów, to kompletnie brak kś. na
    te tematy - bo przecież kś.
    pt. "Wprowadzenie do alg. i struktur danych", to powinna być szkolna lektura a nie
    pomoc programisty! W ogóle
    nic się nie mówi, nie pisze ani nie uczy o współczesnym poziomie badań nad
    algorytmami i architekturami
    programów komputerowych.

    Dla nas to znaczy jedno: przez naukową blokadę informacyjną polska informatyka
    stanęła w miejscu -
    gdzieś na poziomie lat 80. Bo przecież nowe j. prog. z Ameryki nie oznaczają żadnego
    postępu w dziedzinie
    naszego intelektu - bo ich nauka i opanowanie to czyste ogłupianie i zawracanie
    głowy. Jest nawet gorzej,
    bo ja osobiście nie znam żadnego normalnego j. prog. - każdy ma defekty albo w
    składni albo w
    bibliotekach jakie są dostępne. Dlatego jeśli chcemy być normalni i nowocześni
    każdy z nas musi sam
    badać sprawy nowoczesnych algorytmów i nowoczesnych architektur na własną
    rękę.
    1.2 Co ma znaczyć zalew darmowych sys. op. rodz. Linuks?
    To znowu dumping cenowy zabijający na świecie wszelką konkurencje w
    dziedzinie sys. op. Ja muszę
    korzystać z darmowego sys. Linuks, bo nie widzę sensownej, płatnej alternatywy.
    Bezskutecznie próbowałem się
    dowiedzieć jakich miesięcznych kwot oczekuje Canonical albo Trisqueel.

    To, że Canonical i Trisquel ukrywają oczekiwane kwoty miesięcznych wpłat
    użytkowników oznacza, że te
    organizacje mają ukryte cele jakie są sprzeczne z interesem użytkowników. Przez to
    zatajanie oczekiwań
    finansowych dają do zrozumienia, że kasę w wystarczającej ilości dostają od bankierów
    i nam tylko nabijają
    kwity.

    Na to jest rada: należy wpłacać co miesiąc "sensowne kwoty" na konto dostawcy distro
    jakiego używamy. A by nie
    okazało się, że płacisz za mało, to każdy użytkownik darmowej dystrybucji sys. Linuks
    powinien sam sobie odp. na
    pyt. "Jak ważny jest dla mnie ten system?". Wtedy kwota powinna wyłonić się sama.

    "Sensowne kwoty" to nie to co chce Mkorsoft ani nawet nie to co chce Aple, bo tylko z
    jednego powodu mogą
    szpiegować wszystkich swoich użytkowników:

    Jedyną podkładkę jaką mają wielkie korpo to gadka, że opłaty użytkowników nie
    pokrywały kosztów - i
    dlatego szpiegowali i handlowali z bankierami i z rządem danymi swoich
    użytkowników.

    Jeśli chodzi o sprytny tel. to należy wybierać wyłącznie te prog. jakie umożliwiają
    wykupienie wersji "pro" - zwykle
    kosztuje to grosze, ale teoretycznie daje święty spokój.



    1.3 Co ma znaczyć zalew darmowych języków i bibliotek
    programistycznych?
    Dziesiątki języków programowania to też ogłupianie programistów. Co chwilę
    ktoś wyskakuje z takim
    zakodowanym w C++ "wynalazkiem" i twierdzi, że od teraz programy same będą się
    tworzyły. Jednak jest to
    możliwe tylko dla SI i jej nie robiło by to różnicy jaki był by to j. prog. Jednak
    mimo, że jest to do zrozumienia dla
    każdego programisty, to kier. proj. karzą kodować w coraz to nowych j. prog. i w
    nowych bibl.

    Jest prosty dowód na to, że te dziesiątki j. prog. mają tylko ogłupiać programistów:
    one są po prostu darmowe,
    czyli bankier lub rząd płaci i wymaga by wszystkie one były nienormalne. Robią to bo
    boją się geniuszy.

    Natomiast jak Ty byś płacił uczciwie za soft, to dla Ciebie by musieli go poprawiać
    i rozwijać. Dzięki temu
    byś pracował coraz wydajniej i coraz lepiej - wkrótce tworzyłbyś cuda i to z
    łatwością, zamiast obecnych
    męczarni i szarpanin z najprostszymi sprawami.

    Trudno coś na to poradzić. Bo jak będziesz oportunistą i będziesz się upierał przy
    programowaniu w tym co już
    dobrze opanowałeś, to możesz stracić pracę i mieć trudności by znaleźć nową (znam to
    z własnego
    doświadczenia). Z drugiej strony ciągłe poznawanie nowych j. prog. powoduje że się
    idiocieje, co widać choćby po
    pomyłkach do jakich dochodzi w trakcie programowania.



    2 Jakie kupować książki do nauki programowania?
    Odnośnie kupowania kś. dotyczących programowania to wypracowałem taką strategię:

    1. Kupuję najcieńszą kś. na interesujący temat jak jestem w nim początkujący.
    Grubszą kś. kupuję gdy się
    upewnię, że temat "jest przepotężny i ma potencjał". Robię tak, bo nie jest
    sztuką wywalić kasę na
    najgrubszą kś. natomiast sztuką jest zrozumienie nowego tematu;
    2. Kupuję kś. polskich autorów, bo mam takie odczucie, że treść polskich kś.
    lepiej zapamiętuję. Nawet tł.
    polskiego autora który napisał kś. w j. ang. i która potem została
    przetłumaczona na j. pol. wyraźnie
    gorzej się zapamiętuje;

    3. Należy kupować kś. które zwiększają wiedzę pod względem jakości a nie jej
    ilości. Tak więc kolejna kś. o
    nowym j. prog. to jedynie zwiększenie wiedzy pod wzg. ilościowym. Natomiast
    poznawanie nowych arch.
    lub nowych alg. jest zwiększeniem swojej wiedzy pod wzg. jakościowym -
    wynika to z prostego faktu, że te
    sprawy są w informatyce najważniejsze;

    4. Po przeczytaniu każdej kś. należy napisać jej recenzję - ja stosuję 4
    punktową skalę ocen: rewelacje, zalety,
    wady i partactwa. W celu napisania recenzji należy zaznaczać w kś. istotne
    fragmenty.

    Wykonywanie recenzji i sprawozdań z podejmowanych działań jest nauczane w szkole,
    jednak tam nie
    mówią, że tak należy też postępować w życiu i zamykać jego etapy w formie
    pisemnych podsumowań.



    3 Jaki kupować sprzęt do programowania?
    Kiedyś wierzyłem w potężne PC. Teraz wystarcza mi z powodzeniem laptop.
    Wiem, że laptopy są droższe,
    ale: w razie potrzeby są przenośne, procki w nich też są wielordzeniowe jak w PC,
    brak łącz rozwiązuje HUB USB,
    daje się podłączyć duży monitor i normalną klaw. i mysz. Dzięki temu w pracy na
    funkcjonalności nic się nie traci, a
    zyskuje możliwość szybkiego zabrania komputera na wyprawę.

    Jeśli chodzi o firmy czy modele, to zauważyłem, że w "zwykłych" laptopach stosuje się
    stare podzespoły: stare
    matryce, stare kamery i stare głośniki. Nowe są tylko bebechy. Skutek jest taki, że
    ten sprzęt jest 3 ligą w
    porównaniu do laptopów Aple. Dlatego zalecałbym kupowanie mocnych laptopów Aple.

    Zalecam kupowanie do programowania najmocniejszych laptopów na jakie cię stać, z
    zastrzeżeniem by nie
    ucierpiały na tym inne dziedziny twojego życia (żeby zakup laptopa do
    programowania nie był żadnym
    poświęceniem).

    Oczywiście kupując laptop do programowania nie trzeba kupować drogiej karty
    graficznej dla graczy, bo ona
    niepotrzebnie podwaja cenę zestawu.



    4 Jaki kupować sys. op. do programowania?
    Tak. Zalecam kupowanie oprogramowania, a szczególnie sys. op. Wyjaśniłem to
    w Co ma znaczyć zalew
    darmowych sys. op. rodz. Linuks? Jednak można zadać pyt.: Czemu by nie kupować sys.
    MacOS. Odp. jest prosta:
    Ten system byłby dopuszczalny tylko w przypadku gdyby okazało się, że możliwe jest
    zapewnienie sobie
    prywatności. Bo od czasu afery z ukrytym plikiem z współrzędnymi GPS jaki był w
    AiFonie co jakiś czas wybucha
    nowa afera związana ze szpiegowaniem użytkowników przez Aple.

    Oczywiście nie jest tak, że używając sys. Linuks mamy 100% prywatności. Na
    szpiegostwo sys. Linuks jest wiele
    dowodów:

    1. Prawie wszystkie prog. przechowują "historię otwieranych plików";

    2. Wiele prog. ma pliki "cache" jakich usuwanie "nic widocznego nie powoduje";

    3. Domyślnie wszyscy użytkownicy w sys. Linuks mogą czytać cudze pliki;

    4. Domyślnie w sys. Linuks nie ma żadnej kontroli nad poł. wychodzącymi (każdy
    programik może wysyłać
    "co chce, kiedy chce i gdzie chce").
    Jednak ja osobiście wypracowałem sobie sposoby pracy z sys. Linuks jaki pozwala mi
    mieć nadzieję, że ograniczam
    to szpiegostwo. Te sposoby, to:

    1. Praca bez poł. z Internetem: po instalacji sys. skryptem instaluję
    wszystkie potrzebne mi do pracy pakiety.
    Z Internetem łączę się tylko gdy jest to niezbędne.

    2. UFW i jego konfigurowanie skryptem w którym mam profile takie jak: google,
    praca, zakupy, poczta itd.;

    3. Firejail i jego strojenie w celu wyłączania programom dostępu do plików
    jakich nie potrzebują oraz do
    wyłączania dostępu do sieci tym programom którym nie chcę na to pozwalać;

    4. czysc.sh: napisałem sobie ten skrypt w celu usuwania podejrzanych plików i
    kat. z systemu oraz z kat.
    użytkowników.

    Wiem, że UFW i Firejail mogą się wydawać amatorskie, bo przykrywają inne narzędzia
    (IPTables i AppArmor lub
    SELinuks), jednak ja byłem w stanie je zrozumieć i byłem w stanie ich skutecznie
    użyć.



    5 Jaki wybrać język do programowania?
    Tak na prawdę program to skompilowany do kodu maszynowego kod napisany w j.
    kompilowanym. Czyli
    skrypty nie są programami, bo nie dają wyniku w postaci kodu maszynowego. Czyli do
    programowania przydatne
    są: Asembler, C, C++, D, Paskal, Delfi, Rust, Fortran. Natomiast skrypty, to: Jawa,
    Jawa Skrypt, C#, PHP, Pyton, Perl,
    Lua, Go oraz j. powłoki z Baszem i PowerSzel na czele.

    Niewątpliwie aby mieć jakiekolwiek pojęcie o programowaniu trzeba nauczyć
    się Asemblera. Wtedy
    będziesz wiedział co to są rejestry procesora i jak on przyjmuje kolejne polecenia.
    Kolejnym zalecanym j. jest C. W
    nim są zaprogramowane wszystkie współczesne sys. op. Drugą ważną sprawą jest to, że
    j. C ma od początku
    ustandaryzowane ABI dzięki któremu może on służyć do rozszerzania innych j. (np.
    można robić w nim wtyczki do
    motorów SQL, albo do j. Pyton w celu uzyskania pełnej prędkości przetwarzania).
    Trzecią sprawą jest to, że
    składnia C była inspiracją dla wielu innych twórców j. prog. (z C++ i D włącznie). J.
    C++ jest składniowo i binarnie
    zgodny z j. C. J. D jest tylko binarnie zgodny z j. C. Moim zdaniem to dobre
    argumenty by poznać j. C. Jak to się
    opanuje, to warto poznać jakiś j. obiektowy, czyli C++, D lub Delfi. Z czego
    najpopularniejszy i najpotężniejszy jest
    C++.



    6 Jakie kupować narzędzia do programowania?
    Osobiście nie wiem nic na temat płatnych narzędzi programowania dla sys.
    Linuks. Dlatego można przyjąć
    strategię żeby używać tylko to co jest dostępne w repo distro i płacić za to distro i
    niczego więcej nie instalować.
    Wtedy mamy podkładkę, że płaciliśmy dostawcy sys. Linuks i nie interesują nas jego
    rozliczenia z poddostawcami.

    Gdyby pojawiło się jakieś fajne, komercyjne oprogramowanie na sys. Linuks i
    było by możliwe jego
    normalne, komercyjne nabycie, to myślę że warto było by je
    stosować.

    Jednak wcale bym nie stosował darmowych koni trojańskich wielkich korpo w
    stylu: Chrome/Chromium,
    Android Studio, Teams, Visual Code, Edge itd. Jak ktoś to na mnie wymusza ich użycie
    - robię co trzeba i
    odinstalowuję to z systemu z opcją --purge . Innym sprytnym sposobem na te wymuszenia
    jest chwilowa
    instalacja tego softu na sprytnym tel.

    W ogóle nie należy też używać programów w paczkach Snap ani Flatpak z uwagi
    na niejawny charakter ich
    manifestów i kompletny brak możliwości kontroli nad tym do czego one mają dostęp i co
    wysyłają w świat.
    Słowem: paczki Snap i Flatpak nie nadają się do niczego bo nie można ich uruchamiać w
    piaskownicy Firejail
    (argumentuje się to tym, że maja one własną piaskownicę. Jednak co z tego gdy nie ma
    nad nią żadnej kontroli?).
    Należy używać jedynie paczek podatnych na działanie w Firejail. Dla sys. rodź.
    Debian/Ubuntu, na chwilę
    obecną są to jedynie paczki *.deb i *.appimage .



    7 Czy programować po polsku a może po ang.?
    Oczywiście może to być w proj. narzucone. Ale załóżmy, że mamy wybór (np. w
    domowych proj.), to co
    wtedy? Oczywiście wygodniej jest programować po polsku - bo znamy ten język. Ale czy
    to wszystko? Nie. Okazuje
    się, że stosowanie w programowaniu nazw z obcego języka jest czymś w stylu emulacji.
    Tak samo jak emuluje się
    procesor innego komputera, tak samo człowiek może emulować inny język ludzki. W
    przypadku procesorów ta
    emulacja oznacza jedynie drastyczny spadek wydajności. Natomiast u ludzi oprócz tego
    dochodzą konflikty
    nazewnicze i gramatyczne jakie przenikają do mowy potocznej każdego kto emuluje język
    obcy. Te konflikty
    powodują degenerację umysłową i językową u tych ludzi którzy próbują posługiwać się
    kilkoma językami. Jest to
    dalszy etap ogłupiania w starym, szkolnym stylu gdzie wymuszano na nas naukę
    kretyńskich zasad polskiej
    ortografii (w zakresie ż-rz, u-ó i h-ch). Dlatego ja osobiście mam poliglotów za
    umysłowo upośledzonych.

    Programowanie w języku ojczystym jest najefektywniejsze i daje największy
    pożytek dla umysłu.

    Programowanie w j. obcym jest sprzeczne z rozwojem własnej potęgi
    umysłowej.



    8 Jakie wykształcenie jest konieczne do
    programowania?
    Jak się okazuje, po latach, wcale nie jest dobre uczenie się i studiowanie w
    jednej dziedzinie. Moim
    zdaniem jest to nieoczywisty temat i warto go omówić.

    Zakładamy, że chcę zrobić zawrotną karierę programisty, czyli chcę być ekspertem
    najwyższej klasy oraz
    chcę zrobić karierę kierowniczą.



    8.1 Technik
    Naukę o komputerach należy zacząć w technikum. Ale czy na kier. technik
    informatyk? NIE!!! Trzeba zacząć
    od podstaw, czyli od elektroniki. Elektroniki można uczyć się w technikach
    elektronicznych oraz w technikach
    łączności. Nauka w technikum ma wiele zalet: tam podają jakie są elementy
    elektroniczne w komputerach, jak
    zbudowane są bramki, czyli procesory i pamięci. Uczą tam też asemblera
    (mikro-kontrolery). W technikum
    poznajesz procedurę nauki w pracowaniach jaka jest analogiczna do procedur w
    laboratoriach na polibudzie. To
    daje świetne podstawy do przyszłej kariery programisty.

    Dla dalszej kariery kluczowe znaczenie mają projekty semestralne (nawet gdy ich nikt
    nie wymaga należy
    je sobie samemu wyznaczać), praca dyplomowa i matura.



    8.2 Inżynier
    Prawdziwym inżynierem można zostać jedynie po polibudzie. Koniec
    kropka.

    Oczywiście by zostać programistą należy studiować informę. Tu też kluczowe są prace
    semestralne i dyplomowe.

    Studiując nie należy realizować projektów hobbystycznych. Wynika to z faktu, że
    to są pożeracze czasu.
    Wyjątkiem od tej zasady są proj. zaliczeniowe (ale one są w ramach
    studiów).

    Po studiach inż. można śmiało iść do pracy, a dalsze studia
    zrealizować zaocznie.
    8.3 Mgr Inż.
    Kiedyś kolega powiedział mi, że inż. może samodzielnie konstruować
    urządzenia, natomiast mgr może
    kierować ludźmi. Dla mnie ma to sens. Dlatego jak chcesz zrobić karierę kierowniczą,
    to koniecznie trzeba mieć
    mgr w tytule.

    Jednak same studia nie wystarczą do kierowania. Potrzebne jest doświadczenie
    techniczne:

    Aby być samodzielnym konstruktorem potrzebny jest dyplom inż. i 5 lat komercyjnego
    doświadczenia.

    By być kierownikiem proj. potrzebny jest dyplom mgr i 10 lat komercyjnego
    doświadczenia w
    programowaniu.



    8.4 Studia podyplomowe
    Studia podyplomowe są interesujące w zakresie metod prowadzenia projektów
    oraz zarządzania i
    automatyzacji produkcji.

    Te studia należy podjąć po ok. 5-7 latach pracy na stanowisku programisty. Wynika to
    z faktu, że o f. kierownika
    proj. należy się starać po 10 latach pracy na stanowisku prog. Moim zdaniem jest to
    uczciwe i daje szansę na
    kolejne sukcesy.

    Na stanowisku kierowniczym zalecam dalej kodować. Może to być część kierowniczego
    etatu, może to być
    projekt hobbystyczny po godzinach. Chodzi tu o to by nie dać się odizolować od
    prawdziwych problemów z
    jakimi zmagają się programiści - w tym twoi ludzie. Gdy się dopuści do takiej
    izolacji wtedy nie będziesz
    wiedział co o czym mówią twoi ludzie.



    8.5 Własne projekty hobbystyczne i projekty komercyjne
    Aby efektywnie prowadzić projekty trzeba sobie uświadomić, że:

    Dobry projekt inżynierski jest sprzeczny z prostotą i wymaga dużo więcej pracy niż
    projekt w stylu "byle
    jak". Oznacza to, że "w garażu" nie można osiągnąć tego co jest możliwe w
    komercyjnym zespole
    programistycznym.

    Wynika to z faktu, że w profesjonalnym projekcie konieczne są (m. in.):

    1. Przedefiniowanie wszystkich używanych typów bibliotecznych i
    przedefiniowanie używanych typów
    wbudowanych: w celu ich łatwego podmienienia własną klasą: gdyby zaszła taka
    konieczność;

    2. Uzupełnienie typów bibliotecznych: dodanie tego co brakuje i zastąpienia
    tego co nienormalne;

    3. Kodowanie wszystkiego ręcznie w celu pełnej kontroli (nie można używać Qt
    Designer, ani innych
    czarodziei);

    4. Profilowanie programu: wycieki pamięci i analiza pracy;

    5. Zabezpieczenia programu przed typowymi atakami;

    6. Użycie serwera repo (w stylu GitLab) z automatycznym budowaniem paczek i
    automatycznie
    uruchamiającym testy automatyczne.

    Dlatego projekty hobbystyczne i zaliczeniowe (w technikum i na polibudzie) z
    definicji muszą być amatorskie z
    powodu braku środków na ich profesjonalne wykonanie. W przeciwnym wypadku można ich
    wcale nie ukończyć.
    8.6 Własne opracowania teoretyczne
    Niestety obecna propaganda odmawia nam kś. na zaawansowane tematy
    programistyczne. Dlatego
    należy sobie zadawać pyt. "Czego mi brakuje w programowaniu?" albo "Co jeszcze jest
    interesujące w tym
    programowaniu?" albo "O co się codziennie potykam programując?" Wtedy należy takie
    tematy zgłębiać z użyciem
    wyszukiwarki internetowej, dostępnych książek i gazet i na ich podstawie i na
    podstawie własnych przemyśleń
    tworzyć dokumentację podobną do tej którą właśnie czytasz.



    8.7 Większa wydajność przez metodologię i automatyzację
    a nie przez pośpiech
    Niektórzy twierdzą, że dobra jest zdolność do pracy pod presją. Możliwe,
    że to wymusza największe
    zaangażowanie. Pełne zaangażowanie jest dobre. Jednak generalnie w pracy pracy
    programisty pośpiech nie jest
    dobry. Praca w pośpiechu powoduje degenerację projektu z tego powodu, że w pośpiechu
    myślenie zastępuje
    szalone kodowanie. Ja natomiast widzę dwie drogi do większej wydajności:

    Metodologia pracy: wprowadzenie systematyczności w celu eliminacji powtarzalnych
    błędów. Dotyczy to np.
    organizacji dnia, albo procedury wykonania nowego wymagania, naprawy błędu lub
    dodania zgłoszonej poprawki.

    Automatyzacja pracy: jak coś wklepujesz tak samo setki razy, albo coś musisz zawsze
    tak samo wyklikać, to znak,
    że należy napisać skrypt który to będzie robił automatycznie. Porobienie sobie tych
    skryptów sprawia, że pracuje
    się zupełnie inaczej, bo eliminuje frustrację i powoduje zadowolenie z pracy głową a
    nie wyłącznie rękami.



    9 Jak pracować na stanowisku programisty?
    Niezależnie od szczebla w hierarchii należy próbować nowych rozwiązań i metodologii i
    się nimi bawić w celu
    ustalenia co się sprawdza a co jest słabe.

    Nie programuj funkcji typu omnibus ani programów typu omnibus, bo one nie będą
    działać. Zamiast tego dziel
    problemy i zamykaj je w "izolowanych paczkach". Paczki te powinny być łatwe do
    testowania. Te "paczki" powinny
    łatwo współpracować ze sobą.

    Izoluj projekt od świata zewnętrznego. Nie jest tak, że trzeba reagować na każde nowe
    żądanie. Bo sabotażystów
    chcących ubić twój projekt jest cała masa. Dlatego po rozpoczęciu kodowania należy
    się bronić rękami i nogami
    przed zmianami.

    Pieniądze to zapis w umowie. Nie zależnie od niego na stanowisku należy dawać z
    siebie wszystko co najlepsze.

    Godziny pracy to zapis w umowie. Nie zależnie od niego należy z pełnym zaangażowaniem
    realizować cele firmy.
    Np. dotrzymywać terminów wysyłki urządzeń.

    Gdy pracujesz od 6:00 to wiesz, że z dnia bierzesz tyle ile się da: w pełni
    wykorzystujesz swoje możliwości oraz
    dostępny czas.

    W pracy, tak jak w rodzinie, musisz dawać ludziom fory mimo, że denerwują, a
    niektórzy nawet sabotują twój
    projekt.

    Fajnie jest pracować na najnowszym sprzęcie. Jednak nawet jeśli jest on najstarszy,
    to należy pracować najlepiej
    jak to jest możliwe.

    Należy być aktywnym i reagować na problemy opracowując ich rozwiązanie. Rozwiązanie
    należy zgłaszać ustnie.
    Przy sobie można jedynie mieć karteczkę z podpunktami. Wynika to z faktu powszechnego
    szpiegostwa systemów
    komputerowych. A przecież nikt nie chce by odp. na jego wniosek racjonalizatorski
    przyszła z lokalnej delegatury.
    Każdy projekt powinien się zaczynać i kończyć analizą, która wskazuje na silne i
    słabe strony organizacji, oraz na
    okazje dla firmy i zagrożenia dla projektu. Analiza powinna wskazywać na sposób
    idealnej realizacji projektu.
    Dodatkowo po zakończeniu projektu należy podjąć próbę jego oceny wg. czteropunktowej
    skali: rewelacje, zalety,
    wady, partactwa.

    Jak długo będziesz kodował, tak długo będziesz miał pojęcie jak wygląda praca
    programisty.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: