Why Your Company Needs A Front End Developer

July 25th, 2010 by Mike Wilcox

Business often places most, if not all, of their development efforts on the server side.  As companies start a development project, focus is usually given to the data that supports their idea, its security, and the business logic. The problem is, this strategy misses the holistic approach that a front end developer offers. The front end guy is often considered the guy who “makes things pretty”. While this description is based on a kernel of truth, it’s more of a stereotype. It’s about as accurate as describing the server-dev as the guy who just “serves data”.

Myth of the End to End Developer

Jack of all trades, master of none? Let’s consider all the factors our “end to end” developer must accommodate.  He is going to maintain the business logic, security, and performance – and then make it scale – and simultaneously execute a perfect user experience on the client? Even if he writes the client side code by hand and does it well, something will need to be sacrificed somewhere. Yes, there are a few super heroes out there, but very few. If you have one, congratulations, but the chances are you have a mere mortal. Server devs often use tools that generate markup for them. There’s a danger in thinking that this generic markup is good enough. Will this generic solution move your business forward? Does the off-the-shelf styling exude professionalism to your clients or users? Does it provide an exceptional user experience?

Let’s put it another way. If you buy an Aston Martin, do you buy it because it has high horse power? Or is it the throaty rumble of the engine through the finely tuned dual mufflers when you downshift the semi-automatic transmission while slightly twisting the padded steering wheel takes you smoothly into a sharp corner while being gripped by the heated leather seats with lumbar support, as you listen to your favorite music through sixteen speakers? That’s the user experience. That four hundred horse power motor is designed by an expert engineer. If that expert was to design your heated seat… he might actually have a knack for seats, or he may just spec something “good enough” from Wal-mart.

What is a Front End Developer?

Front end developers are experts in their field and often have many distinct talents.  They have read books on HTML markup, CSS, usability, design, color theory, and several on JavaScript. They also probably have read one or two server language books, as the interaction with the server plays a major role in Ajax technologies. Front end developers take a holistic approach because in addition to the markup and JavaScript stack, they often embrace some very diverse technologies:

  • Web usability and heuristics
  • Web 2.0 trends, APIs, mashups, and other emerging and disruptive technologies
  • Graphical design, architectural design, database design, and programming design
  • Browser compatibility and web standards
  • Optimization and design for mobile devices
  • High performance websites
  • Multimedia production and delivery
  • SEO or even SOA
  • Copy writer or proof reader

Not every developer you hire will have all of these traits, but we are describing a highly skilled individual as an example, just as we are comparing him to a highly skilled server developer. Arguably, any subset of this list is still complimentary to the abilities of the server developer, even if there is overlap.

The front end guy engages not only in literal or concrete concepts, but also abstract thought. They are often that rare breed who are able to bridge the gap between math and art, and are in fact the ones who understand that math is art.  Because of the thought process of someone who is able to take these various disciplines and connect the user experience to logical transaction processing, they are extremely valuable to a business’ bottom line.

The Monetary Value

We can look at the previous list superficially, and it’s still quite obvious that a company is going to get a good return on their dollar for hiring this individual. But it’s more than getting a multitasker with a lot of hats for the buck, or padding a resume with buzz words. Essentially, a company can’t afford to not have someone with these abilities. Let’s examine three simple business categories to show the economic value.

1 – User Experience

Besides content, users want a site that looks nice, performs well, and is intuitive to use. There’s numerous reasons users may be leaving your site, and the front end developer is the one who is equipped to recognize them.  The site may be poorly designed and displeasing to the eye, literally repelling viewers. A polished design instills confidence that the site is professional. The interface may be difficult to use and they may be frustrated, looking elsewhere. Expensive usability tests are no longer necessary for most interfaces as they have been replaced by repeatable patterns and best practices thanks to books like Don’t Make Me Think, and Jakob Nielsen’s excellent site. Tests. Even focus groups can be recreated by the resourceful developer by simply having people around the office use the interface while he watches.

2 – Code Quality

A seemingly innocuous act such as using tables for layout is costly. This is mixing presentational data in with your content, which creates excess markup – and bandwidth is not free. They also create a maintenance nightmare, which is labor intensive  – and expensive. Tables are less accessible and murder on cell phones and PDAs – which turns off your users. And Google likes accessibility too: following certain rules results in better SEO.

After editing out tables, the next thing a front end developer will do create external CSS and JavaScript which will be cached by the user’s browser. This alone could save 50% of your bandwidth usage. There will be exactly one style sheet to download, and maybe two external scripts. Making use of progressively enhanced CSS3 will eliminate the need for the graphics used for drop shadows, gradients, and rounded corners – greatly reducing server requests. The remaining graphics will be properly sized and properly compressed. Advertisements and social networking tools can turn your page into a resource hog and turn off your users. The front end developer knows how to make these tools play nice and place them in the proper, subservient role to your site’s content.

3 – Development Time

The key to a productive team is that you have at least two developers working together and answering to each other. The team mentality will promote the use of prioritized tasks, and keep a sole developer from becoming too lost in his own justifications. A proper project plan will have a much greater chance of success, and this plan should be broken up into key features that can be incrementally released. These partial releases are critical for either showing the client progress or having a public facing while other features are completed.  This is not just project planning 101. The front end developer knows to use Network Effects to the advantage of the company. Features should not be created and released all at once, but slowly, one at a time, and then monitored for success.

Server devs and client devs have different end goals: delivering data versus the user experience, respectively. You want to keep these goals seperate and concurrent, and ideally the way to do it is through the use of an API. The back end exposes the data through an API and the front end consumes it. A properly designed API frees the server developer not only from the duties of the UI, but from the potential insecurity of integrating the UI with the server logic. This keeps the front and back distinctly separate, which also not only reduces security risks, but lessens the use of generated markup which is more rigid. API-driven development is not only more efficient and secure, it prepares the company for the near future when applications move to the cloud and the availability of the data becomes valuable and paramount. This API can be tapped again and save even more money when different versions of the website is created for mobile phones.

And in case you are considering outsourcing, that’s not the answer. An entire article could be devoted to that subject of course, but start with none other than the former CEO of Intel, Andy Grove who argues that in order to recognize new avenues for growth, you need to have a close working relationship with your developers. You won’t get the same feedback from hired guns who are just trading code for a paycheck, and simply don’t have the same stake in a company’s success as an employee with stock options.

Conclusion

Typically, a business starts out on a shoe string budget and hires one server side developer, and builds the idea around him. The problem lies where the business starts to grow and a sales team is added, and financial officer is added, and finally, because the server guy is so overwhelmed taking on so much of the coding duties and falling behind in server code… another server guy is added.  You can’t blame the server developer for taking on these end-to-end chores. He’s most likely willing to do it or considers it a challenge. Tools like Visual Studio, and frameworks like JSP or JQuery gives him the false security that he can do it all.

In the not-so-distant past, the front end guy was a designer who handed off a bunch of GIF images to the server guy who inserted them into myriad tables within server-generated markup that had no line breaks, much less semantics. But the front end is more important now due to Ajax, HTML5, CSS3, web applications, social networking, mashups, mobile delivery, and SEO. There is too much technology for one person to be the master it all.  Businesses need to keep up with the growing trends and expanding technology and hire the correct type of developer that gives them the best chance of success.

Tags: , , , , , , , ,

28 Responses to “Why Your Company Needs A Front End Developer”

  1. Chris says:

    Great article. I tend to think you get the best work out of those who specialize rather than jack-of-alls.

  2. Greg Tarnoff says:

    You forgot one important thing to look for in a front end developer: Accessibility expert. Too often websites lack even basic accessibility features and it is becoming more and more important to go beyond the basic.

  3. Very good article, I see in it myself : ) thanks!

  4. Excellent article and usefull is currently looking for a front end dev, and this is very helpfull in this process.

  5. [...] Why Your Com­pany Needs A Front End Devel­oper | Club AJAX – Dal­las Ft. Worth Area AJAX Users … [...]

  6. Niels Bom says:

    This all sounds really obvious to me (programmer/webdeveloper) but I suppose it’s not to a manager who can’t code and has little understanding of the modern /interwebs/.

  7. Nikki says:

    Excellent article, thank you. I’m still amazed by the amount of people in the industry that don’t have a clue what front-end developers do :s

  8. Startup CTO says:

    Excellent article! Now, where can find front developers with these talents?

  9. [...] I could go on, but it’s obvious that in spite of the fact that this site is near the Alexa top 1000, it’s no where near high performance. A nice start for them would be to read my post on why they need a front end developer. [...]

  10. Being a consultant myself I will obviously disagree with your statement about outsourcing not being the answer. It might well be the only cost-effective way of getting hold of the talent and experience you require — it all depends on the professionalism of both parties. That point aside, this is a great article. The time to up the profile of front-end developers is now.

  11. 音速 says:

    very good article, I see in it myself : ) thanks!

  12. [...] Why Your Company Needs A Front End Developer by Anonymous • on Misc • August 4th• has no comments yet! by Mike Wilcox – link [...]

  13. some good key points here. also note that many front end developers choose to be work in the front end – because they love to design. A common misconception is that “that’s all they can do” is “to make things pretty”.

  14. Prez says:

    Congratulations. What a fantastic article. Great to see these statements about us FEDs as in reality our value isn’t given the credit it fully deserves. Keep up the great work.

  15. [...] since the earliest browsers.  But did you know JavaScript is a real language? It seems that only front end developers realize that it is!  Where is the confusion?  You have to look at the language’s origins.  [...]

  16. Addyson says:

    Inadequate use of web design engineering methods in software development projects have been estimated to cost the US economy about $30 billion per year in lost productivity.

  17. [...] ¿Deben los diseñadores web saber HTML y CSS?. Eterno debate. Pero creo que el enfoque del artículo está mal. Me gusta más éste: Why Your Company Needs A Front End Developer [...]

  18. [...] pollutionClub AJAX | Why Your Company Needs A Front End Developerby saski on December 1st, 2010Club AJAX | Why Your Company Needs A Front End Developer.[...] the front end is more important now due to Ajax, HTML5, CSS3, web applications, social [...]

  19. [...] It’s about as accurate as describing the server-dev as the guy who just “serves data”. Why Your Company Needs A Front End Developer This entry was posted in Uncategorized. Bookmark the permalink. ← Craveytrain Progress: [...]

  20. [...] at the DFW JavaMug last night, and created a presentation based on one of my more popular blogs, Why Your Company Needs A Front End Developer. Instead of addressing managers or decision makers, this one was geared toward server side [...]

  21. Michael says:

    You seem to imply that frontend development is hard. Plenty of folks can effectively do frontend while handling the other “ends”, even if it isn’t their primary focus.

  22. Mike Wilcox says:

    @Michael, it’s that very opinion that front end developers battle against their entire careers. But it’s not so much the developers I’m defending as much as the quality of the web itself. When working on the area that is not of your expertise, there is an overwhelming desire to make it “good enough”.

    If I were to take on backend duties, I would just dump the data in the DB. I wouldn’t worry about indexing or scalability, because it would be “good enough”. Because after all – what’s so hard about reading and writing data?

  23. dfk says:

    @Mike – I’ve just stumbled onto this article. Thank you for taking the time to write and post this – clear and succinct.

  24. [...] Why Your Company Needs A Front End Developer Like this:LikeBe the first to like this post. This entry was posted in link. Bookmark the permalink. ← I make plans [...]

  25. Suki says:

    “Even focus groups can be recreated by the resourceful developer by simply having people around the office use the interface while he watches.” That only applies if you are creating VERY basic sites and your target user is another developer. And I think you are referring to usability tests … not focus groups.

  26. Mike Wilcox says:

    So cynical Suki. The idea is to get eyes other than yours on the app. Developers don’t all use apps the same way. And if you don’t like that idea, perhaps there is someone in your office who is not a developer.

    And I’ve never built a very basic site.