Czego szukają pracodawcy w aplikacjach samouków? [Zamknięte]


23

Jestem programistą-samoukiem, który wkracza na rynek pracy. Chcę wiedzieć, jaki jest najlepszy sposób na pokazanie mojego doświadczenia pracodawcom?

Co pracodawcy chcą wiedzieć o moim doświadczeniu programistycznym? Czy pracodawcy chcą przyjrzeć się kodowi, który napisałem, czy też mogą chcieć zobaczyć oprogramowanie w działaniu? Czy obchodzi ich tylko to, ile moje oprogramowanie jest używane / ile wygenerowało przychody? Czy powinienem pisać o moim stylu projektowania i programowania?

Moje doświadczenie: Niedawno ukończyłem uniwersytet, gdzie studiowałem języki obce, i właśnie wtedy dowiedziałem się, że programowanie jest tym, co naprawdę chcę robić. Obecnie jestem programistą garażu, opracowuję oprogramowanie dla klienta do użytku komercyjnego, jednocześnie sam się ucząc, ale moim celem jest rozpoczęcie „właściwego” zatrudnienia i kariery. Co więcej, obecnie mieszkam w Finlandii, ale szukam pracy w Chinach lub Japonii (nauczyłem się obu języków podczas studiów za granicą).


Zauważ, że większość programowania w dzisiejszych czasach odbywa się w zespołach (po prostu zrobić) i umiejętność pisania kodu w formie oczekiwanej przez innych jest ważną umiejętnością. Możesz wziąć udział w kursie programowania lub dwóch na byłym uniwersytecie, jeśli w ogóle możesz po prostu nauczyć się podstawowych umiejętności.

2
„nauczyć się podstawowych umiejętności” - nie miało to sugerować, że nie znasz żadnych podstawowych umiejętności, ale że jest wiele do nauczenia się i nie ma pewności, że nauczyłeś się ich wszystkich samodzielnie.

4
Zobacz, co powinien wiedzieć każdy CS . Podkreśla znaczenie posiadania szerokiego wachlarza doświadczeń do pokazania pracownikom, umiejętności obsługi Linux / UNIX, różnych paradygmatów programowania i wielu innych. Zobacz także programisty kompetencyjne Matrix i Coursera na bezpłatne kursy Informatyki.
Anthony

@ AnoPäivinen BTW, nie lekceważ liczby samouków w biz i nie zniechęcaj się czymś, co na pierwszy rzut oka może wydawać się ogromną luką. Pracowałem z niesamowitymi ludźmi, którzy byli samoukami.
MrFox,

Odpowiedzi:


8

Powiedziałbym, że pracodawcy szukają tych rzeczy u wszystkich kandydatów na programistów (wynika to z mojego własnego doświadczenia jako głównego programisty, który sprawdza kandydatów):

  • Zdolność do elastyczności i szybkiego uczenia się nowych technologii (jest to szczególnie ważne dla programistów samouków)

  • Umiejętność komunikowania się z problemami

  • Umiejętność rozwiązywania problemów algorytmicznych i logistycznych (ważne dla programistów analityków)

  • Zdolność do dostosowania się do norm i zasad lokalnych przedsiębiorstw, tj. nie bądź zbyt utknięty na swojej drodze, pamiętaj o przestrzeganiu konwencji nazewnictwa firmy, dla której pracujesz.

  • Uczciwy i pracowity.

W wielu przypadkach większe firmy będą prosić o wykonanie ćwiczenia dla kandydata. Te ćwiczenia mają trudny zakres, ale jednym z przykładów może być kodowanie modułu wielokrotnego użytku, który konwertuje kwotę w dolarach na czytelny w języku angielskim tekst, który zostałby zapisany na czeku na tę kwotę, tj. „999,34 USD” do „Dziewięćset dziewięćdziesiąt dziewięć dolarów i trzydzieści cztery centy”.

Ważne jest, aby pamiętać, że nie tylko kod, na którym będą się przyglądać w tych ćwiczeniach, ale także dołączona do niego dokumentacja, tj. doco, który wyjaśnia problemy, założenia i zastosowany algorytm. Będą również analizować twoje konwencje nazewnictwa (głównie sprawdzając spójność) i sprawdzając, czy można komentować kod.


9

Trop

Poważnie, szukam tylko kilku rzeczy u kandydata:

  1. podstawowa umiejętność programowania
  2. zainteresowanie programowaniem
  3. zrozumienie współmierne z wykształceniem i doświadczeniem
  4. zdolność uczenia się
  5. życzliwość

Przykłady: absolwent liceum samouka, który rozwiązał 50 problemów Eulera: łatwa rekrutacja. MSCS z GPA 4.0, który nie potrafi wyjaśnić różnicy między TreeMap a HashMap: nie zatrudniaj.


Czy potrafisz wyjaśnić, co masz na myśli życzliwością? Czy jest to właściwość nie bycia palantem?
Ano Päivinen,

1
@ AnoPäivinen: Obejmuje szereg zachowań związanych z traktowaniem współpracowników, które sprowadzają się do rozważenia przez innych. „Jerk” jest definiowany przez brak wzięcia pod uwagę innych.
kevin cline

Właśnie miałem powiedzieć, że powinienem przyjść dla ciebie pracować, w oparciu o twoje wymagania, ale nie mam pojęcia, czym jest mapa drzewa / hash. Po trzech latach życia i oddychania programami / tworzeniem stron internetowych wciąż padają mnie wywiady z powodu rzeczy, o których nigdy nie słyszałem. Sprawia, że ​​czuję się, jakbym niczego się nie nauczył. Czasami przysięgam, że wszyscy wymyśliliście to. Albo to, albo naprawdę niczego się nie nauczę, dopóki mnie nie zatrudni.
Josh Campbell

@Josh: zdobądź kopię „Wprowadzenie do algorytmów”. Dowolna edycja.
kevin cline

1
@ papercuts: Jeśli ubiegasz się o staż, myślę, że rozsądnie byłoby wspomnieć, że rozwiązałeś n problemów Eulera, gdzie n> 20. Twoim celem przy wznowieniu jest uzyskanie połączenia. Informacje wykazujące pewną zdolność do faktycznego programowania nie zaszkodzą.
kevin cline

3

Inni już odpowiedzieli na twoje bezpośrednie pytanie dotyczące samouków. Jednak jest jeszcze jedna uwaga, która może być nawet ważniejsza niż samouka lub nie. Mówię o kulturach krajów, w których planujesz pracować i mieszkać.

Po pierwsze, nigdy nie pisz „zatrudnienie w Chinach lub Japonii” . Brzmi jak „Finlandia lub Australia” (bez obrazy). Są zupełnie inne i musisz wybrać.

Również zatrudnienie w innym kraju zwykle oznacza wyższe podatki dla firmy, różne ograniczenia (np. Zatrudnić jednego cudzoziemca, zatrudnić miejscowych) i tak dalej. Aby więc zostać zatrudnionym w Chinach , musisz być naprawdę dobry w tym, co robisz .

W rzeczywistości masz dwie najlepsze opcje:

  • Absolwent w kraju swojej przyszłości. Dzięki temu uzyskasz (a) wiedzę na temat norm krajowych; (b) kontakty biznesowe; (c) formalny dyplom (który może być ważniejszy niż myślisz). Również, podobnie jak wszędzie, duże firmy kontaktują się z uniwersytetami w celu znalezienia najwybitniejszych studentów, a Ty masz szanse na to, by zostać jednym.
  • Złóż wniosek do międzynarodowej firmy, która ma oddziały w Chinach. Możesz porozmawiać z HR i wyrazić zgodę na pracę na lokalnym stanowisku przez pewien czas, a następnie przenieść się do tej samej firmy (mniej formalności). Mając pochodzenie językowe i kulturowe, byłoby ci łatwiej. A do momentu przeprowadzki będziesz już mieć praktyczne doświadczenie IT w firmie.

Dzięki za wgląd! Może to zabrzmieć dziwnie, że decyduję między Chinami (Szanghaj) a Japonią, są one bardzo różne, ale bardzo mi się podobają. Ale nie mogę jeszcze zdecydować, który z nich jest lepszy, więc dążę do obu i zobaczę, co się stanie. Zastanawiam się, czy to ma sens!
Ano Päivinen,

Możesz je polubić. Upewnij się tylko, że Twoje aplikacje są specyficzne dla chińskich i japońskich rynków pracy. Być może pomocne byłyby również inne listy motywacyjne, jak w tej odpowiedzi .
bytebuster

2

Co pracodawcy chcą wiedzieć o moim doświadczeniu programistycznym?

Głównie, że masz trochę. Postaw się na ich miejscu: gdybyś kogoś zatrudniał, czy wybrałbyś faceta, który może nie wiedzieć, co zrobić z kompilatorem, czy faceta, który był kilka razy na bloku, nauczył się rozwiązywać problemy i może zdobyć przydatna praca wykonana bez dużego trzymania ręki?

Czy pracodawcy chcą przyjrzeć się kodowi, który napisałem, czy też mogą chcieć zobaczyć oprogramowanie w działaniu?

Tak. Pomocny może być kod do wyświetlenia. Pomocny może być także pokazanie działającego produktu i przygotowanie się do udzielenia odpowiedzi na pytania dotyczące jego działania, powodów, dla których zrobiłeś to w ten sposób itp. Różni pracodawcy docenią te rzeczy w różny sposób, ale zawsze lepiej jest mieć coś niż nic.

Co więcej, obecnie mieszkam w Finlandii, ale szukam pracy w Chinach lub Japonii (nauczyłem się obu języków podczas studiów za granicą).

W Chinach i Japonii jest wielu ludzi, którzy mówią odpowiednio po chińsku i japońsku. Prawdopodobnie nie tak wielu mówiących płynnie po angielsku i fińsku. Wykorzystaj tę siłę na swoją korzyść - szukaj firm, które potrzebują tych umiejętności językowych.


3
„Postaw się na ich miejscu: jeśli kogoś zatrudniasz, wybrałbyś faceta, który może nie wiedzieć, co zrobić z kompilatorem” - W przypadku wielu firm zależy to całkowicie od tego, jak tanie są.
pdr

2

Powiedziałbym, że najważniejszymi umiejętnościami, których mogliby nauczyć się programiści, nie wiedząc o tym, są inżynieria oprogramowania i architektura związana z architekturą oprogramowania.

Upewnij się, że wiesz więcej niż tylko pisanie kodu, upewnij się, że wiesz, czym jest łatwość konserwacji i jak to osiągnąć; co jest SOLIDNE, dlaczego jest uważane za dobre i potrzebne; wzory projektowe itp.

Spróbuj także naprawić wszelkie złe części procesu. Na przykład: automatyczne testowanie (coś, co każdy powinien zrobić!), Śledzenie błędów, kontrola wersji źródłowej (również obowiązkowa). Ta lista nie zawiera wszystkiego, to tylko przykład.


2
Tego zwykle brakuje mi w ocenach CS! Możliwość recytowania O (n) dla różnych kontenerów, ale nigdy nie korzystała z debuggera.
Martin Beckett,

2

Co pracodawcy chcą wiedzieć o moim doświadczeniu programistycznym? Czy pracodawcy chcą przyjrzeć się kodowi, który napisałem, czy też mogą chcieć zobaczyć oprogramowanie w działaniu?

Tak, to najlepsze opcje. Kwalifikacje nie są szczególnie dobrym wskaźnikiem umiejętności pisania kodu. To samo dotyczy poprzednich pracodawców - wiele osób może zrzucić pracę, do której się nie nadają. Chcę zobaczyć, jaki kod piszesz i śledzić historię tworzenia rzeczy, które zostały wprowadzone do produkcji.

Czy obchodzi ich tylko to, ile moje oprogramowanie jest używane / ile wygenerowało przychody?

To poza twoim zakresem odpowiedzialności, nie dbam o to, chyba że wybierasz się na stanowisko kierownika projektu lub wyższego.

Czy powinienem pisać o moim stylu projektowania i programowania?

Nie za dużo, ale być może przydatne byłyby wypunktowania pokazujące obszary zainteresowania przykładowymi kodami.


OK, będę mniej dbał o to, jak moje oprogramowanie skończy się jak z rąk klienta i zgadzam się na jego dobre napisanie.
Ano Päivinen,

2

Umiejętności samodzielnego uczenia się

Tak, samokształcenie jest twoją najnowszą umiejętnością konkurencyjną, którą powinieneś podkreślać i prezentować z dumą. Ponadto powinieneś pokazać swoją pasję do programowania i chęć samodoskonalenia.

Co pracodawcy chcą wiedzieć o moim doświadczeniu programistycznym? Czy pracodawcy chcą przyjrzeć się kodowi, który napisałem, czy też mogą chcieć zobaczyć oprogramowanie w działaniu?

Chcą zobaczyć twoje osiągnięcia i umiejętności analitycznego rozumowania. Chcą zobaczyć - co zrobiłeś, co przyniosło korzyść projektowi, jaką rolę odegrałeś w realizacji projektu, jeśli pracowałeś w zespole. Jak rozwiązywać problemy i przezwyciężyć problemy techniczne. Jak pracowałeś z uczelniami, jak radziłeś sobie z presją pracy.

Niektóre inne kwestie, które mogą być bardzo ważne dla pracodawców:

  1. Dobre nastawienie
  2. Pasja do programowania
  3. Obsługa komputera - aby zrozumieć, że rozumiesz podstawy działania komputera i oprogramowania
  4. Etyka pracy i umiejętności miękkie
  5. Umiejętność uczenia się i samodoskonalenia
  6. Historia edukacji
  7. Poprzednie doświadczenie zawodowe
  8. Brak z góry przyjętych pojęć
  9. Umiejętność zadawania pytań - Tak, zadawaj pytania zamiast zakładać założenia.

1

Oprócz innych odpowiedzi - wymień narzędzia, których nauczyłeś się podczas nauki.

Szkoliłem absolwentów wielkich szkół z wielkimi tytułami, które nalegały na pisanie kodu Java w notatniku Windows i korzystanie z kompilatora wiersza poleceń („tak jest lepiej” - dla programu jednej klasy). Większość miejsc pracy korzysta z IDE i innych narzędzi programistycznych. Nauczenie ich używania Eclipse było łatwiejsze niż nauczenie ich SVN.

Wymieniając jedno lub więcej środowisk IDE lub (co ważniejsze) jedno lub więcej narzędzi repozytorium kodu, pokażesz, że jesteś gotowy do pracy z zespołem.

Odpowiedź B: jeśli możesz się tam dostać, spróbuj targów CEBIT w Hanowerze w Niemczech. Często odwiedzaliśmy nasze stoisko z prośbą o pracę w naszym kraju. Prawdopodobieństwo jest niskie, że możesz spotkać właściwą osobę, która może ci pomóc. Lub zapytaj ich, czy potrzebują pomocy osoby z regionu / Europy.


Dobry punkt w nauce różnych IDE. Moje dotychczasowe nastawienie brzmiało: „co, nauczę się ich w razie potrzeby”.
Ano Päivinen,

1
Rozumiem twoje zdanie na temat IDE, ale chciałbym wziąć kogoś z doświadczeniem Java w wierszu poleceń nad deweloperem BlueJ każdego dnia!
Michael K

0

Gdy będziesz w stanie wykazać, że napisałeś kod jakości, to jak i gdzie nauczyłeś się programować, jest mniej ważne. Zbudowałeś całą aplikację, więc powinieneś być w stanie wyjaśnić projekt, problemy, z którymi się spotkałeś i dlaczego wybrałeś te rozwiązania.

Jeśli twoje zgłoszenie nie jest dobrze znane, będziesz musiał podać więcej wyjaśnień w swoim CV i listach motywacyjnych. Posiadanie dużej liczby użytkowników jest zaletą, ponieważ pokazuje, że radzisz sobie ze skalą, wygenerowane przychody będą trudne do dodania. Ktoś mógłby zatrudnić programistę do stworzenia aplikacji za pomocą horoskopów, aby pomóc chirurgom mózgu. Nie jestem pewien, czy obarczę programistą odpowiedzialnością za ten bezużyteczny produkt. Być może startup wolałby dewelopera z pewnym wyczuciem produktu, ale nie może go to powstrzymać, ponieważ musisz zapłacić rachunki.


0

Chcę wiedzieć, jaki jest najlepszy sposób na pokazanie mojego doświadczenia pracodawcom?

Jeśli stopnie nie są dostępne, znane certyfikaty są plusem. Niektóre certyfikaty nie wymagają kursu, możesz tylko zdać egzamin.

Co pracodawcy chcą wiedzieć o moim doświadczeniu programistycznym?

Twoje doświadczenie programistyczne polega na projektach. W swoim CV piszesz swoje umiejętności. Podczas wywiadu zostaniesz zapytany o projekty, nad którymi pracowałeś. Następnie opowiesz o tym, co zrobiłeś, jakie problemy napotkałeś, znalezione rozwiązania itp.

Czy pracodawcy chcą przyjrzeć się kodowi, który napisałem, czy też mogą chcieć zobaczyć oprogramowanie w działaniu?

Może. Osobiście nie słyszałem o pracodawcach proszących o kod (oprócz kodu, który piszesz podczas wywiadu technicznego, jako test). Jeśli jesteś projektantem stron internetowych lub projektantem interfejsu użytkownika, w większości przypadków będą chcieli zobaczyć niektóre utworzone lub zaprojektowane strony internetowe.

Czy obchodzi ich tylko to, ile moje oprogramowanie jest używane / ile wygenerowało przychody? Czy powinienem pisać o moim stylu projektowania i programowania?

Większość pracodawców będzie zainteresowana językami programowania, w których biegle kodujesz, posiadaną wiedzą i nabytymi umiejętnościami. To, ile oprogramowania jest używane i generowane przychody, to marketing, a nie programowanie. Większość firm ma własny styl projektowania i programowania. Oczekują, że pracownik powinien znać takie techniki, jak Agile, Scrum, Extreme, w zależności od tego, z czego korzysta.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.