«Πού είναι οι νεαροί πανκ που θα μας εξαφανίσουν από προσώπου γης;»

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

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

Για να προσεγγίσω κάπως την ερώτηση, αποφάσισα να ξεκινήσω αναζητώντας δεδομένα για το πόσοι προγραμματιστές υπάρχουν στον κόσμο σήμερα και πώς αυτός ο πληθυσμός αλλάζει με την πάροδο του χρόνου.
Εκτιμήσεις σε διάφορες πηγές αναφέρουν τους αριθμούς από 12 έως 30 εκατομμύρια άτομα. Αποφάσισε να σταματήσει στο δεδομένα από το SlashData, γιατί η μεθοδολογία τους φαινόταν αρκετά ισορροπημένη και κατάλληλη για τις ανάγκες μου. Στην αξιολόγησή τους, έλαβαν υπόψη τον αριθμό των λογαριασμών και των αποθετηρίων στο Github, τον αριθμό των λογαριασμών στο StackOverflow, τους λογαριασμούς npm και δεδομένα από επίσημες πηγές σχετικά με την απασχόληση στις ΗΠΑ και την Ευρώπη. Προσάρμοσαν επίσης τους αριθμούς που προέκυψαν χρησιμοποιώντας τις δικές τους 16 μελέτες, οι οποίες περιλάμβαναν περίπου 20 άτομα για κάθε έρευνα.

Σύμφωνα με το SlashData, υπήρχαν περίπου 2018 εκατομμύρια προγραμματιστές στον κόσμο το τέταρτο τρίμηνο του 18.9, 12.9 εκατομμύρια από τους οποίους ήταν επαγγελματίες προγραμματιστές, δηλαδή ζουν με προγραμματισμό. Όσοι δεν είναι επί του παρόντος επαγγελματίες προγραμματιστές είναι άτομα για τα οποία ο προγραμματισμός είναι χόμπι, συν όσοι σπουδάζουν αυτήν τη στιγμή κάποιο επάγγελμα (διάφοροι φοιτητές και αυτοδίδακτοι). Λοιπόν, δηλαδή, εδώ είναι μια υπόδειξη για το μέγεθος της ομάδας που με ενδιαφέρει - 6 εκατομμύρια άτομα. Για να είμαι ειλικρινής, αυτό είναι περισσότερο από ό,τι περίμενα.

Η δεύτερη έκπληξη για μένα ήταν ο ρυθμός αύξησης του αριθμού των προγραμματιστών: από το δεύτερο τρίμηνο του 2017 έως το τέταρτο τρίμηνο του 2018, αυξήθηκε από 14.7 στα αναφερόμενα 18.9 εκατομμύρια ή αυξήθηκε κατά 21% το 2018! Αν μου ζητούσαν να υπολογίσω τον ρυθμό αύξησης του αριθμού των προγραμματιστών, θα έλεγα ότι είναι περίπου 5% ετησίως με μια μικρή αύξηση του ρυθμού ετησίως. Και εδώ αποδεικνύεται ότι φτάνει το 20%.

Επιπλέον, η SlashData εκτιμά ότι ο πληθυσμός θα φτάσει τα 2030 εκατομμύρια μέχρι το 45. Είναι εύκολο να καταλάβουμε ότι αυτό συνεπάγεται αύξηση λίγο περισσότερο από 8% ετησίως, όχι 20%, αλλά αναφέρονται σε μια προσαρμογή για να ληφθεί υπόψη η διείσδυση του Διαδικτύου (σήμερα περίπου 57% παγκοσμίως). σύμφωνα με το Statista) και αρκετούς άλλους παράγοντες, όπως ο αριθμός των προγραμματιστών κατά κεφαλήν. Γεωγραφικά, ο αριθμός των προγραμματιστών αυξάνεται πιο έντονα στην Ινδία και την Κίνα· η Ινδία αναμένεται να ξεπεράσει τις Ηνωμένες Πολιτείες σε αριθμό προγραμματιστών έως το 2023 (αυτό είναι ήδη Γωνιακά δεδομένα C#).

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

Τι είναι σε ζήτηση;

Για να εκτιμήσω τη ζήτηση, χρησιμοποίησα δεδομένα HackerRank για 2018 и 2019 έτος.

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

«Πού είναι οι νεαροί πανκ που θα μας εξαφανίσουν από προσώπου γης;»

Όσον αφορά τα πλαίσια, τα AngularJS, Node.js και React έχουν τη μεγαλύτερη ζήτηση και έχουν το μεγαλύτερο χάσμα μεταξύ προσφοράς και ζήτησης, κάτι που φαίνεται να εξηγείται από την ταχύτητα με την οποία αλλάζει το οικοσύστημα JavaScript, επειδή για παράδειγμα, για το ExpressJS , η προσφορά ήδη υπερβαίνει τη ζήτηση.

«Πού είναι οι νεαροί πανκ που θα μας εξαφανίσουν από προσώπου γης;»

Όσον αφορά τις ικανότητες, οι εργοδότες περιμένουν κυρίως από τους υποψηφίους δεξιότητες επίλυσης προβλημάτων. Περίπου το 95% των εργοδοτών αναφέρει αυτές τις δεξιότητες ως σημαντικές. Το Proficiency Language Proficiency βρίσκεται στη δεύτερη θέση με 56%. Παρεμπιπτόντως, δεν υπάρχει καμία γραμμή με θεμελιώδεις γνώσεις αλγορίθμων, δομών δεδομένων και άλλων Επιστημών Υπολογιστών, είτε δεν ήταν στο ερωτηματολόγιο είτε δεν απαιτείται πλέον ακαδημαϊκή γνώση σε μεγάλη κλίμακα.

Ο σχεδιασμός βάσεων δεδομένων χρειάζεται το 23.2% των εταιρειών κάτω των 100 ατόμων και το 18.8% των εταιρειών άνω των 1000 ατόμων. Ναι, φαίνεται ότι πρόκειται για ORM και SQL! Η λογική εξήγηση, IMHO, είναι ότι στις μεγάλες εταιρείες υπάρχει ένας ειδικός ρόλος του DBA, ο οποίος είναι υπεύθυνος για αυτήν την πτυχή, και ως εκ τούτου είναι δυνατό να αμβλύνουν τις απαιτήσεις για τους προγραμματιστές και να προσλάβουν πιο γρήγορα. Αλλά με το System Design είναι το αντίστροφο: 37.0% σε μικρά, 44.1% σε μεγάλα. Φαίνεται ότι τα μεγάλα θα έπρεπε να έχουν αφοσιωμένους αρχιτέκτονες, αλλά ίσως απλώς να μην είναι σε θέση να καλύψουν τον αριθμό των συστημάτων που δημιουργούνται. Ή οι ίδιοι θεμελιώδεις αλγόριθμοι και δομές δεδομένων τοποθετούνται στο System Design, τότε γίνεται λίγο πιο ξεκάθαρο.

Οι μικρές εταιρείες χρειάζονται το Framework Proficiency όλο και λιγότερο το προαναφερθέν System Design, από το οποίο μπορούμε να βγάλουμε το συμπέρασμα του αρχηγού ότι είναι σημαντικό για τις νεοφυείς επιχειρήσεις να λανσάρουν ένα κατά κάποιο τρόπο λειτουργικό προϊόν όσο το δυνατόν γρηγορότερα και αύριο θα είναι αύριο.

«Πού είναι οι νεαροί πανκ που θα μας εξαφανίσουν από προσώπου γης;»

Τι μαθαίνουν οι μαθητές;

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

Οι σύγχρονοι μαθητές προτιμούν να μαθαίνουν από το YouTube, ενώ οι μεγαλύτεροι προγραμματιστές κλίνουν προς τα μαθήματα και τα βιβλία. Και οι δύο χρησιμοποιούν ενεργά το StackOverflow. Αυτό το αποδίδω στο γεγονός ότι το βίντεο είναι ένα οικείο κανάλι πολυμέσων για τη γενιά Z, ενώ οι εκπρόσωποι της γενιάς Y βρίσκονται ακόμα σε μια εποχή χωρίς bloggers.

Διδάσκουν ό,τι ζητείται από τους εργοδότες: JavaScript, Java, Python. Δηλώνουν ότι γνωρίζουν C/C++, αλλά αυτό συμβαίνει πιθανώς επειδή αυτές οι γλώσσες χρησιμοποιούνται για διδασκαλία σε πανεπιστήμια. Διδάσκουν πλαίσια JS, αλλά η ζήτηση είναι σημαντικά υψηλότερη από την προσφορά, επομένως προφανώς μαθαίνουν ενεργά αφού βρουν την πρώτη τους δουλειά.

«Πού είναι οι νεαροί πανκ που θα μας εξαφανίσουν από προσώπου γης;»

Σε γενικές γραμμές, όπως είναι αναμενόμενο, διδάσκουν αυτό που ζητείται.

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

Δυναμική του πληθυσμού προγραμματιστών κατά γλώσσες προγραμματισμού και τύπους λογισμικού

«Πού είναι οι νεαροί πανκ που θα μας εξαφανίσουν από προσώπου γης;»

Οι εφαρμογές Ιστού βρίσκονται στην πρώτη θέση με περίπου 16.9 εκατομμύρια προγραμματιστές. Αυτό είναι πάλι το SlashData. Ακολουθούν οι Υπηρεσίες Backend (13.6 εκατομμύρια), οι εφαρμογές για κινητά (13.1 εκατομμύρια) και οι επιτραπέζιοι υπολογιστές (12.3 εκατομμύρια). Οι τομείς AR/VR και IoT κερδίζουν σταδιακά δημοτικότητα, η AI/ML/Data Science έχει αυξηθεί σημαντικά τα τελευταία δύο χρόνια.

Η Javascript αναπτύσσεται ταχύτερα· η κοινότητά της είναι ήδη η μεγαλύτερη, αυξάνοντας κατά 2018 εκατομμύρια μόνο το 2.5. Προσπαθούν ακόμη και να γράψουν σε αυτό στους τομείς IoT και ML.
Η Python αυξήθηκε κατά 2018 εκατομμύρια το 2.2 λόγω της αυξανόμενης δημοτικότητας της ML, όπου είναι παραδοσιακά ισχυρή, καθώς και λόγω της ευκολίας εκμάθησης και της ευκολίας της γλώσσας.

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

Η PHP είναι η δεύτερη πιο δημοφιλής γλώσσα προγραμματισμού διαδικτυακών εφαρμογών και επίσης αυξάνεται σημαντικά (κατά 32% το 2018). Η κοινότητά του υπολογίζεται σε 5.9 εκατομμύρια προγραμματιστές. Παρά την πολωτική φήμη της PHP, είναι αρκετά εύκολη στην εκμάθησή της και χρησιμοποιείται ευρέως.

Πώς σπουδάζουν οι σημερινοί νέοι υποψήφιοι σε σύγκριση με τις προηγούμενες γενιές;

Δεδομένα HackerRank ξανά. Όσοι είναι τώρα μεταξύ 38 και 53 αναφέρουν παιχνίδια ως τα πρώτα τους έργα.

Παρεμπιπτόντως, επιβεβαιώνω ότι το πρώτο μου περισσότερο ή λιγότερο έργο εργασίας ήταν "tic-tac-toe" έως και πέντε στη σειρά με απεριόριστο πεδίο, το δεύτερο ήταν ένα παιχνίδι των 15. Όλα αυτά τα έγραψα στο π.Χ. 010-01, υπήρχε Βίλνιους βασικό, γνωστός και ως BASIC-86 και εστιακός. Ε.

Οι σύγχρονοι αρχάριοι προγραμματιστές (έως 21 ετών) γράφουν αριθμομηχανές και ιστοσελίδες ως τα πρώτα τους έργα.

Μεταξύ των εκπροσώπων της γενιάς Χ, σχεδόν οι μισοί άρχισαν να γράφουν κώδικα πριν από την ηλικία των 16 ετών, πολλοί το έκαναν από 5 έως 10 ετών (κυρίως εκείνοι που είναι τώρα μεταξύ 35 και 45 ετών). Είναι λίγο πολύ ξεκάθαρο γιατί: υπήρχαν λίγες πηγές πληροφοριών και για να γίνεις προγραμματιστής έπρεπε πραγματικά να το θέλεις πολύ και όσοι το ήθελαν πραγματικά ξεκίνησαν να προγραμματίζουν νωρίς. Όσοι δεν το ήθελαν τόσο πολύ πιθανότατα έχουν τώρα ένα διαφορετικό επάγγελμα, οπότε η εικόνα στην κοινωνιολογία είναι ακριβώς αυτή.

«Πού είναι οι νεαροί πανκ που θα μας εξαφανίσουν από προσώπου γης;»

Οι σημερινοί νέοι υποψήφιοι μόνο το 20% του χρόνου ξεκινούν τον προγραμματισμό πριν από την ηλικία των 16 ετών, η πλειοψηφία κάπου μεταξύ 16 και 20 ετών. Αλλά είναι επίσης πολύ πιο εύκολο για αυτούς να μάθουν· τώρα είναι πολύ πιο προσιτό.

Ευρήματα

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

Η επόμενη γενιά προγραμματιστών είναι απλοί άνθρωποι, κατά κάποιο τρόπο μοιάζουν με τους προηγούμενους· το πρόβλημα στέγασης μόνο τους χάλασε. Ικανοποιούν τη ζήτηση που δημιουργείται από τους εργοδότες. Το όριο για την είσοδο στο επάγγελμα έχει γίνει χαμηλότερο λόγω πιο βολικών εργαλείων και πλαισίων που σας επιτρέπουν να επιτύχετε γρήγορα αποτελέσματα. Όλο και περισσότεροι άνθρωποι γίνονται πλέον προγραμματιστές· η ψηφιακή γενιά (Generation Z) ζει στην τεχνολογία από τη γέννησή της· γι' αυτούς είναι ένα κοινό επάγγελμα, όχι χειρότερο από άλλα.

Όσοι γνωρίζουν ότι η καθυστέρηση της κρυφής μνήμης L1 είναι ~ 4 κύκλοι και ότι είναι καλύτερο να μην διακόπτονται οι γραμμές προσωρινής μνήμης χωρίς λόγο, γίνονται μικρότεροι ως ποσοστό του συνολικού μεγέθους του πληθυσμού. Ωστόσο, δεν πρέπει να ανησυχούν για την εύρεση εργασίας· κάποιος, τελικά, πρέπει να γράψει πράγματα χαμηλού επιπέδου εκεί που εξακολουθεί να χρειάζεται. Ομοίως, όσοι έχουν βαθιές θεμελιώδεις γνώσεις στο σχεδιασμό συστημάτων και τις απέκτησαν σε αιματηρές πρακτικές μάχες, και δεν ακολουθούν απλώς μια λατρεία φορτίου, δεν πρέπει να ανησυχούν. Επειδή θα υπάρχουν περισσότερα άτομα σε ομάδες που θα μπορούν «απλώς να γράφουν κώδικα» και «απλώς» να χρησιμοποιούν πλαίσια και για να «αποφεύγουν τον βασανιστικό πόνο των ετών που έζησαν άσκοπα» (γ) θα πρέπει να είναι ισορροπημένοι με αυτούς ακριβώς τους ανθρώπους .

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

Το "Enter IT" μου φαίνεται ότι είναι μια τοπική περιφερειακή ιστορία, τυπική για εκείνες τις τοποθεσίες όπου το εισόδημα ενός προγραμματιστή διαφέρει σημαντικά από το εισόδημα ενός συγκρίσιμου ειδικού "μη IT". Στο Μινσκ, όπου ζω, αυτό είναι γενικά ένα μαζικό κίνημα, κάθε μέρα βλέπω διαφημίσεις για νέα μαθήματα για το πώς να μπω στο πολυπόθητο IT και οι εταιρείες καθαρισμού στοχεύουν προγραμματιστές με το μήνυμα «Καταλαβαίνετε τον κώδικα σε αυτήν την εικόνα; Αυτό σημαίνει ότι έχετε την οικονομική δυνατότητα να μην καθαρίσετε το διαμέρισμά σας, θα κάνουμε τα πάντα για εσάς.» Το ίδιο συμβαίνει προφανώς σε κάποια Ινδία. Επίσης δεν έχω στοιχεία που να το αποδεικνύουν.

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

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

Απαιτούν οι συνεντεύξεις του web backender γνώσεις SQL;

  • Ναι, το απαιτώ γιατί το χρειάζομαι για δουλειά

  • Ναι, το κάνω, παρόλο που σπάνια χρειάζεται στη δουλειά.

  • Όχι, δεν το απαιτώ, έχουμε NoSQL

  • Όχι, δεν το απαιτώ, το ORM θα κάνει τα πάντα

Ψήφισαν 320 χρήστες. 230 χρήστες απείχαν.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο