Στο παρελθόν έχω γράψει τα άρθρα με τίτλο «Τι γνώσεις χρειάζονται για να γίνει κανείς web developer ή web designer» και «Τελειώνεις την σχολή πληροφορικής και θα βγεις να ψάξεις για δουλειά ως web developer; Τότε αυτό σε ενδιαφέρει.» ως βοηθήματα προς υποψήφιους για την αγορά εργασίας του χώρου Web Development και Web Design.
Επειδή εδώ και λίγο καιρό ψάχνουμε στη δουλειά για web developers και web designers, αφού δημοσιεύσαμε αγγελίες σε διάφορα μέσα, λάβαμε σε διάστημα περίπου ενός μήνα, πάνω από 200 βιογραφικά, τα οποία πέρασαν από τα χέρια μου και συνεχίζουν να έρχονται και άλλα ακόμα και τώρα που γράφω αυτές τις γραμμές. Οι θέσεις ήταν για Αθήνα, Θεσσαλονίκη και Αλεξανδρούπολη, οπότε λογικό είναι και ο αριθμός των βιογραφικών να είναι σχετικά μεγάλος παρόλο που το αντικείμενο εργασίας είναι αρκετά εξειδικευμένο.
Στην αγγελία που δημοσιεύσαμε γράφουμε:
Αντικείμενα απασχόλησης:
- Web Design. User Interface Design, Frontend και Backend templates Design, Σχεδίαση λογοτύπων και άλλες περιστασιακές γραφιστικές ανάγκες της εταιρείας.
- Web Frontend Development. Εργαλεία ανάπτυξης εφαρμογών όπως xhtml / html5, CSS2/3, JavaScript / jQuery, ColdFusion ASP, PHP κλπ..
- Data Base Development, κατά προτίμηση MS SQL Server.
Θα ήθελα μέσα από αυτό το άρθρο να γράψω ορισμένες προσωπικές παρατηρήσεις και λίγες φιλικές συμβουλές προς οποιονδήποτε ενδιαφερόμενο υποψήφιο που στέλνει βιογραφικά σε εταιρείες πληροφορικής και πιο συγκεκριμένα για μια θέση στον χώρο του web design / web development, που εννοείται πως δεν αποτελούν κανόνα, αλλά πιστεύω πως μπορεί να σας βοηθήσουν.
Για τους Web Designers / Front End Developers:
Δύσκολα θα βρείτε στην Ελλάδα εταιρεία με βασικό αντικείμενο το web design / web development που να απασχολεί διαφορετικά άτομα για τις γραφιστικές εργασίες (λογότυπα, φυλλάδια, κάρτες κλπ) και άλλον για την σχεδίαση των μακετών (templates) και έναν τρίτο για την μετατροπή της μακέτας σε xhtml, css, js. Υπάρχουν λίγες μεγάλες εταιρείες στην Ελλάδα που απασχολούν πάνω από 10 άτομα προσωπικό, ώστε να μπορούν να κάνουν και καλύτερο διαχωρισμό ρόλων.
Αυτό που ζητάει η αγορά και θεωρεί ιδανικό για τέτοιες θέσεις είναι οι λεγόμενοι Front end Developers. Ο συγκεκριμένος «ρόλος» είναι ένας συνδιασμός δεξιοτήτων σχεδιαστικής αισθητικής αλλά και προγραμματισμού. Πιο συγκεκριμένα ο «καλός» Front End developer πρέπει να είναι σε θέση να φέρει εις πέρας με αξιόλογα αποτελέσματα κάθε γραφιστική εργασία που θα του ζητηθεί, αλλά και το βασικότερο, την σχεδίαση μακετών (web templates / themes) και την γνώση της μετατροπής της μακέτας που σχεδίασε σε κώδικα, κατά προτίμηση xhtml, css και javascript (πιθανότατα όχι καθαρή js αλλά χρήση κάποιου javascript framework όπως το jquery). Αυτό σημαίνει πως πρέπει να είναι σε θέση να αναλαμβάνει να σχεδιάσει, ότι βλέπει ο επισκέπτης οποιασδήποτε ιστοσελίδας είτε αυτό είναι λογότυπο, είτε εικονίδιο, είτε διαφημιστικό banner, είτε μενού, είτε οποιοδήποτε άλλο εικαστικό / γραφιστικό μέρος της ιστοσελίδας. Εκτός αυτού , αυτό που πρέπει να παραδώσει στους προγραμματιστές είναι η μακέτα με όλα όσα προαναφέρω, έτοιμη και λειτουργική και με καθαρό κώδικα και σχεδίαση που θα λαμβάνει υπόψη πως κάποιες ενότητες θα επαναλαμβάνονται όταν γίνει δυναμικό το site, οπότε και η δομή που θα παραδώσει πρέπει να προβλέπει και να προλαβαίνει για μελλοντικά λάθη.
Ένα απλό παράδειγμα για να γίνω κατανοητός από όσους έχουν βασικές γνώσεις html, css είναι το παρακάτω:
<div id=”enotita”><span class=”eikona”><img src=”tade.jpg”/></span><h1>titlos</h1><p>lorem ipsum</p><div>
Ας υποθέσουμε πως το παραπάνω είναι μια περιοχή με την λίστα με περιλήψεις των άρθρων προς ανάγνωση. Αν ο παραπάνω κώδικας μπει σε ένα loop από τον προγραμματιστή και δείξει ας πούμε τρια καταχωρημένα άρθα, δείτε το πρόβλημα που προκύπτει:
<div id=”enotita”><span class=”eikona”><img src=”tade1.jpg”/></span><h1>titlos 1</h1><p>lorem ipsum 1</p><div>
<div id=”enotita”><span class=”eikona”><img src=”tade2.jpg”/></span><h1>titlos 2</h1><p>lorem ipsum 2</p><div>
<div id=”enotita”><span class=”eikona”><img src=”tade3.jpg”/></span><h1>titlos 3</h1><p>lorem ipsum 3</p><div>
Έχουμε στην ίδια σελίδα 3 divs με το ίδιο id, πράγμα που έχει ως αποτέλεσμα να μην είναι valid η σελίδα μας.
Τέτοια θέματα, παρόλο που μπορεί να τυχαίνει να μη δημιουργούν σοβαρά προβλήματα στην σελίδα, καλό είναι να είναι σε θέση ο front end developer να τα προλαβαίνει.
Όσο για το λειτουργικό κομμάτι που οφείλει να παραδίδει, σημαίνει πως όταν στην σχεδίαση του δείχνει ένα drop down menu, ένα carousel, ένα slideshow κλπ, τότε στην μακέτα που θα παραδώσει, θα πρέπει να έχει γράψει και τον απαραίτητο κώδικα ή να έχει συμπεριλάβει τα απαραίτητα π.χ. jquery plugins και να είναι πλήρως λειτουργικό στην στατική του μορφή από client side, ώστε ο developer να αναλάβει να τα μετατρέψει έπειτα από server side μεριά, σε δυναμικά. Στην ιδανική περίπτωση ο web developer δεν θα χρειαστεί να κάνει καμιά παρέμβαση στην xhtml, css και js του frontend developer.
Τα παραπάνω τα γράφω επειδή διαβάζω και έχω ακούσει από διάφορους που θέλουν να δραστηροποιηθούν στον χώρο να λένε «δεν φτιάχνω λογότυπο, επειδή αυτό είναι δουλειά γραφίστα», «εγώ μόνο σχεδιάζω στο photoshop, δεν κόβω την μακέτα, αυτή είναι δουλειά του developer» και διάφορα τέτοια. Μάλιστα αυτά ακούγονται πολλές φορές και από άτομα που κατά τα άλλα δηλώνουν freelancers web designers / web developers.
Και ως freelancer να εργαστεί κάποιος στον χώρο, πάλι θα χρειαστεί να μάθει να κάνει αυτές τις εργασίες, σε διαφορετική περίπτωση αν αποφασίσει να κάνει εξωτερικές συνεργασίες ας πούμε για το λογότυπο ή για το κόψιμο της μακέτας, το συνολικό κόστος του έργου θα ανέβει αρκετά για να μπορέσουν να καλυφθούν τα έξοδα, πράγμα που θα τον κάνει μη ανταγωνιστικό.
Κάτι άλλο που μου έκανε εντύπωση σε πολλά βιογραφικά που ήρθαν για την θέση των web designers είναι πως στην πλειοψηφία τους δεν συμπεριλάμβαναν κάποιο portfolio ώστε να δείξουν τι είναι ικανοί να κάνουν. Θεωρώ άκρως απαραίτητο όταν κάποιος ζητάει να προσληφθεί ως web designer, δουλειά που βασίζεται δηλαδή κυρίως στο εικαστικό, να προβάλει τις καλύτερες δουλειές που έχει κάνει και αν δεν έχει προυπηρεσία, πρώτα να κάτσει και να φτιάξει κάποια templates για δική του χρήση και εξάσκηση, να τα ανεβάσει σε κάποιο από τα πολλά δωρεάν wesites που υπάρχουν στο διαδίκτυο για αυτήν την δουλειά ( Building an Online Web Design Portfolio: Tools, Themes, and Templates , Where to Post Your Graphic Design Portfolio ), ή ακόμα καλύτερα μαζί με το βιογραφικό του σε δικό του προσωπικό site και domain.
Δεν βοηθάει ένα βιογραφικό που περιλαμβάνει μόνο τις θεωρητικές γνώσεις που έχει λάβει ο υποψήφιος από κάποιο εκπαιδευτικό ίδρυμα ή από κάποια άλλη εργασία που έκανε, χωρίς το απαραίτητο portfolio και ειδικά σε αυτό δεν χωράνε δικαιολογίες του στυλ «δεν έχω ξαναδουλέψει ώστε να έχω δείγματα δουλειάς». Σε αυτό ειδικά είμαι απόλυτος. Αν δεν έχετε δείγματα εργασίας, ασχοληθείτε, φτιάξτε και κόψτε μακέτες και θα αποκτήσετε. Αν δεν έχετε ιδέες για κάτι καινοτόμο, φτιάξτε templates με την δική σας πρόταση για ανασχεδίαση γνωστών παγκοσμίως web sites.
Εκτός της γνώσης που θα κερδίσετε από την όλη διαδικασία, αν η δουλειά σας είναι πραγματικά αξιόλογη, μπορείτε να βάλετε τα themes σας προς πώληση στα γνωστά διεθνή websites όπως το themeforest ή το templatemonster και να βγάλετε και χρήματα, αλλά παράλληλα θα έχετε και ένα μεγάλου ατού, αφού ειδικά στο themeforest η επιλογή των themes που καταχωρούνται προς πώληση, γίνετε με ιδιαίτερα αυστηρά κριτήρια και αν την επιτύχετε σας προσθέτει κύρος.
Ένα δεύτερο που σίγουρα μετράει θετικά στα βιογραφικά των σχεδιαστών, είναι η σχεδίαση του ίδιου του βιογραφικού. Πέτυχα λίγα βιογραφικά όπου με το που τα άνοιγες σου έκαναν θετική εντύπωση γιατί ήταν καλοσχεδιασμένα, με γραφικά όπως αρμόζει σε έναν γραφίστα που ψάχνει για σχετική δουλειά και άλλα που ήταν είτε κλασικά τύπου Europass ή ήταν από έτοιμα πρότυπα του word.
Αυτά για τους web designers / front end developers που όπως βλέπετε θεωρώ πως αυτήν την εποχή τουλάχιστον πάνε πακέτο.
Συνοπτικά λοιπόν, σήμερα που γράφω αυτό το κείμενο, για εμένα προσωπικά το ιδανικό για έναν web designer / front end developer είναι να γνωρίζει να σχεδιάζει ένα πρότυπο – μακέτα με όλα της τα γραφιστικά στοιχεία και έπειτα να έχει τις γνώσεις ώστε να την «κόψει» σε xhtml, css και js (κατά προτίμηση HTML5 και CSS3), να μπορεί να φτιάξει γραφικά περιβάλλοντα για εφαρμογές (user interface design) και να γνωρίζει και περί responsive web design.
Για τους Web developers:
Το μεγαλύτερο Ελληνικό φαινόμενο που διαπίστωσα σε όσους έστειλαν βιογραφικά για την θέση των προγραμματιστών, είναι πως έβαζαν ως γνώση προγραμματισμού κατά πλειοψηφία το Joomla και μερικοί κάποια άλλα γνωστά συστήματα διαχείρισης περιεχομένου.
Ενημερωτικά: Η γνώση χρήσης ενός cms δεν θεωρείται γνώση προγραμματισμού από εταιρείες που κάνουν ανάπτυξη εφαρμογών και χρειάζονται άτομα που θα γράφουν κώδικα.
Προφανώς αυτή η παρεξήγηση οφείλεται στο γεγονός πως οι περισσότερες εταιρείες που φτιάχνουν web sites στην Ελλάδα, χρησιμοποιούν έτοιμες πλατφόρμες, αλλά όπως και να’χει οι υποψήφιοι για θέσεις προγραμματιστών ιστοσελίδων, αν θέλουν να αναφέρουν γνώσεις πάνω σε έτοιμες εφαρμογές, πρέπει να το αναφέρουν ως γνώση χρήσης και όχι ως γλώσσα προγραμματισμού.
Και στα δυο αντικείμενα (design/develop), η αγορά καλώς ή κακώς ψάχνει και προτιμά άτομα που μπορούν να ανταπεξέλθουν σε πολλαπλές εργασίες. Ακόμα και οι προγραμματιστές θα πρέπει να γνωρίζουν έστω κάποια βασικά θεματάκια γραφιστικής ώστε να μπορούν να συνεργαστούν με την αντίστοιχη ομάδα και εννοείται πως και αυτοί οφείλουν να γνωρίζουν xhtml, css και javascript. Από εκεί και πέρα η πιο διαδεδομένη scripting γλώσσα είναι η php και για βάσεις δεδομένων η mysql και έπειτα asp.net με transact sql για τον sql server κυρίως.
Εφόσον υπάρχει portfolio από sites που συμμετείχατε καλό είναι να αναφέρονται μαζί με ποιόν ρόλο είχατε εσείς στο όλο έργο. Αν δεν υπάρχει, καλό είναι να γράψετε εφαρμογές που κάνατε στον προσωπικό σας χρόνο είτε σε επίπεδο εκπαιδευτικών εργασιών, είτε για δική σας χρήση. (pet projects)
Μια τελευταία συμβουλή που αφορά όλους τους υποψηφίους που αναζητούν εργασία. Αν δεν χρησιμοποιείτε social networks και έχετε φτιάξει accounts απλά για να υπάρχουν, καλό είναι να μη τα βάζετε στα βιογραφικά σας. Το ίδιο προτείνω και αν έχετε και τα χρησιμοποιείτε και γράφετε θέματα τα οποία δεν θα έπρεπε να βλέπει ο οποιοσδήποτε, πόσο μάλλον κάποιος που ζητάτε να συνεργαστεί μαζί σας. Ας πούμε, δεν είναι και ότι καλύτερο να διαβάζεις μπινελίκια στο facebook ή στο twitter με το που μπαίνεις στο προφίλ του υποψηφίου, από κλικ που έκανες στο link του βιογραφικού του.
Αυτά τα λίγα ως προσωπικές συμβουλές που πιστεύω μπορούν να σας βοηθήσουν ώστε να μη καταλήξει το βιογραφικό σας στον φάκελο με τα «αδιάφορα».
update: Δείτε μια πολύ καλή λίστα με τεχνολογίες και γνώσεις που μπορεί να χρησιμεύσουν σε έναν frontend developer: https://github.com/dypsilon/frontend-dev-bookmarks