Τρια Κιλά Κώδικα - The Serious Blog

Η σοβαρή πλευρά της αστείας πλευράς της Πληροφορικής

Γιατί το ότι αποφοίτησες από μια σχολη σχετική με την Πληροφορική δεν είναι πάντα αρκετό


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

Ας τα πάρουμε με τη σειρά:

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

Η μήπως όχι;

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

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

Τα απολύτως απαραίτητα:

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ, ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ , ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ, ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ, ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ, ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ, ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ, ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ, ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ, ΑΛΓΟΡΙΘΜΟΙ, ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ, ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ, ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΚΑΙ ΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ, ΑΝΑΚΤΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΑΝΑΖΗΤΗΣΗ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

Έχοντας παρακολουθήσει μαθήματα που γενικά ανήκουν σε αυτό το γκρουπ, έχετε μια σφαιρική άποψη για το τι εστι πληροφορική γενικότερα (δεδομένου ότι, φυσικά, οι πληροφορίες που σας παρέχουν οι καθηγητές και τα συγγράμματα είναι up-to-date και οτιδήποτε έχει να κάνει με ανάπτυξη λογισμικού χρησιμοποιεί σύγχρονα εργαλεία ανάπτυξης και σύγχρονες γλώσσες προγραμματισμού. Αν δεν ισχύουν αυτά, τότε μην διαβάζεις παρακάτω, δεν θα χρειαστεί).

Και πάμε στα πιό “προχώ” θέματα:

ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ, ΕΦΑΡΜΟΓΕΣ ΘΕΩΡΙΑΣ ΓΡΑΦΗΜΑΤΩΝ, ΔΙΟΙΚΗΣΗ ΣΥΣΤΗΜΑΤΩΝ ΕΦΟΔΙΑΣΜΟΥ, ΑΡΧΕΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΣΗΜΑΤΩΝ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ, ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΩΝ ΚΑΙ ΚΩΔΙΚΩΝ, ΑΛΛΗΛΕΠΙΔΡΑΣΗ ΑΝΘΡΩΠΟΥ ΚΑΙ ΥΠΟΛΟΓΙΣΤΗ, ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ, ΠΡΟΗΓΜΕΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΑΝΑΛΥΣΗ ΔΕΔΟΜΕΝΩΝ, ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ, ΚΡΥΠΤΟΓΡΑΦΙΑ, ΣΥΣΤΗΜΑΤΑ ΡΟΗΣ ΕΡΓΑΣΙΩΝ, ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ, ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ, ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΚΑΙ ΕΜΠΕΙΡΑ ΣΥΣΤΗΜΑΤΑ, ΣΧΕΔΙΑΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ, ΔΙΚΤΥΑ ΥΨΗΛΩΝ ΤΑΧΥΤΗΤΩΝ, ΟΥΡΕΣ ΑΝΑΜΟΝΗΣ, ΣΥΣΤΗΜΙΚΗ ΑΝΑΛΥΣΗ, ΣΥΣΤΗΜΑΤΑ ΥΠΟΣΤΗΡΙΞΗΣ ΑΠΟΦΑΣΕΩΝ, ΔΙΟΙΚΗΣΗ ΑΣΦΑΛΕΙΑΣ ΣΥΣΤΗΜΑΤΩΝ, ΣΥΣΤΗΜΑΤΑ ΠΟΛΥΜΕΣΩΝ, ΓΡΑΦΙΚΑ ΜΕ ΥΠΟΛΟΓΙΣΤΕΣ, ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ, ΣΥΣΤΗΜΑΤΑ ΥΠΟΣΤΗΡΙΞΗΣ ΟΜΑΔΩΝ, ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΣΤΗΜΑΤΩΝ , ΜΕΤΡΗΣΗ ΑΠΟΔΟΤΙΚΟΤΗΤΑΣ ΣΥΣΤΗΜΑΤΩΝ, ΚΑΤΑΝΕΜΗΜΕΝΑ ΚΑΙ ΠΟΛΥΕΠΕΞΕΡΓΑΣΤΙΚΑ ΥΠΟΛΟΓΙΣΤΙΚΑ ΣΥΣΤΗΜΑΤΑ, ΚΙΝΗΤΕΣ ΚΑΙ ΑΣΥΡΜΑΤΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ, ΑΣΦΑΛΕΙΑ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ, ΑΠΟΘΗΚΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΕΞΟΡΥΞΗ ΓΝΩΣΗΣ, ΠΡΟΣΟΜΟΙΩΣΗ ΣΥΣΤΗΜΑΤΩΝ, ΕΙΚΟΝΙΚΗ ΠΡΑΓΜΑΤΙΚΟΤΗΤΑ, ΑΝΑΛΥΣΗ ΕΙΚΟΝΑΣ, ΣΥΓΧΡΟΝΑ ΘΕΜΑΤΑ ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ, ΔΙΑΧΕΙΡΙΣΗ ΓΝΩΣΗΣ, ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΣΤΗ ΝΑΥΤΙΛΙΑ 

Ουφ! Δεν μπορείς να φανταστείς πόσο μου πήρε το copy-paste. 

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

Αλλά, με αφορμή αυτό, να πω ότι και εγώ παρακολούθησα μια σειρά αντίστοιχων μαθημάτων στο Οικονομικό τμήμα, από Μικρο/Μακροοικονομική ως Management, Στατιστική και Οικονομετρία. Αυτό με κάνει οικονομολόγο;

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


Γιατί λοιπόν λέω ότι μπορεί “μερικές φορές να έχει και αρνητικό αντίκτυπο” το ότι αποφοίτησες από σχολή με πολυ όμορφα και courses έχοντας μια τόσο ευρεία άποψη για τα πράγματα; ΑΚΡΙΒΩΣ για αυτό. Γιατί ειναι ΕΥΡΕΙΑ. Και ευρεία άποψη σημαίνει λιγότερη λεπτομέρεια, και φυσικά μη σύνδεση με την πραγματική αγορά και τις ανάγκες της.

Εχεις λοιπόν τελειώσει με τη σχολή σου και εχεις, υποθετικά, βρει την πρώτη σου δουλειά ως junior developer σε μια εταιρία…

“Ωπ, μισό λεπτό. JUNIOR εγώ; Που τελείωσα Πληροφορική; Που ξέρω τόσα και άλλα τόσα;”

...και το πρώτο σου assignment είναι να διορθώσεις την ονοματολογία των μεταβλητών σε ένα project δεκαετίας με 15000 γραμμές κώδικά….

“Ωπ, μισό λεπτό πάλι. ΑΥΤΑ δεν θα έπρεπε να τα κάνω εγώ.”

Και κάπου εκεί αρχίζει η σύγκρουση, γιατι δεν μπορείς να αποδεχθείς ότι η αγορά απαιτεί και τη χαμαλοδουλειά τόσο όσο και τις άλλες σου ικανότητες, και ορισμένες φορές αρνείσαι το ότι η έλλειψη εμπειρίας σου αποτελεί εμπόδιο στο να πάρεις κάτι πιό περίπλοκο ως assignment. Εσύ, που έχεις μάθει τόσα design patterns, ξέρεις από dependency injection, functional languages, έχεις κάνει UML διαγράμματα, ΕΣΥ να διορθώνεις κώδικα VB6; Σε notepad; Και στο ενδιάμεσο να κάνεις data entry; ΕΣΥ;

Και κάπου εκεί αρχίζεις τη γκρίνια. “ΕΓΩ ΕΧΩ ΚΑΝΕΙ ΚΑΤΑΝΕΜΗΜΕΝΑ ΚΑΙ ΠΟΛΥΕΠΕΞΕΡΓΑΣΤΙΚΑ ΣΥΣΤΗΜΑΤΑ!” λες. 

Και ο manager, χαμογελώντας με νόημα, σου απαντάει “ναι, αλλά εδώ έχουμε ένα πελάτη που μας πληρώνει και θέλει ένα report με στοιχεία που θα καταχωρηθούν χειροκίνητα στο spreadsheet που κάνεις data entry, αύριο”.

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

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

Ας δούμε ένα απλό σενάριο λοιπον: Σου αναθέτουν να σχεδιάσεις το schema της database μιας εφαρμογής. Εσύ, επηρεασμένος από όσα έχεις μάθει στη σχολή σου ή/και κατά τη διάρκεια των εργασιών σου, ξεκινάς με ένα από τα παρακάτω:

  • Βάζεις Ελληνικά ονόματα στα πεδία “γιατί έτσι κάνατε στα εργαστήρια”
  • Ξεχνάς τα indexes ή βάζεις indexes όπου νομίζεις εσύ, ή βάζεις indexes παντού γιατί μπορεί να σου είπαν οτι τα indexes είναι καλά, αλλά αγνοείς πράγματα όπως το read/write ratio της βάσης ή τον όγκο της ή το ποιά πραγματικά data είναι write ή read intensive. Τρία κιλά indexes καλά ειναι, να τ’αφήσω;
  • Πηγαίνεις by the book στο normalization αγνοώντας παράγοντες όπως efficiency και development effort για τον application developer αργότερα, και καταλήγεις να έχεις φτιάξει κάτι σε υπερτέλειο 5NF με άψογα relations το οποίο όταν το τυπώνεις ως διάγραμμα χρειάζεται 8 κιλά χαρτί και 5 αλλαγές μελανιών. Άσε τα queries που πρέπει να γραφτούν για αυτό. Το  superbly-normalized schema που έχεις φτιάξει θα αναγκαστείς, μάλιστα, να το αλλάξεις σε 2 μέρες γιατί θα έχουν έρθει change requests από τον πελάτη. Διαμαρτύρεσαι όταν σου ζητηθούν αλλαγές, γιατί “δεν είναι έτσι η διαδικασία ανάπτυξης, εμείς αλλιώς την μάθαμε”.
  • Αγνοείς παντελώς την ύπαρξη ORM που μπορεί να “κάτσει” πάνω στο schema και σχεδιάζεις χωρίς να λαμβάνεις υπόψη τις ιδιαιτερότητές του, με αποτέλεσμα οι developers που θα κληθούν να υλοποιήσουν database-first αργότερα να εκστομίζουν τόσες κατάρες για το πρόσωπό σου ώστε να έχεις λόξυγγα για τουλάχιστον μια πενταετία.
  • Σε extreme σενάρια, υλοποιείς μόνος σου το security φτιάχνοντας χρήστες από εδώ και από εκεί και δίνοντας μόνο grant select σε views στους μισούς από δαύτους, με αποτέλεσμα μετά κανείς να μην ξέρει τι μπορεί να κάνει στη ρημάδα τη βάση (και να τραβάνε τα μαλλιά τους οι developers). Γιατί “database χωρίς fine-grained permissions είναι άχρηστη” σου λέγανε. Χώρια οτι σου παίρνει κανα μήνα να τελειοποιήσεις κάτι το οποίο δεν σου ζήτησε κανείς και πιθανότατα θα ξηλωθεί άμεσα.


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

Και πού’σαι, σταμάτα να κάνεις subclass και override το σύμπαν για να προσθέσεις functionality. Υπάρχουν και extension methods, καθώς και η “μπακάλικη” μέθοδος των static classes που δουλεύει μια χαρά, ιδιαίτερα σε περιβάλλον ρευστών προδιαγραφών (όπως το 99% των projects που θα δουλέψεις). Ναι, ξέρω οτι δεν σου αρέσει, αλλά αυτή είναι η πραγματικότητα.

Πού θέλω να καταλήξω;

Ότι ο πραγματικός τρόπος να αποκτήσεις τεχνογνωσία είναι να αξιοποιήσεις αυτά που έμαθες στη σχολή ΠΑΡΑΛΛΗΛΑ με την “τριβή” σου στον πραγματικό κόσμο. Και για να το κάνεις αυτο θα πρέπει να ξεκινήσεις από χαμηλά, από τις “τουαλέτες” όπως θα λέγαμε στο στρατό. Και συνδυάζοντας τη θεωρητική γνωση που έχεις με την πραγματική κατάσταση, μπορείς να φέρεις ένα πολύ καλό αποτέλεσμα. Θέλει χρόνο. Χρόνια. Και υπομονή. Και, πρωτίστως, μηδενική έπαρση.

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


PS. Αν δεν σας αρέσει το σοβαρό version, μπορείτε να διαβάσετε το lighter "Οι μελλοντικοί διευθυντές πληροφορικής" που γράφτηκε πριν από μερικά χρόνια.

Σχόλια (17) -

  • seotzis.gr

    27/1/2015 1:17:17 μμ | Απάντηση

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

  • ER

    27/1/2015 1:40:32 μμ | Απάντηση

    Όλα καλά, αλλά αν φτάνει η εμπειρία...να τα κλείσουμε μήπως τα Πανεπιστήμια? αααα και τώρα που το σκέφτομαι αν αυτή είναι η πρώτη μέρα των πληροφορικών πώς είναι η πρώτη μέρα του οικονομολόγου που του ζητάνε uml και ανάλυση πολυπλοκότητας ? γιατί η αποφοίτηση δε σε κάνει expert...αλλά όυτε και θέλεις ....εμπειρικό γιατρό για το παιδάκι σου...γιατί να θες εμπειρικό προγραμματιστή?

    • Ζαχαρίας

      27/1/2015 2:02:18 μμ | Απάντηση

      Είπα εγώ ότι φτάνει η εμπειρία μόνη της; Αυτό κατάλαβες;

  • Μπάμπης Μυσιρλίδης

    27/1/2015 1:45:14 μμ | Απάντηση

    Εγώ πάλι στο άρθρο σου βλέπω την πραγματικότητα.
    Έχω δουλέψει σε αγκαρο-δουλειές που θα έλεγα οτι αυτά που γράφεις μου είναι πολύ light....
    Ακόμη κ όταν πας σε καθηγητή ερευνητικά (που για μερικούς ακούγεται υπέροχο) στην πλειοψηφία του χρόνου σου αναλώνεσαι με μετρήσεις κ στατιστική που θα γινόντουσαν στο excel.
    Αλλά η αλήθεια είναι οτι πρέπει να τεμαχίσει τον χρόνο σου (μιας κ είσαι στην αρχή της καριέρας σου) έτσι ώστε οτι δια χειρός να το κάνεις κώδικα. Κανένας δεν θα σε πάρει επειδή είσαι μάγος στο excel ούτε θα κάτσει να ασχοληθεί μαζί σου που πήρες ΜΤΠΧ από το πολυτεχνείο έχοντας περάσει και τα 8 μπτχ αλλά και τα 20 προπτυχιακά με μαθητικα/διοικηση που σε φορτώσανε.

    Ασχολήσου με ένα micro-project opensource (μην πέσεις κ στα σκληρά). Δες κώδικα άλλων, αντάλλαξε απόψεις. Αφιέρωσε κανένα απόγευμα(οκ βράδυ) από τον καφέ/ποτό σου κ ένα project προσωπικό με την λογική που γράφεις ο κοσμάκης κώδικα κ μην περιμένεις να κάνεις παπάδες από την πρώτη μέρα (ακόμη κ 2-ετία) που θα μπεις σε μια δουλειά...

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

  • Mike Dobekidis

    27/1/2015 2:48:11 μμ | Απάντηση

    Συμφωνώ, θέλει προσωπική εργασία και "λιώσιμο" για να φτάσεις σε επίπεδο όπου οι γνώσεις σου θα είναι σε σημείο να είναι χρήσιμες σε real-life εφαρμογές/projects. Μέχρι τότε χαμαλοδουλειά και πρέπει τα πάντα να είναι input (δηλαδή να μαθαίνεις ή έστω να ακούς και να απορρίπτεις).

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

    Η μνήμη λειτουργεί καλύτερα όταν βιώνεις μια κατάσταση = εμπειρία.
    Τα πανεπιστήμια απλά σου δίνουν μία βάση στην οποία πρέπει να χτίσεις ΜΟΝΟΣ σου.

  • Christos

    27/1/2015 3:01:54 μμ | Απάντηση

    Πολύ καλό post.


    1) Δεν χρειάζεται να έχεις πτυχίο για να γίνει τεχνικός υπολογιστών, τσάμπα τρως τα λεφτά των γονιών σου

    2) Καμία σχολή πληροφορικής στον κόσμο δεν θα σου μάθει τίποτα για το πως θα φτιάξεις κάτι
    3) 99% των πραγμάτων που μαθαίνεις δεν χρησιμοποιούνται πλέων και πεις τα πεις παραέξω θα γελάνε μαζί σου
    4) Το επάγγελμα του πληροφορικάριου χαρακτηρίζετε από στρές, πίεση και συνεχής και ατέλειωτη εκπαίδευση
    5) Αν δεν ξέρεις αγγλικά, δεν πας πουθενά ...
    6) Τα μεταπτυχιακά και άλλες βλακείες δεν θα στα ζητήσει πότε κάνεις, τσάμπα θα χαλάσεις και αλλά λεφτά (των γονιών σου)     - και - Το να τελειώσεις με 10 ή με 6 δεν παίζει κανέναν απολύτως ρόλο
    7) Αν νομίζεις ότι η σχολή σου είναι δύσκολη τότε περίμενε να δεις την δουλεία σου αύριο
    8) Ο φοιτητής που θα έχει δουλεία αύριο δεν βλέπει τις σπουδές του, ως διακοπές
    9)  Οργάνωση, μεθοδολογία και να μάθεις να ακούς τους άλλους (μην προσπαθείς  να δείξεις πόσο έξυπνος είναι γιατί δεν είσαι - μην προσπαθείς να πεις ότι έχεις δίκιο σε κάτι  ) είναι τα μόνα που θα σου αποφέρουν μακροχρόνιο κέρδος
    10)   μην κοροϊδεύεις τους φύτουλες γιατί κάποτε θα παρακαλάς να δουλέψεις για αυτούς [bill gates]

    • ds

      27/1/2015 3:16:54 μμ | Απάντηση

      Όταν βλέπω τους πληροφορικούς γραμμένους (ή είπωμένους) ως "πληροφορικάριοι" θέλω να σκοτώσω κάποιον.

  • Ιορδάνης

    27/1/2015 4:11:09 μμ | Απάντηση

    Ναι! Αυτό μάλιστα, είναι η πρώτη φορά που σχολιάζω σε άρθρο σου και το κάνω με χαρά μου!

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

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

    Δεν συμφωνώ με την άποψη που εκφράστηκε σε κάποιο από τα σχόλια, ότι το άρθρο υποννοεί την κατάργηση των Πανεπιστημίων. Κάθε άλλο, όλα τα καλά έχουν οι σχολές, οι απόφοιτοι είναι που τελειώνοντας ενα τμήμα νομίζουν ότι είναι ειδικοί στον τομέα τους. Η αλαζονεία τους (μάλλον μας) είναι το πρόβλημα, πρέπει να είναι σε θέση κανείς να παραδεχτεί ότι "δεν τα ξέρω όλα, έχω να μάθω πολλά ακόμα". Αλλά αυτό απαιτεί και μια ωριμότητα...

  • Meet-sos

    28/1/2015 9:00:45 πμ | Απάντηση

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

  • Τι Παθαμε

    28/1/2015 2:25:37 μμ | Απάντηση

    Κι απο ΤΕΙ που εχεις κάνει και 30+ εργαστήρια πάλι οι γνώσεις είναι γενικές και επιδερμικές πλην κάποιον περιπτώσεων. Το μονο που απευθυνόταν στη πραγματικότητα ηταν το deadline στις εργασίες. Δε θυμάμαι να κάναμε ποτε ανάλυση σε κάποιο πραγματικό project οτι μαθημα και να ηταν όμως. Πήγα για πρακτική ως Android développer γιατί νόμιζα οτι ξέρω. Πήγα να χάσω τα μαλλια μου απ το άγχος της ανιδεοτητας μου. Ο τροπος που δουλευεις και μονο συν τα εργαλεία οργάνωσης και ποιότητας που πρεπει να χρησιμοποιείς ηταν ενα άγνωστο βάσανο. Και τώρα που θέλω να βρω μια δουλειά πανω στη πληροφορική δε ξέρω καν για τι να ψαξω. Μου φαίνεται οτι εχω τοσες πολλες γνωσεις αλλα δε ξέρω τίποτα συγκεκριμένο τελικά πέρα του Android που κι αυτό δε προλαβαίνεις να μάθεις κάτι αλλάζει. Εμένα δε με πειράζει να μη φτιαξω super βιογραφικό για τη NASA θέλω να μπορω να κοιμάμαι το βράδυ χωρίς εφιάλτες. Που σε παίρνουν για διόρθωση ονοματοδοσίας μεταβλητων και data entry?

  • entos-ektos

    28/1/2015 10:22:02 μμ | Απάντηση

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

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

    1ον η διαφορά με τα μαθήματα εδώ (Ολλανδία) και Ελλάδα είναι ότι στα περισσότερα μαθήματα δε είχαμε εξετάσεις. Ομαδικές εργασίες οι οποίες περιείχαν σχεδόν πάντα προγραμματισμό, για μαθήματα που ήταν άκρως θεωρητικά στην Ελλάδα (design patterns, distributed systems κλπ.). Επίσης εδώ οι φοιτητές κάνουν 2 με 3 πρακτικές (η τρίτη αφορά τη πτυχιακή τους όπου κάνεις έρευνα) σε εταιρείες ξεκινώντας από το δεύτερο κιόλας έτος. Εκεί όπως λες κάνουν τη χαμαλοδουλειά, data entry, bugs, κλπ. Παίρνουν όμως ένα καλό μάθημα για το πως δουλεύει μια εταιρεία και γενικά στρώνουν χαρακτήρα.

    Όταν βγαίνουν από τη σχολή, προσλαμβάνονται ως junior. Junior όμως εδώ δε θεωρείται κάποιος που έχει επίπεδο 0 (κλίμακα 0 - 10), αλλά κάποιος που είναι στο 2 - 3 και μέσα σε 1 - 2 χρόνια θα φτάσει στο 5.

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

    tl;dr
    Για μένα φταίει ο τρόπος που διδάσκεται η πληροφορική στην Ελλάδα. Θα πρέπει πρώτον η θεωρεία να εξετάζεται μέσα από καλές και ουσιαστικές εργασίες και δε΄τερον, πρακτική για τους φοιτητές, να φάνε από νωρίς τη κρυάδα της αγοράς, κάτι που κάνει το ΤΕΙ, αλλά πολλοί φοιτητές το παίρνουν λάθος και την κάνουν σε δημόσιες υπηρεσίες για μερικά ευρώ παραπάνω.

  • Τάσος

    29/1/2015 3:24:07 μμ | Απάντηση

    Βασικά το λάθος που κάνει ένας απόφοιτος είναι να θεωρεί και να χαρακτηρίζει τον εαυτό του ως junior developer. Ο junior developer πρέπει να έχει 1+ χρόνο (ίσως και 2 ή 3+) προϋπηρεσία σε development υπο πραγματικές συνθήκες (όχι σε ακαδημαϊκά projects από 'δω κι από 'κει). Ο απόφοιτος θεωρείται και χαρακτηρίζεται ως entry-level developer και τα καθήκοντά του είναι πρωτίστως η "χαμαλοδουλειά" (αλλαγή στην ονοματοδοσία μεταβλητών, διόρθωση ορθογραφικών λαθών και λαθών κατά την πληκτρολόγηση, κ.ο.κ.), όπως προαναφέρθηκε, και η εκμάθηση των εργαλείων και της παραγωγικής διαδικασίας που χρησιμοποιεί και ακολουθεί αντίστοιχα η εταιρία.

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

    Τα παραπάνω δεν τα γράφω για να επικρίνω το παρόν άρθρο (το οποίο πιστεύω πως "λέει" τα πράγματα όπως πραγματικά είναι), απλά ήθελα να προσθέσω την άποψή μου για την ακαδημαϊκή κοινότητα. Anyhow, πολλά έγραψα Tong

  • Μπουρδούμπακας

    30/1/2015 12:33:00 μμ | Απάντηση

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

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

    Ένα πράγμα βέβαια που μου την δίνει στο επάγγελμά μας, πέρα από το να μας αποκαλούν "πληροφορικάριους", είναι ότι όλοι θεωρούν πως μπορούν να κάνουν την δουλειά μας! Έχω δει developers φυσικούς, μαθηματικούς, οικονομολόγους κα, αλλά δεν έχω δει κανέναν πληροφορικό να δουλεύει ως φυσικός, μαθηματικός, οικονομολόγος!

    Το ότι μπορείς να προγραμματίζεις, λυπάμαι αλλά, δεν σε  κάνει πληροφορικό. Η πληροφορική δεν είναι μόνο προγραμματισμός.

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

  • Mike Dobekidis

    30/1/2015 1:11:47 μμ | Απάντηση

    Δυστυχώς δεν έχεις δίκιο, στις μέρες μας το να γράφεις κώδικα είναι το ελάχιστο, αλλά το να κάνεις ανάλυση οικονομικού μοντέλου, να στίσεις επιτυχώς ενα ERP, να προγραμματίσεις 3D και να φτιάξεις μηχανή γραφικών/φυσικής. Να κάνεις ανάλυση big-data με διασπορά, να αποδομίσεις ένα πολύ περίπλοκο animation με γεωμετρία. Πίστεψέ με δεν μας έμαθαν τίποτα τέτοιο στο ΤΕΙ και δέν μας προετοίμασαν για τίποτα. Η πληροφορική κατ' εμέ χρειάζεται βαθιά γνώση μαθηματικών, βασικής φυσικής, γεωμετρίας, καθώς και βασικά μοντέλα στατιστικής αλλά και οικονομικής θεωρίας.
    Εκτός αν θές να φτιάχνεις ιστοσανίδες... και banners...

    • Μπουρδούμπακας

      30/1/2015 1:29:18 μμ | Απάντηση

      Οπότε για να είσαι καλός πληροφορικός πρέπει να αποφοιτήσεις, από Μαθηματικό, Φυσικό και Οικονομικό, αλλά η Πληροφορική δεν είναι και τόσο απαραίτητη!!!

  • Bgt

    30/3/2015 2:59:49 μμ | Απάντηση

    Καλος developer:
    Περα απο το να σου αρεσει, πρεπει να μαθαινεις και να τολμας να ψαχνεις λυσεις.
    Υπαρχει απιστευτη μπλεμπα εκει εξω που ειτε δεν επρεπε καν να κανει το επαγγελμα ειτε λεει συνεχεια "οχι" στα δυσκολα και ακολουθει την πεπατημενη.
    Ποσες φορες επιασα απο το χερακι developers να τους πω οτι "λιγο να ψαξεις τη βρηκες τη λυση, μη φοβασαι, ελα να το δουμε μαζι". Που χω να προγραμματισω απο το 1998 τοτε που κανα cobol ενα πραμα κι ομως χωρις να χω ιδεα σκαμπαζω πιο πολλα απο δαυτα...

    Στο τελος μενουν τα κοροιδια, οι αμοιροι καλοι developers που εγκαταλειπουν καθε προσπαθεια να μαθουν στα νεουδια και καταληγουν να τα κανουν ολα μονοι τους. Ηρωες.

    Οσο για τις σχολες και τα διπλωματα, δε λενε απολυτως τιποτε  αν του αλλουνου δεν του κοβει. Εξαλλου το να αγορασεις εργασιες ειναι το ευκολοτερο πραμα στον κοσμο. Ξερω γω κατι αποφΥτους πληροφορικης που δε ξερουν να γραφουν γραμμη κωδικα.
    (αποκορυφωμα, developer καποιας ηλικιας που αν του πεις να σχεδιασει μια βαση χρησιμοποιει ΕΝΑ πινακα. 1. one. uno. Ολα τα στοιχεια σε ενα table. Laughing  )

Loading