Dlaczego tak trudno jest rekrutować do zadań związanych z kompilatorem? [Zamknięte]

16

W zeszłym tygodniu wraz z kilkoma współpracownikami uczestniczyliśmy w targach pracy na trzech głównych uniwersytetach (dwa tutaj w USA i jeden w Anglii), gdzie próbowaliśmy (bez większego sukcesu) rekrutować na kilka stanowisk kompilatora, od stażu do poziom podstawowy, bardziej zaawansowany, dla naszego zespołu.

Ku naszemu zdziwieniu, 80% uczniów, z którymi rozmawialiśmy, odpowiedziały na pytanie „Chcę budować aplikacje Ansroid”, gdy zapytano ich, co chcieliby zrobić. (A pozostałe 20%? „Aplikacje na iPhone'a”!) Niektórzy nawet otwarcie wyrazili, że nie „chcą zbudować kompilatora, ... to jest nudne”; powiedzieli i zacytowałem.

Więc co jest takiego takiego w aplikacjach mobilnych, które są tak atrakcyjne dla (młodych?) „Programistów”? I z tego samego powodu, dlaczego kompilator jest dla nich tak „nudnym” tematem? (Niekoniecznie uważam, że te dwa wykluczają się wzajemnie. Z pewnością można zbudować kompilator do telefonu komórkowego, ale to nie ma sensu)

Co możemy zrobić, aby przyciągnąć więcej talentów, a nawet zainteresowanych kandydatów?

Raz Dwa Trzy
źródło
8
A przed iPhone'em i Androidem prawdopodobnie wszyscy powiedzieliby coś o tworzeniu gier wideo. Odkryłem, że normalne jest znajdowanie „oooh błyszczących przedmiotów!” ludzie na tych wydarzeniach i znają wielu, którzy nigdy nie zawracali sobie głowy targami pracy.
Izkata
5
Dlaczego wszyscy chcą być kierowcami F1, a nikt nie mechanikiem (a nawet inżynierem budowlanym)? Powiedziałbym, że sława, pieniądze, uwaga i emocje są wystarczającym powodem dla większości ludzi.
Kilian Foth,
3
Kiedyś polowaliśmy na osoby kompilujące, które spotkały się na konferencjach, ludzi znanych w społecznościach typu open source itp. Po prostu przypadkowe polowanie na uniwersytetach jest dość bezcelowe. Kompilatory są postrzegane jako „nudne” głównie dzięki bardzo nieistotnym książkom, takim jak czczona Dragon Book, które są nadal używane do nauczania kompilatorów na uniwersytetach.
SK-logic,
7
PS, pozytywnie - powiedział, że studenci nie wyrażają najmniejszego zainteresowania kodowaniem CRUD-ów w przedsiębiorstwie, chociaż zdecydowana większość z nich i tak tam się skończy.
SK-logic
3
Jednym z problemów, które mogłem zobaczyć, z mojej strony, jest zastanawianie się, gdzie moja kariera trwa od 3 lat pracy w kompilatorach. Rynek pracy dla tych umiejętności wydaje się na pozór mniejszy niż większość innych. Jeśli mógłbyś sprzedawać na tym, może to również nie zaszkodzić. Zuchwale prowadziłoby to do pracy na poziomie wbudowanym lub systemowym, gdyby kompilator nie był dostępny.
Rig

Odpowiedzi:

13

Dlaczego tak trudno jest rekrutować do zadań związanych z kompilatorem?

Lepiej sformułowane, twoje pytanie brzmi: dlaczego trudno jest rekrutować do prac, które nie są obecnie modne.

A przeredagowanie staje się sednem wyzwania - trendów . Same w sobie trendy nie są niczym złym. Zawsze będą występować w różnym stopniu.

Każda firma lub domena programowa, która jest poza tym, co jest obecnie modne, będzie miała trudniejszy czas na rekrutację kandydatów. To tylko natura bestii.

Ale trendy przychodzą i odchodzą. Na przykład na przełomie lat 90. i prawdopodobnie na początku XX wieku RedHat miał łzy i „wszyscy, którzy byli kimkolwiek” * chcieli tam pracować. Potem gospodarka nieco się zmieniła, uwaga skoncentrowana gdzie indziej, a przemysł zebrał nowe skarby na konkurs popularności.
* Dobra, to trochę hiperbola, ale taka jest natura trendów

Co możemy zrobić, aby przyciągnąć więcej talentów, a nawet zainteresowanych kandydatów?

Po pierwsze, upewnij się, że promujesz ciekawe części tych miejsc pracy. Każda praca ma z tym coś do roboty, a my pogodzimy się z tymi aspektami w zabawnych częściach naszej pracy. Opisując koncert, pamiętaj, aby prowadzić zabawne części.

Po drugie, promuj zabawne i interesujące aspekty swojego pracodawcy. Na przykład, jeśli rekrutujesz w USA i Anglii, reklamuj swoją obecność na arenie międzynarodowej. Jeśli wysyłasz programistów za granicę na okresy przekwalifikowania, zwróć na to uwagę. Wielu programistów interesuje się możliwościami podróżowania za granicę i zwiększania zakresu swoich umiejętności.

Po trzecie, upewnij się, że poznasz swoją firmę poza sezonem rekrutacyjnym. Trendy przychodzą i odchodzą, ale walczysz z trendami, upewniając się, że marka firmy została przynajmniej usłyszana poza sezonem. Istnieje naprawdę duża międzynarodowa firma programistyczna z siedzibą w Armonk, która stale reklamuje się , aby upewnić się, że ich nazwa jest znana. Prawdopodobnie nie masz takiego samego budżetu reklamowego jak oni, ale możesz kierować kampusy, z których chcesz rekrutować.

Po czwarte, zawsze zatrudniaj kogoś nowego każdego roku, szczególnie w chudych latach. Nie musi to być taka sama kwota jak rok wzrostu, ale musisz zatrudnić co najmniej jedną osobę. Ta sama firma, o której wspomniałem, stosuje tego rodzaju zasady z wielu powodów. W kampusie rozlegnie się informacja, że zawsze macie wolne miejsce nawet w najgorszych chwilach. Bezpieczeństwo i siła ekonomiczna wzbudzą zainteresowanie Twoją firmą.

Po piąte, upewnij się, że świadczenia i pensje oferowane przez Twoją firmę są konkurencyjne. Wiedza o jakości składanych ofert jest coraz większa. Studenci i centrum kariery kampusu wiedzą, kto jest tani, a kto konkurencyjny. Nie bądź tani, jeśli nie masz wystarczającej liczby kandydatów.

Po szóste, upewnij się, że uczniowie wiedzą, jakich umiejętności szukasz. Będą mieli ograniczony czas na opracowanie kompilatorów, być może tylko semestr lub dwa doświadczenia. Jeśli ich zdaniem jest to, że szukasz lat doświadczenia lub tylko tych, którzy głęboko zanurzyli się w kompilatory, to nie będą ubiegać się o te prace. Podobnie, kandydaci mogą potrzebować pewności, że pomożesz im wyszkolić ich w zakresie przejścia od projektowania akademickiego kompilatora do pracy kompilatora przemysłowego.

Na koniec zastanów się nad przekazaniem sprzętu lub oprogramowania lub obu do laboratoriów inżynieryjnych. Jeśli uczniowie nie wiedzą, kim jest twoja firma, daj im możliwość dowiedzenia się o twoim produkcie. Dzięki temu podejściu firma Sun Microsystems bardzo dobrze sobie radziła. Dawanie darmowego lub taniego sprzętu uniwersytetom to świetny sposób, aby upewnić się, że studenci wiedzą o twoim zestawie.


źródło
30

Po pierwsze, chciałbym przełamać stereotyp: mam 17 lat i przyczyniłem się do napisania kilku kompilatorów i raczej je lubię.

Aby odpowiedzieć na pytanie, podstawową interakcją nastolatka z komputerem nie jest badanie zrzutu IL-a kompilatora, ale poprzez aplikacje / strony internetowe / gry wideo. Jest to więc naturalny krok, że jeśli ktoś zdecyduje, że chce rozpocząć programowanie, dlaczego nie zrobić czegoś, o czym już „wie” i jak lubi.

To nie pomaga, że ​​istnieje silna opinia, że ​​prawdziwe miejsca pracy koncentrują się wokół Internetu i gier. Już teraz walczysz z odpowiedzią nastolatków „Oooh shiny” i faktem, że myślą, że tam są pieniądze.

Wreszcie, nikt już nie uczy kompilatorów nauczania! Wiele kursów kompilatorów zostało przeniesionych na opcjonalne kursy podyplomowe. Nawet jeśli wielu wybiera kurs kompilatora, połowa kursu jest wydawana na analizator składni, co jest prawdopodobnie jednym z najmniej interesujących bitów kompilatora. Więc ci, którzy starają się zarejestrować, odchodzą i mówią: „Ok, piszemy parser, potem magię, a potem codegen”. Niezupełnie ekscytujące w porównaniu do Angry Birds.

Teraz rekrutacja jest ogólnie trudna, ale myślę, że będzie ci trudniej niż większość, ponieważ wielu studentów, którzy są gotowi poświęcić swój czas na zastanowienie się, jak napisać lub przyczynić się do kompilatora, już ma plany. W takim przypadku rada Joela dotycząca uzyskania dobrych deweloperów jest istotna.

Daniel Gratzer
źródło
1
Moje sentymenty: podejście Dragon Book do nauczania z naciskiem na parsowanie po prostu rujnuje nawet to niewielkie zainteresowanie kompilatorami, które mogłyby być.
SK-logic
15
Zatrudnij @jozefg . Tam problem został rozwiązany.
Reactgular,
Tak. Korzystaliśmy z książki o smokach na uniwersytecie. Połączcie to z kiepskim nauczycielem, a klasa nie była tak interesująca, jak się spodziewałem - zrujnowało to dla mnie zainteresowanie.
MetalMikester,
3

Z perspektywy młodego (kompilatora) kompilatora jedna kwestia, o której tu nie dyskutuje, dotyczy tego, skąd ludzie zapoznają się z technologią kompilatora.

Jeśli masz szczęście, mają projekt lub klasę omawiającą kompilatory. Może kurs z architektury komputerowej lub elementów wewnętrznych, który wprowadza je w różne warstwy abstrakcji i optymalizacji.

Jeśli masz pecha, słyszą od znajomych, że kompilatory to: Rozwiązany problem, nudny, bez wpływu, zbyt niski poziom, zbyt mały rynek pracy itp.

Mój uniwersytet ma profesora, który wciąż pracuje w kompilatorach, i jest on powodem, dla którego wciąż przychodzą ludzie z tego uniwersytetu z doświadczeniem i zainteresowaniem w tej dziedzinie. Co więcej, ma wiele powiązań przemysłowych i wykorzystuje je, aby pomóc uczniom zdobyć doświadczenie zawodowe w tej dziedzinie.

To może być jedna ważna droga: zacznij zaprzyjaźniać się z wykładowcami na uniwersytetach, którymi jesteś zainteresowany: zacznij próbować zrzeszać stażystów i studentów badań. Zaczniesz budować pulę talentów.

Matthew G.
źródło
1

Nudna firma Ponieważ myślą, że zbudowanie aplikacji mobilnej jest ścieżką do następnej „wielkiej” rzeczy, więc firmy, które ją tworzą, są bardziej ekscytujące i oferują większe możliwości. Zdobądźmy fundusze, upublicznijmy się i zostań milionerami. Nie można tego zrobić za pomocą kompilatora. Z pewnością najlepszą rzeczą w Twojej firmie nie jest budowanie kompilatorów. Albo to jest?

Nudni ludzie Trudno rekrutować potrzebnych deweloperów, więc zwiększ swoją grę. Bądź bardziej kreatywny w rekrutacji, dołączając do profesorów, którzy uczą klas kompilatorów. Znajdź swoich najlepszych studentów i osądzaj ich. Nie czekaj na dzień kariery. Każdy chce być poszukiwany i udowodnić, że oferuje premię za podpisanie umowy o staż.

Będąc zbywalne , mogą nie widzieć ścieżki kariery w twoim obszarze produktów / technologii. Musisz przekonać ich, że to nie ślepy zaułek. Chcesz budować aplikacje mobilne, dzieciaku? Lepiej naucz się pracować z niedoborem pamięci. Dowiesz się, że w naszej firmie do takiego poziomu zapewni Ci 1% najlepszych programistów mobilnych, jeśli zdecydujesz się na zmianę. Upewnij się, że rozumieją pułapki niektórych mobilnych prac deweloperskich.

Pisanie kodu dla ludzi Czasami pisanie kodu, który pisze kod, może być bardziej swobodne. Unikaj klientów, którzy chcą, abyś dodawał funkcje tak bezużyteczne, że zasysają wolę życia. Czy możesz naprawić tę linię w GUI, która nie ma piksela?

Steve Jobs podszedł do dyrektora generalnego Pepsi i zapytał: „Czy chcesz sprzedawać wodę z cukrem przez całe życie, czy zmieniać świat?” Zastanawiam się, co powiedziałby Dell? „Chodź z nami, a zaoszczędzimy 3 centy na każdym kupowanym przez nas chipie!”

JeffO
źródło