Byłem niezależnym programistą do ok. 2004 r., Kiedy zacząłem podążać ścieżką zarządzania, ale postanowiłem znów spróbować wrócić do programowania (szczególnie JavaScript i HTML5 aplikacje internetowe / mobilne) i mam wrażenie, że jestem naprawdę dobry w te i podobne szybko zmieniające się technologie wymagają poświęcenia stałej ilości czasu, aby zainwestować w doskonalenie istniejących umiejętności oprócz uczenia się nowych umiejętności.
Rozumiem teraz, odkąd wracam do rzeczy, istnieje dość stroma krzywa uczenia się, ale widząc, jak wielu jest tam dobrych ludzi - jedyny sposób, w jaki widzę, aby tam wejść, to poświęcenie dużej ilości czasu.
Dla tych, którzy pracują jako programiści pełnoetatowi, staram się to zrozumieć - w większości dni ile czasu spędza się w biurze, szlifując kod w porównaniu do nauki / badań. Mógłbym z łatwością spędzać 2-4 godziny dziennie na sprawdzaniu najlepszych sposobów robienia rzeczy.
Czy większość dobrych programistów zatrudnionych w pełnym wymiarze godzin inwestuje znaczne godziny poza pracą, doskonaląc swoje umiejętności?
A może patrzę na to całkowicie źle?
źródło
Odpowiedzi:
Szczerze mówiąc używam czytnika kanałów informacyjnych. Subskrybuję wiele blogów i stron związanych z technologią. Przeczytam swoją karmę podczas lunchu, przed pracą, a czasem po pracy. Jednak używam do tego mojego tabletu i będę stale przeglądać źródła wiadomości pod kątem tego, czy zapewniają dobry stosunek czasu do wartości. Prawdopodobnie czytam 1-2 godziny dziennie na nowe rzeczy.
Zasadniczo nie będę tracić czasu na czytanie komentarzy lub komentowanie, chyba że jest to prawdziwy transfer wiedzy.
źródło
Generally I will not waste time on reading comments or commenting unless its a real knowledge transfer.
To naprawdę dobra rada. Jestem również na bieżąco za pośrednictwem blogów i stron z technologiami, ale dopiero niedawno odkryłem, ile czasu marnuję na czytanie komentarzy, które rzadko dostarczają żadnej wartości (często zależy to od tematu i rodzaju źródła).Naprawdę? To jeszcze nie jedna z odpowiedzi?
Zaproponuj szefowi, o którym słyszałeś
newThing
i że może pomóc firmie, szczególnie zhideousProblemWeJustHad
. W ten sposób poszłam na testy jednostkowe. To nie jest supernowoczesne, ale moja szkoła wykonała okropną robotę, nauczając, o co w tym wszystkim chodzi i była dla mnie nowa. Część tego czasu zdecydowanie badała, jak zrobić to dobrze.I chociaż jest to mniej lub bardziej poza twoją kontrolą, często uczę się nowych rzeczy tylko po to, aby wykonywać swoją pracę. Nauczyłem się DO-178 i SQL, ponieważ były one w pewnym stopniu obowiązkowe dla danego zadania. Jeśli NAPRAWDĘ chcesz zanurzyć się w nowe rzeczy, znajdź nową pracę.
W skrócie. Zarabiaj za naukę.Ponieważ istnieje naprawdę uczciwy powód do używania (niektórych) tych nowych rzeczy. Ponieważ są lepsze. Jeśli są lepsze, szef chce, abyś ich używał, ponieważ pomoże to w osiągnięciu ostatecznego wyniku. Jasne, jest trochę napowietrznych. Proces uczenia się nie jest natychmiastowy, a czas to pieniądz, ale jeśli nie jest tego wart, hej, może nowa rzecz nie jest wcale taka lepsza. W takim razie, przejedź go.
źródło
ember.js
i udało mi się doprowadzić do zakończenia projektu, nie mówiąc już o obiecanych godzinach nadliczbowych i bonusachnewthing
i powinien sugerować używanie go zamiast peonów kierujących firmą. Ale jest tylko TAK wielu nietechnicznych bossów, a pole jest tak duże, że oczekiwanie, że szefowie wiedzą, co jest najlepsze, jest trochę głupie. To nie zarządza szefem, po prostu rzuca pomysł.Najbardziej przydatne informacje, na które natrafiam, umieszczam w talii Anki . Każdego ranka spędzam 5-10 minut na przejrzeniu materiału. Na przykład w tym tygodniu Anki zadała mi pytanie, z którym nie miałem do czynienia przez pewien czas:
Nie pamiętam, czy odpowiedź brzmiała
unset($value)
czyreset($value)
, więc to mnie ostro trzymało. Rzeczywiście, tego samego ranka musiałem użyć tego w kodzie.Trzymam fragmenty informacji dotyczące AWS, PHP, Bash i innych technologii, które tam wykorzystuję. Przynajmniej Anki zachowuje w pamięci tę informację lub łatwo ją znaleźć, jeśli zapomnę.
EDYCJA: Powinienem także wspomnieć, dla mnie programowanie było hobby, które rozwinęło się w karierę tworzenia oprogramowania. Uważam, że ludzie, których kariery są również ich hobby, naturalnie pozostają na bieżąco, ponieważ jest to ich osobisty interes, a nie tylko interes zawodowy. Dotyczy to artystów, lekarzy, ogrodników i większości innych wykwalifikowanych zawodów, nie tylko programistów.
źródło
Gdy czas jest ograniczony, lepiej skupić się na materiale najwyższej jakości.
Książki (te dobre) częściej zawierają materiały wyższej jakości niż blogi. Książki z wysoką średnią oceną klientów w Amazon zazwyczaj mają materiał najwyższej jakości. Zdobądź Kindle i pobierz kilka wysoko ocenianych książek na ten temat - miej go zawsze przy sobie. Może godzina czytania dziennie? - i tak to robię, nie jestem pewien, co jest dobrą wytyczną czasu.
Jeśli wracasz do siodła i dysponujesz budżetem, lepiej znów wziąć udział w przyzwoitym kursie (lub konferencji) na rozpoczęcie. Kilka dni intensywnego treningu = miesiące czytania.
źródło
Ostrzenie piły jest koniecznością dla wszystkich osób zaangażowanych w każdą pracę opartą na wiedzy. Jak to zrobić, należy do osoby. Oto kilka rzeczy, które robię
źródło
Mówiąc wprost, tak. Dobre deweloperzy zrobić wydać pewną ilość programowanie czasu zakaz pracy. Często jest to jakiś projekt dla zwierząt domowych, w którym mogą bawić się nowymi i interesującymi rzeczami. Często rzeczy, które nie mają zastosowania w pracy, poszerzają umysł i nadążają za (względnie) najnowocześniejszymi.
źródło
Jak powiedzieliby AC / DC: „Jeśli chcesz rock and roll, to jest długa droga na szczyt.
Nie będzie łatwo, jeśli celujesz na szczyt. Głównym problemem podczas próby powrotu na konia jest poczucie nieaktualności - nie wspominając o głupocie.
Próbujesz zrozumieć TDD, potem natkniesz się na wstrzykiwanie zależności, a następnie na odwrócenie pojemników kontrolnych. Najnowszą rzeczą, która pojawiła się pod moim radarem, był CQRS. Próba uchwycenia tego wszystkiego naraz jest naprawdę trudna. Małe kroki.
I to nie pomaga w tym, że niektóre z nich można uznać za zwykłą modę. Chłopcze, czy lubimy pochwalić się tą nową błyszczącą rzeczą, która rozwiąże wszystkie nasze problemy.
Kilka rzeczy do wypróbowania:
http://www.safaribooksonline.com/ mają (to trochę ukryte) abonament na 5 automatów za 9,99 USD miesięcznie. Mają aplikację mobilną. Możesz uczyć się gdziekolwiek jesteś.
Subskrybuj niektóre klasy wideo. Zapisałem się raz na http://tekpub.com/ i pokochałem. Znam również https://peepcode.com i http://pluralsight.com . Możesz oglądać w podróży.
Wybierz kilka dobrych kanałów informacyjnych i postępuj zgodnie z nimi. Wybierz jakość zamiast ilości. W przeciwnym razie poczujesz się zmiażdżony przez zbyt wiele informacji.
Użyj https://getpocket.com do przechowywania tych interesujących stron, które możesz chcieć wyświetlić później. Przestań otwierać nowe karty, aby wyświetlić je później i zapominając o nich. Mają aplikacje mobilne, które umożliwiają przeglądanie przechowywanych stron w podróży.
Skorzystaj z https://ifttt.com, aby ułatwić Ci życie. Po pierwsze, robię to, aby gdy oznaczyłem element w Czytniku Google gwiazdką, zapisuje się on automatycznie na Pocket.
http://www.class-central.com/ Lista MOOC oferowana przez instytucje takie jak Stanford i MIT. Niektóre z nich mogą być naprawdę interesujące.
W każdym razie najlepsi programiści prawdopodobnie spędzają dużo czasu poza godzinami pracy, ucząc się nowych rzeczy. Ale robią to, ponieważ uwielbiają kodować. Łatwo jest znaleźć czas, aby poprawić swoje umiejętności kodowania, gdy lubisz kodować. :)
źródło
„Szlifowanie kodu” jest najlepszym narzędziem do nauki. Kiedy dostaję coś, co może użyć nowej metody, walę w nią, dopóki nie zadziała. Jeśli klient zażąda czegoś, co wymagałoby nowej technologii, zapłacę za to, ale jeśli jest to coś, czego po prostu nie udało mi się uczyć, nie rozliczam ich.
Materiały sieciowe poruszają się w dobrym tempie. W mojej małej firmie używam freelancerów do rzeczy, o których nie wiem lub nie mam czasu. Zwykle mnie uczą, ale coraz trudniej jest nadążyć za tym, co działa dzisiaj, ale nie mogłeś użyć wczoraj, albo zadziała jutro, więc powinieneś uczyć się tego dzisiaj.
W przypadku treści innych niż internetowe rzeczy były bardziej stabilne. Napisałeś kod w jednym języku na jednej platformie. Teraz musisz znać HTML / CSS / JavaScript / Java / SQL / PHP / * nix / wszystkie te interfejsy API .... a potem jest Internet Explorer .... westchnienie.
Jest to walka dla jednego programisty.
źródło
Konceptualizuj i twórz własne projekty.
Poważnie. Wszystko, czego się nauczyłem, wyszło ode mnie z jakimś dalekosiężnym pomysłem, a potem usiadłem, by spróbować to rozgryźć. Jeśli zrobisz to wystarczająco długo, postawisz się na ścieżce ciągłego doskonalenia.
źródło
Po prostu spróbuj maksymalnie wykorzystać swój wolny czas. Możesz spędzać 3 godziny każdego dnia, ucząc się o nowych technologiach, ale prawdopodobnie nadal chcesz mieć trochę życia towarzyskiego. Może to nie być najlepsze podejście.
Zazwyczaj uczę się w tych momentach, gdy (w normalnych warunkach) byłbym „leniwy”. Czytam w pociągu książki o technologii, oglądam podcasty przed pójściem spać (zamiast oglądania telewizji), czytam StackOverflow, blogi technologiczne lub inne źródła, kiedy potrzebuję odpoczynku w pracy (zamiast być na Facebooku), rozmawiając o technologii z kolegami z pracy w porze lunchu ..
źródło
Jedną sztuczką, której używam, ucząc się czegoś nowego, jest pójście na StackOverflow (lub fora poświęcone technologii), znalezienie pytania, na które nie znam odpowiedzi, i wypracowanie odpowiedzi. Ponadto staram się zaimplementować coś przy użyciu nowej umiejętności / technologii. Na przykład, aby dowiedzieć się, jak zaprogramować telefon z systemem Windows, zapytałem żonę, jakiej aplikacji ona chce. Proces pisania tej aplikacji zmusił mnie do dowiedzenia się więcej o platformie i o tym, jak to robić.
Możesz czytać, co chcesz, ale nie masz doświadczenia w czytaniu.
źródło
Po prostu zadaj sobie pytanie, co nie napędza cię tym, czym kierują inni?
Na przykład - Czy chcę tworzyć aplikacje mobilne, czy kontynuować pracę nad aplikacjami internetowymi, skoro mam już doświadczenie w tym zakresie, czy też chcę przeprowadzić konsultacje techniczne? Myślę, że kiedy już wiesz, co chcesz robić przez następne kilka miesięcy lub lat, będziesz wiedział dokładnie, od czego zacząć i czego musisz się uczyć.
To nie jest pytanie, które zadają tylko informatycy.
źródło
Nigdy nie znalazłem lepszego wytłumaczenia „jak” lub „dlaczego”, aby znaleźć na to czas, niż „Naucz się programować przez 10 lat” Petera Norviga . Kiedy tracę motywację do „poświęcania czasu” - jak zauważyłeś, kto nie?!? - Właśnie przeczytałem jego artykuł i dokonałem ponownego zatwierdzenia. :)
źródło
Moja firma jest bardzo przyszłościowa i chce zapewnić rozwój w oparciu o najnowsze technologie. Doceniają to, że w ramach tego muszą dać swoim programistom czas na zapoznanie się z nowymi funkcjami / interfejsami API itp. Na przykład niedawno przeszliśmy na Richfaces 4 z Richfaces 3. Ogromna migracja, w której z łatwością spędziliśmy połowę czasu, próbując zrozumieć nowy krajobraz. Jeśli firma nie jest w stanie poświęcić ci czasu na zapoznanie się z najnowszymi osiągnięciami, możesz znaleźć się w niewłaściwym miejscu.
Spróbuj uzyskać od firmy licencję Safari Books. Jest to kompleksowe źródło najlepszych książek technicznych. W tym seria zgrubnych cięć i produkcji w toku. Sieć ogólnie jest również świetnym zasobem, ale poziom hałasu otoczenia i błędnych informacji jest wysoki.
Każdego wieczora poza pracą inwestuję też około godziny, aby być na bieżąco. Od czasu do czasu aktualizuję również moje profesjonalne certyfikaty, co wymaga dodatkowego zaangażowania w weekendy.
Ponownie poinformuj swoją firmę, że robisz to w swoim czasie, i sprawdź, czy zapłacą za opłaty egzaminacyjne lub szkolenie. A może pozwolą ci przystąpić do egzaminu na czas firmowy.
źródło
Odpowiedź jest prosta: staraj się korzystać z najnowszych technologii w pracy, a jeśli nie, rób projekty poboczne
Ale aby zaoszczędzić czas, musisz najpierw wiedzieć, czego się nauczyć, aby Twój czas był dobrze spędzony.
To działało dla mnie
Druga część to, jak skutecznie się tego nauczyć, aby efektywnie wykorzystać swój czas
Uważam, że udacity, coursera, Codechool, codecademy, teamtreehouse, edx.org, udemy, net tuts + i inne są świetnymi zasobami, ponieważ ich kursy zwykle nadążają za najnowszymi technologiami
Z drugiej strony możesz skończyć w eksplozji informacji i narzekać na to tak, jak wcześniej: http://tilomitra.com/the-crazy-world-of-code/
źródło
Materiały i narzędzia, których używam do nadążania, wymieniono poniżej. Prawdopodobnie spędzam 1-2 godziny dziennie na czytaniu na tematy techniczne, choć nie zawsze na tematy techniczne, na które powinienem zwrócić uwagę.
Jeśli chodzi o stosunek czasu spędzonego na czytaniu w pracy do czasu spędzonego na kodowaniu, spędzę czas na czytaniu na temat, jeśli jest to bezpośrednio związane z wykonywaną pracą (np. Jak prawidłowo korzystać z tego nowego frameworka).
Uważam, że robię dwa rodzaje czytania. Głębokie czytanie na konkretny temat, którego używam lub z którego będę korzystać w przyszłości, lub Szerokie czytanie, w którym będę przeglądać inne obszary techniczne, których nie używam, ale nadal są interesujące.
Podcasty
Czytniki RSS
Safari Books Online
Książki (format martwego drzewa)
Scott Hanselman ma dobre wideo na temat radzenia sobie z „osobistym strumieniem danych” - http://www.hanselman.com/blog/ItsNotWhatYouReadItsWhatYouIgnoreVideoOfScottHanselmansPersonalProductivityTips.aspx
źródło
Oprócz tego, co zostało powiedziane, dodałbym - „Mam plan”. Staram się wybierać jedną lub dwie technologie co 6-12 miesięcy i stawiam sobie za cel ich głębokie zrozumienie. Następnie próbuję zdefiniować rzeczywiste zadania, aby mnie tam dostać - powiedzmy, przeczytaj kilka samouczków online, wybierz poboczny projekt za pomocą tej technologii, zacznij śledzić nowe witryny dyskusji (lub subskrybuj nowe tagi w StackOverflow) itp. nie wymagają mnóstwo czasu, ale konsekwentności w posuwaniu się naprzód co tydzień. (Jeśli korzystasz z systemu produktywności, takiego jak GTD, Twoje cele edukacyjne mogą być uwzględnione w normalnym projekcie i planowaniu celów oraz regularnie sprawdzane).
źródło
Biuletyny!
Obecnie piszę biuletyn zatytułowany Pycoder's Weekly, cotygodniowy biuletyn dla programistów pythona, który obejmuje cotygodniowe wydarzenia na różne tematy w pythonie, które są bardzo aktualne w pewnym obszarze, który możesz chcieć nadążać.
To naprawdę nie miało być wtyczką.
Myślę, że to medium bardzo dobrze nadaje się do nadążania za rzeczami i jest doskonałym zasobem dla wielu programistów.
Istnieje wiele różnych języków i narzędzi, trzeba przebrnąć przez mnóstwo wiadomości i znaleźć ciekawe rzeczy, które mogą być czasochłonne i bardzo rozpraszające.
źródło
Jest kilka rzeczy, które robię, aby starać się być na bieżąco z nowymi technologiami:
To tylko kilka rzeczy, które robię, ale jasne jest, że jeśli chcesz się uczyć i być na bieżąco z czymś nowym, musisz po prostu zainwestować czas. To jak każda inna umiejętność, którą chcesz doskonalić.
źródło
Niektóre firmy mają zasady, że pracownik może spędzać 20% czasu na innych czynnościach niż na codziennej pracy. Czas ten można wykorzystać do ostrzenia piły lub do nadążania za technologią.
źródło
To, co robię, to od czasu do czasu organizuję spotkania w pracy.
Znajduję jakieś wideo (np. Z kanału 9) i po prostu planuję je podczas lunchu, kupuję rzutnik i pokój i zapraszam wszystkich, którzy mogą być zainteresowani. Świetny sposób na spędzenie lunchu z kolegami. To także świetny sposób na wykazanie inicjatywy.
źródło
Technologia jest ponadto pasją, niezależnie od czasu i wysiłku, która sprawia, że szaleje w sobie, a gdy uzależniony czuje się pustką dla siebie. Jak już wcześniej wspomniano, najlepiej zaktualizować się za pomocą czytnika online. Zwykle spędzam około 1-2 godzin na różnych kanałach informacyjnych, chociaż nie mam fizycznego dostępu do technologii. To ciężko wypracowana technologia dla mnie, ale dzięki kanałom, które przynajmniej nie wyczuwam poza jej dotykiem. Znajomość technologii to nie tylko sposób na poznanie siebie, ale sposób na oddanie hołdu innowatorom
źródło