I’ve spent the last eight or so years (has it really been that long?) doing Web development, and each year I get deeper and deeper into the actual hard-core guts of development. You know the drill, from simple presentation (HTML) through dynamic scripting languages/database access to the tools that actually either create parts of a site remotely (not on a POST or GET request) or tools to help manage/maintain the sites.
While most of my work has been with such types of Web development – and I see that staying that way – it’s sometimes daunting to see the tools that a needed to be an even baseline competent Webmonkey.
- HTML
- CSS
- JavaScript
- DHTML (CSS + JavaScript)
- At least one, preferably two scripting languages: ASP, ColdFusion, JSP, Perl/CGI, PHP
- Today, RSS knowledge is important (which implies/requires some inkling of XML)
- Some SQL (or forget dynamic sites, unless it’s tool based)
- Rudimentary (at least) understanding of PhotoShop/graphics production
And this is ignoring all the tools (HomeSite, WebTrends) one may use and protocols that one needs to be at least unconsciously aware of (FTP, HTTP, HTTPS, telnet/SSH).
This is a broad range of skills: It’s a combo of writing (if not for edits, but for error messages and so on), coding, graphics and integration chops.
That’s a lot for the basics.
More hard-core programming – say, a Unix C programmer – needs to know C, Unix and some socket stuff or what have you. Harder to learn, harder to get better at (IMHO), but – overall – a much narrower range of skills. A C programmer, for the most part, has little concern about graphics or graphic design; Web developers do.
I’m not complaining, mind you – having new stuff to learn is great. While I’ll continue to get better at ever the very basic stuff (say, HTML) and still never run out of ways to improve there, it’s exciting to learn completely new technologies, such as RSS and XML.
Or SVG, CSS2, Python, Ruby, Mason…