Juniorzy C i C++ albo szybko nabierają ostrożności, albo stają się źródłem twoich błędów. Rozmowy telefoniczne powinny nagradzać pokorę i praktyczną znajomość mechaniki, a nie ciekawostki z zakamarków standardu.
Szukaj instynktu bezpieczeństwa i sprawności w narzędziach, a nie szybkiego przejścia przez zagadki ze wskaźnikami.
1. Rzetelny model pamięci i czasu życia obiektów
Potrafią praktycznie wyjaśnić różnicę między stosem a stertą, dlaczego podwójne zwolnienie (double-free) i użycie po zwolnieniu (use-after-free) są groźne oraz kiedy inteligentne wskaźniki pomagają w C++. Przyznają się do niepewności zamiast zgadywać, gdy nie jest jasne, kto jest właścicielem zasobu.
2. Buildy, które potrafią powtórzyć
Swobodnie posługują się CMake, Make lub waszym standardowym zestawem narzędzi, a także czytają błędy kompilatora bez przepisywania losowych linijek. Jeśli czysty rebuild ich dezorientuje, integracje wprowadzą ich w jeszcze większe zamieszanie.
3. Nawyki w debuggerach i sanitizerach
Używają gdb, lldb lub debuggera w IDE do sprawdzania stanu, zatrzymywania na błędach i przechodzenia krok po kroku przez rzeczywiste awarie. Dodatkowy plus, jeśli wiedzą, do czego służy AddressSanitizer lub Valgrind, nawet na poziomie juniora.
4. RAII i dyscyplina zasobów w C++
Konstruktory przejmują zasoby, destruktory je zwalniają, mają świadomość ryzyka kolejności inicjalizacji obiektów statycznych i podchodzą z nieufnością do surowych wskaźników będących właścicielami zasobów. Wyciek uchwytów nie powinien ich zaskakiwać.
5. Szacunek dla niezdefiniowanego zachowania i realiów standardu
Wiedzą, że optymalizacja potrafi zaskoczyć, że przepełnienie liczby ze znakiem nie jest niewinne, a wyścigi danych (data races) nie są „czasem w porządku”. Takie podejście nie pozwoli, by twoi seniorzy zamienili się w strażaków na pełen etat.
Oceniaj uczciwie i porównuj jabłka z jabłkami
Przydziel każdemu kandydatowi to samo zadanie. Amerykańska Komisja ds. Równych Szans Zatrudnienia (EEOC) przypomina małym pracodawcom, by stosowali jednolite standardy wobec kandydatów na to samo stanowisko (wytyczne EEOC dotyczące rekrutacji).
Canvider CriteriaMatch zapisuje w formie kryteriów waszą listę kontrolną dotyczącą bezpieczeństwa i narzędzi. Collaborative Candidate Assessment przechowuje notatki i decyzje tak, by cały zespół inżynierów miał do nich wgląd.
Następny krok: Poznaj CriteriaMatch, Poznaj Collaborative Candidate Assessment, a potem zacznij za darmo.