26 Μαρτίου 2011

Ζουν ανάμεσά μας #2: Ο Juniorπρογραμματιστέκθαμβος

Είναι ο πιτσιρικάς που κυκλοφορεί με γουρλωμένα μάτια γεμάτα απορία και ένα φωσφορίζον ερωτηματικό να φεγγοβολάει διαρκώς πάνω από το κεφάλι του, το οποίο γενικά διατηρεί εξαιρετικά μεγάλο κενό χώρο. Είτε διατηρεί κάποιου είδους συγγένεια με το αφεντικό, είτε την ημέρα της πρόσληψής του ο υπεύθυνος HR είχε καταναλώσει κάποιο είδος παραισθησιογόνου μανιταριού. Το προσωπικό του ρεκόρ stand-alone συγγραφής κώδικα χωρίς να σηκώσει το τηλέφωνο και να ρωτήσει κάτι που θα έβρισκε στο μισό χρονο αν έκανε μια-δυο αναζητήσεις στο google είναι ΔΥΟ γραμμές, η μία εκ των οποίων είναι το declaration κάποιας μεταβλητής και η άλλη ειναι κενή.

Τα projects που αναλαμβάνει του φαίνονται αδιακρίτως "δύσκολα" και φυσικά δεν αναλαμβάνει την περάτωσή τους αν δεν είναι απολύτως σίγουρος για το αποτέλεσμα. Ως εκ τούτου, είναι ένας από τους φανατικότερους υποστηρικτές του pair programming, αρκεί ο άλλος του pair να είναι ο προϊστάμενός του (και να γράφει τον κώδικα ενώ αυτός κάνει αυτό που ξέρει να κάνει πιό καλά - ερωτήσεις).

Σημειώνει ΤΑ ΠΑΝΤΑ σε μπλοκάκι οπου αριθμεί βήματα και περιγράφει περιφραστικά μέσα σε παρενθέσεις τα σχόλιά του "για να θυμάται την επόμενη φορά". Περιέργως, ποτέ δεν υπάρχει "επόμενη φορά" που να είναι απολύτως όμοια με την προηγούμενη (και ακόμα και να υπήρχε, άντε βρες την μέσα σε 50 γεμάτα μπλοκάκια). Είναι ένας από τους μεγαλύτερους εχθρούς του paperless office initiative.

Συνήθως δεν γνωρίζει ούτε καν την έννοια του loop, οπότε το να διορθώσει κανείς τον κώδικά του χρησιμοποιείται εναλλακτικά ως τιμωρία αντί του κλασικού μαυροπίνακα. Οι έννοιες «μεταβλητή», «configuration», «resource» του είναι επίσης άγνωστες κάνοντας το στυλ γραφής του να επαναπροσδιορίζει τον όρο “hard coded” με το χειρότερο δυνατό επαναπροσδιορισμό. Ο κώδικάς του τυγχάνει διθυραμβικών κριτικών από το αφεντικό, κυρίως γιατί είναι ΠΟΛΥΣ.

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

Δημοσίευση στην κατηγορία:
 

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

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

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

Σχόλια:

# mrpc said:

Μπορεί όμως άνετα να γίνει ο επόμενος project manager :p

26 Μαρτίου 11 at 1:51 πμ
# Νίκος said:

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

26 Μαρτίου 11 at 8:15 πμ
# oldgeorge said:

Δεν τους έχει θερίσει όλους αυτούς η κρίση;

26 Μαρτίου 11 at 10:42 μμ
# Tasos Christidis said:

Νά'σαι καλά! Μας έκανες και γελάσαμε, αλλά... αυτόν τον τύπο τον είχα απολύσει... Μήπως τον προσέλαβες εσύ!!!

If UserName = 'Mitsos' Then ErrorMsg = 'You are not authorized to perform this operation. Contact Mr. Manolopoulos'

;-P

28 Μαρτίου 11 at 9:16 πμ
# Juls said:

{Μπορεί όμως άνετα να γίνει ο επόμενος project manager :}

αληθές!!

(και όχι αυτούς δεν τους επηρεάζει κανενός είδους κρίση! είναι σα τους φελούς !! επιπλέουν σε κάθε καιρό .... )

29 Μαρτίου 11 at 10:54 πμ
# Koul# said:

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

το Instruction "φτιάξε μία helper μέθοδο getDbDate (σε utility class φυσικά) που να επιστρέφει την τρέχουσα ημ/νία και ώρα από τη βάση και να την formάρει στο default sql format" δεν είναι αρκετό. Πρέπει να πας  μέσα στην Utility class και να γράψεις

//ΠΡΟΣ JD(εκ του Junior Developer) TODO:: Δήλωσε εδώ μία constant που να λέγεται DB_DEFAULT_DATE_FORMAT στην οποία να δώσεις την τιμή "yyyy-MM-dd hh:mi:ss"

//ΠΡΟΣ JD TODO:: Φτιάχνουμε εδώ μία μέθοδο για να τραβάμε την ημ/νία από το βάση. Ονόμασέ την GetDbCurrentDateTime και την δηλώνουμε public static (οπωσδήποτε).

public static DateTIme GetDbCurrentDateTime(){

//ΠΡΟΣ JD TODO:: Βάζουμε try-catch για να μην σκάσει

try{

//ΠΡΟΣ JD TODO:: Κάνε execute το SELECT getDate() χρησιμοποιώντας το DataAccess layer της εφαρμογής (DatabaseManager.Database.ExecuteScalar) και όχι με SqlConnection, SqlCommand και καρφωμένο connection string μέσα στον κώδικα. Και χρησιμοποίησε το executeScalar και ΟΧΙ Dataset πάλι. Κάνε έλεγχο επίσης ότι η τιμή που έλαβε είναι datetime Και δεν είναι NUll.

}

//ΠΡΟΣ JD TODO:: Διαχειριζόμαστε το σφάλμα επιστρέφοντας την ημ/νία του application server (DateTime.Now) και logάροντας το σφάλμα ( log.error("μήνυμα", ex))

catch(Exception ex){

}

}

Και πάλι μπορεί να μπερδευτεί φυσικά ο JD. Ο οποίος περιμένει ότι ο senior θα τον μετατρέψει σε super gamao developer μέσα σε 2 έργα. Και μην ξεχνάμε ότι όταν του τα λες πολύ αναλυτικά τσατίζεται και διαμαρτύρεται ότι τον αντιμετωπίζεις σαν άσχετο ενώ όταν δεν το κάνεις διαμαρτύρεται ότι δεν παίρνει σαφείς και αναλυτικές οδηγίες.

10 Απριλίου 11 at 8:49 μμ
# Χρήστος Κ said:

Nα πει και ένας (πρώην) junior τον πόνο του: Ακόμα θυμάμαι, το 95, που μου έδωσαν να διορθώσω ένα πρόγραμμα σε PLI και το βλέπω γεμάτο goto και IF. Στην πορεία ανακάλυψα πως ο προγραμματιστής είχε ξεκινήσει από RGP και δεν ειχε μάθει ποτέ το if-Then-Else, while, αλλά έγραφε ακόμα με μυαλό RGP. ΜΗΝ χτυπάτε τους νέους!!!

15 Απριλίου 11 at 10:56 μμ

Ποιά είναι η άποψή σας για την παραπάνω δημοσίευση;

Πολιτική Σχολιασμού: Δεν επιτρέπεται χρήση κώδικα HTML. Τα URIs και οι αλλαγές γραμμής μετατρέπονται αυτόματα. Η διεύθυνση e–mail σας δεν θα εμφανιστεί σε δημόσια σελίδα.

(απαιτούμενο) 
(προαιρετικό)
(απαιτούμενο) 
Εισάγετε τον κωδικό:
CAPTCHA Image