Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)

Mój keynote z konferencji w Warszawie - Confitura 2012

Znajomość którego języka jest najważniejsza? Co każdy Java developer powinien wiedzieć o Javie i JVM a jakoś dziwnie często nie wie? Co jest Javowym abecadłem i dlaczego jest tak dużo javowych analfabetów? Dlaczego tropimy astronautów? Jaka jest różnica pomiędzy junior a senior developerem? Jakie cechy charakteru i doświadczenia developerów są najcenniejsze dla pracodawcy? Dlaczego boimy się rozmawiać o pieniądzach i jakie są inne trudne pytania kandydatów? Dlaczego wreszcie pracodawcy często niepoważnie traktują zatrudnianie? Na te pytania Wojtek przedstawi swój, mocno subiektywny, punkt widzenia.

  • Be the first to comment

How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)

  1. 1. HOW TO BE AWESOMEAT A JAVA DEVELOPER INTERVIEW Wojciech Seliga Atlassian JIRA Team Lead Spartez Co-Founder wseliga@atlassian.com @wseliga 1 1
  2. 2. DLACZEGO "AWESOME"? 2 2
  3. 3. KILKA SŁÓW O MNIE• Kilkanaście lat w branży, głównie Java i C++, Spartez co-founder• około 7 lat doświadczenia w zatrudnianiu ludzi (ostatnio moje najważniejsze zajęcie)• setki przejrzanych CV,• grubo ponad setka przesłuchanych osobiście kandydatów,• kilkanaście (z hakiem) zatrudnionych ludzi, setki odrzuconych 3 3
  4. 4. JAKI JĘZYK JEST NAJWAŻNIEJSZY? 4 4
  5. 5. 1. JĘZYK FIRMY W KTÓREJ CHCESZ PRACOWAĆ 5 5
  6. 6. POLSKI? 6 6
  7. 7. PODANIE O PRACĘ? 7 7
  8. 8. SPRAWDŹMY 8 8
  9. 9. I...? 9 9
  10. 10. /DEV/NULL 10 10
  11. 11. JAKI JĘZYK JEST NAJWAŻNIEJSZY? 11 11
  12. 12. 2. JĘZYK KLIENTA 12 12
  13. 13. 3. JĘZYK BIZNESU IT, POSTĘPU I ZMIAN 13 13
  14. 14. JĘZYK ANGIELSKI 14 14
  15. 15. BIEGŁA ZNAJOMOŚĆ ANGIELSKIEGO TO PODSTAWOWA UMIEJĘTNOŚĆSZUFLADKUJĄCA POLSKIEGO DEVELOPERA 15 15
  16. 16. ZAROBKI X 2 16 16
  17. 17. ZAROBKI X 2... ALBO RACZEJ X 3 LUB 4 16 16
  18. 18. PODSTAWOWE CERTYFIKATY SUN/ORACLE 17 17
  19. 19. CERTYFIKATY DLA WYTRAWNEGOREKRUTUJĄCEGO NIC NIE ZNACZĄ 18 18
  20. 20. ODWROTNA KORELACJA:ZDAWALNOŚĆ A CERTYFIKAT (SCJP/OCPJP I SCJD/OCMJD) 19 19
  21. 21. CERTYFIKOWANI ANALFABECI 20 20
  22. 22. CERTYFIKOWANI ANALFABECI• Nie znają podstawowych API i technik/idiomów programowania (java.util.concurrent obchodzi w tym roku 8. urodziny, od 3 lat Java 5 jest EOL-ed) 20 20
  23. 23. CERTYFIKOWANI ANALFABECI• Nie znają podstawowych API i technik/idiomów programowania (java.util.concurrent obchodzi w tym roku 8. urodziny, od 3 lat Java 5 jest EOL-ed)• Nie rozumieją Garbage Collectora i zarządzania zasobami w Java/JVM 20 20
  24. 24. CERTYFIKOWANI ANALFABECI• Nie znają podstawowych API i technik/idiomów programowania (java.util.concurrent obchodzi w tym roku 8. urodziny, od 3 lat Java 5 jest EOL-ed)• Nie rozumieją Garbage Collectora i zarządzania zasobami w Java/JVM• Nie znają programowania sieciowego, wielowątkowego 20 20
  25. 25. CERTYFIKOWANI ANALFABECI• Nie znają podstawowych API i technik/idiomów programowania (java.util.concurrent obchodzi w tym roku 8. urodziny, od 3 lat Java 5 jest EOL-ed)• Nie rozumieją Garbage Collectora i zarządzania zasobami w Java/JVM• Nie znają programowania sieciowego, wielowątkowego• Nie znają programowania (i stosu) webowego 20 20
  26. 26. CERTYFIKOWANI ANALFABECI• Nie znają podstawowych API i technik/idiomów programowania (java.util.concurrent obchodzi w tym roku 8. urodziny, od 3 lat Java 5 jest EOL-ed)• Nie rozumieją Garbage Collectora i zarządzania zasobami w Java/JVM• Nie znają programowania sieciowego, wielowątkowego• Nie znają programowania (i stosu) webowego• Nie rozumieją pojęcia złożoności obliczeniowej, skalowalności, transakcyjności, itd. 20 20
  27. 27. Joel Spolsky,ASTRONAUCI kwiecień 2001 21 21
  28. 28. Joel Spolsky,ASTRONAUCI kwiecień 2001 21 21
  29. 29. Joel Spolsky,ASTRONAUCI kwiecień 2001 21 by pnoeric 21
  30. 30. JAVOWE ABECADŁO 22 22
  31. 31. ABECADŁO - POJĘCIA JAVOWE 23 23
  32. 32. ABECADŁO - POJĘCIA JAVOWE• Dziedziczenie a kompozycja. Klasy a interfejsy. 23 23
  33. 33. ABECADŁO - POJĘCIA JAVOWE• Dziedziczenie a kompozycja. Klasy a interfejsy.• Kolekcje - cechy, złożoność obliczeniowa, klucze, hashcode 23 23
  34. 34. ABECADŁO - POJĘCIA JAVOWE• Dziedziczenie a kompozycja. Klasy a interfejsy.• Kolekcje - cechy, złożoność obliczeniowa, klucze, hashcode• Programowanie współbieżne - wątki, monitory, synchronizatory 23 23
  35. 35. ABECADŁO - POJĘCIA JAVOWE• Dziedziczenie a kompozycja. Klasy a interfejsy.• Kolekcje - cechy, złożoność obliczeniowa, klucze, hashcode• Programowanie współbieżne - wątki, monitory, synchronizatory• Strumienie 23 23
  36. 36. ABECADŁO - POJĘCIA JAVOWE• Dziedziczenie a kompozycja. Klasy a interfejsy.• Kolekcje - cechy, złożoność obliczeniowa, klucze, hashcode• Programowanie współbieżne - wątki, monitory, synchronizatory• Strumienie• Immutability 23 23
  37. 37. ABECADŁO - POJĘCIA JAVOWE• Dziedziczenie a kompozycja. Klasy a interfejsy.• Kolekcje - cechy, złożoność obliczeniowa, klucze, hashcode• Programowanie współbieżne - wątki, monitory, synchronizatory• Strumienie• Immutability• Reflection, AOP, bytecode, proxy 23 23
  38. 38. ABECADŁO - POJĘCIA JAVOWE• Dziedziczenie a kompozycja. Klasy a interfejsy.• Kolekcje - cechy, złożoność obliczeniowa, klucze, hashcode• Programowanie współbieżne - wątki, monitory, synchronizatory• Strumienie• Immutability• Reflection, AOP, bytecode, proxy• Stos technologii webowych 23 23
  39. 39. ABECADŁO - BIBLIOTEKI 24 24
  40. 40. ABECADŁO - BIBLIOTEKI• JDK ... tak naprawdę 24 24
  41. 41. ABECADŁO - BIBLIOTEKI• JDK ... tak naprawdę• Guava 24 24
  42. 42. ABECADŁO - BIBLIOTEKI• JDK ... tak naprawdę• Guava• Apache Commons 24 24
  43. 43. ABECADŁO - BIBLIOTEKI• JDK ... tak naprawdę• Guava• Apache Commons• Joda Time 24 24
  44. 44. ABECADŁO - BIBLIOTEKI• JDK ... tak naprawdę• Guava• Apache Commons• Joda Time• Lekkie kontenery DI (Spring, Guice, Pico, Nano) 24 24
  45. 45. ABECADŁO - NARZĘDZIA 25 25
  46. 46. ABECADŁO - NARZĘDZIA• Biegła obsługa IDE 25 25
  47. 47. ABECADŁO - NARZĘDZIA• Biegła obsługa IDE• Debugger 25 25
  48. 48. ABECADŁO - NARZĘDZIA• Biegła obsługa IDE• Debugger• Profiler (mid i senior) 25 25
  49. 49. ABECADŁO - NARZĘDZIA• Biegła obsługa IDE• Debugger• Profiler (mid i senior)• Analizator ruch sieciowego (wireshark, charles, itd.) 25 25
  50. 50. ABECADŁO - NARZĘDZIA• Biegła obsługa IDE• Debugger• Profiler (mid i senior)• Analizator ruch sieciowego (wireshark, charles, itd.)• FireBug, FF Web Dev Tool, Chrome Dev Tool, itd. 25 25
  51. 51. ABECADŁO - KSIĄŻKI (1) 26 26
  52. 52. ABECADŁO - KSIĄŻKI (1) Książka, po której myślisz, że wiesz już wszystko 26 26
  53. 53. ABECADŁO - KSIĄŻKI (2) 27 27
  54. 54. ABECADŁO - KSIĄŻKI (2) Książka, po której wiesz, że nic nie wiesz 27 27
  55. 55. DRUGA STRONA MEDALU 28 28
  56. 56. DRUGA STRONA MEDALUBYCIE "AWESOME" REKRUTUJĄCYM 28 28
  57. 57. LEJEK REKRUTACYJNY1000 osób 10-20 osób 29 29
  58. 58. LEJEK REKRUTACYJNY - LUDZIE POLECENI PRZEZ PRACOWNIKÓW 30 osób 5 - 10 osób 30 30
  59. 59. CZY TYLKO DUŻA FIRMA MOŻE MIEĆ WYSOKIE OCZEKIWANIA? 31 31
  60. 60. PIENIĄDZE• Polacy nie lubią i nie potrafią rozmawiać o pieniądzach• O oczekiwania pytamy się na pierwszym spotkaniu• Oczekiwania finansowe kształtują proces rekrutacji (nasz poziom oczekiwań)• Kandydat musi znać swoje oczekiwania finansowe. (samoocena) 32 32
  61. 61. UCZCIWY I OTWARTY FEEDBACK 33 33
  62. 62. TESTOWANIE KODOWANIA 34 34
  63. 63. A-PLAYERS 35 35
  64. 64. A-PLAYERS HIRE "A" PLAYERS 36 36
  65. 65. A-PLAYERS HIRE "A+" PLAYERS 36 36
  66. 66. "B" PLAYERS HIRE "C" PLAYERS 37 37
  67. 67. "C" PLAYERS KILL THE COMPANY 38 38
  68. 68. DEVELOPER NAJCENNIEJSZYM KAPITAŁEM FIRMY? 39 39
  69. 69. NAJISTOTNIEJSZE CECHY CHARAKTERU IDOŚWIADCZENIE "AWESOME" KANDYDATA• Bystrość i otwartość umysłu na zmiany• Inicjatywa, aktywność, chęć zmiany świata i samego siebie• Poczucie własnej wartości ("A" Player) a zarazem własnej niewiedzy• Ciekawość i kwestionowanie status quo• Pragmatyzm• Projekty publiczne lub open source, ślady działalności publicznej• Aktywne uczestnictwo w licznych releaseach softwareu rzeczywiście używanego przez klientów 40 40
  70. 70. TRUDNE? PYTANIA KANDYDATÓW• Ścieżka rozwoju zawodowego / możliwość awansu• Gwarancja stabilności (projekty, życie firmy) 41 41
  71. 71. RÓŻNICE POMIĘDZY JUNIOREM A SENIOREM• Doświadczenie praktyczne (nie znaczy wiedza)• Rozróżnianie trendów i buzzwordów od nowości rzeczywiście zmieniających świat• Chęć i umiejętność dzielenie się wiedzą z młodszymi developerami• Wielokrotne releasey i opieka nad produkcyjnym oprogramowaniem 42 42
  72. 72. NAJWIĘKSZYM MOTYWATOREM DLA"AWESOME" LUDZI JEST TO, ŻE PRACUJĄ Z INNYMI "AWESOME" LUDŹMI 43 43
  73. 73. PODSUMOWANIE• Aby być w czymś dobrym potrzeba 10 lat praktyki. Aby być mistrzem, potrzeba całego życia• Doświadczony developer bez trudu wykryje ściemę kandydata• A nawet jeśli nie, to są okresy próbne...• Na swoją wartość jako Software Developer pracujemy cały czas. Efektywność naszego rozwoju zależy z kim pracujemy.• Korzystajmy z procesu rekrutacji jako dobrej sondy do poznania tego, jak firma naprawdę traktuje developerów• Bycie sobą podczas rekrutacji (po obydwu stronach) najbardziej popłaca 44 44
  74. 74. CHCESZ SPRÓBOWAĆ? 45 45
  75. 75. SZUKAMY AWESOMEJAVA I FRONT-END DEVELOPERÓW www.spartez.com http://www.atlassian.com/company/careers 46 46
  76. 76. DZIĘKUJĘ! 47 47

×