Obecnie pracuję jako stażysta w bardzo dużej firmie, która nie tworzy oprogramowania. Stanowisko, o które się ubiegałem, nie było konkretnie stanowiskiem programistycznym, ale zespół, który mnie zatrudnił, chciał, aby specjalizacja CS pomogła w opracowaniu dla nich wewnętrznych projektów. Byłem tu od czterech tygodni i początkowe oszołomienie zaczyna zanikać. Jestem jednak jedyną specjalizacją CS w całym biurze - nikt w moim zespole, w budynku, a nawet w sąsiednich lokalizacjach nie ma żadnego doświadczenia w tworzeniu oprogramowania. Najlepsze, co mam, to menedżer baz danych, a ich dział jest zbyt zajęty, aby wspierać mnie moimi projektami. Moi koledzy z drużyny pomagają mi uczyć się, jak wykonują swoją pracę (co jest dla mnie ważne, aby wykonywać swoją pracę), ale nie ma nikogo, kto pomógłby mi w wykonywaniu mojej pracy, tj. Rozwoju.
Projekty, które mi dali, mają większy zakres niż cokolwiek, co zrobiłem w szkole. To, w połączeniu z faktem, że pracuję sam, staram się tworzyć aplikacje od zera bez żadnych wskazówek lub nawet jasno określonych celów, bardzo mnie martwi, że będę w stanie odnieść sukces. Ledwo wiem, od czego powinienem zacząć, a teraz mam prawdopodobnie mniej niż dwa miesiące.
Czuję, że powinienem się uczyć procesu tworzenia oprogramowania, ale teraz czuję, że czuję swoją drogę przez ciemność. Jest to dla mnie szczególnie kłopotliwe, ponieważ nie jestem zbyt pewny swoich umiejętności programistycznych. Sam siebie badam i uczę, ale dostaję tylko kawałki. Mają ode mnie wysokie oczekiwania, ale nie jestem pewien, czy potrafię to zrealizować. Oczywiście muszę usiąść i porozmawiać z menadżerami na temat mojej pozycji i zamierzam to zrobić jak najszybciej (często podróżują i są poza biurem).
Jak mam sobie z tym poradzić? Staż się skończy, nim się zorientuję, i nie chcę wyjeżdżać z niczym, by pokazać mi się tutaj. Oni też tego nie chcą i zawsze są w stanie mi pomóc, ale bez znajomości programowania jest tylko tyle, co mogą zrobić. Boję się powiedzieć im, że nie jestem w stanie wyprodukować tego, czego chcą. Jak mam to z nimi powiązać? Widzę stażystów inżynierów, którzy otrzymują pomoc od innych inżynierów, uczą się, jak wykonywać swoją pracę, i mam wrażenie, że siedzę tutaj, czekając na mój czas. Wszelkie porady dotyczące rozwiązania mojej sytuacji byłyby bardzo mile widziane.
Aktualizacja
Doceniam wszystkie pomocne opinie od wszystkich, pomogło mi to uspokoić umysł. Pierwszą rzeczą, jaką zrobiłem, było spotkanie z moimi menedżerami i przełożonymi. Rozmawialiśmy o tym, czego się ode mnie oczekuje. Rozumieją, że nie mam tyle czasu jako stażysta, a to pomogło w określeniu rodzaju ram, które chcemy osiągnąć, co pozwoli przyszłym stażystom lub pracownikom na zbudowanie tego, co zostawiam. Odniosłem się również do moich obaw dotyczących moich możliwości w przydzielonym czasie, który zrozumieli i oczekiwali.
Otrzymałem telefon od administratora bazy danych w innym miejscu - mój menedżer rozmawiał z jego przełożonym i zamierzają wesprzeć mój projekt, który da mi teraz zasoby do wykorzystania, więc nie siedzę bez pojęcia, co ja ” robię. To tylko połowa. Spośród wszystkich możliwych projektów zawęziliśmy go do dwóch najważniejszych przy pracy. Co do mojego innego projektu, jak ktoś wspomniał, jestem w zasadzie głównym architektem oprogramowania, co jest wyjątkową sytuacją dla stażysty. Jeśli coś pójdzie przynajmniej częściowo z sukcesem, myślę, że zdobędę sporo wiedzy i doświadczenia, które mogą pomóc mi w przyszłych pracodawcach. Na razie uważam, że mam solidne podstawy, aby rozpocząć badania i rozwój moich projektów. Jeszcze raz dziękuję za odpowiedzi od wszystkich!
źródło
Odpowiedzi:
Mam dla ciebie złe wieści, bhamlin:
Nie jesteś stażystą. Przeciwnie, jesteś nieopłaconym / tanim pracownikiem.
Staż to nieopłacana lub nisko płatna pozycja, na której możesz ćwiczyć swoje nowo nabyte umiejętności w bezpiecznym (zwykle) zrelaksowanym otoczeniu i uzyskać szansę obserwowania „prawdziwych” profesjonalistów w swojej dziedzinie wykonujących „prawdziwą” pracę, jednocześnie otrzymując informacje zwrotne na elementach, które pozwalają modyfikować (zwykle pod nadzorem i / lub zatwierdzeniem).
To, czego chciała Twoja firma, to nie stażysta, a raczej bezpłatne / tanie źródło rozwoju oprogramowania. Moim zdaniem jest to dość powszechne . Mieszkam w mieście akademickim, aw ostatnim miejscu pracy menedżerowie często słyszeli: „Hej, dział IT jest zbyt zajęty, aby wykonać Projekt X, zobaczmy, czy możemy zatrudnić stażystów z uniwersytetu, aby napisać to dla za darmo / tanio! ” Narzekaliśmy, jęczeliśmy i zgrzytaliśmy zębami w niebiosach, ale taka była rzeczywistość tego miejsca i mogłem zrozumieć, dlaczego menedżerowie sugerują coś takiego. Niestety wyniki nie były świetne: oprogramowanie dostarczane przez stażystów nigdy nie było spójne / skalowalne / czyste / itp. (Ale szczerze mówiąc, i tak nie było to, co dział IT informował ...)
Od Ciebie zależy, co zrobisz. Moja rada to po prostu rozwinąć wszystko, co możesz (czasami presja jest świetnym czynnikiem motywującym), ALE powinieneś także planować odbywanie „prawdziwego” stażu gdzie indziej, jeśli ten się skończy, jeśli to możliwe.
Więc nie obwiniaj się, ale to, do czego wszedłeś, nie było prawdziwym stażem.
źródło
Jako major CS masz do dyspozycji umiejętności rozwiązywania problemów. Nie jest jasne, jakiego rodzaju projekty chcą rozwijać. Gdybym musiał zgadywać, prawdopodobnie chcą, abyś pomógł zautomatyzować niektóre procesy wewnętrzne. Zacznę od próby uzyskania pełnego obrazu tego, jakie procesy są obecnie stosowane i zależności między działami dla każdego z tych procesów.
Następnie szukam nisko wiszących owoców, które można zautomatyzować lub przynajmniej usprawnić.
Niezawodny sposób dokumentowania dowolnego procesu
Zadaj te pytania w następującej kolejności:
Jeśli odpowiedź na numer 3 brzmi NIE , to idź po brakujące elementy. Mogą to być formuły, reguły biznesowe lub cokolwiek innego.
Jeśli dane wyjściowe z kroku pierwszego są zbyt skomplikowane, podziel je na porcje do zarządzania i zaatakuj każdą porcję jako osobny proces.
Dokumentuj to, co odkryłeś. Zidentyfikuj potencjalny pojedynczy punkt awarii. Zidentyfikuj słabości lub rzadkie zależności.
Wiem, że to brzmi przytłaczająco, ale masz zestaw umiejętności. Po prostu zmień go na kawałki wielkości kęsa. Jeśli nauczysz się wyjaśniać „geek” za pomocą „non-geek speak”, będziesz wart swojej wagi w złocie.
źródło
Oto moje zdanie na temat całej tej sytuacji: proszą o więcej, niż można rozsądnie osiągnąć, nie udzielając żadnych informacji zwrotnych ani wskazówek i ogólnie nie czyniąc pracy tak przyjemną. Ale ta chmura ma srebrną podszewkę. Uczysz się czegoś.
W szczególności uczysz się środowiska, w którym NIE chcesz pracować, kiedy uzyskasz dyplom. Uczysz się również, jak radzić sobie z projektem, który jest zbyt duży, abyś mógł go zrealizować. Oba są ważnymi elementami wiedzy, których należy się trzymać, ponieważ nikt nie da ci pracy, która według ciebie jest poniżej twoich możliwości. Zawsze będą prosić o więcej niż to, co możesz dać, a Twoim zadaniem jest współpracować z nimi, aby zarządzać oczekiwaniami i dostarczać coś, czego chcą.
O tym, co możesz zrobić tu i teraz. Zacznę od prowadzenia dziennika wszystkiego, co robisz każdego dnia. To daje Ci odpowiedzialność. Nawet prosty koniec dnia „nad tym dziś pracowałem” da ci coś, na czym można polegać, gdy nie dostaną tego, czego chcą i będą szukać odpowiedzi.
Porozmawiam również z twoim bezpośrednim przełożonym i sprawdzę, czy jest jakiś sposób na rozbicie jednego z tych większych projektów . Jeśli nie czujesz się komfortowo, wykonując całość, być może zlecą ci badania i architekturę projektu, a może inny stażysta później go zaimplementuje. Po prostu wyjaśnij, co Twoim zdaniem możesz rozsądnie osiągnąć w czasie, kiedy opuściłeś staż, i uczyń to swoim celem. W ten sposób pod koniec dnia nadal dostarczasz coś istotnego dla swojego pracodawcy.
Na koniec sprawdź, czy możesz dołączyć do stażystów technicznych . Zakładam, że ci stażyści również opracowują oprogramowanie i nie widzę powodu, dla którego to, co robisz, i to, co robią, jest tak odległe od siebie, że nie możesz się od siebie uczyć. Współpracuję z inżynierami elektryków, programistów, informatyków i informatyków przy moich projektach, a każda osoba wnosi do zespołu swoje mocne strony. Zidentyfikuj, gdzie leżą Twoje mocne strony w rozwoju, i spróbuj udowodnić, dlaczego te umiejętności dobrze pasują do zespołu inżynierów.
źródło
Porozmawiaj ze swoim doradcą ds. Praktyk
Wszystkie odpowiedzi, które do tej pory widziałem, wydają się koncentrować na pracodawcy, co jest ważne.
Jednak musisz być skonfigurowany do tego stażu za pośrednictwem programu lub biura w swojej szkole. Nie mogę sobie wyobrazić, że byłbyś pierwszym studentem, który spotkał się z taką sytuacją. Powinny być w stanie poprowadzić cię w określonym kierunku.
Nawet jeśli nie mogą ci teraz pomóc (w co trudno mi uwierzyć), to pomożesz następnemu uczniowi, który znajdzie się w takiej sytuacji, czego nie można lekceważyć.
źródło
Miałem dwa takie staże i bardzo mi się podobały. Wygląda na to, że brakuje ci wyraźnych jasnych stron:
Biorąc to pod uwagę, zajęcie się pierwszym dużym projektem może być przytłaczające. Pomocne mogą być:
Więc zrelaksuj się, daj z siebie wszystko i ucz się jak najwięcej, niezależnie od tego, czy chodzi o oprogramowanie, czy nie.
źródło
Inne odpowiedzi tutaj są bardzo dobre, czytaj je w kółko i naprawdę spróbuj je rozgryźć. Jeśli to zrobisz, przy ponadprzeciętnym wysiłku będziesz mógł wyjść „żywy” po drugiej stronie stażu. Biorąc pod uwagę twoją sytuację, będzie trudniej niż się spodziewałeś, ale może być tego wart.
Ma to kluczowe znaczenie, ponieważ kiedy ubiegasz się o stanowisko w innej firmie 1 , jednym z kluczowych pytań będzie:
Jeśli możesz następnie pokazać im, że poradziłeś sobie z trudną sytuacją w profesjonalny sposób, będzie to LICZYĆ SIĘ , pracodawcy są zazwyczaj bardzo pod wrażeniem czegoś takiego.
Nawet jeśli jest to do bani, możesz sprawić, że będzie to cenne doświadczenie, z którego masz okazję dowiedzieć się, czego twoi koledzy z klasy nigdy nie będą ...
1 = Mam nadzieję, że tak, bo pozostanie tam spowoduje samobójstwo zawodowe (wcześniej czy później ... prawdopodobnie wcześniej)
źródło
W ubiegłym roku znajdowałem się na podobnej pozycji, gdzie musiałem wszystko rozwijać od podstaw i nie miałem nikogo innego, kto miałby doświadczenie w programowaniu. Skończyłem projekt, który mi dali, ale nie nazwałbym go dopracowaną aplikacją ani nawet możliwą do utrzymania (ponieważ jedyną osobą, która wie, jak to działa, jestem ja i nikt w firmie nie spojrzał na kod).
Oto kilka rzeczy, które zrobiłem i zrobiłbym, gdybym był w takiej sytuacji. Niektóre z nich zostały już wspomniane w poprzednich odpowiedziach
Rozwiązać:
To da ci wyobrażenie o tym, jak powinien wyglądać produkt. Wyciągnij to na kartce papieru i pokaż to swojemu przełożonemu / przełożonemu. Zobacz, co o tym mówią. Jeśli im się nie podoba, zapytaj ich, co chcą zmienić, zmień to i powtórz proces. Jeśli im się podoba, zrób minimum kodowania i stwórz proste demo.
Pokaż im wersję demonstracyjną (zapytaj, czy to właśnie mają na myśli), to pokaże im Twoje postępy i pomoże ci zrozumieć, czego chcą.
Ilekroć potrzebujesz pomocy w zakresie kodowania, czytaj instrukcje / samouczki, wyszukiwanie w Google i wreszcie publikuj informacje o przepełnieniu stosu, aby uzyskać pomoc.
Nie rozłączaj się na drobnych szczegółach. Jeśli to zrobisz, zmarnujesz dużo czasu.
Kod w małych fragmentach , z których każdy stanowi główną funkcjonalność aplikacji.
Skomentuj swój kod. Jeśli planują przekazać to innemu stażyście lub pracownikowi, będzie to dla nich ogromną pomocą.
Komunikuj się ze swoim przełożonym / przełożonym na temat projektu i postępów w jego realizacji.
I nie martw się, jeśli nie możesz ukończyć projektu, jesteś stażystą i zrobiłeś, co mógł. Są winni za zatrudnienie kogoś, kto nie ma doświadczenia w takim projekcie.
TL; DR
Komunikuj się ze swoim menedżerem na każdym kroku
Kod głównej funkcjonalności
Uzyskaj pomoc od Google i wymianę stosów
Nie martw się, jeśli nie możesz skończyć
źródło
Twój czas najlepiej pomoże Twojej firmie, jeśli pracujesz tylko nad jednym małym projektem. Upewnij się, że jest dobrze udokumentowany. Skoncentruj się na tworzeniu użytecznej dokumentacji architektury, celów projektu, postępów projektu i kodu źródłowego.
źródło