1. Czy stosujesz system kontroli wersji?
Tak, do wersjonowania wykorzystujemy Subversion zintegrowane z Bugzillą – dzięki temu każdy commit pociąga za sobą pojawienie się odpowiedniego wpisu w opisie buga.
2. Czy możesz zbudować wersję w jednym kroku?
Tak, dzięki wykorzystaniu systemu ciągłej integracji zbudowanie nowej wersji sprowadza się do pojedynczego kliknięcia myszki. W razie potrzeby, każdy developer może stworzyć prywatną gałąź repozytorium oraz dodać ją do tego systemu – dzięki temu może uzyskać także prywatne buildy.
3. Czy stosujesz codzienne budowanie wersji?
Tak naprawdę to nowe wersje naszego oprogramowania pojawiają się nie raz, a dwa razy dziennie – jedna buduje się w nocy, druga w porze obiadowej.
4. Czy używasz systemu zarządzania błędami?
Tak, do zarządzania defektami używamy Bugzilli. Każdy nowopowstały kawałek implementacji jest powiązany z nowym wpisem w tym systemie.
5. Czy usuwasz błędy zanim napiszesz nowy kod?
Tak, zwykle to robimy – poszczególne funkcjonalności nie są uznawane za ukończone zanim nie poprawi się wszystkich bugów uznanych za ważne. Naturalnie nie każdy defekt jest równie istotny w danym momencie, niektóre zostawiamy sobie na później – jednakże w takich przypadkach są one śledzone jako dług techniczny, a decyzja o pozostawieniu ich nierozwiązanymi jest w pełni świadoma.
6. Czy masz harmonogram aktualizowany na bieżąco?
Tak, każdy jest świadom tego, jaki jest plan na najbliższe 6-8 tygodni. Dzięki jawnemu dostępowi do informacji o planowanych projektach każdy ma również dostęp do informacji o tym nad czym będziemy prawdopodobnie pracować w dalszej przyszłości.
7. Czy masz specyfikację?
Każda funkcjonalność nad którą pracujemy przechodzi etap analizy wymagań i wykonalności. Etap analizy kończy się specyfikacją implementacyjną, definiującą co dokładnie jest do zrobienia.
8. Czy programiści mają komfortowe warunki pracy?
W DisplayLink na pracownika przypada średnio kilkanaście metrów kwadratowych, każdy do dyspozycji ma naprawdę spore biurko przez co zagęszczenie pracowników jest dość niskie. Dzięki temu udaje się utrzymać dobre warunki do pracy w skupieniu.
9. Czy używasz najlepszych dostępnych narzędzi?
Tak, jeśli komuś są potrzebne dodatkowe narzędzia raczej nie ma problemu z ich zakupem.
10. Czy masz testerów?
Oczywiście – mimo tego, że wiele defektów wykrywanych jest już na biurkach programistów mamy zespół testerów, którzy sprawdzają czy gotowy produkt działa jak należy.
11. Czy kandydaci piszą programy podczas rozmowy kwalifikacyjnej?
Tak, każdy zatrudniony programista w czasie rozmowy kwalifikacyjnej jest proszony o rozwiązanie problemu programistycznego. Często jeszcze przed rozmową prosimy kandydatów o napisanie krótkiego programu, co pozwala ocenić wiele aspektów kompetencji kandydata, jego umiejętności, stylu programowania, itd.
12. Czy praktykujesz korytarzowe testy wygody użytkowania?
Tak, w trakcie pracy nad poszczególnymi funkcjonalnościami bardzo często prosimy współpracowników o szybką ocenę i feedback odnośnie danego rozwiązania.