Jak wybrać język programowania, aby nauczyć się dzisiaj i znaleźć świetną pracę za 2 lata

  • Peter Holmes
  • 0
  • 4828
  • 569
Reklama

Kodowanie nie jest łatwe; a przynajmniej nauka kodowania nie jest, szczególnie, gdy zaczynasz od zera. Stanie się naprawdę dobrym programistą może zająć lata poświęconej pracy; więc istnieje sposób, aby wybrać odpowiedni język, aby zacząć od dziś, aby zostać zatrudnionym za kilka lat?

Aby się dowiedzieć, zadałem to pytanie naszemu panelowi ekspertów: Podczas gdy wszyscy piszemy, kilku z nas ma również doświadczenie w programowaniu. Nastąpiła interesująca dyskusja, którą chciałbyś przeczytać przed wyruszeniem w podróż, aby zostać pro koderem.

Metoda szaleństwa?

To nie pierwszy raz, kiedy rozmawiamy o wyborze języka programowania: w 2011 roku rozmawialiśmy o tym, którego języka programowania powinieneś nauczyć się przy tworzeniu oprogramowania? Jakiego języka programowania należy się nauczyć w zakresie tworzenia oprogramowania? Jakiego języka programowania należy się nauczyć w zakresie tworzenia oprogramowania? Zaczynając na ścieżce programowania, ważne jest, aby mądrze zainwestować swój czas w wybranie nauczenia się czegoś, co przyniesie korzyści w najbliższej przyszłości z widocznymi wynikami na swojej platformie…, a także tego, którego powinieneś nauczyć się programowania w sieci Programowanie języka do nauki - programowanie w sieci Web Który język programowania do nauki - programowanie w sieci Dzisiaj przyjrzymy się różnym językom programowania w sieci, które napędzają Internet. To czwarta część serii programowania dla początkujących. W części 1 poznaliśmy podstawy… .

Ale nie chodzi o jedną radę (na przykład “idź z JavaScript”), ale metodologia - coś, z czego ludzie mogą skorzystać za dwa lata od dzisiaj, teoretycznie. Jak dowiedzieć się, które języki są coraz popularniejsze? Którym miernikom popularności kodu ufać, a którym nie ufać (i dlaczego)? Jakie są najlepsze strony z prognozami płac? Czy GitHub jest wskazówką, czy nie?

Na przykład w dzisiejszych czasach nikt nie mówi o PHP - ale wielu, wielu programistów zarabia na życie kodowaniem PHP, a to wciąż jest większość tego, co działa w Internecie. Czy nauka PHP jest teraz złym pomysłem? (Prawdopodobnie… )

Nie ma jednego języka

W tym miejscu James, nasz programista i specjalista ds. Technologii internetowych, powiedział:

Programiści na ogół i tak nie uczą się jednego języka. Każdy, kto pójdzie klasyczną trasą CompSci, skończy z dużą ilością Java, trochę Haskell, trochę Prologa, jeśli pójdzie na kurs AI, trochę Węzła, jeśli przejdzie kurs inżynierii rozruchu, trochę PHP, jeśli nauczy się tradycyjnego CMSy, niektóre .NET, jeśli pracują w jakimś bezwartościowym biurze firmy, niektóre JavaScript, jeśli robią projektowanie stron internetowych, niektóre C ++, jeśli robią gry, i wreszcie Ruby, jeśli chcieliby zmarnować swoje życie na nieznane języki, których nikt nie faktycznie używa.

Nie ma “metodologia”? a ty nie wybierasz języka do nauki: to wybiera ciebie!

Uczenie się jednego języka jest jak spożywanie wyłącznie pokarmów przez rok, kiedy jest mnóstwo ciastek. A tak na poważnie, kto wybiera pracę według przewidywanego wynagrodzenia?

Ale co jeśli nie uczysz się CompSci?

Odpowiedziałem Jamesowi, mówiąc:

Oto rzecz: to nie jest dla kogoś, kto wybrałby klasyczną trasę CompSci. Sądząc po eksplozji MOOC i liczbie kursów programowania online, wiele osób wybiera kodowanie od zera. A kiedy zaczynasz w ten sposób, potrzebujesz jednego języka, aby zacząć. Być może później odejdziesz od tego, ale ten pierwszy język będzie krytyczną inwestycją czasu i wysiłku - więc lepiej warto.

Najbardziej rezonował ze mną ten ostatni kawałek, który powiedział - kto wybiera pracę według przewidywanego wynagrodzenia. Myślę, że niektórzy to robią, ale myślę też, że nie jest to świetny sposób, aby się tym zająć.

Jeśli chodzi o to, ludzie próbując dowiedzieć się, od którego języka zacząć, a użycie tego języka w świecie rzeczywistym ma wpływ na tę decyzję (nie tylko to, jak łatwo się go nauczyć - Pascal…).

Najpierw wybierz projekt, a potem język

James wrócił z tym:

W porządku, być może jednym z punktów tej metodologii powinno być: nie mieć metodologii. Kiedy po raz pierwszy zetknąłem się z PHP, było to przez WordPress. Miałem doświadczenie w programowaniu i trochę doświadczenia w projektowaniu stron internetowych, ale nigdy wcześniej nie widziałem PHP. Nauczyłem się tego, ponieważ WordPress wyglądał dość łatwo i chciałem zadzierać z WordPress. Nie dlatego, że patrzyłem na listę trendów technologicznych, lub rozważałem zmianę kariery, ale dlatego, że wykorzystałem coś fajnego, o czym chciałem wiedzieć.

Gdyby ktoś chciał nauczyć się programowania wyłącznie na potrzeby pracy, poniósłby porażkę. Gdyby szukali tylko dlatego, że lubią dźwięk uczenia się, jak coś zaprogramować, nie miałoby znaczenia, jaki język wybiorą, o ile może pobudzić ich pasję.

Kolejny powód, aby najpierw wybrać projekt

Właśnie wtedy Simon wkroczył z pragmatycznymi radami:

Przede wszystkim zależy to od tego, czy chcesz rozwijać się w sieci, czy też “standard” oprogramowanie.

W tym drugim przypadku Java jest całkiem dobra:

  • Proste OO
  • Wiele platform (Linux, Windows, Mac, Android)
  • Podobna składnia do wielu innych języków programowania (JS, C #).

Nie mogę wiele powiedzieć o tworzeniu stron internetowych, chociaż HTML / JS / CSS / PHP / MySQL wydaje się działać dla wielu osób. Python też.

Ale tak, “za 2 lata” trochę mnie też denerwuje. Podkreśla niewłaściwy aspekt uczenia się programowania. Po zaprogramowaniu można łatwo poznać inny język.

Zatrudnienie za znajomość określonego języka jest podobne do zatrudnienia jako specjalista ds. Znajomości języka obcego w zakresie obsługi MS Excel. Jeśli to główna kwalifikacja, prawdopodobnie będzie to zła praca.

Nie ucz się języka: ucz się projektowania oprogramowania

Zaczynał się tworzyć konsensus. Bruce Epper, znany z MakeUseOf Answers, powiedział:

Sam język nie ma tak naprawdę znaczenia. W przypadku zadań związanych z programowaniem najważniejszymi aspektami są zrozumienie podstawowego projektowania oprogramowania i architektury, ogólnie procesu kodowania, wiedza o wzorcach projektowych, wiedza o tym, kiedy ich użyć i jak zastosować określony wzór do danego zadania - z których wszystkie są niezależne od języka. Gdy koder zna je, wybór zupełnie nowego języka jest dziecinnie prosty.

Istnieją nawet umiejętności zarządzania projektami, dokumentowania i pisania, które są ważniejsze dla programisty niż znajomość konkretnego języka.

Podstawa, na której budujesz, ma znaczenie: angielski lub łacina?

W tym momencie wkroczył Guy, aby przypomnieć nam cały ten język robi w pewnym stopniu:

Zgadzam się, że sam język nie jest najważniejszy w zdobyciu pracy. Jednak baza, na której budujesz, robi. Ponieważ wykonałem obie trasy, zamierzam porównać języki programowania z językami ludzkimi.

Python wydaje się być dzisiejszym angielskim. Coraz częściej widzę Intro CompSci i kursy programowania zaczynają od Pythona zamiast Java, które wydawały się być najbardziej popularne przez około 10 lat. Z Pythonem możesz zrobić wiele tego, co chcesz.

C ++ to łacina świata programowania. Jeśli się tego nauczysz, możesz nauczyć się podstawowych zasad wielu języków i nauczyć się ich łatwiej. Python byłby bułką z masłem, jeśli jesteś dobrze ugruntowany w C.++.

Co to jest “Programowanie pracy,” Tak czy inaczej?

Teraz nadeszła kolej Matthew, aby przypomnieć nam wszystkim, że koder może oznaczać bardzo różne rzeczy dla różnych ludzi:

Jedną z rzeczy, o których nie rozmawiano tak długo, jest to, jakiego rodzaju pracy programistycznej chcesz.

Czy nie denerwujesz się zbytnio przywilejami rzucanymi pracownikom Startup? Chcesz stabilności i pakietu godziwych wynagrodzeń, ale nie mieć kapitału własnego? Czy lubisz nosić formalne ubrania biznesowe? Naucz się C #, Java lub COBOL. COBOL ma również tę zaletę, że napisano w nim każdą aplikację bankową, jaką kiedykolwiek wymyślono (hiperbola, ale masz pomysł). Ponieważ większość programistów COBOL jest na emeryturze lub nie żyje, istnieje duże zapotrzebowanie na programistów COBOL, którzy zarabiają sześciocyfrowe pensje! Będziesz jednak pracował nad ogromnymi, źle napisanymi bazami kodów tworzonymi przez wiele dziesięcioleci. To nie jest zabawne.

Ale co, jeśli bezpieczeństwo pracy nie jest twoją sprawą? Chcesz pracować nad interesującymi produktami, ale czy chcesz mieć szansę, że stracisz pracę, gdy model biznesowy się nie powiedzie? Przekonałem się, że kontynuacja (Hacker News) to niezawodny sposób na poznanie języków używanych przez start-upy. Kiedy byłem internowany we wczesnej pracy, użyliśmy mieszanki Go, Python i CoffeeScript. Inne startupy używają Railsów i Groovy oraz wszelkiego rodzaju niejasnych frameworków i języków. Wystarczy wybrać jeden, a znajdziesz gdzieś ciekawą pracę.

Nowy kod lub stary?

Jak napisał Bruce, pisanie nowego kodu różni się od obsługi istniejącej aplikacji:

Komentując COBOL, podoba ci się coś innego: czy chcesz popracować nad nowym kodem czy zachować kod innej osoby? To może być ogromny przedmiot przy podejmowaniu decyzji o kierunku ruchu. W przypadku mniejszych projektów utrzymywanie bazy kodu napisanej przez kogoś innego może nie być takie złe, ale widziałem niektóre sekcje kodu, w których kilka osób wpatruje się w nią godzinami pytając, “Co ten facet myślał?”, lub gdy oryginalny programista wykorzystywał określoną funkcję lub błąd w kompilatorze (który mógł zostać naprawiony w bieżącym kompilatorze), aby coś osiągnąć.

Co jeśli nie masz wyboru??

Facet wrócił, aby przypomnieć nam wszystkim, że nie każdy ma szeroki wybór:

Matthew zadaje dobre pytanie, “Jakiego rodzaju pracy programistycznej chcesz?

Co dziwne, nigdy tak naprawdę nie myślałem, że mam duży wybór w tej sprawie. Kiedy zaczynałem, wiedziałem, że chcę zajmować się tworzeniem stron internetowych, ponieważ programowałem rekreacyjnie. Uznałem jednak, że lepiej być przygotowanym do podjęcia każdej pracy, jaką mogę dostać, i być gotowym do nauki. Teraz jestem specjalistą od wszystkich transakcji, biegły w kilku technologiach - mistrz żadnego.

Jeśli chodzi o ustalenie, gdzie chcesz pracować, ważne jest określenie rodzaju stylu życia, który chcesz. Następnie spójrz na ogłoszenia firm, które wydają się spełniać Twoje kryteria, i zobacz, czego szukają w ogóle. Bardzo pomocne może być także zestawienie portfolio podobnych do tego, co robią, zwłaszcza jeśli nie masz formalnego szkolenia w zakresie wykorzystywanych technologii. Być może nauczyłeś się języka Java w szkole, ale używają C #. Więc uczysz się C # i robisz z nim kilka programów jako dowód, że wiesz, co robisz i że masz płynną inteligencję.

Żadna prosta odpowiedź

Jeśli jest coś, co pokazuje ta dyskusja, to proste pytania nie zawsze mają proste odpowiedzi. A jednak, po przeczytaniu opinii wszystkich, czułem się o wiele bardziej poinformowany - zmienili zdanie.

Jestem pewien, że nie uchwyciliśmy tutaj wszystkich możliwych punktów widzenia - po to jest sekcja komentarzy. Byłbym bardzo zainteresowany odpowiedzią na twoje pytanie, czy jesteś pro koderem, czy nie. Jak wybrać język programowania, aby uzyskać dobrą pracę za dwa lata? Czy to nawet dobry sposób na wybór języka? Podziel się swoimi przemyśleniami poniżej.




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.