pomimo popularnych mitów, możesz zostać programistą bez dyplomu college ' u.
niezależnie od tego, czy ponownie wkraczasz na rynek pracy, czy utknąłeś w karierze, której nie lubisz (administracja, operacje, Bankowość itp.), zostanie programistą jest całkowicie w zasięgu ręki—tak długo, jak jesteś gotów włożyć w ciężką pracę.
według US News, twórcy oprogramowania mają medianę wynagrodzenia w wysokości $107,510 rocznie, a stopa bezrobocia wynosi 1.,4%, co czyni ją jedną z najbardziej lukratywnych karier technologicznych. Dodatkowo zawód oferuje ponadprzeciętną równowagę między pracą a życiem prywatnym.
Co więcej, Bureau of Labor Statistics przewiduje, że w latach 2018-28 wzrośnie o 21%. Tymczasem średni wzrost dla wszystkich zawodów wynosi 5 procent. Przekłada się to na 284 100 ofert pracy.
i zgadnij co? Pomimo pozytywnych perspektyw i obfitości możliwości, tylko 3% grads college studiować informatyki i Informatyki. Jak widać na poniższym obrazku, w 2020 roku było 1.,4 miliony miejsc pracy w informatyce kontra 400 000 studentów CS.
masz obraz: umiejętności programowania mogą przynieść większe bezpieczeństwo finansowe, a także elastyczność w codziennym życiu. Ale jak zdobyć te umiejętności, nie siedząc przez cztery lata zajęć w CS? A co ważniejsze, w jaki sposób można zdobyć jedną z tych poszukiwanych i wysoko płatnych karier?
oto dobra wiadomość: to całkowicie możliwe!, Ten 11-krokowy przewodnik podniesie zasłonę i pokaże, jak zostać inżynierem oprogramowania bez dyplomu CS. Więc czytaj dalej!
ujawnienie: jestem dumnym partnerem dla niektórych zasobów wymienionych w tym artykule. Jeśli kupisz produkt za pośrednictwem moich linków na tej stronie, Mogę uzyskać niewielką prowizję za odesłanie Cię. Dzięki!
czym jest inżynier oprogramowania?
z definicji inżynier oprogramowania to ktoś, kto pisze kod za oprogramowaniem (gry wideo, systemy operacyjne, aplikacje, funkcje, roboty itp.).,
czy jest różnica między inżynierem oprogramowania a programistą? Nie bardzo. Terminy są używane zamiennie, a firmy mają tendencję do postrzegania ich jako tej samej rzeczy. Gdy szukasz pracy w inżynierii oprogramowania, Szukaj i przeglądaj ogłoszenia zarówno dla „inżynier oprogramowania”, jak i” programista”, aby uzyskać jak najwięcej wyników.,
Jak zostać inżynierem oprogramowania bez dyplomu ukończenia studiów
zanim zaczniesz, zrozum, że poniższe kroki są specyficzne dla osób poszukujących pracy na pełny etat (I w skrócie FTJ) jako inżynier oprogramowania.,
będą mniej pomocne dla osoby, która jest:
- Para się kodem po raz pierwszy
- nie jesteś pewien, czy kodowanie jest dla nich odpowiednie
- pragnąc zajmować się projektowaniem stron internetowych, UX, UI lub innymi dziedzinami związanymi z projektowaniem
- chcąc pracować jako freelancer na pełen etat
- mając nadzieję na rozpoczęcie własnej działalności
ale to wszystko są wspaniałe rzeczy, do których należy dążyć, a reszta bloga jest pełna treści o tych tematach!
teraz przejdźmy do 11 kroków, jak zostać inżynierem oprogramowania.,
Krok #1: jasno określ swój cel końcowy w inżynierii oprogramowania
przejście do nowej kariery nie jest łatwe. Ale kiedy masz na myśli ostateczny cel, ogromnie pomaga, gdy trafisz w wyboje na drodze. Krystalicznie czysty cel wygląda mniej więcej tak:
- „chcę pracować jako programista w znanej firmie technologicznej.”
- „chcę pracować w zupełnie nowym starcie, jako inżynier oprogramowania, w branży, którą uwielbiam.”
- „chcę budować rzeczy w zespole i dobrze za to zarabiać.,”
bez względu na specyfikę swojego marzenia, jeśli chcesz przejść przez wszystkie 11 kroków, musisz być zaangażowany w końcowy cel, jakim jest zostanie inżynierem oprogramowania na pełny etat. To jest to, co popchnie cię do przodu, gdy będzie ciężko.
Krok #2: Wybierz dobry język inżynierii oprogramowania do nauki
Kiedy zaczynasz, Wiele osób utknie decydując, który język programowania (i framework) powinni się nauczyć. Ruby on Rails? Python i Django? Wredny stos? Tak wiele opcji, tak mało czasu.,
chodzi o to, że gdy dobrze znasz dany język/stos, nie jest trudno przejść na nowy. Oznacza to, że gdy stajesz się inżynierem oprogramowania, chcesz skupić się na zrozumieniu podstaw programowania. W istocie, uczenie się, jak się uczyć.
Gdy masz solidne podstawy, możesz łatwo przejść na nowe języki, frameworki i technologie., Jak mówi współzałożyciel Flatiron School Avi Flombaum: „najważniejszym jej aspektem jest to, że uczysz się myśleć jak programista.”
Zacznij kodować teraz
przestań czekać i zacznij się uczyć! Poznaj moje 10 wskazówek, jak nauczyć się kodować.
wszystko to powiedziane, powinieneś skupić się na jednym języku/frameworku, aby rozpocząć.
przy tak wielu językach, może być trudno wiedzieć, który wybrać. Polecam trochę czasu, aby dowiedzieć się o różnych językach. Ten przewodnik po wyborze języka programowania jest doskonałym miejscem do rozpoczęcia.,
dla wielu Ruby jest doskonałym rozwiązaniem.
Ruby jest czytelny i wydajny, dzięki czemu jest o wiele łatwiejszy w obsłudze niż niektóre inne języki. Jest również open-source, więc będziesz mieć dostęp do wielu narzędzi i społeczności innych programistów, wszystko za darmo. A co najważniejsze, jest elastyczny: język jest używany przez wiele firm (Airbnb, GitHub, Hulu, Kickstarter itp.) i daje solidne podstawy do rozgałęziania się na inne języki później.,
Krok #3: Ćwicz tworzenie oprogramowania…i ćwicz więcej
podczas gdy stos, którego się uczysz, nie ma większego znaczenia, ważne jest uczenie się przez robienie. Oznacza to, że poświęcisz trochę czasu na doskonalenie swojego nowego rzemiosła. Musisz poświęcić znaczną ilość czasu każdego dnia, każdego tygodnia, na naukę.
nie możesz zostać programistą po 10 godzinach praktyki. To niemożliwe.
niektórzy ludzie mówią, że potrzeba 10 000 godzin, aby stać się ekspertem., Teraz nie potrzebujesz 10 000 godzin praktyki, aby uzyskać pierwszą pracę programisty. Ale musisz poświęcić trochę czasu.
aby podać jeden przykład, program Computer Science Essentials for Software Development curriculum na edX zajmuje około 4 miesięcy (7-9 godzin tygodniowo), aby go przejść.
Krok # 4: używaj narzędzi, których używają prawdziwi Programiści
chociaż wolne zasoby, takie jak Codecademy, są świetne, nie jesteś w środowisku rzeczywistym, gdy ich używasz., Zamiast tego wpisujesz bezpośrednio do przeglądarki internetowej i uzyskujesz wynik na podstawie quizu lub innego rodzaju interaktywnej aktywności.
jest to z pewnością przydatny sposób, aby przyzwyczaić się do kodowania i utrwalania pojęć w swoim umyśle. Jednak w prawdziwym świecie, nie będziesz pracować w ten sposób. Tak więc, co chcesz zrobić od samego początku, to zbudować tak, jak budują prawdziwi inżynierowie. Chcesz użyć narzędzi, których używają. W dalszej perspektywie znacznie ułatwi to przejście na pełnoetatową rolę i dołączenie do zespołu.,
ale trudno jest budować tak, jak prawdziwi deweloperzy budują i używać narzędzi, z których korzystają prawdziwi deweloperzy, gdy dopiero zaczynasz. (Jeśli jesteś taki jak ja, to trudno nawet wiedzieć, od czego zacząć.)
dobrą wiadomością jest to, że istnieją programy, które uczą cię jak korzystać z tych narzędzi—jak kontrola wersji z Gitem, kurs online przez Coursera.,
jego program nauczania dotyka narzędzi i procesów, których prawdziwi inżynierowie używają każdego dnia, takich jak:
- Git/GitHub
- interfejs wiersza poleceń
- Bitbucket
To pozwoli Ci dostosować się znacznie szybciej, gdy jesteś w prawdziwej pracy, zamiast mieć kolejną stromą krzywą uczenia się do opanowania.
kolejnym kursem Git do sprawdzenia jest ostateczny kurs Git Mastery BY Code With Mosh, który jest prowadzony przez inżyniera oprogramowania z ponad 20-letnim doświadczeniem w branży.,
Krok #5: odczyt kodu napisanego przez innych inżynierów oprogramowania
kolejnym ważnym aspektem zostania inżynierem oprogramowania jest nauka czytania kodu innych ludzi. Możesz to zrobić przeglądając repozytoria GitHub i przeglądając dokumentację.
czasami dokumentacja może się mylić…ale kod źródłowy nigdy nie kłamie. Ucząc się czytać ten kod, będziesz w stanie zrozumieć, co się dzieje i jak działa program., (Ta umiejętność jest również ważna, jeśli chodzi o debugowanie, ponieważ będziesz w stanie określić, który fragment kodu nie powinien tam być.)
jest to często pomijana umiejętność, ale może naprawdę przynieść korzyści, gdy zobaczysz, jak doświadczeni programiści robią różne rzeczy. Nie tylko pobieżny skim kodu, albo. Zanurz się głęboko, poznaj tajniki, Mapuj funkcjonalność, a na koniec, odtworz ją, jeśli możesz. W ten sposób będziesz mógł inżynierować wstecznie istniejący program, pomagając Ci lepiej zrozumieć, jak stworzyć własny.,
Krok #6: Znajdź wspierającą społeczność inżynierów oprogramowania
znalezienie społeczności, z którą możesz się uczyć, może sprawić, że Twój sukces jako inżyniera oprogramowania zostanie przerwany—zwłaszcza, gdy dopiero zaczynasz. Kiedy jesteś otoczony przez społeczność ludzi o podobnych poglądach, masz automatyczny system wsparcia: grupę osób, do których możesz zadzwonić, gdy utkniesz lub stracisz motywację. (Co może się przytrafić najlepszym z nas!,)
grupy osobowe istnieją, ale mogą być trudne do koordynowania i nie są dostępne w każdym obszarze. Ale każdy może dołączyć do społeczności online, a oni są tak samo pomocni.
ucząc się na przykład w Launch School, internetowej szkole dla inżynierów oprogramowania, zyskujesz dostęp do forum społecznościowego, na którym uczniowie Launch School dzielą się wskazówkami dotyczącymi nauki, tworzą grupy studyjne, pomagają sobie w rozwiązywaniu problemów i wszystkiego, czego można oczekiwać od dedykowanej szkoły., Otrzymasz również dostęp do ich czatu Slack, gdzie uczniowie i pracownicy spędzają czas przez cały dzień. Nie wspominając już o comiesięcznym webinarium w stylu meetup zatytułowanym ” Tech Talks.”
Zero to Mastery jest również podobne – z ponad 150 000 studentów, absolwentów, TAs, mentorów i instruktorów zarejestrowanych na serwerze Discord, mają wiele możliwości nawiązania kontaktów i znalezienia wsparcia, którego potrzebujesz podczas nauki!,
Krok #7: Zbuduj rzeczywiste projekty kodowania
nie tylko Czytaj samouczki i oglądaj filmy—Wykorzystaj swoje umiejętności. Rozwiązuj problemy po drodze, tak jak robią to codzienni Programiści. Kiedy to robisz, nie tylko pogłębiasz swoją naukę, ale także pokazujesz potencjalnym pracodawcom, że możesz go zhakować. (Bo celem końcowym jest znalezienie pracy, prawda!?)
możesz tworzyć projekty samodzielnie lub w grupie.,
na przykład, pod koniec Mammoth Interactive Hello Coding: każdy może nauczyć się kodować (170 godzin), będziesz miał mnóstwo projektów do popisu. W trakcie kursu stworzysz kilka aplikacji. Są to nie tylko nudne projekty „wypełnij puste pola”: obejmują klon gry Flappy Bird, grę w ping ponga 3D,aplikację pogodową na iOS i aplikację kalkulatora finansowego dla sieci.,
dzięki Techdegree Team Treehouse zbudujesz 9-12 rzeczywistych projektów, które pozwolą Ci ćwiczyć to, czego się nauczyłeś, w tym narzędzie do statystyk koszykówki, zgadywankę liczb, aplikację do inwentaryzacji sklepu i wiele innych. Projekty te zostaną ocenione I ocenione przez profesjonalistów z branży lub studentów Treehouse, aby upewnić się, że pozostaniesz na dobrej drodze.
a jeśli JavaScript jest Twoim workiem, Zero to Mastery ma 20 projektów, które możesz zbudować i dodać do swojego portfolio., Projekty te to świetny sposób na zwiększenie swoich umiejętności-od początkującego do pewnego siebie dewelopera – a możliwość dodania ukończonych projektów do portfolio to dodatkowy bonus.
Krok #8: Rozwijaj swoją profesjonalną sieć technologiczną
podczas nauki kodowania, budowania projektów itp., powinieneś powoli, ale pewnie pielęgnować swoją profesjonalną sieć., Ponieważ jeśli chodzi o znalezienie świetnej pracy, potrzeba czegoś więcej niż tylko ubiegania się o pracę online (co w dzisiejszych czasach może być stratą czasu).
zamiast tego chcesz zbudować silną sieć. Na początek polegaj na istniejących połączeniach. Według Jobvite 40% nowych pracowników pochodzi z polecenia pracownika, co sprawia, że jest to najczęstszy sposób.
poza podłączeniem się do sieci pierwszego stopnia, możesz również uzyskać dostęp do połączeń drugiego stopnia (znajomych znajomych)., Celem jest nawiązanie nieformalnych spotkań przy kawie z osobami powiązanymi z firmami, dla których chciałbyś pracować, co buduje kontakty, a czasem prowadzi do prawdziwych rozmów kwalifikacyjnych.,
kilka innych sposobów nawiązywania nowych połączeń bez wspólnego przyjaciela:
- przejdź do meetups
- utrzymuj bloga (który da ci ekspozycję)
- wolontariusz
- mów podczas wydarzeń
zaangażuj się i wnoś swój wkład w społeczność technologiczną/inżynierską, a prawie nieuchronnie pojawią się okazje.,
the Fastest Way to Land a Tech Job is a course that leaches you networking strategies, including why you should attend Meetup groups and the best ways to market yourself as a techie.
kolejna dobra opcja? Włamać się do ziemi Tech idealna praca z LinkedIn masterclass. Chodzi o to, jak zbudować armię zwolenników + zatrudnić ich do pracy dla Ciebie, uzyskać skierowanie, które zapewni Ci gwarantowaną rozmowę i wykorzystać informacje poufne, aby przejść rozmowę kwalifikacyjną + negocjacje.,
Krok #9: opanuj podstawowe informacje przed rozmową kwalifikacyjną
Po rozpoczęciu budowania kontaktów z rówieśnikami i wpływowymi osobami w terenie, nadszedł czas, aby przygotować się do aplikowania na same stanowiska. (Jednak, jeśli nawiązujesz solidne połączenie – możesz całkowicie pominąć ten krok!)
ale przed wysłaniem aplikacji lub prośbą o bezpośrednie skierowania, musisz opanować trzy rzeczy: CV, listy motywacyjne i obecność w Internecie.
nawet w modernizującym się świecie CV są niezbędne., Menedżerowie zatrudniający nadal przyglądają się im, aby uzyskać wgląd w twoje umiejętności i doświadczenie. Podobnie, listy motywacyjne są potrzebne przy ubieganiu się o pracę online; są one okazją, aby zwrócić czyjąś uwagę i zrobić wrażenie.
to podstawy w różnych branżach. Ale oprócz CV i listów motywacyjnych, istnieje również obecność online do rozważenia.
jest to niezwykle ważne dla każdego w branży technologicznej i jest to coś, co powinieneś budować i utrzymywać w czasie., Twój cyfrowy ślad ma znaczenie, ponieważ to, co rekruterzy i menedżerowie zatrudnieni zobaczą, gdy Wygooglują Twoje imię, zanim zaproszą Cię na rozmowę kwalifikacyjną.
twoja obecność w Internecie, jako programisty, składa się z kilku rzeczy:
- profil LinkedIn
- GitHub
- osobista strona (lub strona portfolio)
- blogowanie (które może być dodatkiem do twojej osobistej strony)
pracodawcy sprawdzą te informacje i utworzą twoje wrażenia na podstawie tego, co widzą. Więc upewnij się, że te wrażenia są dobre!,
krok #10: Ace your software engineer job interview
wreszcie jest sam Wywiad. Większość firm zaczyna od wywiadu przesiewowego, Zwykle przeprowadzanego online, w domu. Potem przychodzi rozmowa telefoniczna. Jeśli uda ci się przejść przez tych dwóch, dostaniesz wywiad na miejscu.
oprócz standardu „największa siła/słabość itp. itd.,”pytania, musisz być gotowy na pytania techniczne i behawioralne. Możesz zostać poproszony o zbudowanie projektu lub pracę w ramach wyzwania kodowego lub opisanie, w jaki sposób radziłeś sobie z trudnymi sytuacjami w przeszłości.
jednym z przydatnych zasobów do konsultacji jest książka Cracking the Coding Interview. Innym jest nauczyć się kodować za pomocą własnego, dogłębnego przewodnika wywiadu technicznego.
na szczęście nie musisz się przygotowywać samodzielnie. Na przykład, Wywiad Cake ma cały kurs acing the tech interview, w tym ponad 50 godzin pytań praktycznych., Nauczysz się sztuczek, aby szybko rozwiązywać problemy, których nigdy wcześniej nie widziałeś (i otrzymasz 30 000 $+ wyższe oferty wynagrodzeń).
przeczytaj moją recenzję wywiadu.
AlgoExpert to kolejna platforma online, która pomaga przygotować się do kodowania wywiadów, z 85+ ręcznie wybrane pytania (w 7 różnych językach) i 55+ godzin wyjaśnień wideo.
kolejna dobra opcja przygotowania do rozmowy kwalifikacyjnej?, Bajt po bajcie, z ćwiczącymi pytaniami o kodowanie, poradami behawioralnymi i wszystkim innym, czego potrzebujesz, aby osiągnąć sukces podczas rozmowy kwalifikacyjnej.
krok # 11: Przyjmij ofertę pracy i oficjalnie zostań inżynierem oprogramowania!
Gratulacje—rozgryzłeś jak zostać inżynierem oprogramowania i mieć przed sobą ekscytującą karierę!
Po serii wywiadów i zademonstrowaniu swoich nowych umiejętności, to tylko kwestia czasu, zanim otrzymasz ofertę. I tak, na początku może to być Poziom podstawowy, ale od czegoś trzeba zacząć!, Koniecznie zapoznaj się z naszymi 5 poradami negocjacyjnymi dla inżynierów oprogramowania.
kontynuując naukę i rozwój jako programista, będziesz nadal wspinać się po drabinie kariery na większe i lepsze stanowiska.
Czy trudno jest zostać inżynierem oprogramowania?
krótka odpowiedź: Tak. To nie jest łatwe i mogę zagwarantować, że czasami będziesz sfrustrowany. Ale jest to absolutnie wykonalne. I prawdopodobnie można nawet osiągnąć to wszystko na własną rękę, poprzez samouczenie i networking., Wiele osób z powodzeniem przeszło do tworzenia oprogramowania w ten sposób.
trzech gości w podcaście Learn to Code With Me ma historie demonstrujące to właśnie!
- Clément Mihailescu przeszedł z początkującego programisty do inżyniera oprogramowania Google w zaledwie 6 miesięcy.
- Christina Gorton była mamą przez pięć lat, zanim zainteresowała się technologią. W ciągu zaledwie dziewięciu miesięcy udało jej się podnieść swoje umiejętności i zdobyć pracę jako zdalny Junior developer.,
- Josh Kemp przeszedł z kowala i farriera do młodszego programisty w nieco ponad 9 miesięcy (łącznie 827 godzin nauki).
rzecz w tym, że dla większości ludzi nauka na własną rękę utrudnia wszystko, czy to opanowanie umiejętności, czy poszukiwanie pracy.
dlatego warto mieć pomoc.
Launch School pozwala na przykład przyspieszyć karierę inżyniera oprogramowania., To, co naprawdę wyróżnia program Launch School, to to, że uczy cię opanowywać ważne koncepcje rozwoju oprogramowania, które pozostają solidne i spójne nawet podczas szybkiego rozwoju technologii, dzięki czemu będziesz budować nawyki życiowe, które pomogą Ci odnieść sukces.
ostatecznie ich celem nie jest tylko pomoc w znalezieniu jednej pracy, ale pomoc w rozpoczęciu kariery. Absolwenci Launch School zostali zatrudnieni w wiodących firmach w branży, w tym Intel, Peloton, HP i LinkedIn, a także szybko rozwijających się startupach.
a liczby nie kłamią., W ciągu ostatnich 3 lat 100% absolwentów programu przyjęło oferty pracy w ciągu 180 dni od ukończenia studiów. W 2018 roku absolwenci Capstone zarabiali średnio $122,316 w ciągu 12 tygodni.
oprócz liczb, jednym z najlepszych sposobów, aby poczuć program jest usłyszeć od tych, którzy zrobili to wcześniej. Większość byłych uczniów Launch School zgłasza wspaniałe doświadczenia z programem., Oto, co powiedzieli niektórzy z nich:
- ” Launch School nie zrobiła nic innego, jak radykalnie zmieniła moje życie i rozpoczęła karierę.”- Tannr
- ” nie mogę polecić wystarczająco dużo Szkoły. Szczerze mówiąc, nie byłbym w karierze, jaką jestem dzisiaj, ani tak pasjonujący, jak jestem dzisiaj, bez całej ciężkiej pracy i poświęcenia wkładają w projektowanie programu i ciągłe doskonalenie go.”- Steve
- ” Launch School dała mi wszystkie podstawowe narzędzia, których potrzebowałem, aby zacząć budować znaczące, użyteczne aplikacje., Jeśli poważnie myślisz o nauce programowania i możesz poświęcić czas na dłuższy czas, ten program jest dla Ciebie!”- Charlie
Jeśli marzysz o zostaniu programistą i chcesz jak najbardziej bezpośrednią drogę do osiągnięcia tego celu, zdecydowanie warto zajrzeć do Launch School.
Zacznij kodować teraz
przestań czekać i zacznij się uczyć! Poznaj moje 10 wskazówek, jak nauczyć się kodować.
szukasz czegoś mniej intensywnego niż program nauczania w szkole 8-16+ miesięcy?,
w Kroku # 2 wybrałeś swój język programowania. Zacznij od wyboru kursu, który uczy tego języka.
- Pluralsight ma kursy dotyczące Pythona, Javy, C# i innych.
- Team Treehouse ma kursy Java, Ruby on Rails, PHP, Python i wiele innych.
- Udacity posiada kursy języka JavaScript, Java, Kotlin, Python i wiele innych.
tak więc, tutaj masz to – 11 kroków do zostania inżynierem oprogramowania. Wszystko, co musisz teraz zrobić, to umieścić w pracy!
Uwaga: w tym poście znajdują się linki partnerskie.