Πώς πήρα την πρακτική άσκηση στο Shopify

Η σεζόν συνέντευξης για τα καλοκαιρινά πρακτικά του 2018 τελείωσε. Μετά από πάνω από ένα μήνα συνεντεύξεων και δοκιμών σε πολλές εταιρείες, θα συμμετάσχω στο Shopify ως Back-end Developer Intern.

Σε αυτό το άρθρο, θέλω να σας καθοδηγήσω στη διαδικασία υποβολής αίτησης, προετοιμασίας και συνέντευξης στο Shopify. Θέλω επίσης να μοιραστώ μαζί σας μερικές συμβουλές που χρησιμοποιώ όταν υποβάλω αίτηση και παίρνω συνέντευξη για θέσεις εργασίας.

Γρήγορη εισαγωγή

Σήμερα είμαι προπτυχιακός φοιτητής στο Πανεπιστήμιο Concordia στο Μόντρεαλ του Καναδά. Τελειώνω το τρίτο έτος της BEng μου στη Μηχανική Λογισμικού.

Είμαι επίσης μέρος του προγράμματος COOP, το οποίο απαιτεί να ολοκληρώσω τρία πρακτικά σε όλο το πτυχίο μου. Οι δύο πρώτες πρακτικές μου ήταν στο Ubisoft και το Vigilant.

Η τελευταία μου πρακτική άσκηση θα γίνει αυτό το καλοκαίρι και θα δουλεύω στο Shopify στο Μόντρεαλ.

Τι είναι το Shopify;

Με απλά λόγια, η πλατφόρμα του Shopify επιτρέπει σε επιχειρήσεις και ιδιώτες να πωλούν εύκολα εμπορεύματα στο διαδίκτυο.

Το Shopify σας καθοδηγεί στη διαδικασία δημιουργίας ενός καταστήματος, διαχείρισης του αποθέματός σας, αποδοχής διαφόρων μεθόδων πληρωμής και αποστολής. Υπάρχει ακόμη και ένα σημείο πώλησης (POS) για χρήση στο κατάστημα!

Όσο εργάζονται στο Shopify, έχουν κερδίσει το Best Place to Work στο Glassdoor στον Καναδά 2017. Είναι επίσης γνωστό ότι έχουν λαμπρούς ανθρώπους στον αντίστοιχο κλάδο τους.

Η διαδικασία αίτησης

Το Shopify έχει μια μοναδική διαδικασία πρόσληψης για ασκούμενους, και αυτό είναι ξεκάθαρο ξεκινώντας από τη διαδικασία υποβολής αιτήσεων.

Για να υποβάλω την αίτησή μου, έπρεπε να ολοκληρώσω τρεις εργασίες.

1. Δημιουργία καταστήματος Shopify

Η πρώτη εργασία ήταν να δημιουργήσετε ένα φανταστικό κατάστημα Shopify. Ήταν ένας τρόπος να εξοικειωθώ με την πλατφόρμα και να καταλάβω τι περνούν οι έμποροι για να δημιουργήσουν ένα ηλεκτρονικό κατάστημα.

Δημιούργησα ένα κατάστημα ιαπωνικών γλυκών και αρτοσκευασμάτων. Ήθελα να φτιάξω κάτι που ήταν λίγο πιο πρωτότυπο από ένα τυπικό κατάστημα μόδας, ομορφιάς ή ηλεκτρονικών ειδών.

Νομίζω ότι το μυστικό για αυτό το βήμα είναι να δημιουργήσετε μια φανταστική ιστορία γύρω από το κατάστημά σας. Στη συνέχεια, ο σχεδιασμός του καταστήματος και το απόθεμά του θα έρθουν φυσικά.

2. Ολοκλήρωση της τεχνικής πρόκλησης

Η θέση Back-end Developer Intern είχε μια τεχνική πρόκληση που σχετίζεται με αυτήν.

Η πρόκληση ήταν να δημιουργηθεί ένας επικυρωτής για μια δομή δεδομένων γραφήματος. Αποφάσισα να χρησιμοποιήσω την Python για να το κάνω.

Μου άρεσε πολύ πώς συνδέθηκε η πρόκληση με την πλατφόρμα Shopify (ή τουλάχιστον φαινόταν να είναι), αντί να είναι ένα αλγόριθμο πρόβλημα χωρίς νόημα.

Πιστεύω ότι για αυτό το μέρος, είναι εξαιρετικά σημαντικό να κάνουμε μια απλή λύση. Δεδομένου ότι υπάρχουν πολλοί τρόποι επίλυσης του προβλήματος, είναι επίσης ζωτικής σημασίας να κάνετε τη λύση σας διαισθητική και καλά τεκμηριωμένη . Έκανα μεγάλη χρήση του Python docstrings για να το πετύχω αυτό.

Τέλος, μην προχωρήσετε περισσότερο από τις απαιτήσεις του προβλήματος εάν σημαίνει να κάνετε τη λύση σας πιο περίπλοκη. Θα σε βλάψει μόνο.

3. Απάντηση στις ερωτήσεις της αίτησης

Το τελευταίο βήμα της διαδικασίας αίτησης ήταν η απάντηση σε μερικές ερωτήσεις.

Έγραψα για το είδος της εργασίας που θα ήθελα να κάνω κατά τη διάρκεια της πρακτικής άσκησης καθώς και για το πώς ήταν η εμπειρία μου σε όλη τη διαδικασία υποβολής αιτήσεων. Έγραψα επίσης μια ιδέα για το Hack Days (τριμηνιαίο hackathon του Shopify).

Έβαλα πολλή προσπάθεια για να απαντήσω σε αυτές τις ερωτήσεις. Όπως με οποιαδήποτε εφαρμογή, το ποσό της προσπάθειας που καταβάλλετε θα δείξει σαφώς πόσο ενδιαφέρεστε να εργαστείτε εκεί.

Είναι επίσης σημαντικό να είσαι ειλικρινής για αυτό που γράφεις και για να δείξεις το πάθος σου μέσα από τις απαντήσεις σου.

Για την ιδέα του Hack Days, προσπαθήστε να σκεφτείτε κάτι που θα μπορούσε να βελτιώσει τη ζωή σας στην εργασία κατά τη διάρκεια των προηγούμενων πρακτικών και των εμπειριών σας. Σκεφτείτε άλλες πτυχές εκτός από την ίδια την εργασία. Κάντε το διασκεδαστικό!

Η διαδικασία συνέντευξης

Αφού περίμενα μερικές εβδομάδες, έλαβα ένα e-mail για να ξεκινήσω τη διαδικασία συνέντευξης!

Η διαδικασία της συνέντευξής μου χωρίστηκε σε δύο μέρη: μια βιντεοκλήση με μια ιστορία ζωής και μια τεχνική συνέντευξη.

Η ιστορία της ζωής

Η βιντεοκλήση της ιστορίας της ζωής μου διήρκεσε περίπου 45 λεπτά και με έναν στρατολογητή από την ομάδα ταλέντου.

Από την κατανόησή μου, ο σκοπός της ιστορίας ζωής είναι να σας γνωρίζει ο στρατολόγος σε πιο προσωπικό επίπεδο. Θέλουν να μάθουν τι δεν λέει το βιογραφικό σας. Μίλησα για θέματα όπως τα ταξίδια μου, τα ενδιαφέροντα, τα χόμπι, οι προηγούμενες εμπειρίες (τίποτα τεχνικό) και πώς ανέπτυξα το πάθος μου για προγραμματισμό.

Αυτό ήταν ένα από τα αγαπημένα μου μέρη της διαδικασίας. Ήταν πολύ απλό και έμοιαζε να συναντάς κάποιον νέο και να μοιράζεσαι τη ζωή σου!

Ενώ δεν υπήρχε τίποτα για προετοιμασία σε αυτό το μέρος της διαδικασίας συνέντευξης, έκανα μια λίστα με όλα τα διαφορετικά θέματα για τα οποία ήθελα να μιλήσω. Το κράτησα στην οθόνη μου για να βεβαιωθώ ότι δεν ξεχάσαμε να αναφέρω κάτι που έκρινα σημαντικό.

Νομίζω ότι τα πιο σημαντικά στοιχεία κατά τη διάρκεια της ιστορίας της ζωής είναι να είμαι ειλικρινής , να μένεις περιστασιακοί και να γνωρίζεις πραγματικά την ιστορία της ζωής σου . Δείτε το ως συνομιλία!

Τεχνική επιτόπου

Μερικές εβδομάδες αργότερα, έλαβα ένα e-mail για να προγραμματίσω τη συνέντευξή μου. Θα χωριζόταν σε δύο μέρη: μια προσωπική ανάλυση έργου και ένα τεχνικό πρόβλημα. Θα έπαιρνα συνέντευξη από δύο προγραμματιστές.

Για το πρώτο μέρος, χρειάστηκε να φέρω ένα έργο στο οποίο έκανα σημαντική δουλειά.

Εκείνη την εποχή, σχεδίαζα να ξεκινήσω ένα έργο για να διορθώσω ένα πρόβλημα που αντιμετώπιζα στην καθημερινή μου ζωή: να ξοδεύω πάρα πολλά χρήματα για φαγητό από εστιατόρια.

Ήθελα να δημιουργήσω μια εφαρμογή Alexa στο Amazon Echo που να γνωρίζει τα συστατικά που έχω αυτήν τη στιγμή και προτείνει συνταγές με βάση αυτό που έχω στο απόθεμα. Ήταν η τέλεια ευκαιρία να χτυπήσετε δύο πουλιά με μία πέτρα.

Ωστόσο, ήθελα να χτυπήσω και ένα τρίτο πουλί. Θα ήθελα να μάθω Ruby on Rails για πολύ καιρό. Δεδομένου ότι η πλατφόρμα του Shopify είναι χτισμένη στο Rails, σκέφτηκα ότι θα ήταν καλή ιδέα να χρησιμοποιήσω το Rails για να φτιάξω την εφαρμογή Alexa.

Έκανα γρήγορα το μάθημα SoloLearn Ruby και έμαθα τα βασικά του Ruby on Rails από τον επίσημο Οδηγό έναρξης.

Τότε, χρησιμοποίησα τις νέες γνώσεις μου για να φτιάξω την Alexa Fridge!

Κατά τη διάρκεια αυτού του μέρους της συνέντευξης, μου ζητήθηκε να παρουσιάσω το έργο μου από κάθε άποψη. Πήρα τον κώδικα και έδειξα πώς εφάρμοσα διάφορα στοιχεία. Ερωτήθηκα επίσης για τις αποφάσεις μου για το σχεδιασμό.

Είναι αυτονόητο, αλλά πρέπει πραγματικά να γνωρίζετε το έργο σας μέσα και έξω για να μπορείτε να απαντήσετε σε οποιαδήποτε ερώτηση σχετικά με αυτό. Μπορεί να σας βοηθήσει να προετοιμάσετε κάποια τεκμηρίωση εκ των προτέρων (ειδικά διαγράμματα) για να δείξετε διαφορετικές πτυχές όπως η υποδομή σας, το σχήμα βάσης δεδομένων ή πώς λειτουργεί ένα API που χρησιμοποιήσατε.

Για παράδειγμα, έφερα αυτό το διάγραμμα για να δείξω πώς επικοινωνεί ο διακομιστής μου με το Amazon Echo:

Νομίζω ότι είναι επίσης ευεργετικό εάν μπορείτε να φέρετε ένα έργο που μπορείτε να κάνετε επίδειξη. Είναι δύσκολο να κατανοήσετε τη σημασία της εργασίας σας εάν δεν μπορείτε να δείξετε το αποτέλεσμα.

Για το δεύτερο μέρος της επιτόπιας συνέντευξής μου, έπρεπε να λύσω ένα τεχνικό πρόβλημα.

Μου είπαν προηγουμένως ότι αυτό δεν θα ήταν αλγόριθμος για να γράψω σε έναν πίνακα (ναι!). Αντ 'αυτού, ήταν ένα πρόβλημα που έπρεπε να λάβω αποφάσεις σχεδιασμού για να λύσω.

Για αυτό το μέρος, προτείνω πραγματικά να μάθετε περισσότερα σχετικά με το σχεδιασμό του συστήματος . Θα πρέπει να έχετε μια ιδέα για το πώς να οργανώσετε εφαρμογές ιστού και κινητών συσκευών, πώς να σχεδιάσετε ένα σχήμα βάσης δεδομένων, πώς να κάνετε έλεγχο ταυτότητας και ούτω καθεξής.

Μερικά από αυτά τα θέματα μαθαίνονται κατά τη διάρκεια πτυχίου Μηχανικής Λογισμικού, αλλά μερικά άλλα όχι. Συνιστώ να ελέγξετε το στρατόπεδο εκπαίδευσης Hired In Tech's System Design και το High Scalability. Και οι δύο είναι εξαιρετικές πηγές για να μάθουν για το σχεδιασμό του συστήματος και για να δουν πόσο μεγάλες εταιρείες δημιουργούν τις εφαρμογές τους. Δώστε ιδιαίτερη προσοχή στις αντισταθμίσεις που συνοδεύουν κάθε απόφαση σχεδιασμού.

Όταν εργάζεστε σε προβλήματα σχεδιασμού συστήματος, βεβαιωθείτε ότι δηλώνετε πάντα σαφώς τις υποθέσεις σας και κατανοείτε τις απαιτήσεις .

Επίσης, μην ντρέπεστε να κάνετε ερωτήσεις εάν χρειάζεται! Έχετε δύο προγραμματιστές στο δωμάτιο μαζί σας και σας επιτρέπεται να λαμβάνετε βοήθεια κατά καιρούς. Είναι εξίσου σημαντικό να κάνετε τις σωστές ερωτήσεις όπως και να τις απαντήσετε (ούτως ή άλλως έχετε το Google για αυτό).

Τέλος, σκεφτείτε πάντα δυνατά .Είναι πολύ σημαντικό για τους ερευνητές να γνωρίζουν πώς σκέφτεστε.

Προσπαθώ να σκέφτομαι όσο το δυνατόν πιο δυνατά κατά τη διάρκεια τέτοιων προβλημάτων, ακόμα κι αν η σκέψη μου είναι λάθος. Ωστόσο, εάν είναι λάθος, είναι σημαντικό να το συνειδητοποιήσω και να διορθώσω τον εαυτό μου.

Η προσφορά

Περίπου μια εβδομάδα αργότερα, η Shopify ήρθε σε επαφή με μια προσφορά και την αποδέχτηκα!

Διακοπές

Μου άρεσε πολύ η μοναδικότητα τόσο της αίτησης όσο και της διαδικασίας συνέντευξης. Μου επέτρεψε να επιδείξω κάτι περισσότερο από τις τεχνικές μου δεξιότητες!

Ακολουθεί μια σύνοψη των συμβουλών που μοιράστηκα σε όλο το άρθρο:

  • Βάλτε τον εαυτό σας στα παπούτσια ενός εμπόρου κατά τη δημιουργία του διαδικτυακού καταστήματος και βυθιστείτε στη φανταστική ιστορία τους
  • Όταν κάνετε την τεχνική πρόκληση, αναζητήστε την απλότητα και τεκμηριώστε την καλά
  • Όταν γράφετε τις απαντήσεις σας για τις ερωτήσεις της αίτησης, καταβάλλετε μεγάλη προσπάθεια, είστε ειλικρινείς και δείξτε το πάθος σας
  • Κατά τη διάρκεια της ιστορίας της ζωής, να είστε ο εαυτός σας και να γνωρίζετε την ιστορία της ζωής σας
  • Για τον ιστότοπο, φέρτε ένα έργο που γνωρίζετε καλά και μάθετε γιατί το σχεδιάσατε με τον τρόπο που το κάνατε
  • Για το τεχνικό πρόβλημα, δηλώστε τις υποθέσεις και τις απαιτήσεις σας και σκεφτείτε δυνατά

Σας ευχαριστώ που διαβάσατε το άρθρο μου!

Για περισσότερες ενημερώσεις, ακολουθήστε με στο Twitter.