Front End Architecture
I’ve long been a fan of Garrett Dimon’s article, The Time is Now for Front-End Architects. It’s something I’ve been advocating, that I spoke about in my recent presentation, and also wrote about in the book.
What am I talking about? I’m talking about treating front end Web development as a first class citizen in Web building, at every layer and every tier, from design to backend software’s user interface layer.
And a lot of designers just aren’t there.
Modern Web Development Teams
Web development is a new software practice, and being a young industry there’s some problems still:
- we don’t know what to call things (job titles)
- Web design and development features different and new subject matters and responsibilities (job descriptions)
The structure I’m most familiar with is three levels: Web designer, front end developer, and back-end developers. Now, nuances and team structure around a career arc and so forth vary and I haven’t even fully arrived at my conclusions, but I think it’s the only model that makes sense. Let me explain why.
There’s an argument that says Web designers should “know their medium”, that being HTML and CSS. I believe this. However, being that I do some front end work, and some back end work, I think each layer is critical to the user interface of a Web site. Someone needs to fit at that intersection between the software and the design. Things are getting sufficiently complicated on the front end that it takes a lot of effort to get it just right.
One might also argue that there’s a fourth layer: Web Content Management. But that’s another article.
Responsible for Code in the Browser
Nate says that a frontend engineer is responsible for “View Source”. I’ve been saying front end Web developers are responsible for everything that is sent down to the browser. I like “view source” since it’s a concise and easy to state idea which is a common terminology. It’s easier to say, for sure.
I’m using “front end” and “frontend” both, because, frankly, I don’t know which is right. I never have. Opinions?
What Makes an Engineer
I think the distinction between a front end Web developer or designer (CSS, HTML) and an “engineer” is a fine line, but an engineer is going to take it to the next level.
I think there’s a place for front end Web designers and developers who concentrate on HTML and CSS, but I feel like the engineer is the next step up on the ladder.
There are “freaks” (I call them freaks because they’re unusual and rare; also highly prized) that are capable designers, programmers, and can do just about everything. These guys are rare, and you should grab them up and hold on to them as tightly as you possibly can. They’ll have a unique perspective.
But the point is, they’re the exception to the rule. There’s so many blogs and Web sites of people out there talking about this stuff, it’s easy to fall into the trap of thinking that these people are commonplace. Trust me, I’ve placed job ads and seen resumes and tried to hire these people: they’re rare.
The issue is that (most — there’s always exceptions) traditional server-side programmers don’t know and don’t care about the Web browser very much. Some guys I have extreme respect for have said to me, “I don’t know” when asked what server-side chunk of code output what client-side code. Some of these guys don’t even look. They don’t “view source”. Can you blame them? They’ve got high end business rules and logic and applications to just get working.
Even the folks that develop most modern frameworks don’t care about the browser very much. Most examples for ASP.NET just suck. How can you not care about your medium?
Someone’s got to.
Going back to Croft’s article the problem is this:
- UI / UX Designers: they don’t necessarily know programming
- Server-side developers: they don’t necessarily know Web browsers
Knowing the Web browser is critical to building a responsive, accessible, well designed, scalable, well structured Web site or Web application in 2008 and beyond.
Someone’s got to know the browser.
Possibly Related Articles
Commenting is closed for this article.