Τι γνώσεις χρειάζονται για να γίνει κανείς web developer ή web designer

Update Ιανουάριος 2023:

Επειδή η τεχνολογίες αλλάζουν ραγδαία στον χώρο και σχεδόν κάθε μήνα έχουμε νέες γλώσσες προγραμματισμού, βοηθητικές βιβλιοθήκες, νέα προγράμματα που κάνουν την δουλειά μας ευκολότερη κλπ. Για όσους ακόμα ψάχνονται από που να ξεκινήσουν ώστε να μπορέσουν να μπουν στον χώρο:

Frontend Developers: The Front-end Developer RoadMap (2022 Edition)

Backend Developers: Backend Developer

Full Stack Developers: The 2022 Road Map To Becoming a Full Stack Web Developer

Designers:

  • Photoshop ή άλλο παρεμφερή software όπου θα σχεδιάσει το template ώστε αργότερα να το “κόψει” (slicing) σε valid XHTML / CSS
  • Dreamweaver ή άλλον code editor
  • XHTML, HTML, γνώση του DOM
  • CSS
  • Javascript ή έστω κάποιο js framework όπως το jquery για παράδοση μαζί με το κομμένο template και του functionality π.χ. των drop down menus, slideshows, hide/view areas κλπ
  • Βασικές αρχές Τυπογραφίας (typography)
  • Βασικές αρχές θεωρίας χρώματος (Color Theory)
  • Βασικές αρχές usability (UI Design Patterns) & accessibility & browsers compatibility
  • Μελέτη και συνεχής παρακολούθηση των Web standards και των web trends

Χωρίς να τα θεωρώ άκρως απαραίτητα:

  • Σχέδιο , wireframing + σωστή διαχείριση Whitespace
  • Grid Design
  • Flash
  • Image compression – optimization, CSS Image Sprites

Developers:

  • Μια (τουλάχιστον) server side γλώσσα όπως php, asp, coldfusion cfml
  • SQL
  • Dreamweaver ή άλλον code editor
  • HTML, XHTML, JSON / XML
  • CSS
  • Javascript + jquery προαιρετικά (γιατί επιταχύνει πολύ το development από client side μεριά) + Regular expressions
  • Page layout design (valid κατά προτίμηση) και κάποιες ακόμα βασικές αρχές σχεδίασης
  • Βασικές αρχές usability & accessibility
  • Μελέτη, εφαρμογή και συνεχής παρακολούθηση των Web standards (αυτό περιλαμβάνει και τεχνικές που κάποιοι τις τοποθετούν στο κομμάτι του SEO)

Όσο περισσότερα ξέρει και από τα παρακάτω βοηθάνε επίσης:

  • Debugging Software, statistics and analytics (π.χ. firebug, yslow)
  • Apache / IIS rewrites + Redirects, code Optimization και Refactoring, Caching + Load balancing τεχνικές
  • Object Oriented ανάλυση, σχεδίαση και προγραμματισμό
  • Για μεγάλα projects: Version control (π.χ. Subversion)

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

Update 22-12-2011:

Μερικά ωραία links που μπορούν να εμπλουτίσουν τις γνώσεις σας:

Update 2018 :