mathematism

Jan 12

The ambiguity of “web developer”

Following is a brief discussion of the confusion that surrounds the job title of Web Developer, where it comes from, and what we can do to improve the situation.

There are few job titles that are as vague, yet ubiquitous, as web developer. How the role is interpreted seems to vary from company to company and person to person. Where does the lack of clarity come from and what can we do about it as a community?

Sources of confusion

Definition of Web Developer

Definitions found online can be a huge source of confusion. A quick search on Wikipedia provides us with the following:

A web developer is a software developer or software engineer who is specifically engaged in the development of World Wide Web applications, or distributed network applications that are run over the HTTP from a web server to a web browser.

In case you didn’t catch that, a web developer is a software developer. Or a software engineer. It’s one site and a very basic example, but with everyone from news organizations to students to public speakers citing Wikipedia in their articles, research papers and lectures, you can see how quickly poorly defined terms can propagate throughout society.

Two words, many meanings

What if we break down the title itself?

Most people have a general understanding of what the Web is. When Web is used in the title it becomes more unclear. Does Web mean Web sites? Mobile Web? Online stock trading software?

Developer is equally vague. Does this mean one writes HTML? Python? SQL? None of the above? All of the above? Does a developer actually write anything? Or does a developer plan and manage? What is the job description for web developer?

Job boards

Let’s look at what employers are looking for—what they describe as a web developer. A quick search of some random job boards yielded the following sample openings:

  • Freelance Web Developer
    Linux/Apache/MySQL/PHP5/jQuery/AJAX/HTML/CSS

  • Junior Web Developer
    HTML/CSS/ASP/VB/Flash

  • Web Developer
    HTML, Javascript, AJAX, CSS, J2EE, Unix, Spring, Hibernate, MySQL

  • Web Developer
    OOP, XHTML, CSS, AJAX, PHP, SQL, Photoshop, Java/J2EE, ORM, Spring, Cake, RoR, Eclipse IDE, Subversion, Linux

  • Web Developer
    HTML, CSS, JavaScript, DOM, CMS systems, SEO

In other words if you would like to be considered for a job as a web developer, you’ll need to know how to administer a server, write semantic front-end code, write SQL, understand core programming concepts, make fancy things happen with JavaScript, understand a web framework, and manage a slew of database management systems.

It seems then, that there is a problem with the perception of what the day-to-day taks of web developer are.

Differing viewpoints

To complicate things, within our community there seems to be no consensus among how the position of web developer is interpreted.

Back-end developers: some interpret the role as one that relates to front-end markup and behavior only. Some expect a web developer to have design skills. Others may even refer to themselves as web developers.

Front-end developers: I would venture to say most front-end developers view themselves as web developers. I’ve seen individuals with only HTML/CSS skills refer to themselves as programmers too.

Designers: depending on what type of designer you are, there are two viewpoints I’ve seen in my experience here. A: I’m going to design something and then give it to the web developer to make it happen. B: The only way for me to be a good web designer is to get my hands dirty and become a hybrid.

Executives: depending on the size of the organization, the higher you go up the management chain the less is understood about what exactly web developer means. At the end of the day they may not necessarily be the hiring manager anyway and what is important is that the job gets done regardless of titles.

Clients: like almost everything else we do as web professionals, the end result is what matters, not a job title. Nonetheless, clients seem to be missing a clear understanding of the daily tasks of a web developer.

Generalization vs. specialization

In a conversation I had with Greg Newman regarding the issue of ambiguity of web developer, he brought up a good point. Greg and I both come from a design background and still maintain skills in design, front-end development, and back-end development. Sometimes job titles are made purposefully vague so they can cover a broad range of skills.

The way I see it, there are two types of people:

Generalists: have a range of knowledge spanning multiple topics across several disciplines. An example here could be someone who designs, writes front-end code, and writes back-end logic.

Specialists: have an intense passion for a very specific discipline and do whatever they can to delve deeply into any sub-topic within that discipline. An example here could be someone who focuses on planning and writing complex back-end logic.

In the generalist’s case, the title of web developer might be a good match because the variety of work lends itself to an open-ended title. In the specialist’s case, web developer really wouldn’t provide an accurate description of the work they perform.

Which brings up an excellent question…

Is it even an issue that the job title web developer is vague?

Although you could easily write this off as a non-issue, there are some things to consider.

The impact on individuals in our field:

  • How do you accurately compare your income and career progress with peers?
  • If you are looking for a job, how can you be sure your skills are up to par?
  • How do you clearly explain to colleagues, friends, and family members what you do?
  • How does the variance of job requirements affect your personal career goals?

The impact on our community:

  • How do we refer to one another professionally without causing confusion?
  • Does lack of clear role definition lead to lack of respect?
  • How does the vagueness affect perception outside the community?

Possible solution(s)

Create clear titles for all the sub-types of web developers

Think about the following job titles:

  • Accountant
  • Astronaut
  • Landscape Architect
  • Flight Attendant

I’m by no means involved in the field of architecture, but landscape architect is very straight-forward and clearly defined outside the architecture community. I wouldn’t go so far as advocating the removal of web developer from daily use. We do have some clear roles in the field (e.g. Flex/Flash Developer), but there is certainly room for improvement.

Create consensus amongst community

If web developer is going to be used as a title within the community, is there some way to clearly define the expectations of such individuals? Or should we as a community define the role as a generalization with more clearly defined sub-roles?

Refine occurrences of definition online

Sites such as Wikipedia act as a reference for people of all ages and skill levels. As a high school graduate what would you take away from the myriad definitions found online? We should take initiative to point out and clean up unclear occurrences of the definition we run into.

Inform societal influencers

Educators, recruiters, employers, et. al. have a direct impact on how the role is portrayed within society. The community should be informing and communicating with these influencers, creating a cascading effect.

Take the survey

If you have a minute to spare, take the short survey I’ve set up. I’m going to leave the survey up for 30 days, collect as much information as possible, and publish the results in an easy-to-digest format.

In one year I’ll re-open the survey and collect new data for 2011 to see if any consensus has begun to form within the community.

Thoughts?

The main takeaway here is that web developer is a vague, broad reaching job title worthy of some discussion. The lack of clarity has an effect on our industry and individuals. No one seems to have a clear definition of the role which creates confusion within and outside the community. There are some obvious things that could be done to eliminate some confusion. The bigger question is should we do something or should we leave the role purposefully vague? I’d love to hear what you think.