

A Proposal: Renaming Backend/Frontend to Application/UI Developers - zappan
http://theothersideofcode.com/renaming-backend-frontend-to-application-ui-developers

======
zacharyvoase
I tried calling myself an 'Application Developer' once before, and it lasted
about 5 minutes, because I suddenly started receiving requests to build
people's iOS/Android app ideas.

I never called myself a back-end developer anyway; if people ask me what I do
I just say 'I program computers—and yes, it really is that general'.

------
kapowaz
No.

“The border between the server and the client has faded”

So why continue to use distinct job titles? I think ‘web developer’ suffices;
the specific skills you can bring will vary from person to person, but you
should be fighting _against_ being pigeon-holed, not embracing it by
voluntarily saying you belong in one category and not another.

~~~
androtheos
I agree with you here. You almost have to be a generalist anymore but I would
add that it's important to know where your strengths and weaknesses lie. For
example I can build a passable UI, I know the rules for creating friendly user
interfaces but I know it would be much better to have someone with strengths
in design do it. They're attention to the details will always make my work
look like what it is, a server side developer playing at being a UI developer.

------
t4nkd
Yeah, I'm not really feeling the persuasion here. I really don't know many
"frontend developers" or "backend developers" to begin with. I know plenty of
people struggle writing maintainable, well structured applications or who
don't grasp front end concepts/technology enough to really produce anything
production worthy. Those people are still "my peers" first and I typically
consider their title to be "software engineer" or possibly "web developer".
The individuals lacking a grasp on front end technology probably need to
_learn_ just as well as an individual with great front end skills needs to
learn the rest of the stack. We're so heavily coupled now, in terms of
squeezing performance out of an application and the ability to iterate
rapidly, that throwing a bunch of backend logic and/or API's over the wall to
"UI Developers" is probably not only a waste of time, but detrimental to the
process. Throwing code over a wall is usually what happens when two distinctly
different types of engineers are in the same product and avoiding it is
tricky.

All this opinion of course is coming from someone who has managed to develop
design, UI/UX, and a programming skill set and I'm probably pretty biased when
it comes to pidgin holing people into a single role. Having said that, this
proposal really smells like an easy way to "be lazy" out of a responsibility
in the project. Dismissing a UI issue by surrendering, "But I'm the
Application Developer, I don't really do UI" sounds like the more common
scenario in the roles you're proposing. The reality is, if you want to keep
working on web-oriented applications, you might need to grasp a bit of both,
or at least some of each and a lot more experience in either direction(e.g.
learning the full stack and then taking a deep interest in hardware
performance WRT application profiling).

Good luck with your ambition though, I'm sure if you can make it popular the
industry won't care about how I feel .

~~~
davedx
> We're so heavily coupled now

I think if anything we're less tightly coupled than we used to be. So many
projects now have a clearly defined backend API and a separate front-end
project. The problem though is that these front-end projects that used to be
HTML/CSS with some JavaScript are now becoming almost full-stack applications
themselves, with all the nuts and bolts you'd associate with backend projects
(routing, controllers, application logic, complicated event handling) now also
in the frontend.

In terms of how we describe roles in software, as long as it's from a genuine
specific need (e.g. "frontend JavaScript developer") and not just some mix of
buzzwords, I don't really see the problem.

------
atirip
Nope. OP proposal corresponds with nothing i have done last 3 years. I'm and
was a front-end developer and i code everything in browser - UI, logic,
architecture, everything to the last drop. The other's in team are back-end
developers and they code everything at the server, whatever the server then
outputs, also to the last drop. There was and is a very clear line between of
us and the titles explain exaclty the roles we play in team.

------
michaelochurch
Zed Shaw already solved this problem: <http://programming-motherfucker.com> .

What made programming great (before the Douchebag Invasion came in and we were
divided into these stupid warring camps) is now what makes "data science"
attractive: the generalist flair and the ability to pick your projects and
move around the economy by your own sail.

By the way, I personally hate the term "software engineer", at least as
commonly used. It sounds Corporate and I feel like I need a shower after I say
it. Genuine software _engineering_ (like, what people who build rockets do,
where attention to code quality is _critical_ and people actually consider
_proving_ code) is actually very important, but you're only an engineer if you
have professional autonomy. If you answer to managers and build CRUD apps to
support their careers rather than your own, then you're not a professional.

Right now, most of us live under a worst-of-both-worlds regime where it's not
clear whether we're genuine professionals, entre- or "intra"preneurs, or
glorified labor. Of course, this allows management to frame-change freely
among all of the possibilities depending on the specific negotiation, leaving
us with the bottom of each possibility.

~~~
codegeek
"If you answer to managers.."

I know you usually have good comments on HN, but is it just me or you really
have something against "management". Anyway, the fact is that everyone answers
to someone in some ways when it comes to _money_ which we need to make to
survive in this world unless you have family inheritance. Having said that, I
am not saying that managers are necessarily the best thing in this world but i
don't understand how you can get away without answering to someone. Even if
you are a superstar entrepreneur who is his own boss, I have one word for you:
customers.

"people who build rockets do, where attention to code quality is critical "

So are you saying that code quality is not critical elsewhere ? I agree in
general that many companies have shitty code but there are many places which
actually do care about code quality and code reviews are actually important.

"build CRUD apps to support their careers rather than your own, then you're
not a professional."

Just think about what you said here.

~~~
michaelochurch
I wrote about my views on management, here:
[http://michaelochurch.wordpress.com/2013/04/30/gervais-
macle...](http://michaelochurch.wordpress.com/2013/04/30/gervais-
macleod-23-managers-mentors-executives-cops-and-thugs/)

Essentially, "manager" is a conflation of several corporate needs: (a)
mentoring junior hires, (b) protecting the company from bad-faith employees,
(c) protecting good employees from bad ones, (d) setting project priorities,
and (e) putting a public face on the company (e.g. CEOs). Some of these jobs
are more fun than others. There are huge conflicts of interest within what is
called a "manager" and ultimately, employees get shafted.

Managers ultimately end up as the internal police force, because they're the
ones who make firing and promotion decisions. However, there are a huge number
of dirty cops. Most of them, in fact, are dirty. There are a few sadists who
enjoy using the badge-and-gun just to fuck with people. There are others (much
more common) who go full-on extortionist and use their power to build an image
of outsized performance so they can hop out of cop work and into an executive
or high-level strategic position. Rare is what police are supposed to be:
principled public servants.

I don't have a problem with police. Society needs them. However, if the police
started acting like the mob (with them making most of their income "on the
economy") then I would. Corporate management is mostly dirty cops.

~~~
samatman
Perhaps you don't have much experience with the modern police force? Much of
their budget comes from asset forfeiture, which is your basic perverse
incentive.

------
greghinch
I personally would prefer to see this divide:

\- Product developer - implements the functionality, from the database to the
functional UI. Lives in Ruby/Python/PHP/etc. AND Javascript

\- UI designer - creates and implements visual designs. Lives in Photoshop and
HTML/CSS

\- Dev Ops - maintains the infrastructure, optimizes resources, manages
deployment. Lives on the command line

Of course, all these rolls have crossover. And hopefully that's a good thing,
your team shouldn't be segregated by knowledge barriers.

A big problem I see is that "front-end" is right now defined as "HTML/CSS/JS".
Being good at the first two is a completely separate skill from being able to
write and design software in a programming language like JS. I see much better
results from designers who can deliver built templates than I do from those
who can just deliver photoshop files

~~~
mnicole
My problem as a designer living in code is that by calling myself "UI
Designer" (or "Web Designer" for that matter), I'm putting myself in the same
boat as people who don't know _any_ code (I'm basing this off of seeing what
people on Dribbble's titles/"skills" are). I much prefer "UI Developer" to
"Designer" because that implies I am actually able to build what I've designed
while acknowledging the design/interface aspect.

~~~
greghinch
I would take a similar stance but say that anyone who has the title "UI
Desginer" or "Web Designer" _should have to know HTML/CSS_. If you are
designing UIs for the web, HTML and CSS are your medium, Photoshop not, that
is just where you formulate your ideas.

~~~
mnicole
I absolutely agree with you there; but people have taken unkindly to my saying
so :)

~~~
greghinch
I think (hope) we are in a transitional period. There is an "old guard" in the
design crowd who came up in the era where web and print design were still
pretty mixed, and so the idea of knowing code seems unfathomable. I know and
have worked with designers who, while I know they are perfectly capable of
learning HTML/CSS, just put up a wall when you try and talk to them about code
of any kind. It's a shame, and I see the trend changing in younger folks, so
hopefully that continues and companies will adjust their orgs appropriately.

I certainly know if/when this project I'm on gets some legs and money behind
it and we are hiring, the designers I hire will be writing HTML/CSS ;)

------
darren0
I feel so many articles on hn have a myopic view of software architecture. You
see this with "full stack" engineer job postings. The desired skills are
usually something like RoR, ember, and backbone. I'm sorry, but from my
perspective, that is all frontend development. This article refers to backend
developers as "sending only a HTML document as a result to the browser."
Again, in my world, if your sending HTML, mostl likely that is frontend.

Backend has nothing to do with HTML or any presentation logic. Backend is
services.

I know this is a rather unfair judgement but so many articles seem to indicate
RoR+JS/CSS+DB is the "full" picture of software architecture. But really,
that's frontend. There is a whole beautiful world of backend distributed
services missing.

------
girvo
Eh. I just say "developer". I don't just work on back-end stuff; I don't just
work on web stuff either. Nowadays you end up being "full-stack" (or "jack-of-
all-trades-master-of-one-facet") for the most part, at least here in Brisbane.

~~~
hispanic
Likewise, although I prefer "software developer", since "developer" connotes
land and real estate development in many people's minds.

~~~
girvo
Yeah, I like and agree with that. Doesn't help that my parents are real estate
and commercial developers :P

------
jimktrains2
I don't think that "UI developer" is actually all of what the front end people
do. There is often a good bit of application code going on that they take care
of.

------
brandon_wirtz
If only it were so simple. And if you think it is that's probably because you
don't understand.

Frontend often is WAY more than UI. When you are building a client/server
application frontend can be far more than UI. Take Call Of Duty for an
example. UI is not appropriate for all of the Client side development.

Take Google Now as an example. While most the heavy lifting is on the server,
the Frontend is also doing data gathering, and calls to the Database on the
phone that stores contacts. So a lot of the frontend is not UI.

For our TLDR Plugin for chrome we started out using Readability.JS and when
that needed tweaks we ended up moving to server side readability. But before
that, much of the Backend logic that we had been using for our search engine
was being put in to the client ported from Python to JavaScript. That was not
UI, but was very much frontend.

I think the people who want to name Frontend developers UI Developers tend to
be the people that think that Building HTML is development rather than Design
and Implementation.

True Frontend is about making appropriate decisions about which things live on
Client and which live on server.

------
dr3daemon
My own opinion - If you can't write code for the frontend OR the backend then
it's not the frontend / backend part that is a problem with your title, it's
the developer bit....

And that's not meant to be a criticism of anyone - if you are a good
programmer you _can_ write frontend OR backend code in any language - maybe
you just haven't done it yet. So why is it part of your job title? At best it
should be in the prior experience section of your CV.

Code is code. At the end of the day it's all 1s and 0s. Don't limit yourself.

------
susi22
I propose: Stop over thinking things

------
dutchbrit
I hate titles, sure, it does look more fancy. Besides, you can have frontend
only applications written in javascript. Would that make me just a 'UI
Developer'? I can go on and on, but just stick with a title that explains your
skills the best. I can't stick a label on myself. I dabble in a lot of fields.

I don't disagree with all of your points however. People should just make up
their own title that fit them best.

~~~
zappan
I'm afraid you're missing it a bit - just making only javascript applications
is the reason to make a different distinction - some people are better at
doing MVC, and they do it in the browser now; while some people are great in
making great looking UIs, but not really digging into application
architecture. And, of course, there are people doing both, being full-stack
devs, but still they're usually more efficient in some areas than the others -
I am such an example, still I know UI devs that are way more efficient and
know neat tricks on the UI, as well as some great UI libraries to do their
work faster (and usually better, relying on the know-how built into the lib)
because they specialize in that.

Thanks for your comment regarding labeling, though... I agree that sometimes
it's inappropriate, still sometimes it's useful to figure out the kind of work
being done under such a label

~~~
k__
I'm an UI-developer, but I still have to think about software architecture,
because we have a multi-tier System.

There is a data-gathering (tier-1) and -mutation (tier-2) backend and a HTTP-
front-end to gather this data (tier-3).

And then there is the GUI (tier-4), which is an application itself, with the
HTTP-frontend as backend.

The back-end developers work in tier-1/2 The front-end evelopers work in
tier-3/4

------
jh3
How about Software Developer?

~~~
rufeeooo
And the software developers work on everything, not just front end or back
end.

------
woah
What about the terms "Markup Designer" and "Software Developer"? These would
seem to fit the bill perfectly.

~~~
tg3
What he describes in the article as a UI Developer is much more than markup,
it frequently has javascript flavor for interaction with the user.

Also, interfaces are designed in Markup for the time being only, not as a rule
for eternity.

------
joshuacc
My employer uses the term "UI Developer" for front end roles, and I've seen
that become increasingly common. But I think there are a different set of
expectations that come with that title than "Front End Developer." The most
prominent being greater facility with JavaScript.

------
roncohen
UI is an extremely important part of applications. In that sense, frontend
developers are building the application as much as backenders.

Also, UI seems to exclude UX, which is typically also something frontend
developers do.

~~~
akacs
I agree with you. It's nonsense to separate UI from application development
these days.

What comes first is "Web App Developer", "Android Native App Developer", and
so on.

------
figital
Learn them both ... otherwise you're either tasting electrons with C or you're
a graphic designer.

{{ <http://i.imgur.com/pG3q7.jpg> }}

------
liquidise
With the increasing popularity of structured front-end libraries (backbone,
meteor, etc) this seems completely out of place?

------
qntmfred
while we're renaming things, let's stop talking about html/css/js and just
call it webstack

------
ebbv
An application is not what most people consider an application without its UI.

~~~
craigching
My comment was going to be "Disagree, the UI is part of the application.
Next?" but since you said it first, I'll piggyback on your comment ;)

The post talks about "application logic" as being the backend, but we have
plenty of "application logic" in our rich web UIs, so I just don't see it.

EDIT: Changed "rich UIs" to "rich web UIs" to clarify that I actually am
talking about the article's domain. Not that the comment isn't relevant in
other domains too, though.

------
rbosinger
I'm down. I also hate saying "frontend" and "backend" too much. It sounds kind
of dirty. "She's working hard on the frontend while I try to find these holes
in the backend!". I always have to pause before using these terms to see if
the sentence will be funny.

------
braum
I like this, makes for a much better business card and resume line!

------
wambotron
I do a good deal of both, can I be an Appliui Develotion?

------
calinet6
Eh, just be both. Problem solved.

------
Zigurd
In some cases all the intelligence is behind the RESTful interface, and, so,
that's what you could call "the app." In other cases, like synthesizing
traffic and bus location data to predict when the bus will arrive, the "app"
can be in the device, especially when there is no Web interface presenting the
same synthesis. Games can be entirely in an endpoint device, as can any
complex application that cannot depend on pervasive connectivity.

Needs more thought.

------
mifchip
New kind of renaming servers in server room architecture to cloud :)

