W jakiej dziedzinie amator ma najwieksze szanse byc dobry?

1

Moim celem jest zostac dobrym programista (niekoniecznie zawodowym).
Dobry programista to dla mnie taki, ktory jest na ponadprzecietnym poziomie - tzn. sposrod wszystkich programistow pracujacych zawodowo - lepszy niz polowa z nich. Nie chodzi tutaj, ze jest lepszy, np. od konkretnego programisty "Zygfryd Kowalski", tylko o to, aby wyroznial sie na tle ogolnym.

Pytania:

  1. czy amator ma jakies szanse, aby bez komercyjnej kariery dojsc do takiego poziomu albo przynajmniej sie zblizyc do takiego poziomu?
    jezeli tak to:
  2. w ktorej dziedzinie?
  3. na ile te szanse moga byc duze?

Zdaje sobie sprawe, ze z wieloma rzeczami amator nie bedzie w stanie sie zetknac nawet w porownaniu z profesjonalista, a co dopiero je rozwiazac, ale mimo to pytam i przyznaje, ze nie jestem kompetentny w tej sprawie. Przedstawie moj punkt widzenia (ktory moze sie zmienic) i wymienie dziedziny numerowane od 1 dla najwiekszych szans, a kazde kolejne mialyby mniejsze szanse:

  1. webdev backend
    a. PHP
    b. Python
    c. Java
    d. C#
  2. webdev frontend
  3. mobile
  4. grafika komputerowa i symulacje komputerowe
  5. gamedev
  6. systemy operacyjne
  7. reverse engineering, security, kryptografia ???
  8. data science
  9. embedded

Nie bede podawac uzasadnienia tej kolejnosci, bo przyznaje, ze te uzasadnienia chyba zawieraja bledy. Ponadto to zestawienie dziedzin moze byc niepelne, tzn. brakuje jakiejs dziedziny - jezeli tak to podajcie te dziedzine i okreslcie czy amator mialby w niej jakies szanse.

Celowo nie uwzgledniam kwestii zwiazanych z predyspozycjami osobistymi, zdolnosciami, pracowitoscia, preferencjami, ale mimo to przyznam, ze lepiej widze siebie w backendzie niz frontendzie albo grafice komputerowej.

1

Pytania:

czy amator ma jakies szanse, aby bez komercyjnej kariery dojsc do takiego poziomu albo przynajmniej sie zblizyc do takiego poziomu?
jezeli tak to:
w ktorej dziedzinie?
na ile te szanse moga byc duze?

Amator, czyli osoba która programuje po godzinach pracy, która nie polega na programowaniu? Moim zdaniem to bardzo trudne. Niestety ale jak się policzy czas an pracę, spanie, rodzinę, hobby itp. to już bardzo mało zostaje na programowanie po godzinach, a jak nie programujesz dużo to ciężko być w tym dobrym.
Programowanie to jak np. granie w piłkę. Jak nie spędzasz czasu na trenowaniu, to nigdy nie będziesz dobry. Oczywiście pomijam kwestię predyspozycji.

0
  1. Tak
  2. W każdej
  3. Tylko od Ciebie to zależy
3

Dla mnie dobry programista to ten co zarabia pieniądze.

  • Jak chcesz zarabiać pieniądze to prawdopodobnie najłatwiej będzie w Javie/C#/JavaScripcie
  • Jak chcesz sobie poprogramować to najłatwiej będzie w Pythonie
  • Jak chcesz chwalić się że rozumiesz sprzęt to embedded i C
  • Jak chcesz spróbować coś naprawdę dziwnego przez co ja nieśpię po nocach to polecam Programowanie Fukcyjne i Haskella
3

Z tego co pamiętam Twoje posty, to uczysz się pięciu języków na raz XD
Weź się skup na jednym.

1

Dobry programista to taki, który umie rozwiązywać problemy a więc dostarczać oczekiwany outcome. Język gra tutaj drugo a nawet trzeciorzędną rolę.

2

Nie ma uniwersalnej definicji dobrego.
Matematyk może świetnie wymyślać algorytmy, ale brzydko je implementować, niemniej dostarczy przyzwoity prototyp, który wypoleruje za niego zespół. Będzie dobry.
Dobry będzie człowiek oblatany w tym jak działa sprzęt. Ale ten sam człowiek może mieć problemy w napisaniu ładnego wysokopoziomowego kodu, bo nawyki z embedded będą mu przeszkadzać.

Jasne, jak na przestrzeni lat zmienia się technologie to łeb się otwiera. To jest wręcz wskazane, żeby różnych rzeczy popróbować. Ale nawet tu dochodzi kwestia... gustu czy subiektywnych odczuć wobec różnych aspektów pracy. Tu nie ma obiektywnych metryk.

Mogę brzmieć napastliwie, ale... nie teoretyzuj tylko zacznij coś pisać. Wybierz technologię (ale na początek, na Boga, jedną!) i jedź z tym. A czy to będzie budzik na AVRze, www we fiasku czy appka na androida to ma znaczenie o tyle, że łatwiej potem się rozwijać w czymś w czym już coś robiłeś, bo poza samym językiem trzeba też znać jego ekosystem. Ale też nie przywiązywałbym się do tego zanadto.

A czy da się to robić poza pracą? Pewnie się da, o ile masz odpowiednio dużo czasu. Więc w praktyce - raczej nie ;) po prostu dobrze.

EDIT: PS grafikę można różnie definiować ale filtry czy przekształcenia geometryczne to raczej zdecydowanie backend ;)

2

Przyjmuje się, że jesteś dobry w czymkolwiek (programowanie, jazda na rolkach, żonglowanie, jazda autem, cokolwiek) po 10 000 godzinach poświęconych na to. Oczywiście, jak jesteś mniej zdolny to więcej, jak zdolniejszy to mniej. Poza tym też jakość "treningu" jest ważna.

Zakładając, że teoria 10 000 godzin jest poprawna, policz sobie średnio ile czasu dziennie możesz poświęcić na programowanie, będziesz mógł sobie policzyć statystycznie po ilu latach będziesz mógł o sobie powiedzieć że jesteś dobry. Będziesz miał jakiś punkt odniesienia na początek. Zdecydujesz sam czy chcesz spędzić prze kompem tyle dupogodzin ;)

0

Jak "programista uniwersalny" .. wątpię, choć nie wykluczam.
Ale z mocną wiedzą dziedzinową??? To jest inna kategoria(+). Ale nisza pracy znacznie mniejsza (-)

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