Γιατί το boot camp κωδικοποίησης διδάσκει ακόμα δύο γλώσσες προγραμματισμού ταυτόχρονα

Στην προσπάθειά μας να εκπαιδεύσουμε προγραμματιστές που είναι έτοιμοι για απασχόληση, το boot camp κωδικοποίησης αποφάσισε να διδάξει Ruby on Rails (ένα πλαίσιο back-end με βάση το Ruby) και το React (ένα πλαίσιο front-end που βασίζεται σε Javascript) δίπλα-δίπλα.

Στην αρχή, η διδασκαλία δύο γλωσσών ήταν μια πρακτική απόφαση. Οι μαθητές χρειάζονταν τόσο εκπαίδευση front-end όσο και back-end για να ικανοποιήσουν το πρότυπο μας για την πραγματική επιτυχία και την πλήρη ανάπτυξη προγραμματιστών.

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

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

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

Παρά την επιτυχία μας στη διδασκαλία του Ruby on Rails, τελικά αποφασίσαμε να ενημερώσουμε το πρόγραμμά μας και να εισαγάγουμε ένα νέο back-end πλαίσιο στο πρόγραμμα σπουδών μας. Εξετάσαμε πολλές επιλογές, αλλά τελικά η επιλογή κατέληξε σε δύο: το Django του Python ή το Node.js. του Javascript.

Τελικά είχαμε την ευκαιρία να απλοποιήσουμε το επίπεδο πρόκλησης του προγράμματός μας και να διδάξουμε μόνο το Javascript διατηρώντας ταυτόχρονα μια πρωτοποριακή εκπαίδευση.

Δεν το κάναμε.

Αντ 'αυτού, επιλέξαμε το Django του Python's.

Η ανάλυση της απασχόλησης είχε δείξει ότι η Python και το Django ήταν εξίσου πολύτιμα για τους μαθητές μας όπως το Javascript και το Node.js. Έτσι, η επιλογή του Django δεν θα έθετε σε κίνδυνο την ποιότητα. Θα ήταν πιο δύσκολο για τους μαθητές μας να μάθουν παρά εάν διδάσκαμε μόνο Javascript και χρησιμοποιούσαμε το Node.js.

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

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

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

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

1. Δίνεις προτεραιότητα στις έννοιες έναντι της σύνταξης

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

Το πιο σημαντικό είναι η ικανότητά τους να κατανοούν τις βασικές έννοιες και να κατανοούν τα συστήματα με τα οποία εργάζονται.

Η σύνταξη είναι εύκολη. Το Googling "Πώς μπορώ να γράψω ένα singleton στο Ruby" θα επιστρέψει αμέσως πολλά αποτελέσματα. Το να ξέρεις πότε να χρησιμοποιήσεις ένα singleton (αντί για μια τάξη) είναι το δύσκολο κομμάτι.

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

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

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

Για παράδειγμα, το lambdas στο Ruby δεν είχε νόημα για μένα, αλλά η ιδέα τελικά έκανε κλικ όταν είδα lambda στο Javascript. Μερικές φορές είναι απλώς θέμα να βλέπεις το ίδιο πράγμα με διαφορετικό τρόπο, και δεν θα το καταλάβεις ποτέ αν κολλήσεις σε μία μόνο γλώσσα.

2. Αυξάνετε τις ευκαιρίες εργασίας σας

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

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

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

Έχοντας τόσο Javascript όσο και Python στο βιογραφικό σας δείχνει ότι μπορείτε να γράψετε σε αυτές τις δύο γλώσσες.

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

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

3. Μπορείτε να δημιουργήσετε περισσότερα πράγματα με περισσότερες γλώσσες

Λίγες σύγχρονες εφαρμογές ιστού έχουν δημιουργηθεί με μία μόνο γλώσσα προγραμματισμού. Ορισμένες γλώσσες είναι καλύτερες σε ορισμένα πράγματα. Η Javascript κυριαρχεί στο front end. Μπορείτε επίσης να το χρησιμοποιήσετε στο πίσω μέρος σας. Ωστόσο, ανάλογα με το τι θέλετε να κάνετε, ίσως θέλετε να χρησιμοποιήσετε το Ruby ή το Java από την πλευρά του διακομιστή.

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

Πρέπει να αναλύσετε πολλά δεδομένα; Python ή R μπορεί να είναι αυτό που ψάχνετε. Θα χτίσετε γρηγορότερα και εξυπνότερα εάν καταλαβαίνετε τι κάνει κάθε γλώσσα καλά και πώς να χρησιμοποιήσετε τις γλώσσες για να ολοκληρώσετε τις εργασίες που πρέπει να κάνετε.

4. Η προοπτική σας βοηθά να αποκτήσετε αυτοπεποίθηση και να μεγαλώσετε

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

Και αυτός είναι ο μεγάλος προγραμματισμός - η ικανότητα αξιολόγησης ενός προβλήματος και εύρεσης λύσης. Η βούληση και η αυτοπεποίθηση να προχωρήσουμε σε αυτές τις αναπόφευκτες στιγμές «Δεν έχω ιδέα τι να κάνω στη συνέχεια» είναι το κλειδί.

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

5. Θέλουμε δύο γλώσσες bootcamps ως στάνταρ

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

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