Ξεκινήστε το δρόμο σας προς τη σταδιοδρομία του προγραμματιστή Αξίζει να απαντήσει στο ερώτημα αν θα πρέπει να έχετε προγραμματισμού σε γενικές γραμμές; Αυτή η ερώτηση δεν ισχύει για όσους μαθαίνουν ή τις σπουδές τους για την απόκτηση πτυχίου κοντά στον προγραμματισμό. Αν είστε στο σχολείο μαθηματικά ας παρά τις ανθρωπιστικές επιστήμες, αν θέλετε να περάσετε πολύ χρόνο στον υπολογιστή, αν θέλετε να μάθετε κάτι νέο, τότε θα προσεγγίσει τον προγραμματισμό.
Πού να ξεκινήσετε
Υπάρχουν διάφορες επιλογές για την ανάπτυξη γεγονότων, με αποτέλεσμα ένα άτομο να γίνει προγραμματιστής. Οι πρώτοι – οι γονείς-προγραμματιστές, που δίδαξαν τα παιδιά τους τα πάντα. Τέτοια παιδιά δεν χρειάζεται καν να πάνε στο πανεπιστήμιο. Η δεύτερη επιλογή είναι το μοντέρνο επάγγελμα του προγραμματιστή. Μετά το σχολείο ήταν απαραίτητο να επιλέξει πού να πάει για σπουδές και επέλεξε την μοντέρνα κατεύθυνση της πληροφορικής, όπως μου άρεσε. Και η τελευταία επιλογή είναι ένα χόμπι που μετατράπηκε σε δουλειά.
Αν δεν συμβεί τίποτα από τα παραπάνω, έχετε τέσσερις επιλογές:
- Αυτο-εκπαίδευση. Αυτή η επιλογή μπορεί να χρησιμοποιηθεί μόνος ή σε συνδυασμό με άλλες μεθόδους. Το Διαδίκτυο είναι γεμάτο από ιστοτόπους, βιβλία και εφαρμογές που βοηθούν στην εκμάθηση διαφορετικών γλωσσών προγραμματισμού και τεχνολογιών. Αλλά αυτή είναι η πιο δύσκολη διαδρομή για αρχάριους.
- Πανεπιστήμιο. Εάν αποφοιτήσετε από το σχολείο και θέλετε να είστε προγραμματιστής, μεταβείτε στο πανεπιστήμιο. Αν όχι για γνώση, τότε για το φλοιό. Μπορεί να χρησιμεύσει ως επίδομα για μια δουλειά. Παρόλο που θα έχετε επίσης κάποια γνώση. Αλλά μην ξεχάσετε να συμμετάσχετε σε αυτοδιδασκαλία. Η επιλογή ενός πανεπιστημίου θα πρέπει να προσεγγίζεται με πολύ υπεύθυνο τρόπο. Μελετήστε προσεκτικά τα προγράμματα κατάρτισης και επιλέξτε τα καλύτερα τεχνικά πανεπιστήμια.
- Μέντορ. Θα είναι πολύ καλό αν βρείτε ένα άτομο που θα συμφωνήσει να σας βοηθήσει και να σας καθοδηγήσει προς τη σωστή κατεύθυνση. Θα σας πει τα κατάλληλα βιβλία και πόρους, θα ελέγξει τον κωδικό σας, θα δώσει χρήσιμες συμβουλές. Παρεμπιπτόντως, γράψαμε ήδη για έναν χρήσιμο πόρο όπου μπορείτε να βρείτε έναν μέντορα. Ο Mentor μπορεί να αναζητηθεί ανάμεσα σε γνωστούς προγραμματιστές, σε IT-hangouts και συνέδρια, σε φόρουμ στο διαδίκτυο και ούτω καθεξής.
- Ειδικά πρακτικά μαθήματα. Προσπαθήστε να κάνετε αναζήτηση στα μαθήματα της πόλης σας, όπου θα διδάξετε κάποια γλώσσα ή τεχνολογία προγραμματισμού. Ήταν ευχάριστα έκπληκτος από τον αριθμό τέτοιων μαθημάτων στο Κίεβο, συμπεριλαμβανομένων των δωρεάν και με επακόλουθη απασχόληση.
Ποια γλώσσα, τεχνολογία και κατεύθυνση πρέπει να επιλέξω;
Όταν γίνετε προγραμματιστής, σε ένα ή δύο χρόνια θα έχετε τη δυνατότητα να επιλέξετε οποιαδήποτε γλώσσα θέλετε. Αλλά όταν επιλέγετε την πρώτη γλώσσα προγραμματισμού, ένας αρχάριος πρέπει να εξετάσει τα ακόλουθα κριτήρια:
- Διαθεσιμότητα κενών θέσεων στην αγορά. Ο απώτερος στόχος αυτής της πορείας είναι να βρεθεί μια δουλειά ως προγραμματιστής. Και θα είναι δύσκολο να το κάνετε, εάν κανείς στην αγορά εργασίας δεν αναζητά προγραμματιστές στη γλώσσα προγραμματισμού σας. Ελέγξτε τις τοποθεσίες με ανοιχτές θέσεις εργασίας, δείτε ποιος ψάχνει περισσότερο, γράψτε μια ντουζίνα γλώσσες. Και πηγαίνετε στο επόμενο κριτήριο.
- Χαμηλό επίπεδο εισόδου. Αν πρέπει να περάσετε πολύ χρόνο στη μελέτη της γλώσσας, μπορεί να σας αποθαρρύνει από την επιθυμία να προγραμματίσετε καθόλου. Διαβάστε τις γλώσσες που επιλέξατε παραπάνω. Περιηγηθείτε στη βιβλιογραφία που θα χρειαστεί να διαβάσετε για να μάθετε αυτές τις γλώσσες. Και επιλέξτε εκείνες για τις οποίες γράφουν ότι είναι ελαφρύ, ή που θεωρήσατε ότι ήταν εύκολο. Τέτοιες γλώσσες μπορεί να είναι PHP, Ruby, Python.
- Kayf από τη διαδικασία. Αν δεν σας αρέσει να γράφετε κώδικα στην επιλεγμένη γλώσσα, δεν θα απολαύσετε αυτή τη διαδικασία, από την εργασία και τη ζωή. Θέλετε; Κάντε τη σωστή επιλογή.
Επίσης, θα πρέπει να αποφασίσετε για την κατεύθυνση του προγραμματισμού. Mobile, επιφάνεια εργασίας, παιχνίδια, web, προγραμματισμός χαμηλού επιπέδου και ούτω καθεξής. Οι πιο δημοφιλείς και σχετικά ελαφριές βιομηχανίες είναι οι web development, οι κινητοί υπολογιστές και οι υπολογιστές-πελάτες. Κάτω από κάθε κατεύθυνση, μια γλώσσα μπορεί να προσεγγίσει και η άλλη δεν μπορεί να προσεγγίσει καθόλου. Δηλαδή, όταν επιλέγετε μια γλώσσα προγραμματισμού, αξίζει επίσης να ξεκινήσετε από αυτόν τον παράγοντα.
Σε κάθε περίπτωση, μελετήστε την τεχνολογία ιστού. Αυτή είναι η γλώσσα σήμανσης HTML, τα στυλ CSS και JavaScript που θα κάνουν τη σελίδα σας δυναμική. Στο επόμενο στάδιο, μάθετε τη γλώσσα του διακομιστή (Python, PHP, Ruby και άλλα) και είναι κατάλληλη για τα πλαίσια ιστού. Μελετήστε τις βάσεις δεδομένων: στην σχεδόν κενή θέση κάθε προγραμματιστή, αυτό αναφέρεται.
Πώς να πάρετε μια αρχική εμπειρία
Χωρίς εμπειρία, δεν θα πάρετε δουλειά. Χωρίς εργασία, δεν θα έχετε εμπειρία. Ένας φαύλος κύκλος της πραγματικής ζωής. Αλλά είναι εντάξει, θα βγούμε από αυτό.
Πρώτον, μην περιμένετε μέχρι να διαβάσετε όλα τα βιβλία στην επιλεγμένη γλώσσα προγραμματισμού. Αρχίστε να γράφετε τις πρώτες γραμμές κώδικα μετά το δεύτερο κεφάλαιο του βιβλίου. Κάνετε όλες τις εργασίες από βιβλία, παραδείγματα εκτύπωσης, να τα καταλάβετε. Συμπληρώστε παραδείγματα και αναθέσεις από βιβλία με τις ιδέες σας. Δημιουργήστε τις εργασίες σας για το υλικό που καλύπτετε. Επίλυση αυτών των προβλημάτων.
Δεύτερον, πρέπει να βρείτε τα πρώτα σας έργα. Αυτή είναι ίσως η πιο δύσκολη επιλογή, αλλά η δουλειά. Θα πρέπει να αναζητήσετε παραγγελίες, να τις εκπληρώσετε, να ασχοληθείτε με την πληρωμή. Για έναν αρχάριο, αυτό είναι πολύ δύσκολο, αλλά τότε όλες οι άλλες επιλογές θα φαίνονται σαν μια μάταιη υπόθεση. Ολοκληρωμένα έργα μπορούν να καταγραφούν στην εμπειρία και να δείξουν τον μελλοντικό εργοδότη σας. Τα πραγματικά έργα είναι ένα μεγάλο πλεονέκτημα στο βιογραφικό σας.
Αν γνωρίζετε αγγλικά, εγγραφείτε καλύτερα στις ανταλλαγές αγγλικής γλώσσας. Η αγορά υπάρχει περισσότερο. Εάν δεν ξέρετε αγγλικά, διδάξτε το. Εν τω μεταξύ, μπορείτε να χρησιμοποιήσετε ανταλλαγές ανεξάρτητων από τη Ρωσία. Ψάξτε για μικρά έργα που ταιριάζουν με το επίπεδο γνώσης ή ακριβώς πάνω από αυτό. Υποβάλετε αίτηση για δώδεκα από αυτές τις εργασίες. Και ετοιμαστείτε να πάρετε μια θάλασσα αποτυχιών. Αλλά αν σκοτωθούν μία ή δύο εφαρμογές, θα έχετε την ευκαιρία να αποκτήσετε μια πραγματική εμπειρία.
Μια άλλη καλή επιλογή για να αποκτήσετε πραγματική εμπειρία είναι η ανοιχτή πηγή. Τέτοια έργα χρειάζονται πάντα νέους ανθρώπους, ακόμα και αρχάριους. Μπορείτε να αναζητήσετε σφάλματα στο έργο ή να κοιτάξετε στον εντοπισμό σφαλμάτων και να προτείνετε μεθόδους για τη λύση τους. Βρείτε τέτοια έργα εύκολα στο GitHub ή άλλες υπηρεσίες για φιλοξενία κώδικα. Μη διστάσετε να κάνετε ερωτήσεις εκεί.
Η τέταρτη επιλογή για να αποκτήσετε εμπειρία είναι να βοηθήσετε οικείους προγραμματιστές. Ζητήστε τους να σας δώσουν μικρά και απλά καθήκοντα. Αν κάτι δεν λειτουργεί, θα έχετε πάντα κάποιον που να στραφεί. Και ταυτόχρονα θα συμμετάσχετε σε ένα πραγματικό έργο.
Αυτός ο τελευταίος τρόπος – τα δικά τους έργα, διάφοροι hakatons ή δουλεύουν σε συνεργασία. Είναι δύσκολο να ξεκινήσετε τα δικά σας έργα, είναι καλύτερα να αναζητήσετε γνωστούς ή φίλους.
Γιατί να επιλέξετε Python
Ας μιλήσουμε λίγο περισσότερο για την επιλογή της πρώτης γλώσσας προγραμματισμού. Η πρώτη γλώσσα θα πρέπει να είναι απλή και δημοφιλής στην αγορά. Αυτή η γλώσσα είναι Python. Σας συνιστώ να το επιλέξετε ως την πρώτη γλώσσα προγραμματισμού σας.
Ο κώδικας στην Python είναι αναγνώσιμος. Δεν χρειάζεται καν να είστε προγραμματιστής για να καταλάβετε γενικά τι συμβαίνει στο πρόγραμμα. Λόγω της απλής σύνταξης της Python, θα χρειαστείτε λιγότερο χρόνο για να γράψετε ένα πρόγραμμα από, για παράδειγμα, Java. Μια τεράστια βάση βιβλιοθήκης που θα σας εξοικονομήσει πολλή δύναμη, νεύρα και χρόνο. Η Python είναι μια γλώσσα υψηλού επιπέδου. Έτσι, δεν χρειάζεται να σκεφτείτε πολλά για τα κύτταρα μνήμης και τι να τοποθετήσετε εκεί. Η Python είναι μια γλώσσα ευρείας χρήσης. Και είναι τόσο απλό που ακόμη και τα παιδιά μπορούν να το μάθουν.
Για λόγους δικαιοσύνης αξίζει να αναφέρουμε και άλλες γλώσσες προγραμματισμού. Java μπορεί να είναι μια καλή επιλογή για έναν αρχάριο. Αυτή η γλώσσα είναι πιο δημοφιλής από την Python, αλλά και λίγο πιο περίπλοκη. Αλλά τα εργαλεία για την ανάπτυξη είναι πολύ καλύτερα επεξεργασμένα. Απλά συγκρίνετε το Eclipse και το IDLE. Μετά την Java, θα είναι πιο εύκολο για εσάς να μεταβείτε στην εργασία με γλώσσες προγραμματισμού χαμηλού επιπέδου.
PHP – Μια άλλη πολύ δημοφιλής γλώσσα. Και, μου φαίνεται, είναι ακόμη πιο απλό από την Python. Είναι πολύ εύκολο να βρείτε έναν μέντορα ή μια λύση σε κάποιο πρόβλημα στο φόρουμ. Όλα επειδή στον κόσμο υπάρχει ένας τεράστιος αριθμός προγραμματιστών PHP διαφορετικών επιπέδων. Στην PHP, δεν υπάρχει κανονική εισαγωγή, υπάρχουν πολλοί τρόποι επίλυσης του ίδιου προβλήματος. Και αυτό περιπλέκει την εκπαίδευση. Και η PHP είναι μόνο για τον ιστό.
Γλώσσες Γ και C # είναι πολύ δύσκολο για έναν αρχάριο. Ruby – μια καλή επιλογή ως δεύτερη γλώσσα, αλλά όχι η πρώτη. JavaScript – μια πολύ απλή γλώσσα, αλλά δεν θα σας διδάξει κάτι καλό. Και το καθήκον της πρώτης γλώσσας προγραμματισμού σας διδάσκει ακόμα κάτι σωστό, να ρωτήσετε κάποια λογική.
Είναι το αγγλικό σημαντικό;
Σημαντικό! Δεν το ξέρεις; Διδάξτε. Ξέρετε; Τέλεια. Μάθετε να διαβάζετε, να γράφετε, να ακούτε και να μιλούν αγγλικά Εστίαση στην τεχνική βιβλιογραφία. Ακούστε τα podcast αγγλικής γλώσσας. Διαβάστε τα μαθήματα προγραμματισμού της αγγλικής γλώσσας.
Τι πρέπει να γνωρίζετε, εκτός από τη γλώσσα προγραμματισμού
Φυσικά, εκτός από τη γλώσσα προγραμματισμού και τα αγγλικά, πρέπει να ξέρετε κάτι άλλο. Αλλά αυτό εξαρτάται από την κατεύθυνση που επιλέγετε. Ένας προγραμματιστής ιστού πρέπει να γνωρίζει HTML, CSS, JavaScript. Ο προγραμματιστής επιφάνειας εργασίας διδάσκει το API του λειτουργικού συστήματος και διάφορα πλαίσια. Ο προγραμματιστής εφαρμογών για κινητά διδάσκει πλαίσια Android, iOS ή Windows Phone.
Ο καθένας πρέπει να μάθει τους αλγορίθμους. Προσπαθήστε να περάσετε ένα μάθημα στο Coursera ή να βρείτε ένα κατάλληλο βιβλίο για τον εαυτό σας σε αλγόριθμους. Επιπλέον, πρέπει να γνωρίζετε μία από τις βάσεις δεδομένων, τα πρότυπα προγραμματισμού, τις δομές δεδομένων. Αξίζει επίσης να γνωρίσετε τα αποθετήρια κώδικα. Τουλάχιστον ένα. Η γνώση των συστημάτων ελέγχου έκδοσης είναι υποχρεωτική. Επιλέξτε Git, είναι το πιο δημοφιλές. Πρέπει να γνωρίζετε τα εργαλεία με τα οποία συνεργάζεστε, το λειτουργικό σύστημα και το περιβάλλον ανάπτυξης. Και η κύρια δεξιότητα του προγραμματιστή είναι να είναι σε θέση να google. Χωρίς αυτό δεν θα ζήσετε.
Πρόσφατα βήματα
Πρέπει να ετοιμάσετε ένα βιογραφικό σημείωμα. Όχι μόνο μια περίληψη, αλλά ένα καλό βιογραφικό σημείωμα. Δεν είναι απαραίτητο να γράφετε περιττές πληροφορίες, αλλά δεν χρειάζεται να παραμείνετε σιωπηλοί για τις ικανότητές σας. Αφού προσκαλέσετε σε μια συνέντευξη, πρέπει να προετοιμαστείτε για αυτό. Περπατήστε μέσα από το υλικό που περιλαμβάνεται στο βιογραφικό σας σημείωμα. Πρέπει να είστε σίγουροι για τις γνώσεις σας. Κοιτάξτε τα έργα στα οποία εργάσατε, θυμηθείτε τις τεχνολογίες που χρησιμοποιήσατε. Και προς τα εμπρός – σε ένα λαμπρό μέλλον με ένα νέο επάγγελμα ενός προγραμματιστή.