Ο μύθος του πραγματικού προγραμματιστή...

 

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

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

Όμως τίποτα από όλα αυτά δεν είναι η πραγματικότητα. Ένα προγραμματιστής παρά την όση εμπειρία και να έχει δεν παύει να είναι ένας άνθρωπος με ανθρώπινο μυαλό και απορίες. Μπορεί μάλιστα να ήταν και εκείνος στη δική σου θέση μερικά χρόνια πριν και να ένιωθε το ίδιο μπερδεμένος ανάμεσα σε ατέρμονα loop και γεμάτο bug κώδικα.

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

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

Πως θα μπορούσε άλλωστε. Υπάρχουν τόσες τεχνολογίες εκεί έξω που δεν μπορείς να γίνεις master ακόμα και αν είχες 30 ζωές. Ειδικά στην πληροφορική κάθε άνθρωπος με μια καλή ιδέα μπορεί να φτιάξει ένα δικό του πρότυπο. Κάποια από αυτά τα πρότυπα γίνονται πιο γνωστά από κάποια άλλα όμως ακόμα και με αυτό το φιλτράρισμα έχουμε καταλήξει να έχουμε τόσα εργαλεία που κανένας λογικός άνθρωπός δεν θα μπορούσε να μάθει να τα χρησιμοποιεί όλα το ίδιο εύκολα.

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

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

Αφορμή γι αυτό το post ήταν η ομιλία της Brenna O'Brien :


Και φυσικά το github της: