Vor kurzem ist mir erstmals aufgefallen, mit welchen Technologien, Sprachen und Konfigurationen man sich als Webentwickler eigentlich (grundlegend) auskennen sollte. Die Liste ist wirklich lang geworden – und ich bin mir sicher, dass sie nichtmal vollständig ist. Je länger man nachdenkt, desto mehr fällt einem einfach ein.
Basics
- Dateiformate / Encodings
Sprachen / Formate
- PHP + Extensions (PEAR, PECL, …)
- (demnächst Hack)
- JavaScript (jQuery, Prototype, CoffeeScript, nodejs, …)
- CSS (SCSS, LESS, Media Queries…)
- HTML 4 & 5
- XML (XSLT, XSD, xpath)
- JSON
- CSV
- (evtl. noch ruby, perl, python)
Frameworks
- Zend (2)
- Symfony 2
- Smarty, Twig
- phpUnit
- Behat
Entwicklungstools
- git
- phpStorm
- docker
- SVN
- composer / phing / bower
- modman
- grunt / gulp
- vagrant
- ci (travis ci, …)
- node / npm
- brew
- Selenium
Protokolle
- HTTP / HTTPS (get, post, put, head, XHR, Ajax)
- SSL / TLS
- TCP/IP
- POP / IMAP / SMTP
- FTP / SFTP / SCP
- SSH
Server & Tools
- bash basics
- vi / nano
- apt
- Berechtigungen
- Apache (Virtual hosts, htaccess, …) / nginx / HHVM
- Netzwerke (Klassen, Subnetze, Ports, Routing, VPN, …)
- SSH (inkl. key management RSA / DSA) / known_hosts / authorized_keys
- Postfix
- mysql / mysqldump
- Remote Desktop / Teamviewer / VNC / …
Datenbanken & Tools
- mySQL, MSSQL, Oracle (Tabellen, Constraints, Trigger, …)
- elasticsearch
- mongoDB
- postgresql
- phpMyAdmin
Natürlich kann man nicht auf jedem Gebiet alles können. Aber man sollte doch irgendwie jedes Thema einordnen können und grundlegend wissen worum es geht. Die (in meinen Augen) weniger wichtigen Themen habe ich kursiv gekennzeichnet. Ich habe ganz sicher noch viel vergessen.
Anmerkungen gerne in den Kommentaren.