Φωτογραφία από τον John Schnobrich

Πώς να μάθουν τον προγραμματισμό

Θυμάστε το 5% αυτού που ακούτε σε μια διάλεξη και περίπου το 10% αυτού που διαβάζετε. Εάν έχετε οπτικές και ακουστικές εισόδους, θυμάστε περισσότερο, ας πούμε 20% και εάν έχετε μια επίδειξη μπορείτε να φτάσετε μέχρι και 30%. Πρόκειται για το μέγιστο ποσοστό διατήρησης για παθητική μάθηση.

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

Τα επόμενα βήματα είναι η πρακτική άσκηση, όπου θυμάστε περίπου το 75% αυτού που εξασκείτε.

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

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

Μπορείτε να μάθετε το 95% αυτού που διδάσκετε στους άλλους!

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

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

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

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

Χρειάζεται πειθαρχία, εστίαση και σωστή νοοτροπία για να επιτευχθεί το 100%, αλλά μόλις το κάνετε, τα αποτελέσματα είναι δεκαπλάσια.

Πώς να μάθουν τον προγραμματισμό

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

1. Προσωπικά έργα

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

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

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

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

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

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

Έτσι, η συμβουλή μου είναι αυτή: επιλέξτε κάτι που θέλετε να κάνετε για μεγάλο χρονικό διάστημα, βρείτε μια γλώσσα / πλατφόρμα που θέλετε να χρησιμοποιήσετε και προχωρήστε, κάντε το. Θα μπορούσε να είναι κάτι απλό, σαν ένα παιχνίδι ζωής που θέλω να εφαρμόσω σε HTML / JS, ή κάτι πιο περίπλοκο αν χρειαστεί. Ναι, είναι χρονοβόρα, αλλά έτσι βλέπει το Netflix.

2. Ηλεκτρονικοί πόροι

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

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

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

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

Ο ελέφαντας στο δωμάτιο εδώ είναι, φυσικά, Stackoverflow η οποία είναι μια καλή πηγή όταν σπάει κάτι. Εδώ, έχω μια μόνο συμβουλή: χρησιμοποιήστε την, δείτε πώς οι άλλοι λύνουν το πρόβλημα, στη συνέχεια γράψτε τη λύση μόνοι σας. Μην αντιγράφετε-επικολλήστε τον κώδικα επειδή θα έχετε αυτό που ονομάζεται "code-spaghetti" και πιθανότατα θα το μετανιώσετε.

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

3. Μαθήματα και στρατόπεδα

Έχω μικτά συναισθήματα εδώ και κυρίως προειδοποιήσεις. Ναι, μπορείτε σίγουρα να πληρώσετε για ένα μάθημα, είτε online είτε offline, μπορείτε να συμμετέχετε σε ένα στρατόπεδο εκκίνησης, εργαστήριο και ούτω καθεξής. Είναι πολύ αποτελεσματικές αν υπάρχει κάτι συγκεκριμένο που θέλετε να μάθετε. Όπως είπα και πριν, εάν ξοδεύετε ενέργεια σε κάτι, μεγαλώνει (αυτό είναι κάτι που έμαθα από τον Colin Whitfield και είναι ένα από αυτά που έχουν πολύ νόημα, απλώς ότι δεν το σκεφτήκατε πριν).

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

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

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

Το πιο κοντινό πράγμα που είδα ότι αυτό το είδος δουλειάς ήταν ένα μάθημα επανεκπαίδευσης που δημιουργήθηκε από ένα πανεπιστήμιο και μια ιδιωτική επιχείρηση, η οποία χρειάστηκε 2 χρόνια!

Ως τελική σκέψη, χρησιμοποιήστε το σε μικρές δόσεις.

4. Πανεπιστημιακό πτυχίο

Αυτό είναι δύσκολο και είμαι προφανώς προκατειλημμένο, αλλά επιτρέψτε μου να σας πω αυτό:

Ένα πανεπιστημιακό πτυχίο δεν είναι υποχρεωτικό, αλλά σίγουρα βοηθάει.

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

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

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

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

5. Πρακτική άσκηση

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

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

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

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

  1. Κάντε μια λίστα στο LinkedIn με τις εταιρείες που νομίζετε ότι είναι κατάλληλες, διαβάστε τις online κριτικές από τους υπάρχοντες και πρώην υπαλλήλους και στείλτε τους βιογραφικό σας με ένα σαφές μήνυμα που διευκρινίζει ότι ενδιαφέρεστε για μια θέση πρακτικής άσκησης. Αυτό δεν διαφέρει από οποιαδήποτε συνήθη συνέντευξη. Οι περισσότερες εταιρείες θα παρουσιάσουν προσφορές σε ασκούμενους που έκαναν καλή δουλειά κατά τη διάρκεια της πρακτικής άσκησης, οπότε προσπαθήστε να μάθετε και να αποδώσετε αξία στην ομάδα σας.
  2. Ως pro tip, πάρτε το βιογραφικό σας, τυπώστε το και χτυπήστε στην πόρτα του. Ζητήστε έναν διευθυντή HR και παραδώστε το βιογραφικό σας προσωπικά. Αυτό θα προσθέσει επιπλέον βαθμούς για τις πιθανότητές σας να επιλεγούν. Ποτέ μην υποτιμάτε τη δύναμη της εμφάνισης.
  3. Υπάρχει πάντα μια τεχνική συνέντευξη. Προετοιμαστείτε για αυτό σχολαστικά, υπάρχουν αφιερωμένες ιστοσελίδες και μαθήματα που μπορούν να σας βοηθήσουν πολύ. Το τμήμα αυτό θα είναι τόσο δύσκολο όσο και η υψηλότερη κατάταξη της εταιρείας.

(Μπόνους) Διδασκαλία άλλων

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

Αυτό που εννοώ είναι ότι μπορείτε να κάνετε τα εξής:

  • Να συγκροτεί ομάδες εργασίας με τους συναδέλφους σας όταν ετοιμάζονται για ένα τεστ ή απλά να κάνουν εργασίες στο σπίτι σας. Οι άνθρωποι που ζητούν από άλλους να λύσουν κάτι είναι η βάση της επιτυχίας του stackoverflow. Χρησιμοποιήστε το τοπικά και με σύνεση και θα λειτουργήσει πολύ καλά.
  • Εάν εργάζεστε ήδη και θέλετε να μάθετε κάτι νέο, κάντε μια σύντομη παρουσίαση 1 ώρας γι 'αυτό και δείξτε την στην ομάδα σας. Θα εκπλαγείτε με το πόσο χρονοβόρα είναι, αλλά θα σας βοηθήσει να καθαρίσετε τα κενά γνώσης που έχετε στο θέμα
  • Κάντε μια δημοσίευση στο blog σχετικά με το πράγμα που θέλετε να μάθετε. Είχα δυσκολίες στην προετοιμασία για την τελευταία μου εξέταση, οπότε άρχισα να γράφω αναρτήσεις για τα θέματα, γεγονός που το έκανε πολύ πιο εύκολο. Ελέγξτε αυτό για παράδειγμα.
  • Κάντε ένα βίντεο σχετικά με αυτό, εξηγώντας τις έννοιες σε όποιον μπορεί να αφορά, θα εκπλαγείτε να μάθετε πόσοι άνθρωποι μπορεί να είναι περίεργοι για τα ίδια θέματα. Στη συνέχεια, μπορείτε να το δημοσιεύσετε σε οποιοδήποτε μέσο κοινωνικής δικτύωσης που μοιράζεστε άνετα.

Σας ευχαριστώ για την προσοχή σας!