Byłem na tej samej pozycji co ty i wybrałem tę „pieprzoną uczelnię”, o której mówisz. Miałem zamiłowanie do tworzenia oprogramowania, hobby C ++ oprócz podstawowego kursu programowania HS i marzenia. Teraz jestem profesjonalnym programistą, więc dam ci moje doświadczenie.
Po 1 roku nauki w college'u (miałem pełne stypendium dla teatru technicznego), zorientowałem się, że lubię oprogramowanie bardziej niż scenografię.
1 rok- Zacząłem swoją „własną rzecz”, która polegała na wspieraniu komputerów stacjonarnych do płacenia czynszu i rozwoju. Opracowanie wszystkiego, co mógłbym zrobić, dla każdego, kto tego chciał, za ułamek ceny. Patrząc wstecz, prawdopodobnie robiłem aplikacje o wartości 20 000 USD za 1000 USD. Zaczynanie na własną rękę jest naprawdę do bani, ponieważ nawet jeśli masz doświadczenie, aby wiedzieć, że jest to aplikacja o wartości 20 000 USD, nie masz wiarygodności, aby o nią poprosić. A co najgorsze, nie mam pojęcia, czego nie wiem i nie ma wokół mnie innych programistów. Tworzyłem aplikacje, które były koszmarami konserwacji. Nie miałem umiejętności w zakresie architektury i wzorców projektowych, więc po prostu robiłem rzeczy, które się wysadziły i wspierałem sieć, by płacić rachunki. Dużo Taco Bell, zmieszanych z „cóż, przynajmniej nie pracuję dla mężczyzny”. Mam marzenia o aplikacjach do pisania i eksploracji świata,
Rok 2 - Stanie się nieco lepszym programistą poprzez nauczenie się, czego nie robić i obserwowanie, jak wybuchają mi w twarz. Ledwo radzę sobie z obsługą komputera, uczeniem się serwerów i tworzeniem stron internetowych. To musi być łatwiejsze niż praca dla mężczyzny, ale nie mam prawdziwego portfolio, więc kontynuuj.
Rok 3- Zaczynam rozumieć. Kiedy klikam Plik> Nowy projekt, mam niejasne pojęcie o tym, gdzie chcę iść i jak budować. Wciąż wybierając niewłaściwe architektury, usługi sieciowe wydają się całkiem fajne, więc dlaczego nie zbudować WSZYSTKIE z nich? Potrzebujesz aplikacji na kalkulator? Zbuduję serwis internetowy! Zaczynam zbierać kilku klientów, będąc informatykiem i kilkoma projektami oprogramowania po drodze. Jedną z rzeczy, które zrobiłem, było stworzenie usługi Offsite Backup za pomocą usług sieciowych, więc moim marzeniem było być „Mozy”, podczas gdy wszyscy wciąż zamieniali taśmy. Internet szerokopasmowy właśnie stawał się powszechny, więc wyprzedziłam krzywa i to był mój pomysł na milion dolarów. Ale usługa miała problemy (z powodu mojego braku umiejętności architektury),
Rok 4 - Wreszcie klient wierzy we mnie w przypadku długoterminowego projektu. Udaje mi się to bez poważnego zepsucia; kod nie jest świetny, ale działa. Zaczynając łapać rachunki, mogę współpracować z kilkoma innymi programistami (sfałszować to, aż to zrobisz, prawda?), A nawet odpowiedzieć na kilka pytań na temat wymiany ekspertów. O tak.
Rok 5 - Jeśli jeszcze tego nie zauważyłeś, te sny z 1. roku życia nie zostały jeszcze napisane, więc zaczyna być trochę przygnębiające. Mam przyzwoity portfel rzeczy, które z powodzeniem napisałem, mam spory rozpęd i dobrą bazę klientów. Nadal tak naprawdę nie wiem, czego nie wiem, a nawet wyłamuje się.
Lata 5–8 - połączę je, ponieważ jest to bardziej to samo: „zrób projekt, naucz się trochę na każdym, przenieś to doświadczenie do następnego”. Dzisiaj jest środek 8 roku i dopiero w ostatnim roku lub dwóch zostałem dobrym programistą. Te sny z pierwszego roku zostały już wiele razy wymyślone przez kogoś innego. Jeśli nie zgadłeś, nie stworzyłem Mozy'ego.
Po drodze miałem nowe marzenia i nowe pomysły, a niektóre były dobre, niektóre były okropne. Mam teraz umiejętności, aby je zrealizować, a niektóre z nich się dzieją, i to jest ekscytujące. Mam jednak wrażenie, że gdybym zrobił inaczej, mógłbym znacznie skrócić tę podróż.
Nie mogę mówić o tym, jak inaczej szkoła zmienia tę podróż; Pozostawię to innym w tym wątku. Ale porady, które dam:
- Musisz współpracować z innymi programistami. Nie zdawałem sobie sprawy, jak to było ważne. Nie wiesz, czego nie wiesz, dopóki nie spojrzysz na kod innej osoby lub nie otrzymasz okropnej recenzji kodu.
- Porażka, zanim będziesz miał poważne obowiązki. Jeśli naprawdę chcesz wyjść na własną rękę, postaraj się to zrobić przed ślubem, opłaceniem domu, dziećmi itp. Nie uda ci się i wiele razy się nie uda. Przyzwyczaj się do tego i doceń, że to najlepsze doświadczenie w historii. Ale kiedy Twoja zabójcza aplikacja, na którą spędziłeś cały swój czas i pieniądze, nie ma jednego klienta, o wiele łatwiej jest odzyskać, gdy jesteś tylko ty.
- Z ładowaniem nie ma absolutnie nic złego. Jeśli masz umiejętności sieciowe, idź do pracy w Network Operations Center lub help desk (coś w dziedzinie IT) i pracuj, aby stać się lepszym programistą poza godzinami pracy i w weekendy. Nawiązuj kontakty z ludźmi przy prawdziwej pracy. Będziesz ich potrzebował później.
- Bądź w 125% pewien, że UWIELBIAJ rozwój oprogramowania. Pasja do oprogramowania pojawia się przed częścią „milionera”, a nie na odwrót. Jeśli nie masz do tego zamiłowania lub twoje serce nie zaczyna bić trochę szybciej, gdy trafisz do Nowego Projektu, zrób coś innego i zachowaj to jako hobby.
Jestem pewien, że mógłbym kontynuować, ale zabawne jest to, że widziałem to pytanie podczas pracy nad jednym z tych snów i musiałem na nie odpowiedzieć. :) Powodzenia.