The role of a web developerTuesday, February 06, 2007
I've been a web developer for close on 7 years now. I started with building microsites and content updates for the first few months, and gradually got into building Java based backends. That progression kept pace and in the last two years at Legal & General I was co-developing of entire e-commerce applications, seeing every little piece that makes up a Java-based web application. Now with Yahoo! I'm in a position where my skills as a web developer are being used, but not the skills as a server-side developer.
I admit, through the course of the interview process, I debated with myself if I could manage just being the front-end guy. Would I miss not being knee-deep in server-side stuff, not being actively involved in the entire scope of the project?
The first few months I worked in a state of accepting that I've lost what I used to have. It was raised as a question in my interview whether I understood I wouldn't be a lead developer, just a web developer. I understood the role, but perhaps not the implications of it.
Today, I think I understand those implications. I understand why making what on the surface looks like a step backward was the right move. Its because it moved me closer to where I'm happiest - a job that challenges me over a broad range of areas. It isn't a step back, but a leap forward - I'm unleashed from fitting into a job description that fails to describe the value I offer. I'm allowed to do the job I was really doing at Legal & General, and not to be ashamed of it.
Machinations of Legal & General
With the emphasis on the logical view of the application, there was very little focus in the front-end itself. You could nuke the United Kingdom, and still get your pension valuation. And yet, the one public facing interface to these services was utterly diabolical.
After a prolonged fight, particularly with a strong emphasis on accessibility, the web interface to these services started to improve. Hopefully, they were in a much better state when I left than when I joined. What was immediately obvious was I was doing the expected role of a senior 'ecommerce' developer as well as ensuring the web front-end was of sufficient quality - and so was everyone working in what was the Legal & General web team. Although we were seen as mere web developers, we were doing the same job as the java developers, and more.
Moving to Yahoo!
Switching to Yahoo!, in some sense could be considered a step backwards for me - losing out on the actual code-jockeying. But this is compensated by being able to focus on the most important part of a web application - what gets sent to the browser, for if that doesn't work - no amount of application design will correct that.
And the key implication is this: the specialisation on the web front-end means the quality of the front-end increases, because of the increased expertise. We have the same skill set as the engineers that develop the code that is the guts of our environment, but this isn't utilised because there's more value to be gained by using the web skills.
A couple of times in the last few months I've managed to diagnose problems with various applications that have had engineers befuddled for (apparently) months. That's not to say I'm anyway better than the engineers, we have some top-notch developers working with us in Europe. Its more to do with a wider scope.
Web development as a mindset
Web development isn't one skill, its an aggregation of many skills and knowledge - almost anything used in the context of the web counts as a web development skill. There are the basic skills like HTML, CSS and a server side language - that's enough to build a web application - this is the staple diet of a web developer.
Other developers specialise in internationalisation, or accessibility, or usability, or information architecture, or design, or search engine optimisation, or flash, or caching, or specialising in certain frameworks, templating systems, microformats, shell scripting, Unix (and its relations of Linux and BSD), system administration, Applescript, XML (even Atom and RSS), Web services (particularly REST and POX), Semantic Web technologies, and the often overlooked customer-facing skills. Its a melting pot of skills that no one web developer can completely grasp.
All those skills, spread across a team of highly skilled, passionate individuals comfortable in their own skills to willingly and freely share their knowledge and expertise. No one is an expert in everything, but everyone's an expert in a handful (or more) areas. And that is the modern web developer.
Web development and satisfying curiousity
But its not all about what expertise they bring to the table right now. Web development is also a mindset - its the passion for working on the web, allied with a thirst to learn new things - be it a new technique or a new technology. Quenching that thirst, that's the challenge of a web developer. Satisfying that curiosity to understand what's out there, and sharing ideas.