Szybkie, efektywne i wydajne programowanie

0

Cześć

Pytanie jest takie. Uczę się programowania, piszę sobie różne programiki i aplikacje. Ale to tutaj chyba każdy. Problem jest jednak taki, że bardzo trudno mi się skupić przy pracy. Mam problemy z organizacją czasu. A to woda się zagotowała na kawę, a to telefon zadzwoni, a to kumple obok gadają bo akurat nie mają co robić i opowiadają kawały. Czasem potrafię się złapać na tym, że piszę kod, ale nie wiem po co i dlaczego akurat tu :) Dodatkowo często łapię się też na tym że piszę bardzo wolno, np popijając herbatkę myślę co zaraz napisać, później piszę kilka linijek i znów dumam co dalej... Potrafię przez 10 sekund szukać zakładki w przeglądarce, bo nie pamiętam która to miała być itp... Wiecie - takie pisanie w domowym "zaciszu" sam dla siebie.
Pomaga, jeśli zanim zacznę pisać dokładnie przemyślę co po kolei trzeba napisać, jaka klasa będzie gdzie i jak będą się komunikować z innymi, co udostępniać itp. Ale i tak czasem mam czarne dziury we łbie i muszę się cofać żeby ogarnąć co właściwie chcę zrobić. Poza tym taki stan skupienia jest dość krótki (nie zawsze, ale jednak zwykle).

Pytam bo widziałem w jednej takiej firmie w której miałem okazję odbywać praktyki jak ludzie potrafią zapierdzielać... Mają otwarte po 50 zakładek w przeglądarce, perfekcyjnie wiedzę, która gdzie jest. Znają tysiące skrótów klawiaturowych, komendy w konsoli wpisują tak szybko że znika ona szybciej niż się pojawia :D W między czasie pobierają pocztę, rozpakowują załączniki, umieszczają je od razu tam gdzie trzeba, deployują kod, piszą setki linii kodu nie wiedząc w ogóle na wygląda ich klawiatura itp... Wiecie pewnie o co chodzi :D Ponadto są cały czas na bieżąco z tym o czym rozmawia się właśnie w pokoju :D

Znacie to? :) Macie jakieś skuteczne metody na poprawianie swojej koncentracji i efektywności podczas pracy programistycznej ? :)

2

Proszę okazać oświadczenie, że jest Pan zwolniony z korzystania z wyszukiwarek. Temat omawiany w tym roku co najmniej 3 razy.

http://4programmers.net/Forum/Off-Topic/193297-motywacja_do_roboty_poza_robota
http://4programmers.net/Forum/Off-Topic/204028-organizacja_czasu
http://4programmers.net/Forum/Off-Topic/202210-uzaleznienie_od_nowych_informacji_wiadomosci

W pewnym sensie pokrewne:
http://4programmers.net/Forum/Off-Topic/199884-dlaczego_programista_jest_leniwy

// czy będzie więcej? Szukam dalej
// dobra, nie chce mi się dalej

0

Zaświadczenie? Czemu? Przytoczone przez Ciebie tematy nie dotyczą przecież tego o co pytam. Nie pytam o problemy z zabraniem się do pracy, odkładaniem zadań na później, lenistwem, przeglądaniem netu bez celu i traceniu czasu na pierdoły. Chodzi o organizację już wykonywanej pracy tak aby była jak najefektywniejsza. Chodzi zatem o koncentrację, skupienie i wykonywanie roboty jak najszybciej i jednocześnie najdokładniej. Czyli tak jak wymagane jest to w pracy zawodowej (o ile rzeczywiście jest).

0

Jak pracujesz z danymi narzędziami długo, to chyba normalne, że nabierasz wprawy w codziennych czynnościach :)

1

Na początek polecam nauczenie się pisania bezwzrokowego na klawiaturze. Pisanie bez odrywania wzroku od kodu znacznie polepsza skupienie na kodzie. Musisz się tylko przygotować na to, że początki pisania bezwzrokowego są trudne i zanim dojdziesz do takiej prędkości jaką miałeś pisząc patrząc na klawiaturę zejdzie ze dwa miesiące. No i w tym czasie nie powinieneś pisać patrząc na klawiaturę, bo inaczej ciężko będzie zmienić przyzwyczajenia. Czyli musisz sobie wydzielić 2 m-ce takiego luzu, w którym piszesz niewiele, tak abyś nie musiał się irytować przy pierwszych próbach pisania bezwzrokowego.

2

Nie ma co się ciśnieniować... Ja też mam > 50 zakładek pootwieranych (razy 2, bo przynajmniej dwa okienka), ale wiem gdzie co jest nie dlatego, że jestem mega skoncentrowana, tylko dlatego, że są favicony na zakładkach, więc po obrazkach widać... (no i rozdzielam sobie po okienkach mniej więcej tematycznie).
Skróty klawiaturowe jeden zna takie, a inny zna inne... Jak ja się zdziwiłam, po dwóch latach programowania w VS, że inni programiści w firmie nie używają ctrl+shift+B... Jak coś często robię, to sobie sprawdzam jaki to ma skrót, no i z racji tego, że potem często powtarzam - zapamiętuję.

A jak się program kompiluje/czekam na koniec procesu/generuje się strona i długo to trwa, to w ramach uciekania przed nudą zastanawiam się: "czy jest jakaś pierdóła, którą zdążę zrobić zanim się skończy?"
Na siłę nie szukam, bo przede wszystkim: http://www.independentdeveloper.com/archive/2009/03/17/programming-is-like-a-dream

Nie ma nic złego, w długim zastanawianiu się nad tym co się robi. Zdarza mi się, że 3 dni pod rząd nie napiszę niemalże nic, za to całymi dniami myślę. Dzięki temu potem piszę raz.

Czasem potrafię się złapać na tym, że piszę kod, ale nie wiem po co i dlaczego akurat tu :D

Przestań jarać blanty.

0

Może to domena początkujących bo ja też to mam :)
Kiedyś na jakimś blogu (nie znajdę choćby nie wiem co) znalazłem ciekawy wpis na temat różnic między pracą w domu i pracą w 'biurze'. Padła opinia, że praca w domu jest dużo trudniejsza, właśnie z powodu problemów z koncentracją. Ten akurat programista rozwiązał to dosyć radykalnie, zamykał się w specjalnie przygotowanym pokoju w piwnicy, takim mini-biurze i przez 8 godzin dziennie nie wychodził stamtąd, jego rodzina nie miała tam w tym czasie wstępu. Do tego miał poblokowaną sporą część zasobów sieciowych, żeby nie kusiło :)

Programowanie wymaga skupienia, zwłaszcza kiedy nie jest się jeszcze obeznanym z narzędziami, a czasami o to ciężko. Nie każdy uczący się w domu ma wygodną 'kanciapę' tylko dla siebie. Myślę, że prędzej czy później takie obeznanie i wdrożenie się przyjdzie samo, po kilkuset wykonaniach jakiejś czynności zaczyna się ją wykonywać z automatu i nie jest to domeną programowania, tylko ogólnie wszystkiego.
Skróty klawiszowe też przychodzą same. Pierwsze kilka-kilkanaście razy musisz sprawdzić co i jak, potem już nawet się o tym nie myśli, tylko wciska na czuja :)

0
czaki132 napisał(a):

Chodzi zatem o koncentrację, skupienie i wykonywanie roboty jak najszybciej i jednocześnie najdokładniej. Czyli tak jak wymagane jest to w pracy zawodowej (o ile rzeczywiście jest).

Podpowiem Ci, ale tak kompletnie szczerze: ludzie których widziałeś w pracy mieli coś takiego magicznego co się zwie doświadczenie (a do tego przyzwyczajenie).

Dla przykładu moja historia:

  1. dawno dawno temu miałem ja windowsa i jeden monitor - jak miałem więcej jak 3 okna otwarte, to był ból bo gdzie sie odnaleźć.
  2. Jakieś 8 lat temu przerzutka na linuks + wirtualne pulpity w pełni okazałości: jeden monitor, 4 wirtualne pultpity, na każdym 1-2 okienka.
  3. Rozwój technologii i przyzwyczajeń - 2 monitory, 8 wirtualnych pulpitów, na każdym 1 - 4 okienek
  4. praca zawodowa i studia jednocześnie: 2 kompy 3 monitory, na każdym 8 wirtualnych pulpitów. wszystko ogarniam bo sam wiem gdzie co być powinno - gdzie komunikator firmowy, gdzie dokumentacja, gdzie konsola, gdzie logi, gdzie IDE itp itd...
  5. praca zawodowa i rozwój : 2-4 kompów lokalnie, x maszyn zdalnie, 3-8 monitorów lokalnie, na każdą maszynę zdalną 1-9 sesji screena i tak można opisywać a i tak nie odda ekstremum.

bazując na tym udzielam rady: pracuj a osiągniesz to o czym marzysz. ja tam nigdy nie marzyłem aby jednocześnie pisać kod do kilku róznych aplikacji w kilku różnych językach, na bieżąco sprawdzać wyniki każdej z nich, odpowiadać na kilkaset pytań via mail czy komunikator dziennie itp.

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