Η απλούστερη και πιο εύκολη γλώσσα προγραμματισμού. Ποιες είναι οι πιο εύκολες γλώσσες προγραμματισμού για εκμάθηση;

  • Μετάφραση

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

Κάποιος, έχοντας διαβάσει τις ιστοσελίδες και τα ιστολόγια των μεγαλύτερων εταιρειών υπολογιστών, υποστηρίζει ως εξής: «Στη Silicon Valley, κάθε λέξη είναι Java. Νομίζω ότι αυτό χρειάζομαι». Συμβαίνει επίσης: «Haskell. Είναι στο απόγειο της δημοτικότητάς του. Είναι τρομακτικό να σκεφτόμαστε τι θα συμβεί στη συνέχεια. Σίγουρα Haskell». Και ακόμη και κάπως έτσι: «Αυτό το γοφάρι στο λογότυπο Go είναι τόσο χαριτωμένο. Θέλω να μάθω τον Go».

Μερικοί άνθρωποι, ωθούμενοι από την επιθυμία να μάθουν πώς να προγραμματίζουν, αναζητούν το εξής: «Ποια γλώσσα προγραμματισμού πρέπει να μάθω πρώτα;»

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

Με δυνατότητα κλικ:

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

Η επιλογή της πρώτης γλώσσας προγραμματισμού σας μπορεί να είναι μια διασκεδαστική εμπειρία, όπως ημι-σοβαρά κουίζ όπως "Ποιος χαρακτήρας του Κουέντιν Ταραντίνο είσαι;"

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

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

Όταν επιλέγετε την πρώτη σας γλώσσα, θα πρέπει να αξιολογήσετε προσεκτικά τους ακόλουθους παράγοντες:

  • ΑΓΟΡΑ ΕΡΓΑΣΙΑΣ.
  • Μακροπρόθεσμες προοπτικές για τη γλώσσα.
  • Δυσκολία στην εκμάθηση μιας γλώσσας.
  • Τι ακριβώς μπορείτε να δημιουργήσετε στη διαδικασία της μελέτης και, δείχνοντας στους άλλους, να διατηρήσετε τα κίνητρα.
Νέες γλώσσες προγραμματισμού εμφανίζονται πολλές φορές το χρόνο. Γράφονται σχετικά άρθρα σε επιστημονικά περιοδικά και σε αυτά είναι αφιερωμένα κόμικς που βρίσκονται στο Διαδίκτυο.
Όταν πρόκειται να επιλέξετε την πρώτη σας γλώσσα προγραμματισμού, θα βρεθείτε αντιμέτωποι με μια χιονοστιβάδα επιλογών. Για να περιορίσετε λίγο την αναζήτησή σας, ακολουθεί μια ανάλυση των αναζητήσεων Google τα τελευταία 12 χρόνια που σχετίζονται με την εκμάθηση κωδικοποίησης.

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

Πριν μιλήσω για αυτές τις γλώσσες προγραμματισμού, επιτρέψτε μου να διευκρινίσω κάτι.

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

Βασικές αρχές πληροφορικής και κατάρτισης προγραμματισμού


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

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

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

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

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


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

Το οικοσύστημα JavaScript επωφελείται επίσης από σημαντικές επενδύσεις, τόσο οικονομικές όσο και σε ανθρώπινο κεφάλαιο ταλαντούχων μηχανικών, από εταιρείες όπως η Google, η Microsoft, το Facebook και το Netflix.

Για παράδειγμα, περισσότεροι από 100 προγραμματιστές έχουν συνεισφέρει στη γλώσσα προγραμματισμού ανοιχτού κώδικα TypeScript (μια βελτιωμένη, στατικά πληκτρολογημένη έκδοση του JavaScript). Πολλοί από αυτούς είναι υπάλληλοι της Microsoft και της Google που λαμβάνουν μισθούς για αυτή τη δουλειά.

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

Παράγοντας #3: Δυσκολία στην εκμάθηση μιας γλώσσας

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

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

Και παρόλο που στα εκπαιδευτικά ιδρύματα οι γλώσσες με τις οποίες αρχίζουν να διδάσκουν προγραμματισμό είναι ακόμα η Java και η C++, είναι πολύ πιο δύσκολο να τις καταλάβουμε.

Παράγοντας #4: Έργα που μπορούν να δημιουργηθούν χρησιμοποιώντας τη γνώση που αποκτήθηκε

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

Η πανταχού παρουσία της JavaScript οδήγησε τον Jeff Atwood, συνιδρυτή του Stack Overflow, να πει περίφημα: «Κάθε εφαρμογή που μπορεί να γραφτεί σε JavaScript θα καταλήξει να γράφεται σε JavaScript».

Με την πάροδο του χρόνου, αυτή η δήλωση, η οποία ονομάζεται επίσης «Νόμος του Άτγουντ», δεν έχει χάσει τη σημασία της.

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

Η Python υποφέρει από παρόμοια προβλήματα. Να τι έγραψε ο James Hague σχετικά με αυτό σε ένα άρθρο ότι έχει έρθει η ώρα να εγκαταλείψουμε την Python ως την κύρια γλώσσα που χρησιμοποιείται στη διδασκαλία του προγραμματισμού. Ο μαθητής ρωτά: «Πώς μπορώ να δώσω αυτό το παιχνίδι που έγραψα στους φίλους μου; Ή, ακόμα καλύτερα, υπάρχει κάποιος τρόπος να το καταγράψω στο τηλέφωνό μου ώστε να το δείξω σε όλους στο σχολείο χωρίς να χρειάζεται να το εγκαταστήσουν;» Ο δάσκαλος, όταν πρόκειται για Python, δεν μπορεί παρά να γκρινιάζει. Δεν μπορείτε να απαντήσετε σε αυτό με λίγα λόγια.

Αν μιλάμε για JavaScript, τότε εδώ υπάρχουν ζωντανές απαντήσεις στην παραπάνω ερώτηση. Πρόκειται για εφαρμογές που τα μέλη της κοινότητας του Free Code Camp έγραψαν στο CodePen χρησιμοποιώντας το πρόγραμμα περιήγησης.

Φυσικά, χρησιμοποιούν τα προγράμματα. Αυτά είναι κυρίως το Facebook, οι Χάρτες Google και κάποια άλλα. Δεν είναι τόσοι πολλοί από αυτούς. Ως αποτέλεσμα, η κύρια ζήτηση για προγραμματιστές εφαρμογών για κινητά συγκεντρώνεται σε λίγες μεγάλες εταιρείες.

Είναι δύσκολο να προβλεφθούν οι προοπτικές για την ανάπτυξη θέσεων εργασίας για προγραμματιστές κινητών τηλεφώνων. Ωστόσο, πολλές εργασίες που σχετίζονται με την ανάπτυξη, την υποστήριξη και τη διανομή εφαρμογών για smartphone και tablet επιλύονται πιο εύκολα χρησιμοποιώντας JavaScript. Ως αποτέλεσμα, εταιρείες όπως το Facebook και η Google παρέχουν ισχυρή υποστήριξη για τα καλύτερα εργαλεία JavaScript για την ανάπτυξη κινητών συσκευών.
Από το 2016, σχεδόν όλη η δουλειά των προγραμματιστών επικεντρώνεται σε διαδικτυακά έργα. Όλα συνδέονται κατά κάποιο τρόπο με αυτή την τεράστια πλατφόρμα, με τον Παγκόσμιο Ιστό. Και η επόμενη γενιά οικιακών συσκευών με τις οποίες μπορείτε να μιλήσετε, και αυτοκίνητα που θα παραλάβουν τα ίδια τα παιδιά σας από το σχολείο - όλα αυτά θα είναι επίσης μέρος του διαδικτύου.

Από τα παραπάνω προκύπτει ένα απλό συμπέρασμα: μάθετε JavaScript.

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

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

Μια απλή γλώσσα προγραμματισμού πρέπει να πληροί ορισμένες βασικές απαιτήσεις, όπως:

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

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

Οι πιο εύκολες γλώσσες προγραμματισμού για εκμάθηση

  • Βασικός
  • Πασκάλ

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

Αλλά πολλοί ειδικοί είναι πεπεισμένοι ότι για να κατανοήσουμε μια γλώσσα προγραμματισμού, δεν πρέπει να προχωρήσουμε αμέσως στην οπτική της εφαρμογή. Με απλά λόγια, αν θέλετε να μάθετε Pascal, τότε μάθετε το, όχι τους Delphi, μάθετε C αντί για VC++ με MFC/QT, και ούτω καθεξής.

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

Αιώνιος

Θα μπορούσε κανείς να υποστηρίξει ότι η Pascal, η C και η BASIC είναι αρχαίες γλώσσες και δεν αξίζει να αναφερθούν. Και αυτό θα ήταν λάθος, καθώς μια γλώσσα προγραμματισμού δεν έχει εποχές μόδας - χρησιμοποιούνται υπό διάφορες συνθήκες, αλλά δεν έχουν καμία σχέση με το γεγονός της «γήρανσης».

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

Ως αποτέλεσμα, μένει να συμβουλεύσουμε τους αρχάριους να μάθουν προγραμματισμό από εκδόσεις DOS όπως το Pascal και μόνο μετά να αγοράσουν το Delphi για να μεταβούν σε άνετα οπτικά περιβάλλοντα.

Είσοδος στο IT: ξεκινώντας από την αρχή ή διακόπτες

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

Από πού προέρχονται τα καυσόξυλα;

Ω, σκέφτηκες; Έτσι νομίζεις μερικές φορές; Είσαι στοχαστής. Ποιο είναι το επίθετό σου, στοχαστή;
Σπινόζα; Jean Jacques Rousseau; Μάρκος Αυρήλιος;
© Golden Calf

Είμαι στον κλάδο από το 2005, και σε αυτό το διάστημα πέρασαν πολλές ιστορίες και πεπρωμένα μπροστά στα μάτια μου. Αλλά αυτό δεν είναι το κύριο πράγμα, το γεγονός είναι ότι οι περισσότεροι νέοι (και όχι τόσο νέοι) νεοφώτιστοι που βοήθησα να δουλέψουν με επιτυχία, κάποιοι είναι ήδη στη δεύτερη ή στην τρίτη δουλειά τους. Αλλά αυτό δεν είναι το κύριο πράγμα. Είναι πολύ πολύτιμο αυτό Έχω παραδείγματα από αυτούς που δεν τα κατάφεραν. Πολύτιμο γιατί μερικές φορές το να ξέρεις τι να κάνεις είναι πολύ λιγότερο σημαντικό από το να ξέρεις τι και πώς να μην κάνουμε. Όπως όλες οι γενικεύσεις, τα ακόλουθα ισχύουν μόνο για τις συνθήκες της Ουκρανίας και, σε μικρότερο βαθμό, για τις χώρες της πρώην ΚΑΚ. Γνωρίζω ελάχιστα για τις συνθήκες εργασίας στις ΗΠΑ, οπότε για όσους θέλουν να μεταναστεύσουν, αναζητήστε άλλη πηγή πληροφοριών (για παράδειγμα, το υπέροχο podcast "America" ​​του Yakov Fain ή "SiliconValleyVoice" του Mikhail Portnov).

Κοινωνικό και ψυχολογικό πορτρέτο ενός εναλλάκτη

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

Ποιος θέλει IT; Είναι ξεκάθαρο: φοιτητές εξειδικευμένων πανεπιστημίων και switchers (κάποια λέξη που καταλαβαίνει το μάθημα) από άλλες ειδικότητες. Και οι δύο έχουν ένα πρόβλημα που δαγκώνει από την ουρά, όπως το αιώνιο φίδι Ouroboros: δεν υπάρχει εμπορική εμπειρία. Χωρίς εμπειρία δεν σε προσλαμβάνουν, χωρίς δουλειά δεν μπορείς να αποκτήσεις εμπειρία. Ωστόσο, η εκπαίδευση έχει πολλά οφέλη, επομένως οι προκλήσεις που αντιμετωπίζουν όσοι δεν την έχουν αξίζουν ξεχωριστή συζήτηση.

Μια φορά κι έναν καιρό ζούσε ένας άνθρωπος, δούλευε σε μια δουλειά μακριά από την πληροφορική, και ίσως πέτυχε, αλλά μετά συνέβη η κρίση του 2008 και η ζωή έγινε πιο δύσκολη. Μετά έγινε το Μαϊντάν του 2013, η προσάρτηση της Κριμαίας, ο πόλεμος στο Ντονμπάς, το δολάριο εκτοξεύτηκε και η ζωή έγινε πολύ δύσκολη. Και ξαφνικά ο ήρωάς μας θυμάται ότι στο κολέγιο (σχολείο/νηπιαγωγείο) ήταν καλός προγραμματιστής στο Pascal (πήρε ένα Α στις εξετάσεις/απάντησε με επιτυχία σε μια ερώτηση/ήξερε πώς να ανοίγει έναν υπολογιστή). «Εύρηκα, θα πάω στο IT, πληρώνουν πολλά και η δουλειά είναι ενδιαφέρουσα».

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

Θα τα καταφέρω;

Η μοίρα είναι μια πολύ βολική λέξη για όσους δεν παίρνουν ποτέ αποφάσεις!
© Jodie Foster

Μια φορά κι έναν καιρό, όταν ένας έμπειρος προγραμματιστής κέρδιζε λιγότερα από μια γραμματέα από ένα μετασοβιετικό ερευνητικό ινστιτούτο, ο προγραμματισμός ήταν η παρτίδα των σπασίκλων με τα τεντωμένα πουλόβερ. Αντίστοιχα απουσίαζε η τάση για «εισαγωγή στην πληροφορική». Αλλά σιγά σιγά ήρθε η εξωτερική ανάθεση στη χώρα. Τα κέρδη των ιδρυτών εταιρειών πληροφορικής ήταν υπέρογκα: οι χαμηλοί μισθοί της Ουκρανίας συνδυάστηκαν με ένα άχρηστο, αλλά ακόμα εξωτερικό, ποσοστό. Για παράδειγμα, το 2004, ένας προγραμματιστής πληρωνόταν 2 δολάρια ανά ώρα εργασίας και πούλησε αυτή την ώρα για 15. Ως εκ τούτου, άρχισαν να προσλαμβάνουν όλους όσοι μπορούσαν να γράψουν ένα πρόγραμμα "γεια του κόσμου" ως προγραμματιστές και ως δοκιμαστές - αυτοί ποιος θα μπορούσε να ανοίξει τον υπολογιστή. Η άνω του εξαπλάσια διαφορά σε εσωτερικούς και εξωτερικούς συντελεστές κάλυπτε τυχόν κόστη. Αυτή η ευλογημένη εποχή κράτησε μέχρι το 2008 περίπου. Λίγοι ήταν οι πρόθυμοι να μπουν στην πληροφορική από άλλα επαγγέλματα, γιατί τα κέρδη του προγραμματιστή, αν και είχαν αυξηθεί, δυστυχώς δεν έφτασαν σε αυτά ενός εγκαταστάτη κλιματιστικού.

Το 2008 χτύπησε η κρίση, απολύθηκαν όλοι, συμπεριλαμβανομένων των προγραμματιστών, αλλά λιγότερο από άλλους και προσλήφθηκαν για άλλες δουλειές. Κάποιος (όπως ο συγγραφέας) βρήκε δουλειά σχεδόν αμέσως μετά την απόλυση. Κάποιοι χρειάστηκαν έναν ή δύο μήνες, αλλά ακόμη και κατά τη διάρκεια της κρίσης, οι εργαζόμενοι στο πληκτρολόγιο ήταν καλοφαγωμένοι και μάλιστα αρκετά καλοφαγωμένοι. Επιπλέον, το ποσοστό έχει αυξηθεί και τελικά οι προγραμματιστές άρχισαν να κερδίζουν σοβαρά περισσότερα ακόμη και από τα πιο γεμάτα μπούστα κορίτσια από τις αντιπροσωπείες αυτοκινήτων. Κατά συνέπεια, η ροή των αιτούντων και, ως εκ τούτου, οι απαιτήσεις για αυτούς άρχισαν επίσης να αυξάνονται, και αυτή η ανάπτυξη συνεχίζεται μέχρι σήμερα. Επιπλέον, αν το 2008 έπρεπε να έχεις θεωρητικές γνώσεις για να βρεις μια επιτυχημένη δουλειά, τώρα ένας αρχάριος απαιτείται να έχει κάποιο είδος εμπειρίας. Δηλαδή για να πιάσει δουλειά ένας προγραμματιστής πρέπει να έχει εμπειρία συγγραφής πραγματικών προγραμμάτων, τουλάχιστον μικρών και μη εμπορικών. Tester - αποδεδειγμένη εμπειρία σε δοκιμές εφαρμογών.

Σχετικό άρθρο: Κάθε αρνητικό γεγονός έχει κάτι καλό μέσα του.

Βλέπουμε λοιπόν: οι απαιτήσεις έχουν αυξηθεί κατά μια τάξη μεγέθους. Τι προκύπτει από αυτό: μελέτη, μελέτη και μελέτη ξανά! Κάθε μέρα, τρεις με τέσσερις ώρες, για τουλάχιστον ένα χρόνο. Μετά από αυτό, πρέπει να αποκτήσετε εμπειρία και να γράψετε προγράμματα δωρεάν. Άρα, στην καλύτερη περίπτωση, θα περάσουν δύο χρόνια από την έναρξη της κατάρτισης έως την απασχόληση. Έχετε την ευκαιρία και το κίνητρο να εργαστείτε σκληρά για δύο χρόνια μετά τη δουλειά (στην πραγματικότητα, μισή μέρα κάθε φορά); Αν ναι, καλό, αλλά σου έχω μια έκπληξη: κανείς δεν σου εγγυάται ότι θα αντέξεις πάνω από μια εβδομάδα στην πρώτη σου δουλειά! Ένας κατώτερος, ειδικά ένας ασκούμενος, είναι η πιο ευάλωτη θέση.

Ένα άλλο σημαντικό πράγμα είναι τα αγγλικά. Οι πελάτες στην Ουκρανία είναι εντελώς ξένοι, η εγχώρια αγορά είναι νεκρή. Πιστεύετε ότι θα μάθουν Ρωσικά/Ουκρανικά για χάρη ενός ταλαντούχου, αλλά μέχρι στιγμής ελάχιστα έμπειρου ασκούμενου; Για όσους μιλούν αγγλικά, είναι, φυσικά, πιο εύκολο. Για όσους δεν το κάνουν, μαθαίνουμε. Τι ηθελες?

Αυτό οδηγεί σε ένα ανησυχητικό συμπέρασμα:

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

Σκεφτείτε προσεκτικά αν μπορείτε να το αντέξετε οικονομικά;

Για να αποφύγετε την τρέλα, η μελέτη πρέπει να γίνει το χόμπι σας.

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

Ας διώξουμε τους αποτρεπτικούς

Θα υπάρξουν κάποιοι που θα πουν: "Γεια, πήγε στον προγραμματισμό όχι λόγω της καρδιάς του, αλλά επειδή ήθελε να φάει ή: "είναι ήδη μεγάλος - πού να σπουδάσεις;" Ή: "αυτό δεν είναι για το μυαλό σας" - μην διστάσετε να τα στείλετε. Σε μεμονωμένες περιπτώσεις, αυτόκλητοι σύμβουλοι μπορούν ακόμη και να ξυλοκοπηθούν. Γιατί; Έτσι ένα μαύρο μάτι ηρεμεί πολύ πιο γρήγορα από το άδειο στομάχι! Επίσης, επειδή αυτοί οι σύμβουλοι δεν θέλουν πραγματικά να σας βοηθήσουν - απλώς ξύνουν την αίσθηση της σημασίας του εαυτού σας, και ταυτόχρονα σας σπρώχνουν σε μια λακκούβα. Το να μην έχεις χρήματα, να αρνείσαι αυτό που χρειάζεσαι όχι μόνο στον εαυτό σου αλλά και στα αγαπημένα σου πρόσωπα, να φυτέψεις ενώ είσαι ικανός για περισσότερα - αυτό είναι χυδαίο, αηδιαστικό και αηδιαστικό.

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

Από πού να ξεκινήσετε ή να επιλέξετε μια διαδρομή

Τα χρόνια μου μεγαλώνουν
θα είναι δεκαεπτά.
Πού να δουλέψω τότε;
τι να κάνω?
© Μαγιακόφσκι

Λοιπόν, διευθετήσαμε το κίνητρο: τι κάνουμε μετά;

  • Πρώτα, μαθαίνω Αγγλικά, τώρα αμέσως! Όπως έγραψα νωρίτερα, δυστυχώς, δεν υπάρχει τίποτα χωρίς αυτό στο IT!
  • Δεύτερον, ας επιλέξουμε τι θα πληρωθούμε με όμορφα πράσινα κομμάτια χαρτιού. Χρειάζεστε κάτι για να κυριαρχήσετε αρκετά γρήγορα, αλλά το πλήρωσαν επίσης καλά. Το πρώτο πράγμα που έρχεται στο μυαλό είναι η χειροκίνητη δοκιμή. Αρχικά, φαίνεται ότι δεν χρειάζεστε ειδικές γνώσεις, οι μόνες γενικές ιδιότητες είναι η προσοχή και η επιμονή. Θα μάθω τις ιδιαιτερότητες των προγραμμάτων που δοκιμάζονται στην πορεία. Θα παρακολουθήσω μαθήματα, θα τελειώσω και θα ψάξω για δουλειά. Δυστυχώς, το εξαιρετικά χαμηλό όριο εισόδου έχει παίξει ένα σκληρό αστείο με περισσότερους από έναν νεοφερμένους. Γεγονός είναι ότι μέχρι πρόσφατα, μια κενή θέση για junior tester λάμβανε έως και χίλια (!) βιογραφικά. Γιατί μέχρι πρόσφατα; Ναι, γιατί τέτοιες κενές θέσεις έχουν σταματήσει να εμφανίζονται στο δημόσιο τομέα! Οι εταιρείες προτιμούν να προσλαμβάνουν δοκιμαστές με εξειδικευμένη εκπαίδευση και μετά από δικά τους μαθήματα. Και μόλις εισαγωγικές θέσεις QA σε δύο τάξεις μεγέθουςμικρότερος αριθμός αιτούντων.

Και εδώ είναι μια άλλη συμβουλή: μην ασχολείστε με χειροκίνητους ελεγκτές!

Ωστόσο, δεν είναι καθόλου απαραίτητο να γίνεις προγραμματιστής.

Για κάποιους, αρκεί απλώς η αλλαγή κλάδου για να βασιστούν σε προηγούμενες δεξιότητες. Για παράδειγμα, αντί για λογιστής σε μια εταιρεία παραγωγής αλλαντικών, γίνετε ένας σε μια εταιρεία λογισμικού. Εάν ξέρετε πώς να συνεργάζεστε με ανθρώπους (σερβιτόρους, αεροσυνοδούς, οικοδέσποινες), έχετε μια άμεση διαδρομή προς τους υπεύθυνους γραφείου. Αν ήσουν αφεντικό - πήγαινε σε μάνατζερ, ψυχολόγος - πήγαινε σε υπαλλήλους προσλήψεων και ανθρώπινου δυναμικού. Τι γίνεται όμως αν εξακολουθείτε να θέλετε να γίνετε προγραμματιστής; Να γίνω, τι άλλο! Αλλά τι να μελετήσει, αυτό είναι το ερώτημα; Η απάντηση βρίσκεται στην επόμενη παράγραφο.

Τι και πώς να μάθετε για να γίνετε προγραμματιστής

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

Τι πρέπει να μελετήσετε για να αποκτήσετε γρήγορα την πολυαναμενόμενη δουλειά: Java, C# ή ίσως C++; Ναι, αυτές οι γλώσσες, φυσικά, είναι περιζήτητες και καλοπληρωμένες, αλλά υπάρχουν δύο προβλήματα.

Πρόβλημα πρώτο: καμία γλώσσα δεν υπάρχει μόνη της, αλλά μαζί με εργαλεία: μεταγλωττιστές ή διερμηνείς, από τους οποίους μπορεί να υπάρχουν αρκετές, βιβλιοθήκες και πλαίσια (σε αγγλικό πλαίσιο) και τυπικές προσεγγίσεις που χρησιμοποιούνται εντός του τομέα. Άρα, το θέμα είναι ότι για τις καθορισμένες γλώσσες, οποιαδήποτε από τις πιθανές ειδικότητες(πιθανόν εκτός από android) προϋποθέτει υψηλό εμπόδιο εισόδου. Με άλλα λόγια, θα πρέπει να μελετήσετε για ιδιαίτερα μεγάλο χρονικό διάστημα. Γι' αυτό, για όσους επανεκπαιδεύονται, προτείνω εξειδικεύσεις με χαμηλό χρόνο εισόδου: πρώτα απ 'όλα, προγραμματισμό front-end χρησιμοποιώντας JavaScript και σχετικές γλώσσες, μετά ανάπτυξη ιστοσελίδων σε PHP ή Python και μετά ανάπτυξη εφαρμογών για κινητές συσκευές για Android ή iOS. Αλλά είναι καλύτερο για τους μεταγωγείς να μην εμπλέκονται στην ανάπτυξη εταιρικών εφαρμογών στην πλατφόρμα JavaEE ή .NET, ειδικά στον προγραμματισμό συστημάτων, στην ανάλυση μεγάλων δεδομένων ή δεδομένων. Θα χρειαστεί πολύς χρόνος για τη μελέτη.

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

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

Εξ ου και μια ακόμη συμβουλή: πρέπει να μάθετε τεχνικές προγραμματισμού - να λύσετε προβλήματα.

Πώς να μελετήσετε

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

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

Μόνο μετά από αυτό μπορείτε να αρχίσετε να ψάχνετε για δουλειά.

Λίστα βιβλιογραφίας για εξειδίκευση προγραμματιστή στην Java για Android

  • Για μια αρχική εισαγωγή στη γλώσσα, προτείνω το βιβλίο του Jacob Fine «Προγραμματισμός Java για παιδιά, γονείς και παππούδες».
  • Αφού διαβάσετε το βιβλίο, μπορείτε να προχωρήσετε στο βιβλίο του Bruce Eckel, The Philosophy of Java. Απλώς μην πάρετε τη ρωσική έκδοση του χαρτόδετου - είναι συνοπτική και δεν υπάρχουν ασκήσεις.
  • Βρείτε είτε μια νεότερη έκδοση είτε μια αγγλική που ονομάζεται "Thinking in java". Για προβλήματα προγραμματισμού, ψάχνουμε ανόητα στο google την ερώτηση «αλγοριθμικά προβλήματα για συνεντεύξεις».
  • Είτε το βιβλίο του Uncle Jacob «Java Programming 24-Hour Trainer» ή το βιβλίο του Eckel «Thinking in java enterprise».
  • Για να κατακτήσετε τα μοτίβα σχεδίασης, πάρτε το βιβλίο του Eckel «Thinking java in patterns».

Σχετικό άρθρο: Είναι σημαντική η πρώτη εντύπωση;

Για να κυριαρχήσετε τη MySQL και το git, μπορείτε απλώς να χρησιμοποιήσετε την επίσημη τεκμηρίωση. Μετά από αυτό, μπορείτε να αρχίσετε να μελετάτε το ίδιο το Android, για παράδειγμα, χρησιμοποιώντας το βιβλίο "Android Application Development for Dummies" του Donn Felker. Μετά από αυτό, συνιστώ να γράψετε δύο ή τρία παιχνίδια και να τα δημοσιεύσετε στον ιστότοπο. Τότε μπορείς να ψάξεις για δουλειά.

Πώς να βρείτε έναν μέντορα και να μην βαρεθείτε

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

Πρέπει να κάνετε ερωτήσεις με αυτή τη σειρά:

  1. Στην αρχή προσπαθούμε να βρούμε μια λύση μόνοι μας.
  2. Εάν δεν λειτουργεί, ας πάμε στο Google.
  3. Εάν μετά από αυτό δεν λειτουργήσει, κάνουμε την ερώτηση στο Stackowerflow ή σε άλλο φόρουμ, αλλά καλύτερα σε πολλά ταυτόχρονα. Έχοντας κάνει μια ερώτηση, το διαβάσαμε ίσως, αφού το διαβάσετε, θα καταλάβετε πώς να λύσετε το πρόβλημα.
  4. Και μόνο αν τα σημεία 1-3 δεν έδιναν αποτέλεσμα, απευθυνόμαστε σε μέντορα.

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

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

Τι άλλο κάνει; Αν ρωτήσετε έναν μέντορα και σας δώσει συμβουλές, πάρτε το! Εάν δεν το χρησιμοποιείτε, μην γκρινιάζετε ότι δεν λειτουργεί. Έχω έναν φίλο που ρωτάει περίπου μία φορά το μήνα: «Τι πρέπει να κάνω;» Της λέω αναλυτικά, έρχεται ένα μήνα μετά, χωρίς να εκπληρώσει απολύτως τίποτα από τις συστάσεις μου! Ο κύκλος επαναλαμβάνεται ξανά. Περιττό να πούμε ότι τα αποτελέσματά του είναι λυπηρά;

Μαθήματα, μπορούν να βοηθήσουν;

Εξαρτάται από το τι περιμένεις από αυτούς. Αν είναι εισαγωγή στην ειδικότητα, σίγουρα ναι. Τα καλά μαθήματα θα σας βοηθήσουν σε αυτό. Αλλά, τονίζω, είναι καλοί. Πώς να τα βρείτε; Ας σκεφτούμε: πόσα κερδίζει ανά ώρα ένας προγραμματιστής ικανός να διδάσκει μαθήματα; Αυτό είναι σωστό, από 20 δολάρια, το πιθανότερο είναι υψηλότερο. Ας πούμε ότι υπάρχουν 10 άτομα σε μια ομάδα. Διαλέξεις δύο φορές την εβδομάδα + πρακτικές εργασίες, οι οποίες χρειάζονται επίσης χρόνο για έλεγχο. Δηλαδή, μια εβδομάδα ο δάσκαλος πρέπει να αφιερώσει τουλάχιστον 15 ώρες στην εκπαίδευσή σας, το πιο πιθανό είναι 20 (εξάλλου, πρέπει να προετοιμαστείτε για διαλέξεις) 20 * 20 = 400 δολάρια - ο ελάχιστος μισθός ενός λέκτορα. Προσθέτουμε τουλάχιστον 200 ακόμη (ενοικίαση δωματίου, αναλώσιμα, κέρδος γραφείου). Υπάρχουν τέσσερις εβδομάδες σε ένα μήνα. Δηλαδή, το κόστος ενός μήνα καλών μαθημάτων για μια ομάδα 10 ατόμων θα πρέπει να κοστίζει 600 * 4+ ουρά (200) = 2600 δολάρια. Διαιρέστε με το 10 και παίρνουμε 260 $ ανά άτομο το μήνα. Με την τρέχουσα συναλλαγματική ισοτιμία των τριάντα δολαρίων, αυτό θα ήταν 7.800 hryvnia. Είναι σαφές?

Μπορούν τα καλά μαθήματα να είναι φθηνότερα; Ναι, εάν ο έλεγχος των εργασιών είναι αυτοματοποιημένος (όπως σε ένα μάθημα) και υπάρχουν πολλοί μαθητές, τότε θα είναι δυνατή η λήψη του τόμου. Ή, αν ο κύριος στόχος των μαθημάτων δεν είναι να βγάλουν λεφτά, αλλά PR. Μπορώ να προτείνω τα μαθήματα του Yakov Fain ή αυτά που διεξάγονται από τους ιδιοκτήτες του ιστότοπου javascript.ru.

Αλλά προσέξτε: κανένα μάθημα δεν θα σας δώσει όλη τη γνώση. Ένα άλλο δελεασμό είναι η υπόσχεση για 100% απασχόληση.

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

Πώς να βρείτε την πρώτη σας δουλειά και τι να κάνετε εκεί

Η πιο σκληρή δουλειά είναι η απουσία του!
© Ruben Bagautdinov

Λοιπόν, οι αρχικές πληροφορίες από τον προγραμματισμό έχουν ληφθεί. Και εσείς, εμπνευσμένοι, αρχίζετε να στέλνετε το βιογραφικό σας. Πιστεύετε ότι η Google και η Microsoft θα παλέψουν για εσάς με τις γροθιές τους; Δείτε την κατάσταση από την πλευρά του εργοδότη: έρχεται κάποιος άγνωστος, έχει νομική εκπαίδευση, είναι 27 ετών, τα αγγλικά του είναι μέτρια. Λέει ότι κάτι ξέρει, ειλικρινά, ειλικρινά, αλλά δυστυχώς, δεν υπάρχουν στοιχεία για αυτό. Θα τον προσλάβετε;

Τί μπορεί να γίνει? Σωστά, δείξε απόδειξη ότι μπορείς να κάνεις κάτι! Και πώς να το κάνουμε; Δημιουργώ εργαζόμενοςένα έργο άξιο προσοχής, ή καλύτερα δύο ή τρία, και να το διαθέσετε ελεύθερα. Αφήστε τους ανθρώπους να δουν το προϊόν πρόσωπο με πρόσωπο. Νομίζεις ότι σε πήραν μετά από αυτό; Όχι, δεν το πήραν, αλλά χωρίς ολοκληρωμένα έργα δεν υπάρχει καμία πιθανότητα. Γεγονός είναι ότι κάτι μπορεί να μην αρέσει στον εργοδότη, αφού είσαι ακόμα αρχάριος. Πώς να είσαι; Αυτό είναι σωστό, πρέπει να ζητήσετε πολύ ευγενικά να επισημάνετε τις ελλείψεις, να τους ευχαριστήσετε για τον χρόνο τους και να εξαλείψετε αυτές τις ελλείψεις. Στη συνέχεια, πηγαίνετε στον επόμενο εργοδότη και ούτω καθεξής μέχρι να πάρετε την επιθυμητή θέση. Και φυσικά, ταυτόχρονα, διαβάστε τη θεωρία έτσι ώστε να πετάξει από τα δόντια σας. Ωστόσο, ένα έργο στην παραγωγή εξακολουθεί να είναι το πιο σημαντικό πράγμα - είναι ο οδηγός σας στον κόσμο των μεγάλων χρημάτων.

Γνώριζα παιδιά που μάθαιναν παράλληλα μοτίβα προγραμματισμού, προσανατολισμένα στις πτυχές, δυναμικά και ποιος ξέρει τι άλλο, αλλά ήταν μπερδεμένοι: «γιατί δεν με προσλαμβάνουν;» Ναι, γιατί δεν υπάρχει τίποτα να δείξουμε! Μπορείτε να μιλήσετε για πολλή ώρα για την ποιότητα του κώδικα, αλλά ποιο είναι το νόημα αν δεν έχετε κάνει ποτέ καμία πραγματική δουλειά;

Πλεονεκτήματα διακόπτη

Έχοντας αποφοιτήσει από ένα πανεπιστήμιο με πτυχίο στην ανάλυση λογισμικού ή συστημάτων, ξοδέψατε πέντε χρόνια μελετώντας με πλήρες ωράριο αυτό που κατακτούσατε κατά τη διάρκεια της χρονιάς τα βράδια, σε fits και starts. Σπούδασα υπό την καθοδήγηση έμπειρων μεντόρων, έκανα εργαστηριακές εργασίες και ολοκλήρωσα πρακτική άσκηση. Φυσικά, ξέρει καλύτερα τη θεωρία! Μπορείτε, φυσικά, να πείτε ότι γνωρίζουμε αυτά τα μετασοβιετικά πανεπιστήμια, αλλά σας διαβεβαιώνω: ένας φοιτητής του KPI ή του Πανεπιστημίου Shevchenko που θέλει να αποκτήσει γνώση, ναι, έχει αυτή την ευκαιρία. Υπάρχουν όμως πλεονεκτήματα και για εσάς. Γεγονός είναι ότι ένας απόφοιτος πανεπιστημίου είναι ένας «νεαρός ishsho» που συχνά (αλλά όχι όλοι) έχει τον άνεμο στο κεφάλι του. Αυτό δεν οφείλεται στο ότι είναι κακός, απλώς ότι η εμπειρία ζωής έρχεται με την ηλικία.

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

Δεν ξέρεις πώς, καλά... πώς έζησες μέχρι την ηλικία σου;

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

Τι να κάνετε εάν ληφθεί μια προσφορά

Περιττό να πούμε ότι το ύψος του μισθού στην πρώτη σας δουλειά δεν είναι το πιο σημαντικό πράγμα; Ναι, θα πρέπει να παρέχει τουλάχιστον τις ελάχιστες ανάγκες, να νοικιάσετε ένα κρεβάτι, να ντυθείτε μεταχειρισμένα και να τρώτε περισσότερα από απλά ζυμαρικά, αλλά μην προσπαθήσετε καν να κάνετε παζάρια! Υπάρχουν πολλοί juniors στην αγορά, κάποιοι με εξειδικευμένη εκπαίδευση. Και έγραψα παραπάνω ότι έχουν πλεονεκτήματα. Να γιατί, Λάβαμε μια προσφορά - γνέφουμε χαρούμενα και πηγαίνουμε στη δουλειά. Παρεμπιπτόντως, πρέπει ακόμα να το αντέξετε. Για έναν κατώτερο ασκούμενο, η απόλυση δεν είναι ασυνήθιστη, ακόμα κι αν είναι ιδανικός για το επίπεδό του. Απλώς ένας τέτοιος άνθρωπος έχει σχετικά μικρή χρησιμότητα, κάνει την πιο απλή δουλειά. Έχει τελειώσει αυτό ή απλά ο πελάτης αποφάσισε να μειώσει το μέγεθος: «Σε ευχαριστώ, αγαπητέ φίλε, θα σε θυμόμαστε». Τι να κάνω? Οπως είπα, προετοιμαστείτε για οικονομική αστάθεια και μην αποθαρρύνεστε - αναζητήστε γρήγορα άλλη δουλειά. Ένας άλλος καλός τρόπος: κάντε διακοπές από την τρέχουσα δουλειά σας και πηγαίνετε για πρακτική/δοκιμαστική περίοδο. Και μόνο αν ολοκληρωθεί επιτυχώς, παρατήστε την παλιά σας δουλειά. Είναι δύσκολο, συμφωνώ, αλλά μπορεί να έχετε την οικογένεια και άλλους στενούς ανθρώπους στα χέρια σας - δεν μπορείτε να διακινδυνεύσετε το μέλλον τους.

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

Πέρυσι, το IEEE Spectrum κατέταξε τις πιο δημοφιλείς γλώσσες προγραμματισμού με βάση τουλάχιστον δέκα πηγές που είχαν ερευνηθεί προηγουμένως, συμπεριλαμβανομένων:

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

ντο

Η C είναι μια από τις πρώτες γλώσσες προγραμματισμού που έγινε δημοφιλής και χρησιμοποιείται ακόμα και σήμερα. Δημιουργήθηκε από τον Dennis Ritchie το 1972 στα Bell Labs, και έγινε η βάση για άλλες γλώσσες: C++, Java, C#, JavaScript και Perl. Η πρωτοποριακή γλώσσα είναι η πρώτη που διδάσκεται στα πανεπιστήμια επειδή βοηθά στην καλύτερη κατανόηση άλλων στοιχείων των τεχνολογιών προγραμματισμού.

Πολλοί δημοφιλείς ιστότοποι θα σας βοηθήσουν να μάθετε C δωρεάν.

Ιάβα

Η Java συνδυάζει C και C++ και είναι η πιο ισχυρή γλώσσα για τη δημιουργία εφαρμογών πολλαπλών πλατφορμών. Η Java, που γιόρτασε πρόσφατα την 20η επέτειό της, ήταν η πρώτη πλήρως αντικειμενοστρεφής γλώσσα προγραμματισμού που λειτουργεί με την αρχή «Γράψε μια φορά, εκτέλεσε οπουδήποτε». Μπορείτε να μεταγλωττίσετε τον πηγαίο κώδικα Java μία φορά και να τον εκτελέσετε σε οποιαδήποτε συσκευή με εγκατεστημένο το JVM (Java Virtual Machine)

ΝΤΟ#

Η C# είναι μέλος της οικογένειας γλωσσών προγραμματισμού της Microsoft. Δημιουργήθηκε το 2000 ως μέρος του πλαισίου Microsoft .Net. Κατά τη χρήση, η C# είναι πολύ κοντά στην Java, αν και η C# λέγεται ότι συνδυάζει την αξιοπιστία της C++ με τις προηγμένες δυνατότητες της Java.

Μπορείτε να δημιουργήσετε σχεδόν όλους τους τύπους εφαρμογών για τις περισσότερες πλατφόρμες σε C#.

PHP

Κατά τη γνώμη μου, η PHP είναι η πιο ισχυρή γλώσσα διακομιστή που μπορεί να κάνει πολλά με μια μικρή ποσότητα κώδικα. Η PHP χρησιμοποιείται ευρέως για τη δημιουργία CMS όπως WordPress, Joomla, Drupal κ.λπ., καθώς και για τη δημιουργία δυναμικών και στατικών ιστοσελίδων. Η PHP είναι μια γλώσσα ανοιχτού κώδικα. Αυτό σημαίνει ότι υπάρχουν χιλιάδες μονάδες που μπορούν να τροποποιηθούν για να εκτελέσουν τις επιθυμητές λειτουργίες.

Στόχος Γ

Ο Brad Cox και ο Tom Love δημιούργησαν το Objective C το 1983, επιδιώκοντας να διορθώσουν τις ελλείψεις του C. Αυτή η γλώσσα είναι η κύρια γλώσσα για τη δημιουργία εφαρμογών για iOS και OS X. Οι προγραμματιστές Objective C ασχολούνται κυρίως με την ανάπτυξη αυτών των εξαιρετικά δημοφιλών πλατφορμών, κάτι που εγγυάται συνάφεια με την αγορά εργασίας και υψηλούς μισθούς.

Ιστότοποι για εκμάθηση Στόχος Γ: Udemy, Mac Developer Library, Cocoa Dev Central, Mobile Tuts+.

JavaScript

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

Ιστότοποι για εκμάθηση JavaScript: Codecademy, Code School, Treehouse, Learn-JS.org.

Perl

Ο Larry Wall δημιούργησε την Perl το 1987 για να απλοποιήσει την επεξεργασία των αναφορών. Η Perl (ανεπίσημα γνωστή ως Practical Extraction and Report Language) είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου, γενικής χρήσης που μπορεί να αντικαταστήσει οποιαδήποτε άλλη γλώσσα. Αυτή η οικογένεια περιλαμβάνει τα Perl 5 και Perl 6. Οι γλώσσες Perl δανείζονται χαρακτηριστικά από τα C, sh, AWK και sed.

Σκάλα

Η Scala είναι μια λειτουργική, αντικειμενοστραφή γλώσσα προγραμματισμού που δημιουργήθηκε από τον Martin Odersky στις αρχές της δεκαετίας του 2000. Παρέχει υποστήριξη για λειτουργικό προγραμματισμό και είναι μια έντονα στατικά πληκτρολογημένη γλώσσα. Ο κώδικας Scala μεταγλωττίζεται σε bytecode Java και μπορεί να εκτελεστεί στην εικονική μηχανή Java.

Από τους αρχάριους προγραμματιστές ακούγεται ως εξής: "Με ποια γλώσσα να ξεκινήσω;" Φέραμε τους ειδικούς μας να απαντήσουν.

Όλα εξαρτώνται από την περιοχή που θα επιλέξετε. Εάν θέλετε να εργαστείτε απευθείας με το υλικό, να γράψετε προγράμματα οδήγησης και διάφορες εφαρμογές που απαιτούν μέγιστη απόδοση, τότε μόνο η C ή η C++ θα το κάνει. Αν ο στόχος σας είναι εφαρμογές για κινητά τηλέφωνα, αξίζει να μάθετε Java ή Objective C, C#. Οι διακομιστές Ιστού απαιτούν go, python και php. για εφαρμογές Ιστού - JavaScript.

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

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

Προώθηση υποβιβασμού

Η Python είναι αρκετά κατάλληλη για την εκμάθηση γενικών εννοιών προγραμματισμού. Είναι μια πολύ δημοφιλής γλώσσα, έχει πολλές βιβλιοθήκες, η σύνταξη είναι ευανάγνωστη και ο κώδικας αρκετά προσεγμένος. Τα κύρια πλεονεκτήματα της Python για αρχάριους είναι ότι είναι αρκετά κοινό και εύκολο στην εκμάθηση. Μπορείτε εύκολα να γράψετε τόσο εφαρμογές web όσο και κανονικές επιτραπέζιους υπολογιστές σε αυτό. Ανάλογα με τη θεματική περιοχή, είναι απαραίτητο να επιλέξετε μια αντικειμενοστρεφή γλώσσα. Για παράδειγμα, εάν κάνετε προγραμματισμό συστημάτων, τότε η C++ είναι η καλύτερη. Εάν αναπτύσσετε μια εταιρική εφαρμογή (συστήματα πληροφοριών επιχειρήσεων), τότε αυτή είναι η C# ή η Java.

Προώθηση υποβιβασμού

Κάποτε ξεκίνησα με τον Fortran και τον Pascal, αφού τους είχα στο ινστιτούτο. Μετά υπήρχε C/C++, Visual Basic Script, PHP και Visual Basic, μετά C# και μετά λίγο F#.

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

Προώθηση υποβιβασμού

Νομίζω ότι το καλύτερο μέρος για να ξεκινήσετε να μαθαίνετε είναι η JavaScript. Χάρη στα προγράμματα περιήγησης ιστού, αυτή η γλώσσα προγραμματισμού είναι το de facto πρότυπο για τη δημιουργία διαδικτυακών εφαρμογών, έναν από τους ταχύτερα αναπτυσσόμενους τομείς ανάπτυξης. Υπάρχει επίσης ένα εξαιρετικό δωρεάν βιβλίο σε αυτό, το "Eloquent JavaScript", μεταφρασμένο στα ρωσικά.

Προώθηση υποβιβασμού

Όλα εξαρτώνται από το πρόβλημα που θέλετε να λύσετε. Ωστόσο, εάν αυτή είναι η πρώτη σας γλώσσα, θα συνιστούσα μια ισχυρή γλώσσα γενικού σκοπού (C++, Java, .NET): δεν θα χαθείτε μαζί τους σε καμία περίπτωση και θα είναι εύκολο να μεταβείτε σε οποιαδήποτε άλλη. Ένας άλλος ενδιαφέρον τρόπος για να καταλάβετε ποια γλώσσα να μελετήσετε είναι να μεταβείτε στο GitHub, να αναζητήσετε ένα θέμα που σας ενδιαφέρει και να δείτε σε τι γράφουν άλλοι προγραμματιστές.

Προώθηση υποβιβασμού

, ευαγγελιστής τεχνολογίας για τη Microsoft, αναπληρωτής καθηγητής στο MIPT, MAI, δάσκαλος στην παιδική κατασκήνωση JUNIO-R

Όλα εξαρτώνται από την ηλικία. Εάν αποφασίσετε να μάθετε πραγματικά να προγραμματίζετε από μικρή ηλικία και δεν είστε ακόμη 12 ετών, είναι προτιμότερο να ξεκινήσετε με απλές γλώσσες γραφικών, όπως π.χ. Kodu Game Labή Γρατσουνιά. Πιστεύεται ότι οι παραδοσιακές γλώσσες προγραμματισμού πρέπει να κατακτηθούν μετά τις 12. Από τις παραδοσιακές γλώσσες, η C# ήταν πάντα κοντά μου - έχει ένα καλό περιβάλλον ανάπτυξης και μπορείτε να προγραμματίσετε τα πάντα: από παιχνίδια έως Ενότητα, σε ιστότοπους σε ASP .NET ή ηλεκτρονικά. Για να μάθετε, μπορείτε να παρακολουθήσετε εκπαιδευτικά βίντεο ή να διαβάσετε ένα βιβλίο C# για μαθητές.

Προώθηση υποβιβασμού

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

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

Ο προγραμματισμός έχει γίνει mainstream, μια τάση της μόδας σε παγκόσμια κλίμακα. Και οι μεγάλοι και οι νέοι ανακαλύπτουν αυτόν τον υπέροχο κόσμο. Στις ΗΠΑ έχει φτάσει στο σημείο ο ίδιος ο Πρόεδρος μιλάεισε όλη τη χώρα σχετικά με τα οφέλη της εκμάθησης προγραμματισμού.

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

Πρέπει να μάθω προγραμματισμό συγκεκριμένα;

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

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

Ο Greg Pollack, ιδρυτής της εκπαιδευτικής υπηρεσίας Code School, λέει τα εξής:

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

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

Είμαι πολύ μεγάλος για αυτό;

Από πού να ξεκινήσετε

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

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

Δεν ξέρω τίποτα

Στην περίπτωση που δεν υπάρχει καθόλου εμπειρία, είναι καλύτερο να ξεκινήσετε με κάτι πιο κατανοητό. Καλά παραδείγματα θα ήταν τα βασικά στοιχεία του HTML και του CSS.

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

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

Θέλω να φτιάξω όμορφες διαδικτυακές εφαρμογές

Σε αυτή την περίπτωση, θα χρειαστείτε γνώση JavaScript. Είναι αυτό που σας επιτρέπει να κάνετε τις ιστοσελίδες πιο όμορφες, πιο εντυπωσιακές και πιο λειτουργικές. Υπάρχουν πολλά δημοφιλή (και συμβατά) πλαίσια ανάπτυξης JavaScript, όπως το Ember, το Angular και το Backbone.

Η JavaScript υπάρχει εδώ και 20 χρόνια και δεν πάει πουθενά. Ουσιαστικά, η κυριαρχία της στον χώρο μόνο αυξάνεται. Λόγω της δημοτικότητάς του, η JavaScript είναι ένα εξαιρετικό μέρος για εκμάθηση. Για παράδειγμα, ο Pollack, που αναφέρθηκε παραπάνω, αποκαλεί τα μαθήματα αυτής της γλώσσας τα πιο δημοφιλή στο Code School.

Αν κάνετε οτιδήποτε στον ιστό, τότε πρέπει να μάθετε JavaScript.

Θέλω να φτιάξω γρήγορα πρωτότυπα

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

Η Ruby έχει ένα ανεπτυγμένο οικοσύστημα και μια από τις πιο ενεργές και ανταποκρινόμενες κοινότητες. Αναπτύχθηκε το 1995, η γλώσσα άρχισε να κερδίζει ιδιαίτερη δημοτικότητα το 2003, όταν εμφανίστηκε το πλαίσιο Rails. Χάρη σε αυτό, οι διαδικασίες δημιουργίας ιστοσελίδων και διαδικτυακών εφαρμογών έχουν απλοποιηθεί σημαντικά.

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

Για μια γρήγορη αρχή, μπορούμε να προτείνουμε το Learn Python The Hard Way ή την ενότητα Ruby στο Code Academy.

Θέλω να φτιάξω μια εφαρμογή Android

Η ανάπτυξη εφαρμογών Android γίνεται κυρίως σε Java. Η ομορφιά είναι ότι τόσο τα Windows όσο και το OS X είναι κατάλληλα για την εργασία σας και τα δύο λειτουργικά συστήματα σας επιτρέπουν να εγκαταστήσετε περιβάλλοντα ανάπτυξης για Android. Ένα άλλο πλεονέκτημα είναι η δυνατότητα δοκιμής των εφαρμογών σας με προϋπολογισμό, επειδή υπάρχουν πολλά φθηνά smartphone και tablet Android στην αγορά.

Ένα άλλο πολύ σημαντικό σημείο: αν πριν από μερικά χρόνια η βασική πλατφόρμα ήταν το iOS, τώρα οι προγραμματιστές προτιμούν να ξεκινούν με το Android.

Μπορείτε να βρείτε ένα δωρεάν εισαγωγικό μάθημα προγραμματισμού Java στο Udacity. Όταν μάθετε τα βασικά, η πορεία σας θα βρίσκεται στον επίσημο ιστότοπο των προγραμματιστών Android. Εδώ μπορείτε να μάθετε τις περιπλοκές της δημιουργίας του πρώτου σας έργου Android.

Θέλω να φτιάξω μια εφαρμογή iOS

Η ανάπτυξη για iOS είναι πολύ πιο απαιτητική σε εργαλεία. Εκτός από τη γνώση του Objective-C, θα χρειαστείτε ένα Mac με OS X έκδοση 10.7 ή νεότερη, Xcode, ένα δωρεάν εργαλείο δημιουργίας εφαρμογών και ένα κιτ ανάπτυξης iOS.