SlideShare une entreprise Scribd logo
1  sur  76
Télécharger pour lire hors ligne
HOW TO BE AWESOME
AT A JAVA DEVELOPER INTERVIEW
              Wojciech Seliga
         Atlassian JIRA Team Lead
           Spartez Co-Founder

          wseliga@atlassian.com
                @wseliga

                    1
                                    1
DLACZEGO "AWESOME"?



         2
                      2
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
JAKI JĘZYK JEST NAJWAŻNIEJSZY?



              4
                                 4
1. JĘZYK FIRMY W KTÓREJ CHCESZ
            PRACOWAĆ



              5
                                 5
POLSKI?



   6
          6
PODANIE O PRACĘ?




       7
                   7
SPRAWDŹMY




    8
            8
I...?



  9
        9
/DEV/NULL



    10
            10
JAKI JĘZYK JEST NAJWAŻNIEJSZY?



              11
                                 11
2. JĘZYK KLIENTA



       12
                   12
3. JĘZYK BIZNESU IT, POSTĘPU I ZMIAN



                 13
                                       13
JĘZYK ANGIELSKI



       14
                  14
BIEGŁA ZNAJOMOŚĆ ANGIELSKIEGO
    TO PODSTAWOWA UMIEJĘTNOŚĆ
SZUFLADKUJĄCA POLSKIEGO DEVELOPERA


                15
                                     15
ZAROBKI X 2




     16
              16
ZAROBKI X 2

... ALBO RACZEJ X 3 LUB 4


            16
                            16
PODSTAWOWE CERTYFIKATY
      SUN/ORACLE



          17
                         17
CERTYFIKATY DLA WYTRAWNEGO
REKRUTUJĄCEGO NIC NIE ZNACZĄ



             18
                               18
ODWROTNA KORELACJA:
ZDAWALNOŚĆ A CERTYFIKAT
 (SCJP/OCPJP I SCJD/OCMJD)


            19
                             19
CERTYFIKOWANI ANALFABECI




           20
                           20
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
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
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
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
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
Joel Spolsky,
ASTRONAUCI   kwiecień 2001




    21
                              21
Joel Spolsky,
ASTRONAUCI   kwiecień 2001




    21
                              21
Joel Spolsky,
ASTRONAUCI      kwiecień 2001




    21
         by pnoeric
                                 21
JAVOWE ABECADŁO



       22
                  22
ABECADŁO - POJĘCIA JAVOWE




            23
                            23
ABECADŁO - POJĘCIA JAVOWE
•   Dziedziczenie a kompozycja. Klasy a interfejsy.




                                                  23
                                                       23
ABECADŁO - POJĘCIA JAVOWE
•   Dziedziczenie a kompozycja. Klasy a interfejsy.

•   Kolekcje - cechy, złożoność obliczeniowa, klucze, hashcode




                                                  23
                                                                 23
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
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
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
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
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
ABECADŁO - BIBLIOTEKI




          24
                        24
ABECADŁO - BIBLIOTEKI

•   JDK ... tak naprawdę




                               24
                                             24
ABECADŁO - BIBLIOTEKI

•   JDK ... tak naprawdę

•   Guava




                               24
                                             24
ABECADŁO - BIBLIOTEKI

•   JDK ... tak naprawdę

•   Guava

•   Apache Commons




                               24
                                             24
ABECADŁO - BIBLIOTEKI

•   JDK ... tak naprawdę

•   Guava

•   Apache Commons

•   Joda Time



                               24
                                             24
ABECADŁO - BIBLIOTEKI

•   JDK ... tak naprawdę

•   Guava

•   Apache Commons

•   Joda Time

•   Lekkie kontenery DI (Spring, Guice, Pico, Nano)

                                              24
                                                      24
ABECADŁO - NARZĘDZIA




         25
                       25
ABECADŁO - NARZĘDZIA

•   Biegła obsługa IDE




                           25
                                         25
ABECADŁO - NARZĘDZIA

•   Biegła obsługa IDE

•   Debugger




                           25
                                         25
ABECADŁO - NARZĘDZIA

•   Biegła obsługa IDE

•   Debugger

•   Profiler (mid i senior)




                             25
                                          25
ABECADŁO - NARZĘDZIA

•   Biegła obsługa IDE

•   Debugger

•   Profiler (mid i senior)

•   Analizator ruch sieciowego (wireshark, charles, itd.)



                                                25
                                                            25
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
ABECADŁO - KSIĄŻKI (1)




           26
                         26
ABECADŁO - KSIĄŻKI (1)

                     Książka, po
                  której myślisz, że
                      wiesz już
                      wszystko




           26
                                       26
ABECADŁO - KSIĄŻKI (2)




           27
                         27
ABECADŁO - KSIĄŻKI (2)

                     Książka, po
                    której wiesz,
                  że nic nie wiesz




           27
                                     27
DRUGA STRONA MEDALU




         28
                      28
DRUGA STRONA MEDALU

BYCIE "AWESOME" REKRUTUJĄCYM


             28
                               28
LEJEK REKRUTACYJNY



1000 osób                        10-20 osób




                    29
                                              29
LEJEK REKRUTACYJNY - LUDZIE POLECENI
        PRZEZ PRACOWNIKÓW



   30 osób                   5 - 10 osób




                 30
                                           30
CZY TYLKO DUŻA FIRMA MOŻE MIEĆ
     WYSOKIE OCZEKIWANIA?



              31
                                 31
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
UCZCIWY I OTWARTY FEEDBACK



            33
                             33
TESTOWANIE KODOWANIA



         34
                       34
A-PLAYERS



    35
            35
A-PLAYERS HIRE "A" PLAYERS



            36
                             36
A-PLAYERS HIRE "A+" PLAYERS



             36
                              36
"B" PLAYERS HIRE "C" PLAYERS



             37
                               37
"C" PLAYERS KILL THE COMPANY



             38
                               38
DEVELOPER NAJCENNIEJSZYM
     KAPITAŁEM FIRMY?



           39
                           39
NAJISTOTNIEJSZE CECHY CHARAKTERU I
DOŚ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 release'ach software'u rzeczywiście używanego przez klientów
                                                       40
                                                                                                   40
TRUDNE? PYTANIA KANDYDATÓW



•   Ścieżka rozwoju zawodowego / możliwość awansu

•   Gwarancja stabilności (projekty, życie firmy)




                                               41
                                                    41
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 release'y i opieka nad produkcyjnym oprogramowaniem


                                            42
                                                                                    42
NAJWIĘKSZYM MOTYWATOREM DLA
"AWESOME" LUDZI JEST TO, ŻE PRACUJĄ
    Z INNYMI "AWESOME" LUDŹMI


                 43
                                      43
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
CHCESZ SPRÓBOWAĆ?



        45
                    45
SZUKAMY AWESOME
JAVA I FRONT-END DEVELOPERÓW
                 www.spartez.com

      http://www.atlassian.com/company/careers


                         46
                                                 46
DZIĘKUJĘ!
    47
            47

Contenu connexe

En vedette

Ten lessons I painfully learnt while moving from software developer
to entrep...
Ten lessons I painfully learnt while moving from software developer
to entrep...Ten lessons I painfully learnt while moving from software developer
to entrep...
Ten lessons I painfully learnt while moving from software developer
to entrep...Wojciech Seliga
 
Spartez Open Day March 13th 2015
Spartez Open Day March 13th 2015Spartez Open Day March 13th 2015
Spartez Open Day March 13th 2015Wojciech Seliga
 
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]Wojciech Seliga
 
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKitAtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKitWojciech Seliga
 
Escaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year LaterEscaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year LaterWojciech Seliga
 
Developer plantations - colonialism of XXI century (GeeCON 2017)
Developer plantations - colonialism of XXI century (GeeCON 2017)Developer plantations - colonialism of XXI century (GeeCON 2017)
Developer plantations - colonialism of XXI century (GeeCON 2017)Wojciech Seliga
 

En vedette (7)

Ten lessons I painfully learnt while moving from software developer
to entrep...
Ten lessons I painfully learnt while moving from software developer
to entrep...Ten lessons I painfully learnt while moving from software developer
to entrep...
Ten lessons I painfully learnt while moving from software developer
to entrep...
 
Spartez Open Day March 13th 2015
Spartez Open Day March 13th 2015Spartez Open Day March 13th 2015
Spartez Open Day March 13th 2015
 
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
 
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKitAtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
 
Social Hacking
Social HackingSocial Hacking
Social Hacking
 
Escaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year LaterEscaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year Later
 
Developer plantations - colonialism of XXI century (GeeCON 2017)
Developer plantations - colonialism of XXI century (GeeCON 2017)Developer plantations - colonialism of XXI century (GeeCON 2017)
Developer plantations - colonialism of XXI century (GeeCON 2017)
 

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

Java. Programowanie, biblioteki open-source i pomysły na nowe projekty
Java. Programowanie, biblioteki open-source i pomysły na nowe projektyJava. Programowanie, biblioteki open-source i pomysły na nowe projekty
Java. Programowanie, biblioteki open-source i pomysły na nowe projektyWydawnictwo Helion
 
Java. Obsługa wyjątków, usuwanie błędów i testowanie kodu
Java. Obsługa wyjątków, usuwanie błędów i testowanie koduJava. Obsługa wyjątków, usuwanie błędów i testowanie kodu
Java. Obsługa wyjątków, usuwanie błędów i testowanie koduWydawnictwo Helion
 
Java 2. Techniki zaawansowane. Wydanie II
Java 2. Techniki zaawansowane. Wydanie IIJava 2. Techniki zaawansowane. Wydanie II
Java 2. Techniki zaawansowane. Wydanie IIWydawnictwo Helion
 
Oracle8. Programowanie w języku PL/SQL
Oracle8. Programowanie w języku PL/SQLOracle8. Programowanie w języku PL/SQL
Oracle8. Programowanie w języku PL/SQLWydawnictwo Helion
 
Relacyjne bazy danych dla praktyków
Relacyjne bazy danych dla praktykówRelacyjne bazy danych dla praktyków
Relacyjne bazy danych dla praktykówWydawnictwo Helion
 
PHP i MySQL. Aplikacje bazodanowe
PHP i MySQL. Aplikacje bazodanowePHP i MySQL. Aplikacje bazodanowe
PHP i MySQL. Aplikacje bazodanoweWydawnictwo Helion
 
Integracja JSF + Facelets + Spring + JPA + Tomahawk
Integracja JSF + Facelets + Spring + JPA + TomahawkIntegracja JSF + Facelets + Spring + JPA + Tomahawk
Integracja JSF + Facelets + Spring + JPA + TomahawkWiktor Gworek
 
J2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie IIJ2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie IIWydawnictwo Helion
 

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

Java. Kompendium programisty
Java. Kompendium programistyJava. Kompendium programisty
Java. Kompendium programisty
 
Ruby on Rails. Ćwiczenia
Ruby on Rails. ĆwiczeniaRuby on Rails. Ćwiczenia
Ruby on Rails. Ćwiczenia
 
Java. Programowanie, biblioteki open-source i pomysły na nowe projekty
Java. Programowanie, biblioteki open-source i pomysły na nowe projektyJava. Programowanie, biblioteki open-source i pomysły na nowe projekty
Java. Programowanie, biblioteki open-source i pomysły na nowe projekty
 
Praktyczny kurs Java
Praktyczny kurs JavaPraktyczny kurs Java
Praktyczny kurs Java
 
Java 2. Podstawy
Java 2. PodstawyJava 2. Podstawy
Java 2. Podstawy
 
Java. Obsługa wyjątków, usuwanie błędów i testowanie kodu
Java. Obsługa wyjątków, usuwanie błędów i testowanie koduJava. Obsługa wyjątków, usuwanie błędów i testowanie kodu
Java. Obsługa wyjątków, usuwanie błędów i testowanie kodu
 
Java. Sztuka programowania
Java. Sztuka programowaniaJava. Sztuka programowania
Java. Sztuka programowania
 
Java 2. Techniki zaawansowane. Wydanie II
Java 2. Techniki zaawansowane. Wydanie IIJava 2. Techniki zaawansowane. Wydanie II
Java 2. Techniki zaawansowane. Wydanie II
 
Java. Wprowadzenie
Java. WprowadzenieJava. Wprowadzenie
Java. Wprowadzenie
 
C#. Programowanie
C#. ProgramowanieC#. Programowanie
C#. Programowanie
 
Java. Potrzaski
Java. PotrzaskiJava. Potrzaski
Java. Potrzaski
 
Oracle8. Programowanie w języku PL/SQL
Oracle8. Programowanie w języku PL/SQLOracle8. Programowanie w języku PL/SQL
Oracle8. Programowanie w języku PL/SQL
 
Relacyjne bazy danych dla praktyków
Relacyjne bazy danych dla praktykówRelacyjne bazy danych dla praktyków
Relacyjne bazy danych dla praktyków
 
PHP i MySQL. Aplikacje bazodanowe
PHP i MySQL. Aplikacje bazodanowePHP i MySQL. Aplikacje bazodanowe
PHP i MySQL. Aplikacje bazodanowe
 
Integracja JSF + Facelets + Spring + JPA + Tomahawk
Integracja JSF + Facelets + Spring + JPA + TomahawkIntegracja JSF + Facelets + Spring + JPA + Tomahawk
Integracja JSF + Facelets + Spring + JPA + Tomahawk
 
Eclipse
EclipseEclipse
Eclipse
 
ABC Delphi 2006
ABC Delphi 2006ABC Delphi 2006
ABC Delphi 2006
 
J2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie IIJ2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie II
 

Plus de Wojciech Seliga

Sprzedawanie własnego biznesu IT - Confitura 2023.pdf
Sprzedawanie własnego biznesu IT - Confitura 2023.pdfSprzedawanie własnego biznesu IT - Confitura 2023.pdf
Sprzedawanie własnego biznesu IT - Confitura 2023.pdfWojciech Seliga
 
Jak być zarąbistym developerem w oczach szefa i ... klienta
Jak być zarąbistym developerem w oczach szefa i ... klientaJak być zarąbistym developerem w oczach szefa i ... klienta
Jak być zarąbistym developerem w oczach szefa i ... klientaWojciech Seliga
 
How to impress your boss and your customer in a modern software development c...
How to impress your boss and your customer in a modern software development c...How to impress your boss and your customer in a modern software development c...
How to impress your boss and your customer in a modern software development c...Wojciech Seliga
 
Devoxx Poland 2015: 5-10-15 years with Java
Devoxx Poland 2015: 5-10-15 years with Java Devoxx Poland 2015: 5-10-15 years with Java
Devoxx Poland 2015: 5-10-15 years with Java Wojciech Seliga
 
Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013Wojciech Seliga
 
Confitura 2013 Software Developer Career Unplugged
Confitura 2013 Software Developer Career UnpluggedConfitura 2013 Software Developer Career Unplugged
Confitura 2013 Software Developer Career UnpluggedWojciech Seliga
 
Better Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian PluginsBetter Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian PluginsWojciech Seliga
 
Bringing Effectiveness and Sanity to Highly Distributed Agile Teams
Bringing Effectiveness and Sanity  to Highly Distributed Agile TeamsBringing Effectiveness and Sanity  to Highly Distributed Agile Teams
Bringing Effectiveness and Sanity to Highly Distributed Agile TeamsWojciech Seliga
 
JDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsJDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsWojciech Seliga
 

Plus de Wojciech Seliga (9)

Sprzedawanie własnego biznesu IT - Confitura 2023.pdf
Sprzedawanie własnego biznesu IT - Confitura 2023.pdfSprzedawanie własnego biznesu IT - Confitura 2023.pdf
Sprzedawanie własnego biznesu IT - Confitura 2023.pdf
 
Jak być zarąbistym developerem w oczach szefa i ... klienta
Jak być zarąbistym developerem w oczach szefa i ... klientaJak być zarąbistym developerem w oczach szefa i ... klienta
Jak być zarąbistym developerem w oczach szefa i ... klienta
 
How to impress your boss and your customer in a modern software development c...
How to impress your boss and your customer in a modern software development c...How to impress your boss and your customer in a modern software development c...
How to impress your boss and your customer in a modern software development c...
 
Devoxx Poland 2015: 5-10-15 years with Java
Devoxx Poland 2015: 5-10-15 years with Java Devoxx Poland 2015: 5-10-15 years with Java
Devoxx Poland 2015: 5-10-15 years with Java
 
Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013
 
Confitura 2013 Software Developer Career Unplugged
Confitura 2013 Software Developer Career UnpluggedConfitura 2013 Software Developer Career Unplugged
Confitura 2013 Software Developer Career Unplugged
 
Better Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian PluginsBetter Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian Plugins
 
Bringing Effectiveness and Sanity to Highly Distributed Agile Teams
Bringing Effectiveness and Sanity  to Highly Distributed Agile TeamsBringing Effectiveness and Sanity  to Highly Distributed Agile Teams
Bringing Effectiveness and Sanity to Highly Distributed Agile Teams
 
JDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsJDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile Teams
 

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

  • 1. HOW TO BE AWESOME AT A JAVA DEVELOPER INTERVIEW Wojciech Seliga Atlassian JIRA Team Lead Spartez Co-Founder wseliga@atlassian.com @wseliga 1 1
  • 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. JAKI JĘZYK JEST NAJWAŻNIEJSZY? 4 4
  • 5. 1. JĘZYK FIRMY W KTÓREJ CHCESZ PRACOWAĆ 5 5
  • 6. POLSKI? 6 6
  • 10. /DEV/NULL 10 10
  • 11. JAKI JĘZYK JEST NAJWAŻNIEJSZY? 11 11
  • 13. 3. JĘZYK BIZNESU IT, POSTĘPU I ZMIAN 13 13
  • 15. BIEGŁA ZNAJOMOŚĆ ANGIELSKIEGO TO PODSTAWOWA UMIEJĘTNOŚĆ SZUFLADKUJĄCA POLSKIEGO DEVELOPERA 15 15
  • 16. ZAROBKI X 2 16 16
  • 17. ZAROBKI X 2 ... ALBO RACZEJ X 3 LUB 4 16 16
  • 18. PODSTAWOWE CERTYFIKATY SUN/ORACLE 17 17
  • 20. ODWROTNA KORELACJA: ZDAWALNOŚĆ A CERTYFIKAT (SCJP/OCPJP I SCJD/OCMJD) 19 19
  • 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. 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. 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. 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. 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. Joel Spolsky, ASTRONAUCI kwiecień 2001 21 21
  • 28. Joel Spolsky, ASTRONAUCI kwiecień 2001 21 21
  • 29. Joel Spolsky, ASTRONAUCI kwiecień 2001 21 by pnoeric 21
  • 31. ABECADŁO - POJĘCIA JAVOWE 23 23
  • 32. ABECADŁO - POJĘCIA JAVOWE • Dziedziczenie a kompozycja. Klasy a interfejsy. 23 23
  • 33. ABECADŁO - POJĘCIA JAVOWE • Dziedziczenie a kompozycja. Klasy a interfejsy. • Kolekcje - cechy, złożoność obliczeniowa, klucze, hashcode 23 23
  • 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. 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. 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. 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. 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
  • 40. ABECADŁO - BIBLIOTEKI • JDK ... tak naprawdę 24 24
  • 41. ABECADŁO - BIBLIOTEKI • JDK ... tak naprawdę • Guava 24 24
  • 42. ABECADŁO - BIBLIOTEKI • JDK ... tak naprawdę • Guava • Apache Commons 24 24
  • 43. ABECADŁO - BIBLIOTEKI • JDK ... tak naprawdę • Guava • Apache Commons • Joda Time 24 24
  • 44. ABECADŁO - BIBLIOTEKI • JDK ... tak naprawdę • Guava • Apache Commons • Joda Time • Lekkie kontenery DI (Spring, Guice, Pico, Nano) 24 24
  • 46. ABECADŁO - NARZĘDZIA • Biegła obsługa IDE 25 25
  • 47. ABECADŁO - NARZĘDZIA • Biegła obsługa IDE • Debugger 25 25
  • 48. ABECADŁO - NARZĘDZIA • Biegła obsługa IDE • Debugger • Profiler (mid i senior) 25 25
  • 49. ABECADŁO - NARZĘDZIA • Biegła obsługa IDE • Debugger • Profiler (mid i senior) • Analizator ruch sieciowego (wireshark, charles, itd.) 25 25
  • 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
  • 52. ABECADŁO - KSIĄŻKI (1) Książka, po której myślisz, że wiesz już wszystko 26 26
  • 54. ABECADŁO - KSIĄŻKI (2) Książka, po której wiesz, że nic nie wiesz 27 27
  • 56. DRUGA STRONA MEDALU BYCIE "AWESOME" REKRUTUJĄCYM 28 28
  • 57. LEJEK REKRUTACYJNY 1000 osób 10-20 osób 29 29
  • 58. LEJEK REKRUTACYJNY - LUDZIE POLECENI PRZEZ PRACOWNIKÓW 30 osób 5 - 10 osób 30 30
  • 59. CZY TYLKO DUŻA FIRMA MOŻE MIEĆ WYSOKIE OCZEKIWANIA? 31 31
  • 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. UCZCIWY I OTWARTY FEEDBACK 33 33
  • 63. A-PLAYERS 35 35
  • 64. A-PLAYERS HIRE "A" PLAYERS 36 36
  • 65. A-PLAYERS HIRE "A+" PLAYERS 36 36
  • 66. "B" PLAYERS HIRE "C" PLAYERS 37 37
  • 67. "C" PLAYERS KILL THE COMPANY 38 38
  • 68. DEVELOPER NAJCENNIEJSZYM KAPITAŁEM FIRMY? 39 39
  • 69. NAJISTOTNIEJSZE CECHY CHARAKTERU I DOŚ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 release'ach software'u rzeczywiście używanego przez klientów 40 40
  • 70. TRUDNE? PYTANIA KANDYDATÓW • Ścieżka rozwoju zawodowego / możliwość awansu • Gwarancja stabilności (projekty, życie firmy) 41 41
  • 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 release'y i opieka nad produkcyjnym oprogramowaniem 42 42
  • 72. NAJWIĘKSZYM MOTYWATOREM DLA "AWESOME" LUDZI JEST TO, ŻE PRACUJĄ Z INNYMI "AWESOME" LUDŹMI 43 43
  • 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
  • 75. SZUKAMY AWESOME JAVA I FRONT-END DEVELOPERÓW www.spartez.com http://www.atlassian.com/company/careers 46 46
  • 76. DZIĘKUJĘ! 47 47