συνεντεύξεις στην Premier League του IT - μια ιδιαίτερη εμπειρία (προσγείωση) - landing in London #job

Share on:

via GIPHY

Ο τελευταίος 1,5 μήνας, ήταν αρκετά έντονος και αγχωτικός, θα ήταν κρίμα να μην τον καταγράψω εδώ για να τον θυμάμαι. Δεν είναι μυστικό πια οτι αποφασίσαμε να φύγουμε απ_ το όμορφοκαι βολικό Λουξεμβούργο. Δε θα αναλύσω σε αυτό το post τους λόγους, επιγραμματικά θα πω οτι είναι αυστηρά επαγγελματικοί. δε μείναμε ευχαριστημένοι με τις δουλειές, ούτε και με την αγορά και οτι potential είχε να μας δώσει για τα επόμενα χρόνια. Θεωρήσαμε οτι έπρεπε να μεταβούμε σε μια πιο μεγάλη, σταθερή και με ποικιλία σε προτάσεις αγορά, όπου θα εκτεθούμε σε μεγαλύτερο ανταγωνισμό, θα δυναμώσουμε τα βιογραφικά μας τεχνικά και θα μπορέσουμε να πειραματιστούμε με τα διαφορετικά industries. (όχι μόνο πχ ευρωπαϊκά έργα ή μόνο τράπεζες και αν σου αρέσει).

Εξετάσαμε την αγορά της Ελβετίας, συγκεκριμένα τη ζυρίχη. Έκανα κάποιες συνεντεύξεις, μιλήσαμε με μερικούς agent και recruiters, μάλιστα στο τέλος κατάφερα να πάρω και ένα offer, από μια γνωστή Ελβετική τράπεζα - παρόλα αυτά την απέρριψα, μιας και από την έρευνα μας, καταλήξαμε οτι επαγγελματικά πάλι θα υπήρχε κίνδυνος να κλειστούμε σε μια ιδιαίτερη' αγορά η οποία τη συγκεκριμένη εποχή είναι μεταξύ 2 κόσμων. Τις τράπεζες που μαζικά κάνουν development σε near shore περιοχές (Πολωνία, Ισπανία, Ουκρανία ήταν αυτό που άκουγα συνέχεια) και κρατούν μικρότερες ομάδες onsite - και τους made in Switzeland software vendors όπου more or less θέλουν να μιλάς γερμανικά και να είσαι κοντινός τους', μιας και προωθούν μια λογική, software από ντόπιους σαν τα ρολόγια μας. Μπορεί κάποιοι που είναι ήδη εκεί να έχουν κάπως διαφορετική εικόνα, τουλάχιστον αυτή είναι η κατάσταση όπως τη σημείωνα, μέσα απ τις συνεντεύξεις και τις συζητήσεις.

Ο προορισμός μας, ήταν εκεί για πολλά χρόνια στο μυαλό μου, αλλά δεν είχα πάρει την απόφαση. Μετά το crash course εδώ στο κέντρο της Ευρώπης, αφού βγάλαμε τα συμπεράσματα μας, και αφού ήδη μπαίνουμε αρκετά δυναμικά με δεύτερο relocation σε λιγότερο από 1 χρόνο - το Λονδίνο ήταν ο νέος και λογικά final destination.

Στην καριέρα μου έχω κάνει αρκετές συνεντεύξεις, τις πιο πολλές στην Ελλάδα, μερικές πιο παλιά στο Βέλγιο, μετά αρκετές εδώ στο Λουξεμβούργο και κάποιες για την Ελβετική αγορά. δεν μπορείς να πεις οτι δεν έχω εμπειρία, σίγουρα όχι τεράστια αλλά δε βγήκα τώρα απ_ το καβούκι μου. Ότι εμπειρία και να είχα, ήταν σχετικά λίγη θα τολμήσω να πω, για οτι είδα στην προσπάθεια μου να φέρω το πρώτο μου landing job στην Αγγλία. Πώς βλέπεις το GIF πάνω, μια ανώμαλη προσγείωση που σου χτίζει χαρακτήρα, σε ανεβάζει σε γνώσεις (έστω και αν δεν το καταλαβαίνεις) που σου υπενθυμίσει οτι όσο καλός και αν νομίζεις οτι είσαι, υπάρχουν εκεί 'έξω αρκετοί καλύτεροι από εσένα και πρέπει να τους ανταγωνιστείς'.

Θα ήθελα Λοιπόν, να μοιραστώ μερικά tip με όσους θέλουν να κάνουν το ίδιο ή το έχουν βάλει στο μυαλό τους. Δες το σαν μικρή βοήθεια, στο τέλος της ημέρας εσύ θα πρέπει να αποδείξεις πόσο καλός/καλή είσαι - δεν υπάρχουν σκονάκια στη διαδικασία.

1. Φτιάξε το CV σου, ιδιαίτερα οι ημερομηνίες μεταξύ θέσεων. (βασικό πρέπει να το ξέρεις ήδη)

2. Φτιάξε το CV σου, μην προσθέτεις τεχνολογίες ή buzzword αν δεν μπορείς να τις υποστηρίξεις ή αν δεν μπορείς να εξηγήσεις τι κάνουν και πως τις χρησιμοποίησες. (βασικό πρέπει να το ξέρεις ήδη).

3. Θεωρείς τον εαυτό σου Java Developer? Javascript Developer? ή Χ developer? τότε κάτσε και διάβασε, όχι για πλάκα, κάτσε και διάβασε όλα τα βασικά της γλώσσας που θεωρείς οτι είναι το μεγάλο σου προσόν. Όσο πιο senior θες να λέγεσαι τόσο πιο δύσκολες θα είναι οι ερωτήσεις σε θέματα γλώσσας. Πάρε παράδειγμα ερωτήσεις που κάνουν σε διάφορα certification- tricky questions. Μπορεί να ερωτηθείς κλασικά πράγματα όπως πχ για την equals/ hashcode μέχρι τα χαρακτηριστικά του CMS και G1 garbage Collector και το ποιο datastructure είναι πιο γρήγορο απ_ το άλλο. δεν μπορώ να καταγράψω όλες τις πιθανές ερωτήσεις, μπορείς να google- άρεις και θα βρεις αρκετές, το σημαντικό είναι οτι πρέπει να διαβάσεις, μην το πάρεις στην πλάκα. Αν είσαι Java developer τοτε δες, core java, concurrency, performance είναι hot topic. Επίσης, μην ξεχάσεις να διαβάσεις σχετικά για test driven development.

4. Γύρνα πίσω στα φοιτητικά σου χρόνια και στα μαθήματα 1) εισαγωγή στους αλγόριθμους 2) applied mathematics (ή γενικά μαθηματικά). Πολλές συνεντεύξεις (όχι όλες) έχουν σαν core μέρος τους την εξήγηση, λύση γνωστών αλγοριθμικών puzzle ή ασκήσεων. Όσο πιο πρόσφατα σου είναι πράγματα όπως sorting algorithms, applied mathematics, πιθανότητες, γνωστοί αλγόριθμοι ή number generators τόσο πιο εύκολα θα μπορέσεις να απαντήσεις γρήγορα ή να πολεμήσεις ένα πρόβλημα. Πχ, στις μισές συνεντεύξεις που έδωσα, ασχοληθήκαμε με τα string palindromes. Το πρόβλημα μπορεί να είναι απλό, πχ να εξετάσεις μόνο αν μια λέξη είναι και να γράψεις τον κώδικα αλλά και ιδιαίτερα σύνθετο πχ να βρεις το max palindrome σε μια παράγραφο ( δεν είχα ακουσει ποτέ για τον αλγόριθμο του Manaher να πω την πικρή μου αλήθεια έκανα κάποιες ώρες να διαβάσω όλη την λύση). Το πιο σημαντικό σε συνεντεύξεις με τέτοιο βήμα είναι οτι, πρέπει να απαντήσεις σχετικά γρήγορα και να μην κολλήσεις. Σε αντίθετην περίπτωση θα σε κόψουν (το ξέρω δε βρίσκω λογική αλλά θα το κάνουν - πιο πολλά μετά επί των διαδικασιών). Ένας τρόπος να πας καλά σε αυτό το στάδιο είναι να κάνεις εξάσκηση και να διαβάσεις, εκτός και αν έχεις μια φυσική τάση να λύνεις τέτοια προβλήματα ή διάβαζες ακόμα και στον ελεύθερο σου χρόνο, οπότε δε θα έχεις πρόβλημα.

  1. Έχεις γράψει ποτέ κώδικα σε χαρτί; Ίσως παλιά στο πανεπιστήμιο; Ε γύρνα πίσω σε αυτά τα χρόνια, πάρε αρκετές Α4 και μολύβι. Μάθε να λύνεις κάποια προβλήματα (όπως τα παραπάνω) με το να γράφεις κώδικα σε χαρτί. Είναι φοβερό να ανακαλύπτεις πόσο δύσκολο είναι να γράφεις κώδικα χωρίς πληκτρολόγιο και IDE. Πάλι δεν καταλαβαίνω 100% τη φύση της διαδικασίας αλλά όπως και να έχει εδώ παραθέτω τα fact. Σε πολλές συνεντεύξεις θα σου ζητηθεί να γράψεις από κανονικό compile safe κώδικα μέχρι ψευδο-κώδικα. Θεωρώ οτι ένας καλός τρόπος να το συνηθίσεις είναι να το κάνεις μόνος σου στο σπίτι. Το να πας για πρώτη φορά σε τέτοια συνέντευξη και να μην το έχεις ξανάκάνει τότε θα σε δυσκολέψει. Ανάλογα το seniority της θέσεις θα σου ζητηθεί αρκετές φορές να σηκωθείς στον πίνακα και να ζωγραφίσεις διαγράμματα. Μπορεί να είναι system design, μπορεί class hierarchies μπορεί να είναι abstract system integration, πρέπει να έχεις μια άνεση να μπορείς να σταθείς στο χαρτί και στον πίνακα και να μη σε πιάσει κρύος ιδρώτας.

  2. Φρόντισε να έχεις ελεύθερο χρόνο για να κάνεις ασκήσεις (assignments). Στα πρώτα στάδια, αρκετών συνεντεύξεων θα σου δώσουν ασκήσεις για να ολοκληρώσεις μέσα σε ενα εύλογο χρονικό διάστημα. Συνήθως είναι σχετικά απλά πράγματα, πχ standard library development, ίσως μερικά παιχνίδια. Θα σου πάρουν από 1-3 μέρες. Το σημαντικό είναι οτι στο τέλος δεν πρέπει να δώσεις απλά την λύση, θα πρέπει να είναι άριστα documented, fully tested και φυσικά να κάνει αυτό που σου ζήτησαν. Άρα πρέπει να βρίσκεις χρόνο για να τις κάνεις και να τις παραδίδεις στην ώρα τους. Από τις πιο ωραίες διαδικασίες θα έλεγα, μιας και πραγματικά χωρίς ιδιαίτερο άγχος μπορείς να δείξεις τι μπορείς να κάνεις και μάλιστα με το δικό σου στυλ. Δυστυχώς μερικές φορές το feedback που θα πάρεις πίσω δε θα είναι αρκετά justified, άλλες φορές ναι - οπότε είναι και στην εταιρία και στον εξεταστή πολλές φορές. Σίγουρα μια συμβουλή είναι keep it simple, documented and tested και δώστο. Μην προσπαθήσεις να χτίσεις κάτι το ιδιαίτερα πολύπλοκο ή framework heavy, άσε που τις πιο πολλές φορές σου γράφουν στην ίδια την άσκηση οτι μπορείς να χρησιμοποιήσεις μόνο core language apis και τίποτα παραπάνω.

  3. Δούλεψε με τους recruiters. Ένας από τους πιο γνωστούς τρόπους να βρεις δουλειά είναι οι recruiters, (head hunters). Ζήτα από φίλους και γνωστούς που είναι ήδη στην αγορά να σου προτείνουν 1-2 agencies που θεωρούν καλά. Θα σε βομβαρδίσουν αρκετοί, οι παραπάνω από τους μισούς θα σου πουν τα πάντα για να σου παρουσιάσουν την κάθε δουλειά σαν καλό fit για σένα, δε θα είναι όμως. Από τους 10 που μπορεί αν σε πάρουν τηλέφωνο, 2 -3 είναι αυτοί που θα καταλάβουν ποιος είσαι, τι ζητάς και που θα μπορούσες να είσαι καλό fit. Από την άλλη όταν είσαι στην αρχή θα αναγκαστείς και να πάρεις προτάσεις και από ανθρώπους που σε βλέπουν 100% σαν fee, δηλαδή τον στέλνω σε οποιαδήποτε δουλειά απλά για να πάρω εγώ το fee μου. Αυτό ίσως σε οδηγήσει και σε άκυρες συνεντεύξεις, ή κάποιες που δε θα πάνε καλά, αλλά σίγουρα είναι μια εμπειρία.

  4. Πήγαινε σε συνεντεύξεις. Όσο πιο πολλές κάνεις ιδιαίτερα με εταιρίες που ίσως δε σε ενδιαφέρουν τόση εμπειρία μαζεύεις είναι καλύτερα για εκείνες που σε ενδιαφέρουν. Μάθε να διαχειρίζεσαι το άγχος, θα υπάρχουν στιγμές που θα κολλήσεις, θα υπάρχουν στιγμές που θα ντραπείς που δεν μπορείς να απαντήσεις κάτι που σου ακούγεται τόσο απλό, θα υπάρχουν στιγμές που θα σου κάνουν επίθεση παραπάνω από ένας εξεταστής και θα σε εκνευρίζουν με follow up ερωτήσεις ή θα έχουν κολλήσει σε κάτι. Θα υπάρξουν στιγμές που μετά από 2 και 3 ώρες συνέντευξης θα έρθει ένας ευγενικός κύριος και θα σου πεί οτι δεν τους κάνεις, άλλοτε θα σου πει ακατανόητες βλακείες, άλλες φορές θα σου δώσουν εξήγηση (δεν έλυσε το πρόβλημα γρήγορα, δε μας αρέσει το πως δούλεψες στο pair programming, είσαι αρκετά μόνο-θεματικός σε τεχνολογίες κτλ). Στην αρχή θα σε πειράξει, θα σου δημιουργηθεί ένας κόμπος στο στομάχι, μπορεί να απογοητευτείς, αλλά θα πρέπει να το ξεπερνάς και να περνάς στην επόμενη συνέντευξη. Κάτι σαν τους αγώνες του NBA για ομάδα, συνέχεια test, χωρίς break.

Επί της διαδικασίας.

Ομολογώ δε βρήκα τα πάντα _λογικά'. Πολλές συνεντεύξεις που έκανα ήταν κάτι σαν τρίωρες εξετάσεις που σε περιμένουν με το όπλο. Όσο πιο πολλά λεφτά και senior θέση τόσο πιο πολλές πιθανότητες να δυσκολευτείς. Από την άλλη μου αρέσει δε μου αρέσει είναι φανερό οτι το σύστημα στο Λονδίνο, έχει βρει έναν τρόπο να κάνει speed check σε μεγάλο αριθμό developers. δε γίνεται να το αλλάξεις οπότε το πιο πιο λογικό είναι να προετοιμαστείς. Δεν είναι ακατόρθωτο αλλά όσο πιο ενημερωμένος είσαι τόσο πιοεύκολογίνεται - αυτός είναι και ο σκοπό τους post. Δεν είναι όλες οι εταιρίες ίδιες, ούτε όλες οι συνεντεύξεις γεμάτες παγίδες και time bomb tests, αλλά θα τις δεις και αυτές και ίσως σου χαλάσουν στην αρχή την ψυχολογία ή σε κάνουν να αμφιβάλεις για τον εαυτό σου. Είναι εντελώς ανθρώπινο και κατανοητό, μόνο οι βλάκες ή πάρλες ( όπως ονομάζω) νομίζουν οτι τα ξέρουν όλα και μπορούν να κάνουν τα πάντα. Σε κάποιες περιπτώσεις, εξαιτίας εμπειρίας μπορούσα να αφουγκραστώ ή να δω οτι τελικά η πραγματική δουλειά ή project δεν ήταν σε τόσο elite επίπεδο όσο η συνέντευξη. Δηλαδή τα πράγματα ήταν πιο normal, τσαπατσούλικα ή λίγο ανοργάνωτα απ΄ τι στα λένε ή σε ρωτάνε. Είναι και αυτό μέρος της διαδικασίας.

Overall

Ήταν μια ιδιαίτερη περίοδος. Διάβασα(με) αρκετά, αγχωθήκαμε, είχαμε καλές και άσχημες στιγμές. Στις άσχημες στιγμές μαθαίνεις να συνεχίζεις και να μην το βάζεις κάτω. Μαθαίνεις να λες στον εαυτό σου οτι δεν είσαι πάντα τόσο καλός όσο νομίζεις ή παράλληλα μπορεί να υπήρχε κάποιος καλύτερος από εσένα. Πάντα υπάρχει κάτι να μάθεις και στην αποτυχία. Όπως λέει και ένας σοφός φίλος μαθαίνεις να κρατάς το cool σου και να μη σε παίρνει από κάτω.

Στις καλές στιγμές τις νιώθεις νικητής και νιώθεις περήφανος που πέρασες 2-3 rounds και τελικά κάποιος σου κάνει πρόταση για να σε εντάξει στην εταιρία του/ομάδα. Νιώθεις οτι έπαιξες στα trial της μεγάλης κατηγορίας και είσαι μέσα, θα σου κάνουν μεταγραφή, ανεβαίνεις στο πρωτάθλημα με τους καλύτερους.

Υπήρξαν περιπτώσεις που πέρασα συνεντεύξεις και είχα πολύ καλό feedback και πρόταση, όταν δεν το περίμενα, και υπήρξαν περιπτώσεις που έλεγα εντάξει εδώ θα είμαι άνετος τους έχω - και τελικά δεν τα πήγα καλά. Θυμήθηκα τόσα πολλά βασικά πράγματα που είχα ξεχάσει, και στο τέλος αυτής της διαδικασίας τεχνικά βγαίνω πολύ πιο έτοιμος και διαβασμένος όσο ποτέ άλλοτε τα περασμένα χρόνια. Ναι κύριοι μέχρι και 2 βιβλία για Spring κατανάλωσα σε μερικές εβδομάδες, γιατί έπρεπε να το κάνω. Σίγουρα την επόμενη φορά που θα ξανάβγώ σ τη γύρα θα είμαι με ακόμα λιγότερο άγχος και πιο καλά προετοιμασμένος. Το μόνο σίγουρο είναι οτι θα το ξανάκάνω, μιας και το Λονδίνο είναι η χαρά του προγραμματιστή, οτι ζητήσει η ψυχή σου, οτι έχεις ονειρευτεί από business, τεχνολογίες, μικρές μεγάλες ευκαιρίες, είναι εκεί για σένα, σε περιμένουν αρκεί να πας με σοβαρότητα, διαβασμένος και μετρημένος - και να βρεις την επόμενη σου ευκαιρία που θα σε φέρει πιο κοντά στα τεχνολογικά και επαγγελματικά σου θέλω. Για αυτά τα θέλω και τα όνειρα, αποφασίσαμε να ξοβολευτούμε από εδώ που είμαστε και να κάνουμε μια προσπάθεια να τα κυνηγήσουμε, τώρα λίγο πιο σοφοί και πιο έμπειροι από πριν.

Εύχομαι σε όλους καλή επιτυχία και τα λέμε πια στο Λονδίνο. Ίσως ένα μικρό παράρτημα του JHUG να πρέπει να ξεκινήσει εκεί, με έμφαση στην κατανάλωση σοβαρού καφέ!

update

Μια ενδιαφέρουσα τριλογία - από έναν σοφό φίλο για τη διαδικασία.

Επίσης ένα σχετικό άρθρο και εδώ από τη σοφία (digital era).