Πώς πήγα από τον αρχάριο στον προγραμματιστή λογισμικού - και πώς μπορείτε επίσης

Πριν από δύο χρόνια, ήμουν ακριβώς εκεί που είσαι σήμερα.

Ήθελα να γίνω επαγγελματίας προγραμματιστής. Αλλά δεν είχα ιδέα πώς να το κάνω.

Δεν είχα πτυχίο κολεγίου, καμία προηγούμενη εμπειρία κωδικοποίησης και μου άρεσε στα μαθηματικά.

Και υπήρχε η γοητευτική αμφιβολία: Μπορεί κάποιος σαν εμένα να γίνει προγραμματιστής;

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

Συχνά ρωτώ πώς το έκανα.

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

1. Δημιουργήστε τον χάρτη πορείας σας

Το μεγαλύτερο λάθος που επιδιώκουν οι προγραμματιστές είναι ότι δεν έχουν κανένα σχέδιο.

Χωρίς χάρτη πορείας.

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

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

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

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

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

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

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

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

Αποφασίστε προσεκτικά ποια διαδρομή είναι η καλύτερη για εσάς.

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

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

Μόλις επιλέξετε τη διαδρομή σας, συμπληρώστε τον χάρτη πορείας σας απαντώντας σε αυτές τις ερωτήσεις:

  • Θέλω να γίνω προγραμματιστής full-stack, frontend ή backend; Αποφασίστε τι θα εστιάσετε στη μάθηση. Μάθετε ποια γλώσσα και βιβλιοθήκες θα πρέπει να μάθετε.
  • Πόσες ώρες την εβδομάδα θα σπουδάσω και πότε; Χαράξτε τις ώρες της εβδομάδας, θα εξασκηθείτε στην κωδικοποίηση και δεν θα χάσετε ποτέ αυτές τις ώρες μελέτης.
  • Ποια ημερομηνία θα αρχίσω να υποβάλω αίτηση για θέσεις εργασίας ; Ορίστε μια προθεσμία για το πότε θα κάνετε αίτηση.
  • Τι θα τα παρατήσω ; Είναι φοβερό να φαντάζεστε ότι εργάζεστε ως προγραμματιστής, αλλά ο δρόμος για να φτάσετε εκεί σημαίνει νωρίς το πρωί, τα σαββατοκύριακα και αργά το βράδυ της σκληρής δουλειάς.

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

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

Δεν υπάρχει.

Μόνο εσείς μπορείτε να κάνετε τον εαυτό σας προγραμματιστή.

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

Τι ήταν αυτό?

2. Εκπαιδεύστε την εστίασή σας.

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

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

Επειδή πολλοί από εμάς δεν γνωρίζουμε τη ζωτική ικανότητα που απαιτείται για να μάθουν και να μάθουν γλώσσες προγραμματισμού. Αυτή η ικανότητα ονομάζεται Deep Work που διαδίδεται από τον επιστήμονα υπολογιστών, Cal Newport.

TL; DR : Για να μάθετε σκληρά πράγματα, πρέπει να εστιάσετε έντονα για μεγάλα χρονικά διαστήματα. Αυτό είναι βαθιά δουλειά.

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

Σκεφτείτε για την τελευταία φορά που στάσατε στη γραμμή. Πόσος χρόνος παρέλθει προτού αισθανθείτε υποχρεωμένοι να τραβήξετε το τηλέφωνό σας και να ελέγξετε τις ειδοποιήσεις; Ή τι γίνεται με αυτό το άρθρο - έχετε αλλάξει σε νέα καρτέλα κατά την ανάγνωση; Έχετε ελέγξει τον λογαριασμό σας στο Twitter; ;

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

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

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

Χωρίς να ασκώ βαθιά δουλειά, δεν θα είμαι προγραμματιστής σήμερα.

3. Κυνηγήστε την περιέργειά σας.

Όταν οι περισσότεροι άνθρωποι αρχίζουν να μαθαίνουν να κωδικοποιούν, ξεκινούν ένα πρόγραμμα σπουδών για πράγματα που «υποτίθεται» να γνωρίζουν.

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

Για να μάθετε να κωδικοποιείτε, βρείτε ένα πράγμα για τον προγραμματισμό που σας ενδιαφέρει. Βρείτε το πράγμα που σας κάνει να είστε αρκετά περίεργοι για να το μάθετε αυτό το Σάββατο βράδυ - γιατί θα πρέπει να το κάνετε κατά καιρούς.

Υπάρχει μια γραμμή από την Alice In Wonderland που έχει κολλήσει μαζί μου:

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

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

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

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

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

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

Ακόμα κι αν είστε πλήρης αρχάριος.

Ξεκίνα τώρα.

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