Programista w porównaniu do innych zawodów. Jak to wygląda.

0

Witam, chciałbym dokładniej zrozumieć, dowiedzieć się co wykonuje w swoim zawodzie programista. Patrze, na zawód programisty tak jak na inne zawody np. w dużym skrócie mechanik samochodowy. Zajmuje się naprawą aut, czyli: wymienia rozrząd, zawieszenie, ustawia zbieżność itp. Mam z tym styczność na co dzień wiem, jak to się odbywa itp. Programista, ktoś powie, pisze kod, ok, ale co konkretnie pisze, jakie programy tworzy, jak to wygląda od środka. Czy moglibyście dokładniej powiedzieć, nad czym na co dzień pracujecie? Tzn czy jest to aplikacja do sterowania pieca od centralnego ogrzewania, czy jest to strona www dla Pana Kowalskiego, który ma sklep rowerowy. Czy może program do sterowania jakiejś maszyny. Chciałbym się dowiedzieć, jakie będą wasze końcowe "produkty" efekty waszej pracy.

1

Zależy - bo błąd podstawowy, że programistę porównujesz do mechanika, a tu nie do końca tak jest , część programistów, to właśnie tacy mechanicy, typu złota rączka, ale część to ci co projektują i budują prototypy, a inni wymieniają tylko koła...
Pracuje się tez nad różnymi rzeczami, np w poprzedniej pracy pracowałem zarówno nad stworzeniem jak i rozwojem systemu magazynowego, ale i cześcią oprogramowania do sterowników przemysłowych. Więc w dużym skrócie "to zależy"

0

ja np robię soft dla jednego z banków, aplikację zarówno dla użytkowników, jak i dla pracowników banku.

2

Końcowym produktem mojej pracy jest faktura wystawiona pod koniec miesiąca. Reszta nie ma takiego znaczenia żeby się nad nią rozwodzić.

1
loza_szydercow napisał(a):

Końcowym produktem mojej pracy jest faktura wystawiona pod koniec miesiąca. Reszta nie ma takiego znaczenia żeby się nad nią rozwodzić.

Dla mnie ma, bo zastanawia mnie, jak to jest, że wciąż jest takie zapotrzebowanie i prawdopodobnie będzie rosło, na osoby tworzące soft. Przecież to wszystko jest tzn. Są gotowe, programy, rozwiązania dla magazynów, księgowych, do bankowości itp, itp. Gdyż to nas na co dzień otacza, korzystamy z tego. A pomimo tego jest zapotrzebowanie (..) zastanawia mnie, czy potrzeba bierze się z tego, że trzeba napisać program, konkretnie pod danego klienta, bo on nie może wykorzystać gotowego rozwiązania, opłacając licencje. Czy może jest jakaś inna przyczyna? Dlatego poprosiłem o podawanie przykładów.

1

Zdarzyło mi się napisać aplikację do dużej loterii. Soft musiał być napisany zgodnie (słowo w słowo) ze specyfikacją. Losujemy tyle i tyle nagród głównych, tyle i tyle drugich i tyle i tyle trzecich. Jak ktoś wygrał nagrodę, to w danym losowaniu wszystkie jego losy już nie uczestniczyły. W kolejnych losowaniach nie uczestniczyły jego losy w ponownym losowaniu tej samej nagrosy.
Program był sprawdzany i zatwiertdzany przez Urząd Celny. W międzyczasie się regulamin zmienił... Zmieniła się ilość nagród drugiego miejsca... :)

0
Marcin.Miga napisał(a):

Zdarzyło mi się napisać aplikację do dużej loterii. Soft musiał być napisany zgodnie (słowo w słowo) ze specyfikacją. Losujemy tyle i tyle nagród głównych, tyle i tyle drugich i tyle i tyle trzecich. Jak ktoś wygrał nagrodę, to w danym losowaniu wszystkie jego losy już nie uczestniczyły. W kolejnych losowaniach nie uczestniczyły jego losy w ponownym losowaniu tej samej nagrosy.
Program był sprawdzany i zatwiertdzany przez Urząd Celny. W międzyczasie się regulamin zmienił... Zmieniła się ilość nagród drugiego miejsca... :)

Przecież takie rzeczy się parametryzuje, a nie zaszywa w kodzie aplikacji.

1
Krystian napisał(a):

Dla mnie ma, bo zastanawia mnie, jak to jest, że wciąż jest takie zapotrzebowanie i prawdopodobnie będzie rosło, na osoby tworzące soft. Przecież to wszystko jest tzn. Są gotowe, programy, rozwiązania dla magazynów, księgowych, do bankowości itp, itp.

A te "gotowe programy" to na drzewach rosną?

0

@Krystian ale świat się zmienia. To troche tak jakbyś sie dziwił że trzeba projektować nowe samochody, a przecież wystarczyłoby budować jeden i ten sam zaprojektowany 50 lat temu.
Komputery z roku na rok mają większe możliwości i program księgowy 20 lat temu to był kalkulator, 10 lat temu kalkulator z tabelką a dziś możesz sobie symulować w czasie rzeczywistym zmiany przychodów firmy na 50 lat w przód w zależności od różnych parametrów.
Istnienie gotowych komponentów też nie rozwiązuje problemu, bo ludzie chcą bardziej skomplikowanego softu. W efekcie sporo pracy programisty to składanie gotowych klocków, ale jednak ktoś to musi robić.

3
Krystian napisał(a):
loza_szydercow napisał(a):

Końcowym produktem mojej pracy jest faktura wystawiona pod koniec miesiąca. Reszta nie ma takiego znaczenia żeby się nad nią rozwodzić.

Dla mnie ma, bo zastanawia mnie, jak to jest, że wciąż jest takie zapotrzebowanie i prawdopodobnie będzie rosło, na osoby tworzące soft. Przecież to wszystko jest tzn. Są gotowe, programy, rozwiązania dla magazynów, księgowych, do bankowości itp, itp. Gdyż to nas na co dzień otacza, korzystamy z tego. A pomimo tego jest zapotrzebowanie (..) zastanawia mnie, czy potrzeba bierze się z tego, że trzeba napisać program, konkretnie pod danego klienta, bo on nie może wykorzystać gotowego rozwiązania, opłacając licencje. Czy może jest jakaś inna przyczyna? Dlatego poprosiłem o podawanie przykładów.

Nie do konca.

Czym jest IT? Jak ktos mysli, ze chodzi o informatyke, algorytmy, pasje i artyzm pisania kodu to albo pracuje w jakiejs 1% niszy albo po prostu sie oszukuje.

Otoz ogolnie w biznesie, jest pojecie "ekonomii skali". Chodzi z grubsza oto, ze jak masz jakas usluge czy produkt to chcesz "wyprodukowac duzo" i miec wielu klientow, a przy tym obnizyc koszta tej produkcji. Henry Ford zbudowal linie produkcyjna, w ktorej zamiast ludzi, ktorzy recznie wykonuja elementy samochdu jak chca, jest proces i kazdy pracownik specjalizuje sie w czyms wykonujac to szybciej i w odpowiedniej kolejnosci. Zbudowanie samochodu od zera zajmuje bardzo dlugo i jezel robi to czlowiek lub maly zespol to trzeba skumulowac duza ilosc wiedzi i kompetencji. Zbudowanie takiego asamochodu zajmie mase czasu i bedzie bardzo drogie (przyklad: supersamochody). Ford majac linie produkcyjna, mogl zatrudnic wielu ludzi o nizszych kompetencjach. Oczywiscie postawienie duzej fabryki jest sumarycznie drozsze niz jeden czlowiek czy maly zespol, ale sumarycznie zrobi duzo wiecej samochodow wiec cena samochodu spadnie.

Podobnie jest dzisiaj z IT. Wiekszosc softu jaki sie pisze czy to w malych czy duzych firmach to takie zautomatyzowane linie produkcyjne. Celem softu jest zautomatyzowanie jakiegos procesu i obnizenie kosztow lub zarobienie pieniedzy. Przykladowo firma ma 10tys klientow i musi kazdemu wystawic fakture, kiedys trzbea by to robic recznie i zatrudnic sztab ludzi, a obecznie taniej jest zainwestowac w system, ktory w okreslonej perspektywie czasu zaoszczedzi lub zarobi. Tyle.

Jest duzo generycznego softu na rynku jak wspomniales ale problem jest taki, ze kazdy z tych programow obsluguje niewielki wycinek procesow jakie ma firma lub obsluguje bardzo proste przypadki. Wyobraz sobie np siec supermarketow, w ktorym jest 100tys produktow, jest 1000 sklepow i 10 milionow klientow. Do tego sa promocje, programy lojalnosciowe i masa innych procesow. System, ktory automatyzuje takie procesy jest wart miliony i nie zrobisz tego wtyczka do wordpressa. Soft oszczedzi bo zamaiast zatrudniac 100tys pracownikow wystarczy 1tys i zarobi po automatycznie bedzie analizowal klienta i jego potrzeby. To samo z innymi galeziami przemyslu.

Odpowiedz na twoje pytanie: pra-przyczyna zapotrzebowania na programistow to kasa jaka jest do zarobienia przy wykorzystaniu komputerow w biznesie.

Zapotrzebowanie bedzie jeszcze roslo bo jest duzo mozliwosci zoptymalizowania kosztow lub wygenerowania przychodow w firmach poprzez automatyzacje.
Programowanie samo w sobie nie ma nic do rzeczy i jest tylko narzedziem ku temu. Jezeli ktos wpadnie na pomysl jak uproscic pisanie kodu to spadnie zapotrzebowanie na klepaczy.

1
Krystian napisał(a):

Dla mnie ma, bo zastanawia mnie, jak to jest, że wciąż jest takie zapotrzebowanie i prawdopodobnie będzie rosło, na osoby tworzące soft. Przecież to wszystko jest tzn. Są gotowe, programy, rozwiązania dla magazynów, księgowych, do bankowości itp, itp. Gdyż to nas na co dzień otacza, korzystamy z tego. A pomimo tego jest zapotrzebowanie (..) zastanawia mnie, czy potrzeba bierze się z tego, że trzeba napisać program, konkretnie pod danego klienta, bo on nie może wykorzystać gotowego rozwiązania, opłacając licencje. Czy może jest jakaś inna przyczyna? Dlatego poprosiłem o podawanie przykładów.

Patrzysz na całe zagadnienia bardzo płytko.

Po pierwsze procesy biznesowe w różnych firmach mogą wyglądać bardzo różnie. Stąd istnieje potrzeba dostosowywania narzędzi pod klientów, a to prowadzi do konieczności utrzymywania rzeszy programistów i wdrożeniowców w firmach, które tworzą te gotowe rozwiązania dla magazynów, księgowości itp. Różnice w tych wspomnianych procesach biznesowych mogą być na tyle duże, że istnieje potrzeba napisania dedykowanego rozwiązania, ponieważ koszt dostosowania istniejących będzie porównywalny.

Po drugie wciąż pojawiają się nowe procesy biznesowe np. firma chce się komunikować lub udostępniać jakieś usługi klientom detalicznym lub biznesowym za pomocą nowych kanałów - np. chce przedstawiać ofertę i/lub odbierać zamówienia składane za pomocą Internetu lub urządzeń mobilnych.

Po trzecie wciąż pojawiają się nowe urządzenia, które trzeba oprogramować:

  • smartfony (w tym wearables, IoT, VR)
  • drony (cywilne i wojskowe)
  • roboty (np. Amazon Kiva)
  • samochody (oprogramowanie diagnostyczne, center console, pojazdy autonomiczne)

Przewiduje się, że rynek aplikacji mobilnych podwoi się do 2020 roku przekraczając 100 miliardów dolarów. Jako ciekawostkę dodam, że obecnie za około 85% dochodów na tym rynku odpowiadają gry.

0

Przykład z własnego doświadczenia.
Jak zaczynałem swoją karierę, pracowałem w firmie która sprzedawała opony. Mniej więcej raz w miesiącu, 2 szeregowi pracownicy, przez tydzień liczyły jak najlepiej jest spakować opony do paczek, które później byłe pakowane do tirów i wysyłane do klientów. Paczki były rożnych wielkości, jak i same opony. I jeżeli by to nie było policzone mogło się zdarzyć że trzeba wysyłać 1-2 dodatkowe tiry, co przekłada się na koszt. Dla tego pracodawcy opłacało się wyłączyć 2 pracowników z ich codziennych obowiązków do liczenia paczek. Ale to co mu najbardziej się opłaciło to dorobienie do ich wewnętrznego systemu nową funkcjonalność, czyli zautomatyzować to liczenie paczek. Może i było zainwestowano trochę więcej kasy na zautomatyzowanie tego procesu, niż zmarnować 2 osobo-tygodnia w miesiącu ale to tylko w przeciągu 3-4 miesięcy, później firma zaczęła na tym zyskiwać.

0

Wasze wypowiedzi pozwoliły mi spojrzeć na to, trochę szerzej, ale wciąż to wszystko jest takie teoretyczne. Potrzeba rozwoju, różne przypadki itp.
Bardzo mi odpowiadała odp kaczus'a gdyż podał konkretny przykład.

kaczus napisał(a):

w poprzedniej pracy pracowałem zarówno nad stworzeniem jak i rozwojem systemu magazynowego, ale i cześcią oprogramowania do sterowników przemysłowych. Więc w dużym skrócie "to zależy"

Czy moglibyście na przykładzie kaczus'a podać podobne przykłady, albo napisać konkretniej, nad czym teraz pracujecie, jakie problem rozwiązujecie, jaki będzie efekt waszej pracy. Podam przykłady;

Nadziany Ogórek napisał(a):

ja np robię soft dla jednego z banków, aplikację zarówno dla użytkowników, jak i dla pracowników banku.

To też jest dla mnie takie bardzo teoretyczne. Nie wiem, co to jest za aplikacja, soft, jaki problem rozwiązuje, jaki proces automatyzuje.

Shalom napisał(a):

W efekcie sporo pracy programisty to składanie gotowych klocków, ale jednak ktoś to musi robić.

Podobnie, ja bym prosił o konkretne przykłady np. Do naszej firmy, zgłosił się właściciel.. potrzebował program, który. Jestem bardzo ciekawy, z jakim problemami, zdaniami na co dzień macie do czynienia.

1

Dla mnie każdy dzień wygląda inaczej i co innego robię. Jeśli startuje nowy projekt, jest sporo spotkań z zespołem, gdzie omawiamy architekturę systemu. Ustalamy, jakich technologii chcemy użyć, jakie będą potencjalne problemy, jak obsłużymy błędy, w jaki sposób będą się komunikować moduły. Na początku projektu trzeba też potworzyć i pokonfigurować serwery, bazy danych oraz komunikację sieciową. Potem jest programowanko tego, co wymyślimy i tutaj tez różnie bywa. Czasem jest to tworzenie logiki biznesowej, czasem komunikacji z bazami danych i integracji między systemami, a czasem interfejsu użytkownika. Bywają też dni, gdzie jakiś stary system wywali się na cyce i trzeba przeglądać logi oraz analizować i debugować czyjś kod, żeby znaleźć, co poszło nie tak. Ogólnie - dla każdego coś fajnego.

0
Uczynny Kura napisał(a):

Dla mnie każdy dzień wygląda inaczej i co innego robię. Jeśli startuje nowy projekt, jest sporo spotkań z zespołem, gdzie omawiamy architekturę systemu. Ustalamy, jakich technologii chcemy użyć, jakie będą potencjalne problemy, jak obsłużymy błędy, w jaki sposób będą się komunikować moduły. Na początku projektu trzeba też potworzyć i pokonfigurować serwery, bazy danych oraz komunikację sieciową. Potem jest programowanko tego, co wymyślimy i tutaj tez różnie bywa. Czasem jest to tworzenie logiki biznesowej, czasem komunikacji z bazami danych i integracji między systemami, a czasem interfejsu użytkownika. Bywają też dni, gdzie jakiś stary system wywali się na cyce i trzeba przeglądać logi oraz analizować i debugować czyjś kod, żeby znaleźć, co poszło nie tak. Ogólnie - dla każdego coś fajnego.

Brzmi spoko, a jakiś konkretny przykład zadania, programu etc? :D Chcę zobaczyć, z jakim zdaniami, problemami przychodzą klienci i tym samym wy się zmagacie. Gdyż dla mnie jest to wszystko takie w teorii. Też nie chodzi mi o to, aby ktoś się rozpisywał na czynniki pierwsze. Tylko napisał tak mniej/więcej np program do obsługi.. itp, itp.

0

Tzn chcesz, żeby ktoś Ci opisał co to jest program komputerowy i do czego służy?

Przychodzi klient do zespołu mobilnego i mówi: "panie potrzebuję aplikacje taką na smarfona żeby ludzie mogli sobie rezerwować stolik, pooglądać menu i popatrzeć na sale przez kamerę na żywo." No to się pisze programy takie jak chce. To są przykładowe problemy i zadania.

0
HEMIkr napisał(a):

Tzn chcesz, żeby ktoś Ci opisał co to jest program komputerowy i do czego służy?

Nie, przecież napisałem, że chodzi mi o przykłady.

0

@Krystian
Ale jakie przykłady? Program robi kilkadziesiąt(-set) osób przez rok albo pięć. Nie robisz sam całości. Moje pierwsze zadanie, kiedy byłem juniorem, polegało na zamianie kolejności elementów, które były do wyboru z listy rozwijanej. Zajęło mi to wtedy 3 dni, bo brak doświadczenia i wiedzy. :) Potem poprawiałem coś w module, który na stronie wyświetlał Google Mapsy z zaznaczonymi lokalizacjami sklepów. Czasem pisałem od zera jakąś funkcjonalność - np pod adresem http://www.mojsklepik.pl/porownywarka miałem stworzyć od A do Z stronę porównującą wybrane produkty. Zazwyczaj robisz jakiś moduł, funkcjonalność, część czegoś. Zadania dzieli się tak, by mógł nad nimi jednocześnie pracować cały zespół. Nie jest tak, że masz przyjść i napisać cały program. I to jest właśnie wyzwanie - zgrać się z innymi, zrozumieć całość i ją rozbudować w odpowiedni sposób.

0

Kolejny przykład - wyciągnąć dane z jednego systemu, przetworzyć je i wysłać do drugiego systemu.

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