Wszystko to przemijająca moda. Nauczysz się więcej na pierwszym roku studiów niż przez wszystkie lata na uczelni. Informatyka nie ma nic wspólnego z komputerami.
College zapewnia zestaw narzędzi pełen narzędzi. To jest śrubokręt, czyli klucz półksiężycowy. MOŻESZ użyć każdego narzędzia raz na studiach. Kiedy wchodzisz do prawdziwego świata, naprawdę dowiadujesz się, co masz. Od reszty odkładasz te przydatne, które na wszelki wypadek chcesz zostawić w domu na stole warsztatowym, a które na co dzień trzymasz w kieszeni.
Tqm, Iso, Cmm, Agile, itp. To wszystko mody, które nadejdą i odejdą, żadna z udanych nie jest czymś więcej niż tylko zdrowym rozsądkiem. Wszyscy odnoszący sukcesy inżynierowie i firmy używają pewnego posmaku zdrowego rozsądku, to właśnie sprawiło, że odnieśli sukces, niewielu potrzebowało na to nazwy. Problem w tym, że nie można sprzedawać zdrowego rozsądku, menedżer nie może udowodnić swojej wartości firmie, szkoląc się i kupując zdrowy rozsądek bez chwytliwej nazwy. Umieść na nim nazwisko, które ich przełożeni przeczytali w jakimś artykule prasowym lub czasopiśmie, a kierownik zachowa swoją pracę, a ty swoją. Bardzo niewiele firm, które twierdzą, że stosują się do tych praktyk, faktycznie to robi. Większość wypisuje czek do konsultanta i otrzymuje roczny lub dożywotni certyfikat do jakiegoś klubu, aby mógł umieścić grafikę na swojej stronie internetowej lub etykietę na pudełku, w którym znajduje się ich produkt. Wielu będzie argumentować, że to rzadkie ... Byłem tam, widziałem, zdarza się. To wszystko jest częścią biznesu, czasami trzeba iść na skróty, aby pozostać dochodowym i mieć otwarte drzwi i włączone światła. Zagorzali zwolennicy wszystkich tych praktyk wszyscy argumentowali, że ostatnia była modą, a ta nie, ostatnia była naprawdę zbyt droga, aby ją naśladować, ta nie jest. Ostatni był fałszywy, że właśnie zatrudniłeś konsultanta, ten jest prawdziwy. Podobnie jak języki programowania, one również będą ewoluować. Ostatni był fałszywy, że właśnie zatrudniłeś konsultanta, ten jest prawdziwy. Podobnie jak języki programowania, one również będą ewoluować. Ostatni był fałszywy, że właśnie zatrudniłeś konsultanta, ten jest prawdziwy. Podobnie jak języki programowania, one również będą ewoluować.
Twoja umiejętność zrozumienia realiów biznesu, systemu uniwersyteckiego i twojej w nim roli jest kluczowa. Jak wszystko w życiu, wybierz swoje bitwy. To nie jest uniwersytet, biznes, rząd ani praca kogokolwiek innego, aby uczyć, czego potrzebujesz lub chcesz wiedzieć. Twoim zadaniem jest szukać numeru jeden. Podobnie nie możesz winić nikogo innego za zapewnienie Ci czasu na to, musisz to zrobić. Spadniesz z konia, nie jesteś ofiarą, wstaniesz i wrócisz, żadnych wymówek, życie nie jest sprawiedliwe. Korzystaj z ulotek, nie udawaj niezależności. I na pewno spłacaj swoje długi, nie wysysaj z kompanii jałmużny, nie dając im w zamian czegoś (najlepszego w tamtym czasie?).
Dlaczego ludzie uważają, że cmm lub agile lub którykolwiek z pozostałych jest modą? Dlaczego myślą, że tak nie jest? Dlaczego profesor uczył cię w ten sposób programowania? Aby uniknąć gotos, uniknąć stałych lub uniknąć tego i tamtego? Czy to dlatego, że tworzy bardziej niezawodny kod? Lepiej działający kod? Zmniejsza błąd ludzki? A może dlatego, że łatwiej jest ocenić prace / programy, dając im więcej czasu na zbadanie sprawy? Czy to dlatego, że nie wiedzą, jak programować, a po prostu śledzą czyjąś książkę na ten temat? Czy nauczyli Cię, że nie możesz mieć łatwego w utrzymaniu, niezawodnego i wydajnego kodu? Nie możesz nawet „wybrać dowolnych dwóch”, które można konserwować, koliduje z niezawodnością i wysoką wydajnością? Czasami poświęcasz niezawodność dla wydajności. Czasami nie zależy Ci na niezawodności ani wydajności, po prostu chcesz pobrać wersję 117.34. 2 innego programu księgowego w wersji 118.0.0. Twój model biznesowy opiera się na sprzedaży aktualizacji wersji i pomocy technicznej, a jeśli chodzi o twórców oprogramowania, każdy stary robot może napisać ten sam kod w ten sam sposób. Wymień wypalony na nowy i sprzedawaj ulepszenia.
Nie ma uniwersalnych odpowiedzi na te pytania, musisz dowiedzieć się, jakie jest Twoje zdanie, żyć z nim i go bronić. Zmień zdanie, żyj z tym i broń go.
Kwestionuj wszystko ... czy naprawdę się spalę, jeśli dotknę gorącego garnka na kuchence? Czy psychologiczne skutki lęku spowodują więcej szkód niż zwykłe poparzenie? Czy istnieje bezpieczny sposób na sprawdzenie odpowiedzi bez zranienia?
Kiedy mogłem sobie na to pozwolić, kupowałem i ostatecznie topiłem tranzystory, kapsle, rezystory itp. W moim pokoju w akademiku, z których wszystkie mają charakterystyczny nieprzyjemny zapach. Zakup wzmacniacza do zestawu stereo jest znacznie tańszy i łatwiejszy niż próba zbudowania go dzień po pierwszej klasie tranzystorów. Linus jest wyjątkiem, oczywiście, że łatwiej jest po prostu kupić system operacyjny niż go napisać ... Możesz zrobić więcej, chociaż to, czego się wtedy nauczyłeś, jest inne niż to, czego nauczył się Linus.
Świat wewnątrz i na zewnątrz uniwersytetu przyjmie te formuły (cmm, agile, itp.) Do rozwiązywania problemów, a gdy pojawi się następny, porzuci je równie szybko. Nie musisz używać kontroli wersji, aby odnieść sukces, jest tyle samo sukcesów z i bez (właściwie ze względu na wiek branży jest o wiele więcej sukcesów bez kontroli wersji). Podobnie możesz odnieść sukces przy minimalnym testowaniu (spójrz na naprawdę wielkie nazwiska w branży komputerowej jako przykłady). Możesz odnieść sukces, testując swój własny kod, jak również odnieść sukces, przestrzegając zasady, że nigdy nie powinieneś testować własnego kodu. Możesz odnieść sukces używając emacsa i możesz odnieść sukces używając vi. Musisz zdecydować, która mieszanka Ci odpowiada i jeśli masz szczęście, znajdź miejsce do pracy, które Ci odpowiada.
Kiedy wychodzisz z college'u i wchodzisz do prawdziwego świata, słuchaj, pracuj i dyskutuj z „starymi zegarami”. Mają od dziesięcioleci do stuleci połączonego doświadczenia, pułapki, w które wpadli, których możesz uniknąć lub przetestować samodzielnie (być może zdajesz sobie sprawę, że nie musisz dotykać gorącego garnka, aby dowiedzieć się, że cię poparzy). Większość z nich widziała co najmniej jedną lub dwie z tych mód, które przychodziły i odchodziły, a zwłaszcza jak bardzo zostały spalone i co zrobili, aby po nich wyjść. Znają wiele różnych sposobów testowania rzeczy, a także nazwy stylów testowania, które pojawiły się i zniknęły. Co działa, a co nie. Gdzie jest ryzyko i jak uniknąć marnowania czasu na styczną. Gdy dojrzejesz i staniesz się starym timerem, przekaż to dalej. Płać za to, czego się nauczyłeś, próbując uczyć tych, którzy za tobą podążają. Pamiętaj, aby nauczyć ich JAK łowić, nie dawaj im po prostu ryby. Czasami trzeba pozwolić im ponieść porażkę, zanim odniosą sukces, nie dopuścić do zbytniego poparzenia.
To, co naprawdę chciałem tutaj powiedzieć, to to, że w tej chwili jesteśmy w rzadkiej sytuacji, w której możemy być świadkami ewolucji równoległego wszechświata (i być może wpływać na to). Tak, informatyka to młoda nauka w porównaniu do fizyki. Ale jednocześnie ewoluował wiele razy. W zależności od tego, gdzie pracujesz iz kim pracujesz, możesz obserwować inżynierów sprzętu. Języki programowania w świecie sprzętu z pewnością nie są nowe, ale nie ewoluowały tak szybko, jak świat oprogramowania. Oprogramowanie miało kilka dekad przewagi. Sprzęt zawsze uważał inżynierów oprogramowania za obywateli drugiej kategorii. Nasza praca jest łatwa, ich praca jest ciężka. (Uwaga: jestem inżynierem sprzętu i oprogramowania). Co ciekawe, w tej chwili nadal mają do czynienia z problemami, które moglibyśmy uznać za elementarne lub infantylne. Dlaczego miałbym używać kontroli wersji, tylko ja pracuję nad tym chipem. Twoje doświadczenia z gcc lub innymi tanimi kompilatorami lub darmowymi IDE nie mogą się równać z drogimi narzędziami, których używam, gdyby firma uważała, że jesteś wystarczająco godny, aby go użyć lub nawet wiedziała, jak go używać, kupiłaby ci kopię. I długą listę innych wymówek. Miałem przyjemność nauczyć się zarówno vhdl, jak i verilog i stać się produktywnym w obu w ciągu tygodnia od tego, co było prawie wyzwaniem od takiego inżyniera sprzętu (pomimo mojego dyplomu informującego, że jestem inżynierem elektrykiem, jestem inżynierem oprogramowania). Chciałem się uczyć tych języków, kiedy narzędzia były dla mnie dostępne, siedziałem w biurze do nocy i uczyłem się. Od tego momentu ten inżynier w szczególności zdał sobie sprawę, że to, co mówiłem, było prawdą, języki to tylko składnia, podstawy programowania są takie same, wszystkie narzędzia robią to samo. To jabłka i jabłka, a nie jabłka i pomarańcze.
Ogólnie rzecz biorąc, nadal trudno jest przekazać wiadomość, że jedna z tych dwóch równoległych branż ma o wiele większe doświadczenie w językach, nawykach programowania, kontroli źródła, testowaniu, narzędziach, środowiskach programistycznych itp. Niż druga. Problem, który próbuję rozwiązać, polega na braniu projektów sprzętu w miarę ich opracowywania, tworzeniu niedrogich symulatorów funkcjonalnych, które możemy powiązać z symulacją (maszyną wirtualną) procesora, abyśmy mogli rozpocząć testowanie sprzętu i opracowywanie testu oraz dostarczane oprogramowanie na długo przed przejściem do krzemu. Nie, nie ma w tym nic „nowego”, ale nie mamy mechanizmu pobierania najnowszego kodu, śledzenia zmian w kodzie, aby zobaczyć, na czym musimy skoncentrować nasz czas. Brak mechanizmu śledzenia dokumentacji definiującej interfejs użytkownika (programistyczny) do sprzętu. Jedna złota kopia znajduje się w czyjejś skrzynce odbiorczej e-mail w formie binarnej i zmienia się tylko wtedy, gdy, cóż, nie musisz czytać Verilog, aby dowiedzieć się, co się dzieje. Czekaj, ten Verilog ma ile lat? Ten błąd, który spędziłem nad tobą cały tydzień, odkryłem trzy tygodnie temu i naprawiłem? Czy po prostu lecimy do jakiegoś wakacyjnego miejsca i bawimy się przez sześć miesięcy, czekając, aż ludzie zajmujący się sprzętem zakończą swoje zadanie i rzucą nam je przez ścianę, czy też wykorzystamy tę okazję, aby spróbować być cierpliwym i optymistycznym i nauczyć ich, że oni istnieją zdroworozsądkowe metody, które nie są tak nachalne, które pozwalają im zarówno wykonywać swoją pracę, tworzyć kopie zapasowe swojej pracy, jak i udostępniać swoje rzeczy do recenzji ... ten Verilog ma ile lat? Ten błąd, który spędziłem nad tobą cały tydzień, odkryłem trzy tygodnie temu i naprawiłem? Czy po prostu lecimy do jakiegoś wakacyjnego miejsca i bawimy się przez sześć miesięcy, czekając, aż ludzie zajmujący się sprzętem zakończą swoje zadanie i rzucą nam je przez ścianę, czy też wykorzystamy tę okazję, aby spróbować być cierpliwym i optymistycznym i nauczyć ich, że oni istnieją zdroworozsądkowe metody, które nie są tak nachalne, które pozwalają im zarówno wykonywać swoją pracę, tworzyć kopie zapasowe swojej pracy, jak i udostępniać swoje rzeczy do recenzji ... ten Verilog ma ile lat? Ten błąd, który spędziłem nad tobą cały tydzień, odkryłem trzy tygodnie temu i naprawiłem? Czy więc po prostu lecimy do jakiegoś wakacyjnego miejsca i bawimy się przez sześć miesięcy, czekając, aż ludzie od sprzętu zakończą swoje zadanie i rzucą nam je przez ścianę, czy też wykorzystamy tę okazję, aby spróbować być cierpliwym i optymistycznym i nauczyć ich, że oni istnieją zdroworozsądkowe metody, które nie są tak nachalne, które pozwalają im zarówno wykonywać swoją pracę, tworzyć kopie zapasowe swojej pracy, jak i udostępniać swoje rzeczy do recenzji ...
Pamiętaj, że inżynierowie sprzętu porzucili college z pudełkiem nowych, błyszczących narzędzi, tak jak Ty. Nauczyłeś się 17 różnych języków programowania, z których możesz używać tylko jednego, reszta języków, którymi będziesz się zajmować, zostanie wymyślona po ukończeniu studiów. Po ukończeniu college'u mogą powiedzieć ci, co wiedzą o rachunku różniczkowym i teorii względności, ile elektronów znajduje się w każdym z pierwiastków i obliczyć ładunek wokół powierzchni Gaussa. Ale większość ich kariery to jeden, zero i, albo i nie (hej, mamy je wspólne, wszystko, co naprawdę musisz wiedzieć o komputerach, jeden, zero i, lub, a nie inżynier sprzętu lub oprogramowania). Znając podstawowe prawa fizyki, rachunek różniczkowy, elektrony nie zmienią się tak szybko jak języki programowania. Ale podstawy programowania są takie same we wszystkich językach i będą obowiązywać w przyszłości. Czy skończyłeś college, wiedząc o tym, czy też odszedłeś, myśląc, że java jest inna i lepsza niż C ++, ponieważ to i tamto i tamto?
Jak każdy inny biznes, zadaniem uniwersytetów jest utrzymanie rentowności. Muszą zatrudniać odpowiednich pracowników akademickich, aby zapewnić zarówno odpowiednich studentów, jak i odpowiednie pieniądze na badania oraz odpowiednie rodzaje badań, aby uczynić uniwersytet opłacalnym. Muszą oferować odpowiednie zajęcia, aby przyciągnąć właściwych studentów i wytworzyć odpowiednich absolwentów, tak aby w miarę upływu dziesięcioleci pracodawcy zarówno w pobliżu uniwersytetu, jak i miejmy nadzieję, że daleko rozpoznali, że ta uczelnia wytwarza produktywnych i dochodowych pracowników. (tak, czasami trzeba przyciągnąć odpowiednich sportowców do odpowiedniego sportu, aby uzyskać odpowiednią ilość czasu telewizyjnego oraz odpowiednią ilość rozpoznawalności nazwiska i przychodów ze sportu). Niektóre uniwersytety będą uczyć C ++ i Javy, inne nigdy nie będą. Niektórzy wymyślą CMM, inni nauczą Agile, inni nie. Jeśli uniwersytet ma jakąkolwiek wartość, jest coś, czego możesz się nauczyć. Nie nauczą cię wszystkiego, czego możesz się nauczyć, ale będą mieli coś pożytecznego. Dowiedz się tego, gdy tam jesteś, zbierz rozsądną liczbę różnych form narzędzi w swojej skrzynce narzędziowej. Opuść uniwersytet i znajdź pracę. Jeśli Twój zestaw narzędzi jest do niczego, może znajdź inny uniwersytet i nigdy nie wspominaj o pierwszym. Jeśli skrzynka narzędziowa jest w porządku, użyj tych narzędzi i zbuduj nowe w swoim czasie. Jeśli to całkiem niezły zestaw narzędzi, powiedz dobre rzeczy o tym uniwersytecie i dobrych naukowcach, od których się tego i owego się nauczyłeś, i zapłać szkole za to, co ci dali. Nawet jeśli nie dostałeś każdego możliwego narzędzia w uniwersalnym katalogu narzędzi uniwersyteckich, odejdziesz z pewnym podzbiorem. Nawet jeśli nie ukończysz studiów ...