Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
Και ο Παναγιώτης είναι εντάξει…

Το σωστό είναι πρώτα να συστηθώ, όπως συστήνομαι πάντα.

Ονομάζομαι Παναγιώτης Παρίσης και είμαι επαγγελματίας προγραμματιστής από το 1987.

[Ακούγεται ο χορός από το background thread: “Και ο Παναγιώτης είναι εντάξει…”]

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

Και είναι αλήθεια: ποτέ κανείς δεν κόλλησε C# (ή VB) από άλλον άνθρωπο - ή άλλο χοίρο ;-). Για να είναι κανείς προγραμματιστής πρέπει να και να θέλει, και να μπορεί, και να ξέρει πώς. Ποιες είναι οι πιθανότητες να πετύχει τρία στα τρία χωρίς ενσυνείδητη και συστηματική προσπάθεια;

Θα μου πείτε, “γιατί το κάνεις αυτό στον εαυτό σου, παλικάρι μου;”

Γιατί δεν μπορώ να το καταπιώ και (ως εκ τούτου) δεν μπορώ να το χωνέψω. Ζούμε σε μια κοινωνία που έχει στηρίξει κάθε business process σχεδόν ολοκληρωτικά στο software, σε σημείο που απώλεια δικτύωσης σημαίνει παύση εργασιών σε οποιουδήποτε μεγέθους επιχείρηση, και ταυτοχρόνως θεωρεί ότι οι άνθρωποι που παράγουν αυτό το software είναι αποτυχημένοι, εάν συνεχίσουν να γράφουν μετά την πρώτη πενταετία της σταδιοδρομίας τους!

Oι περισσότεροι managers είναι πεπεισμένοι ότι ένας έμπειρος αρχιτέκτονας, ένας έμπειρος μηχανικός, ένας έμπειρος γιατρός, ή – αν προτιμάτε – ένας έμπειρος επιπλοποιός είναι καλύτερος από κάποιον που μόλις ξεκίνησε την καριέρα του, αλλά για κάποιο λόγο απ’ αυτόν τον κανόνα εξαιρούνται οι προγραμματιστές!

Τι θα μπορούσε να τους απαντήσει κανείς; Πολλά και σοβαρά:

  • Ότι σου παίρνει συνήθως δύο με τρία χρόνια μέχρι να σταματήσεις να είσαι επικίνδυνος σε μια τεχνολογία. Και καμμία τεχνολογία δεν παραμένει σταθερή χωρίς μεγάλες (για να μην πω πολύ-πολύ μεγάλες) αλλαγές για περισσότερο από τρία χρόνια.
  • Κι είναι και το θέμα της βαθύτερης γνώσης των εργαλείων που χρησιμοποιείς. Δε φτάνει να γνωρίζεις τι μπορούν να κάνουν καλά. Πιο χρήσιμο είναι να γνωρίζεις τι ΔΕΝ μπορούν να κάνουν καλά, ποιοι είναι οι περιορισμοί που σου επιβάλλουν και πώς μπορείς να τους παρακάμψεις.
  • Κι είναι και το θέμα της αρχιτεκτονικής σχεδίασης, που πρέπει να ωριμάσει στο κεφάλι σου, ώστε να υποστηρίζει τις συνεχείς αλλαγές στις προδιαγραφές, χωρίς να “σπάει”. Γιατί μην έχεις αυταπάτες: θα υπάρξουν συνεχείς αλλαγές!
  • Κι είναι και το θέμα της διασυνδεσιμότητας με άλλες εφαρμογές ή της μεταφοράς των δεδομένων από άλλες πλατφόρμες που συνήθως ανακύπτει εκ των υστέρων, αλλά, όταν έχεις δει το έργο πολλές φορές, είναι σαν να το έχεις ήδη προβλέψει.
  • Κι είναι και το θέμα της γενικότερης γνώσης της αγοράς. Οι γλώσσες προγραμματισμού είναι το μέσο. Η ουσία είναι η αυτοματοποίηση των εταιρικών διεργασιών. Για να το πετύχεις, χρειάζεται να ξέρεις τι δουλεύει στην πράξη και τι όχι, ποιους να ρωτήσεις για κάθε θέμα και - κυρίως - πόσ’ απ’ αυτά που θα σου πούνε να πιστέψεις. Μετά πρέπει να μπορείς να απλοποιείς και να συστηματοποιείς τις διεργασίες που θα προκύψουν. Μόνο στο τέλος θα τις μεταγράψεις σε μια γλώσσα προγραμματισμού.
  • Κι είναι και το θέμα των non-functional requirements. Σε κανένα user story δεν υπάρχει γραμμένο πως η εφαρμογή πρέπει να είναι ασφαλής σαν φρούριο, επιδεκτική εκρηκτικής κλιμάκωσης και (φαινομενικά) γρήγορη στην ανταπόκριση στο user input, ούτε τι συμεπάγεται αυτό για τον τρόπο ανάπτυξής της.
  • Κι είναι και το θέμα του υπολογισμού του ρίσκου. Ποια τμήματα της εφαρμογής και του περιβάλλοντός της είναι πιθανό να γίνουν αντικείμενο επίθεσης; Ποια δεδομένα της είναι πολύτιμα για τους hackers; Τελικά πόσο κίνδυνο ανέλαβε ο πελάτης μας και σε ποιους ακριβώς τομείς;
  • Κι είναι και το θέμα του υπολογισμού του απαιτούμενου χρόνου ανάπτυξης και του διαμερισμού των εργασιών στην ομάδα. Εάν αυτό δεν γίνει από έναν έμπειρο προγραμματιστή με το νυστέρι, θα το κάνει ο project manager με τη χατζάρα…
  • Κι είναι και το θέμα της κατάρτισης του προϋπολογισμού των projects. Ποιος είναι αρμοδιότερος να πει πόσοι πρέπει να δουλέψουν, με τι ειδικότητες, με τι εργαλεία, με ποια εκπαίδευση κ.λ.π.;
  • Κι είναι και το θέμα της ευρύτερης προοπτικής στην αξιολόγηση κάθε νέας πλατφόρμας και τεχνολογίας που εμφανίζεται στο προσκήνιο και του καθορισμού της επένδυσης της ομάδας σ’ αυτήν. Πόσα χρήματα έχασε όποιος δεν επένδυσε εγκαίρως στο .NET framework; Πόσα χρήματα έχασε όποιος βιάστηκε να επενδύσει στο OS/2;
  • Κι είναι και το θέμα της εκπαίδευσης και της έμπνευσης των νέων της ομάδας, αυτό που οι Αγγλοσάξωνες ονομάζουν mentoring [άλλη μια έκφραση που πέρασε από τα ομηρικά κατ’ ευθείαν στα γαλλικά και στ’ αγγλικά, χωρίς καμμία μεσολάβηση των νεοελλήνων].

Κι είναι και πολλά άλλα θέματα που θα μπορούσαμε να τα συνοψίσουμε σε μία λέξη: “εμπειρία”.

Τίθεται λοιπόν το ερώτημα: εάν όλες οι παραπάνω δεξιότητες είναι απαραίτητες για την επιτυχή έκβαση ενός software project, γιατί οι ίδιες οι επιχειρήσεις σπρώχνουν τους καλύτερους senior developers είτε στο management, είτε στο ελεύθερο επάγγελμα; Γιατί οι επιχειρήσεις δεν επενδύουν στους ανθρώπους που υποστηρίζουν και αυτοματοποιούν την ίδια τους την ύπαρξη;

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

Το μόνο που μπορείτε να κάνετε είναι να πιαστείτε χέρι-χέρι σε κύκλο και να φωνάξετε:

Και ο Παναγιώτης είναι εντάξει…

Share
Posted: Δευτέρα, 18 Μαΐου 2009 7:00 μμ από το μέλος Παναγιώτης Παρίσης
Δημοσίευση στην κατηγορία: , ,

Σχόλια:

manosB έγραψε:

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

# Μαΐου 19, 2009 9:23 πμ

George Chatzimanolis έγραψε:

Καταπληκτικό άρθρο. Το απόλαυσα πραγματικά :) Μπράβο.

# Μαΐου 19, 2009 11:32 πμ

Dimitris Gkanatsios έγραψε:

Great post! Μπράβο!

# Μαΐου 20, 2009 10:23 πμ
Ποιά είναι η άποψή σας για την παραπάνω δημοσίευση;

(απαιτούμενο)

(απαιτούμενο)

(προαιρετικό)

(απαιτούμενο)
ÅéóÜãåôå ôïí êùäéêü:
CAPTCHA Image

Ενημέρωση για Σχόλια

Αν θα θέλατε να λαμβάνετε ένα e-mail όταν γίνονται ανανεώσεις στο περιεχόμενο αυτής της δημοσίευσης, παρακαλούμε γίνετε συνδρομητής εδώ

Παραμείνετε ενήμεροι στα τελευταία σχόλια με την χρήση του αγαπημένου σας RSS Aggregator και συνδρομή στη Τροφοδοσία RSS με σχόλια