Wednesday 25 November 2015

The Difference Between Web Developers and Programmers

It's occurred to me that I use the terms "web developer" and "programmer" rather interchangeably. This is purely out of habit. Actually, there's no difference in the sense that both web development and programming are part of software development.

Well thanks
a lot, Mr Obvious.

Indulge me; I'm about to get a bit more specific. Web development is really a subset of software development - a subset that specializes in web technology. Web applications are software just like any other. Software runs on operating systems. Web applications run on web browsers, which in turn run on operating systems.

However, web developers and programmers don't appreciate being lumped together as "IT people".

The average web developer considers web technology a highly specialized field and calling him a "programmer" would net you the proverbial eye-roll-face-palm treatment. I once had a boss who continually told us "You have to step up your game. You're not just a programmer. You're a web developer!" He had a point: web development involves more than programming logic. Much more.

Programmers, on the other hand, consider programming a domain in which web developers are mere pretenders to the title. I'll concede that the average programmer is probably streets ahead of the typical web developer, especially since a healthy percentage of web developers aren't trained to code.

Muddying the waters

If you add mobile app developers and game developers to the mix, and the waters get even muddier. So I won't.

But yes, there are differences. We'll examine them as we go along.


Diversity in web developers
and programmers.

Diversity

Web developers have extremely diverse backgrounds. Back in my day, there was no specific field known as "web development". Web developers were mostly self-trained and hailed from a variety of professions, not necessarily IT. People like myself started off as trained programmers but branched into the web. Then there were graphic artists who started designing for the web. And later, we had marketing specialists crossing over to do SEO. 

Programmers tend to all come from similar technical backgrounds. People from business or engineering crossing over isn't unheard of, but that's usually as diverse as it gets.


One's pretty, one just works.

Form and Function

The common misconception is that programmers make things work, while web developers make things look pretty. It's not a complete lie, but it is a misrepresentation. The people who make things look nice are either graphic designers or web designers. Web developers, of course, need to be concerned with the user experience and how things look on the Internet. Because, y'know, sites are open for public viewing, and all that. That's one of the reasons people put websites on the internet, right?

I'm not saying programmers have it easy. But things tend to be a lot more straightforward for them. If the output is correct and overhead is kept to a minimum, everything's usually peachy. A web developer's output is reviewed by the public, and where aesthetics are concerned, there is no pleasing everyone. A web developer's output is, by its very nature, never 100% correct.



All these devices, and more.

Operating Environments

Software developers may need to ensure that their software runs on different platforms.

Web developers need to ensure that their websites run on a plethora of different browsers, different versions of those browsers, and the mobile version of those browsers! And when you consider that these browsers are updated every few months... yes, ouch.

Programmers often criticize web developers for not being thorough enough and being too willing to take shortcuts in order to get the job done, and lack of long-term vision. That's not wrong, but look at the context. Software is made to last, therefore programmers are allowed - encouraged, even - to do a proper, complete job. The Internet? Websites don't last very long, at least not in their current form Users get bored with the look-and-feel. Content needs to be updated often. Requirements change just like that. We wish we were given the same latitude, but that is the nature of what we do. Nobody has time for us to do a "proper, complete job".



Basically the same skillset,
but with different focus.

Skillsets

Think of this in terms of dance. Programming is analogous to classical ballet - strict rules, respected tradition. Web development is breakdancing - fuzzy rules, relative newcomer to the scene, lots of improvisation required. That's because programming revolves around logic - and logic is immutable. Web development is as much user experience as it is logic. And user experience is subjective.

Programming forms only part of a web developer's expected repertoire. As such, attention is often diverted to other areas, such as internet threats, search engine visibility, cross-browser compatibility, web compliance and aesthetics.

Programmers, in contrast, do programming exclusively and specialize in it. Memory management, data structures and algorithms? That's the programmer's domain.

All that said...

The us-vs-them mentality is unnecessary. We're all making an honest living and ultimately, our work revolves around solving problems. It's simply that the problems we are tasked to solve, have evolved. Let's wear our respective hats with pride.

Web Developer: <p>Goodbye, world!</p>
Programmer: System.out.println ("Goodbye, world!");
T___T

No comments:

Post a Comment