sobota, 8 kwietnia 2017

oferty pracy - jak czytać, żeby "nie wtopić"

Jako, że często czytam i czasami sam piszę ogłoszenia związane ze stanowiskami pracy, postanowiłem podzielić się z Wami przemyśleniami odnośnie ogłoszeń o pracę - jak czytać i co się kryje za różnymi sformułowaniami.

Wymagania
Często wymieszane. Mało istotne na początku, istotne w środku lub na końcu. Np. punkt z wykształceniem na pierwszym miejscu, tak jakby było najistotniejsze, a nie kompetencje czy doświadczenie.

Również wymienianie wszystkich technologii w projekcie niekoniecznie jest najlepszym pomysłem. Warto skupić się tylko na tych kluczowych, a nie pobocznych bibliotekach.

Często jest to również błąd rekruterów w sytuacji, gdy projekt wymaga znajomości kilku technologii (np. kolejność wymagań jest taka: MVC, WCF, T-SQL). W efekcie możemy dostać CV osób znających WCF, nie mających pojęcia o MVC i SQL albo administratorów baz danych.

Co oznacza dużo technologii w ogłoszeniu?
Może oznaczać kilka różnych rzeczy - najczęściej, że projekt to legacy code, długo rozwijany i trudny w utrzymaniu. Lepiej trzymać się z daleka. Rzadziej, że faktycznie projekt jest złożony i jest kilka teamów - przydział może zależeć od kompetencji. Czasami również oznacza, że ktoś wypisał wszystko co się dało lub co przekazał manager, niekoniecznie poświęcając chwile na przemyślenie.

Mieszanie terminologii
Bardzo często pomieszane są terminy techniczne np Knowledge of Web technologies: HTML, CSS, JavaScript, HTTP. HTTP nie jest technologią tylko protokołem.

Kolejną wtopą (rekruterów) jest brak znajomości terminologii - dukają nazwy, powtarzają to co było wspomniane wcześniej itd.

Pytania z różnych technologii
Jeśli na rozmowie trafi się duży rozstrzał technologiczny lub wypisano w opisie projektu mase różnych rzeczy to warto zadać pytanie - "czy faktycznie korzystacie z tego wszystkiego o czym rozmawialiśmy/jest w ogłoszeniu?"

Kontrola wersji (Git, TFS, SVN, ...) i code review
Warto o to zapytać. Dużo mówi o "kulturze" firmy i tym jak się będzie pracowało. Np. brak dobrej (jakiejkolwiek nawet w niektóych przypadkach!) strategii branchowania świadczy o absolutnym braku gotowości do rozwoju projektu w trybie feature'ów. Bardziej przypominam development w szopie/garażu niż profesjonalny rozwój systemów.

Skróty
  • Często w ofertach pojawia się masa mniej lub bardziej zrozumiałych skrótów. Jeśli ktoś z Was trafi na pojęcie SOX - niech ucieka. Procesy SOX'owe dotyczą spółek notowanych na giełdzie amerykańskiej i są związane z aplikacjami finansowymi. Strasznie to utrudnia życie programistów (i proces release'a), którzy robią również wsparcie produkcji.
  • Kolejnym istotnym pojęciem jest ITIL. Krótko mówiąc chodzi o zarządzanie przez procesy (czyli wchodzimy "w buty" dużych korporacji). Im większe korpo tym więcej niejasnych, zagmatwanych procesów, gdzie nie ma czynnika ludzkiego, a tylko system. Nie da się do kogoś "uderzyć", żeby rozwiązał problem tylko trzeba grzecznie czekać. Najbardziej strict implementacje widziałem w IBMie.

Podchwytliwe stwierdzenia
  • Zdolność do pracy na zmieniających się wymaganiach i priorytetach. To jest chyba jedna z gorszych rzeczy jakie może człowieka w IT spotkać. Oznacza to, że jest mało ludzi do wykonywania zadań i do tego management nie wie czego chce albo często zmienia zdanie. Albo jeszcze gorzej - jest kilka osób, które wrzucają zadania i każdy uważa, że jego jest ważniejsze i do tego na wczoraj.
  • Dobre umiejętności organizacyjne.Będzie trzeba samemu ogarnąć chaos. No może z pomocą jakiegoś narzędzia, jeśli dobrze pójdzie. Ale i tak nie uchroni to Cię przed różnymi wrzutkami i rozjazdami planów.

czwartek, 9 marca 2017

OWIN - Facebook wymaga wpisania hasła przy każdorazowym logowaniu do aplikacji

Ostatnio walczyłem z dość nietypowym - Facebook wymagał przy każdorazowym logowaniu z aplikacji podania hasła dla użytkownika. Byłem pewien, że to kwestia OWINa i braku jakichś ustawień, złej flagi, brakującego parametru lub czegoś zbliżonego. Okazało się, że w ustawieniach aplikacji (na FB), po wejściu w aplikację (z menu po prawej pod kategorią Products -> Facebook login) należy odznaczyć opcję "Force Web OAuth Reauthentication".

wtorek, 7 marca 2017

Visual Studio 2017 - dostępne!

VS 2017 jest już oficjalnie dostępne w "pełnej" wersji (Community, Professional, Enterprise). Kto pobierze do 14go marca 2017 dostanie gratis 60-dniowy dostęp do Xamarin University.

IDE można pobrać stąd.

niedziela, 5 marca 2017

Narzędzia pod Windowsa (część 1) - cmder

Jednym z ostatnich "odkryć" - cmder. Aplikacja bliska shell'owi linuxowemu z rozszerzeniami. Dwa najważniejsze z punktu widzenia mojej pracy: historia oraz pokazywanie nazwy branch'a z git'a przy nazwie folderu.

czwartek, 2 marca 2017

Rekrutacja programistów

Dzisiaj usłyszałem w HRach pytanie - jak to jest, że przepuszczamy tylko 10%? Tylko tylu się nadaje. Przeprowadziłem ponad 100 rozmów rekrutacyjnych i nie tylko w tej firmie mamy taką średnią. Niestety tylko tyle osób "trafia" w profil i kompetencje. Często jest pięknie na papierze, a w rzeczywistości żal i rozpacz.

Podejście rekruterów pokazuje różnicę między podejściem firm rekrutacyjnych (ludzi tam zatrudnionych i presją na nich na zatrudnianie i przynoszenie kasy) a inżynierami, którzy chcą pracować z kompetentnymi ludźmi.

Firma rekrutacyjna dostaje kasę w kilku przypadkach. Dwa najczęstsze to: za znalezienie i zatrudnienie i czasami później również za pośrednictwo. Z tego punktu widzenia ciężko się dziwić presji, z drugiej strony "opychanie" ludzi, którzy niewiele potrafią lub w ogóle ich kompetencje nie odpowiadają stanowisku (np. .NET + WPF do web'a czy .NET + WebAPI do WPF'a). Natomiast jest to strata czasu zarówno dla kandydatów jak i ludzi weryfikujących ich umiejętności.

Z tego miejsca apel do rekruterów: zrozumcie, że z konia nie zrobicie chomika, a z chomika konia pociągowego. Szanujcie bardziej czas każdego zaangażowanego w proces.

sobota, 7 stycznia 2017

Stack overflow - motywacja programistów

Nowe badania programistów za 2016 odnośnie motywacji w rekrutacji pracowników. Najciekawsze wnioski wg mnie

  1. JavaScript jest bardzo mocny
  2. Zapotrzebowanie na front-end'owców jest bardzo wysokie, znacząco przewyższa back-end
  3. Odnotowano spadek Objective-C na rzecz Swift'a
  4. "Rynek" hinduski programistów w Indiach znacznie różni się od "zachodniego"
  5. Polska, Rosja, Ukraina i Indie są najlepszymi aktualnie miejscami do zatrudniania programistów (potencjał wzrostu)

Źródło znajduję się tutaj.