Wątek przeniesiony 2016-09-07 13:57 z Webmastering przez somekind.

Logika działania - jak rozwiązywać zadania na początku pracy

0

Witam kolegów i koleżanki :)
Zaczynam dopiero pracę z programowaniem, ponieważ zmieniłem profesję z sieci komputerowych (nie planowana, ale dostałem ciekawą nową ofertę pracy i tak zdecydowałem, że spróbuję, czy to dla mnie). Wcześniej miałem styczność z językiem obiektowym C++ całkiem długo, z My-SQL też dosyć mocniej, dawniej z Turbo Pascalem i Javą, także nie jestem zupełnie zielony. Problem jednak zaczyna się, kiedy w nowej pracy dostaję zadanie z całkiem nowego języka. Takie to stanowisko, że dziś piszę skrypt w Javie, za 2 dni mam coś zrobić w bashu a kiedy indziej mam napisać jakąś usługę która łączy w sobie XML, Javę i T-SQL. Zgrzyt zaczyna się, kiedy nie mam czasu poznawać całego języka krok po kroku tylko szukam tutoriali na temat, który mnie akurat interesuje. Zawsze mam dużo pomysłów na rozwiązanie problemu, ale nie wiem czy akurat taki język obsługuje takie rozwiązania, albo ja nie umiem tego wdrożyć bo np. w C++ zrobiłbym to od ręki, ale w bashu nie wiem jak to wykonać i siedzę godzinami i próbuję. Aktualnie mój algorytm postępowania jest taki chaotyczny, że wygląda to mniej więcej tak:

  1. Kartka papieru - rozpisuje etapy co po kolei mam zrobić
  2. Rysuję mniej więcej schemat blokowy jak to ma działać lub program w C++ (który akurat w tym języku nie sprawdzi się, ale ile się daje poglądowo czasami zapisuję w C++)
  3. Wdrażam jeden pomysł, czytam godzinę jak to się robi, i dochodzę do momentu kiedy nie wiem jak to wdrożyć, więc znajduje podobne rozwiązanie na necie, ono nie do końca pasuje więc doczytuje o funkcjach zawartych w tym gotowym rozwiązaniu... potem pojawiają się kolejne niewiadome i coraz to nowsze i czas leci...
  4. Skoro nie udało mi się tak tego zrobić, próbuję czegoś nowego i patrz pkt wyżej...
  5. Wracam do któregoś z poprzednich rozwiązań i patrz pkt 4.
  6. Mam takie siano w głowie, że nie wiem już kompletnie jak ruszyć ...
    Pomóżcie proszę i naprowadźcie jak programować, żeby nie popełniać takich błędów.
2

Troche JanuSzoft wyczuwam. Dlaczego jesteś tak rzucany po technologiach? Jeśli jesteś mega-full-stack-devem to powiedz że zarabiasz chociaż 12k? Twój tok rozwiązywania problemów wg mnie nie jest najgorszy (sam bym robił podobnie), ale przede wszystkim polecam pytać - bardziej doświadczone osoby. Co z tego ze poświęciesz 4 godziny na rozwiazanie problemu, skoro ktoś pomoże Ci w 20 minut i zrobisz to potem w godzinę? No chyba ze pracujesz sam i masz do ogarnięcia setki tematów pokroju jaki opisałeś - wtedy to kolejny sygnał "JANUSZ ALERT"!!

0

w webie większości tych języków co napisałeś się nie używa, a jak piszesz apki jako jakiś wielokierunkowy galernik to czas wysiadać z tego okrętu...

0

nie piszę w webie (nie wiem czemu moderator przeniósł tutaj ten wątek), bardziej zarządzam danymi pomiarowymi które dostaję z urządzeń, jak i bazą tych danych w mssql. Nie pracuję sam, ale jestem studentem (jeszcze 3 roku) i to moja pierwsza prawdziwa praca. Zarabiam stosunkowo niewiele, ale nie chcę za dużo dopytywać bo bym musiał pytać ciągle, a na razie jestem na takim etapie sprawdzająco-rozwijająco-niewiadomojakim także mam rozwiązywać problemy które dostaję. Dlaczego tyle technologii? Taka specyfika stanowiska i firmy. Czasem mam obsłużyć coś na serwerze, który "stoi" na Linux, stą ten bash; innym razem za pomocą Javy muszę pobrać dane ze strony która zawiera dane pomiarowe urządzenia i odpowiednio je przetworzyć. XMLa używa się tutaj do budowania gotowych paczek .rar czy .zip z danych przetwarzanych przez Javę i mssqla. Czasem trzeba napisać skrypt który ułatwi dodawanie jakichś nowych plików co jakiś czas na serwer (aby nie robić tego ręcznie) - stąd i czasem prosty skrypt w powershellu. I dlatego największym problemem dla mnie na początku (pracuje tam od 2 miesięcy) jest przerzucanie się na języki których jeszcze nie znam aż tak dobrze i nie wiem sam co potrafia a czego nie, a jeśli potrafią, to jak wygląda implementacja...

1

Masz chłonny umysł, więc wykorzystaj to. Skoro płacą Ci za naukę (w pewnym sensie), to korzystaj z tego i ucz się, ile wlezie. Prawdopodobnie i tak długo tutaj miejsca nie zagrzejesz, bo albo sam w końcu odejdziesz, albo szefu stwierdzi, że to się powinno robić dużo szybciej :) Moim zdaniem powinieneś się teraz uczyć jak najwięcej się da, czyli to, co robisz teraz. W przyszłości to zaprocentuje.

0

ja to doskonale wiem, tylko od doświadczonych kolegów chciałem poznać jakiś wzorzec którym kierujecie się przy tworzeniu takich programów/skryptów. Inną sprawą jest pisać w jednym języku i znać go doskonale i umieć wdrożyć każde rozwiązanie kolejnego etapu, a inną jest robić coś w jakiejś technologii mając o niej niewielkie pojęcie (a czas leci)

2

Teraz robisz to ok. Poprzez różne próby nabierzesz doświadczenia i w przyszłości będziesz od razu wiedział co i jak powinno być zrobione i to Ci pozwoli na pominięcie kilku kroków.

2

Chyba nie skłamię, gdy powiem, że większość z nas (programistów) ma taką metodę działania, że google, google, google i jeszcze raz google. W końcu robisz się specem w formułowaniu zapytań.

0

a co powiecie o jakichś☺ wzorcach projektowych? czego one dotyczą? pomagają w rozwiązywaniu takich problemów? martwi mnie czas jaki teraz poświęcam na zrobienie czegoś :( widzę po tych niespełna 3 miesiącach GIGANTYCZNE postępy od tego jak sam zaczynałem i ile umiałem po kursach na YT a ile teraz w pracy, ale i tak nie wiem czy to nie jest zbyt wolno

1

Wzorce projektowe przydadzą Ci się raczej w momencie kiedy będziesz tworzył jakieś większe projekty - możesz informacyjnie napisać parę informacji - jaki jest min/max czas na wykonanie zadania/ w ile czasu je wykonujesz? Czy powracasz do niektórych fragmentów kodu często? Wzorce projektowe w moim mniemaniu mało Ci pomogą jeśli Twoje taski będą polegały na tym że coś ma działać i nigdy do tego nie wrócisz. Fakt - można ich użyć i być zadowolonym z super czystego kodu, tylko to wymaga czasu, na którego nadmiar jak widać nie narzekasz :)

1

widzę po tych niespełna 3 miesiącach GIGANTYCZNE postępy od tego jak sam zaczynałem i ile umiałem po kursach na YT a ile teraz w pracy, ale i tak nie wiem czy to nie jest zbyt wolno

Jeśli nie zwalniają cię z pracy, to nie jest zbyt wolno ;) Chill, nie panikuj, nie stresuj się, spokojnie byle do przodu. Skoro widzisz gigantyczne postępy to dobrze rokujesz.

0

no ogólnie czasu mam jak dotąd dużo na wykonywanie wszystkiego, nikt mnie nie goni, jedyny problem jest właśnie w tym, że w tym tygodniu rozwiązuje coś ciężkiego w T-SQL, za kilka dni dostaję 2 skrypty w bashu lub powershellu które mają usprawnić działanie serwera, potem coś w Javie, i jak już wyjdę z toku myślenia slqa, po miesiącu znowu dostaję coś do roboty w bazach... i tak wkoło i czas czasem też gra jednak rolę ale też bez spinania. Problemem jest właśnie ciągła zmiana języka i technologii i te zawiechy, że nie potrafię sprawnie rozwiązać problemu (chociaż też przyznaję dostaje problemy dosyć poważniejsze czasem)

0

A ty na początku na kartce jak ma napisać jakiś skrypt to rozpisujesz sobie na kartce jak działają te algorytmy i przykładowo na kartce rozpisujesz ten algorytm w postaci liczb coś jak sortowanie bąbelkowe bo lepiej ka byś sobie dany algorytm najpierw rozpisywał na kartce.

0

ja rozpisuję to jeszcze tak, jak uczyli mnie w szkole :P tworzę algorytm, schemat blokowy bądź iterację i idąc krok po kroku wykonywania programu zapisuję obok kolejne wyniki i zawartość zmiennych. Potem widzę co się dzieje i co jest nie tak

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