In fact, you might say that none of us has an exactly perfect job title and the industry at large has trouble agreeing on a set of job titles.
Lara created a repo with the intent to think all this out and discuss it.
If there is already a spectrum between design and backend development, and front-end development is that place in between, perhaps front-end development, if we zoom in, is a spectrum as well:
This could probably be fixed with some different dataviz (perhaps the size of the dot), or, heaven forbid, skill-level bars.
More importantly, if you’re really interested in the discussion around all this, Lara has used the issues area to open that up.
Last year, Geoff also started thinking about all our web jobs as a spectrum. We can break up our jobs into parts and map them onto those parts in differnet ways:
See the Pen Web Terminology Matrix by Geoff Graham (@geoffgraham) on CodePen.
See the Pen Web Terminology Venn Diagram by Geoff Graham (@geoffgraham) on CodePen.
That can certainly help us understand our world a little bit, but doesn’t quite help with the job titles thing. It’s unlikely we’ll get people to write job descriptions that include a data visualization of what they are looking for.
Jeff Pelletier took a crack at job titles and narrowed it down to three:
Front-end Implementation (responsive web design, modular/scalable CSS, UI frameworks, living style guides, progressive enhancement & accessibility, animation and front-end performance).
Front-end Operations (build tools, deployment, speed: (app, tests, builds, deploys), monitoring errors/logs, and stability).
Although those don’t quite feel like titles to me and converting them into something like “Front-end implementation developer” doesn’t seem like something that will catch on.
Cody Lindley’s Front-End Developer Handbook has a section on job titles. I won’t quote it in full, but they are:
- Front-End Developer
- CSS/HTML Developer
- Front-End Web Designer
- Web/Front-End User Interface (aka UI) Developer/Engineer
- Mobile/Tablet Front-End Developer
- Front-End SEO Expert
- Front-End Accessibility Expert
- Front-End Dev. Ops
- Front-End Testing/QA
Note the contentious “full stack” title, in which Brad Frost says:
In my experience, “full-stack developers” always translates to “programmers who can do frontend code because they have to and it’s ‘easy’.” It’s never the other way around.
Still, these largely feel pretty good to me. And yet weirdly, almost like there is both too many and too few. As in, while there is good coverage here, but if you are going to cover specialties, you might as well add in performance, copywriting, analytics, and more as well. The more you add, the further away we are to locking things down. Not to mention the harder it becomes when people crossover these disciplines, like they almost always do.
Thank you for continuing this discussion. It may never end but at least it’s out there for people who don’t get how complicated this whole thing is.
I dont mean to step on any toes here. But a feel like titles and this sort of labeling is a very american phenomenon.
Nowhere i have ever worked has had any meaningfull title designation for anyone and i couldn’t care less what you businesscard says.
Is there something im not “getting”?
It’s not about business cards, it’s more about job offers and interviews.
I think the idea is, you have to call yourself something. I mean, it obviously matters if your business card says “front-end developer” or “SEO expert”. So there is some importance to the title.
But in terms of dividing up a single subject (in this case, front-end development), the problem lies with the assumptions that each comes with.
First, I’m not sure if you listened to the podcast or not but they go into more detail of the why. If you haven’t that’s cool.
I don’t think anyone, well most, actually care what their title is after they get the job but more so what the job postings are classifying the job title as because the meaning has become so vague and moved away from the original intent.
I went to college to be a Graphic Designer, and then turned into a ‘Web guy’ and my co-workers dubbed me ‘theCSSguru’, so I use that name even on my resume, but my job titles have changed and evolved over 10 years, depending on the company. These are the titles I’ve held for the same type of job; Graphic Designer, Web Designer, Creative Director, Web Developer, Front End Developer, Lead Front End Developer, and UX Developer. I wonder what my newest title will be? I have the added bonus of having Graphic Design ability so maybe ‘Lead Front End UX Designer/Developer Director’. Yeah, I like that. LOL
Where I would fit? I work in a digital agency. Bachelors in IT, exposure to PHP /Java. But daily I do “HTML, CSS, responsive and WordPress theming.
I’m quite junior level and understand JS syntax
Somehow I’m still continually surprised when data tier application development is always left out of the “full stack” discussion. I do agree that the vast majority of “full stack” claims are grossly overstated. It seems though that most of the discussions I can find on Twitter/podcasts/blogs are very heavy on “consumer focused” web development. I’ve been a consultant in the insurance industry for several years now and worked on a handful of web portal and business management platforms that were primarily browser based, but more intranet than internet. Although I’m a bit new to the dev world of a front end heavy SPA, my prior roles have often been managing teams of data analysts, SQL developers (this does not mean select statements), systems integration / ETL development, business intelligence / data visualizations and reporting solution developers. In the enterprise space I believe there really is a nearly accurate term for “full stack”, but it becomes either Solution Architect or Technical Architect depending on strategic vs tactical planning. Someone in a DBA and/or SQL development role is intrinsic to building data centric critical systems at many larger companies. Just adding fuel to the fire here I guess, but only in the effort of pointing out that there is no such thing as complete or uniform definitions of titles/roles. I’d be happy to share a handful of other real-world examples if anyone wanted to discuss further.
Don’t see a way to edit my comment, but I just wanted to add that I think the main irony of the situation for html/css people making a transition to programming, is that you tend to be judged purely based on where you are at so far with CS and programming.
If you have 20 years of general web development experience, understood the HTTP lifecycle 15 years ago, know way better than the back end guy how to properly structure CSS, know the browser tricks, learned zillions of applicable lessons to any development job and have have a good general working and testing discipline,… pretty much none of that matters in most tech interviews. They tend to zero in and judge you purely on your raw programming skills. Many times it’s all about your ability to solve academic code puzzles that require practice on their own (since they’re rarely useful in the real world). I’m absolutely not knocking good programming chops, it’s just that I believe an artificial weight is put on them and that there should be a little more wiggle room for different types of talent. Esp considering there are a lot of good people in the industry that came to where they’re at from a different path than a CS grad.
Thanks for the article. As someone who is currently looking for work and equally passionate about the paper sketching/mockup half, and the HTML/CSS/basic JS half, this was a cathartic read. Seems everyone’s nominally interested in people who can do both, but front-end web developer positions are looking for angular/react and don’t mention design skills, and UX/UI design positions mostly just want a “familiarity with HTML/CSS”.
How do we feel about UX/UI developer?
It’s worth mentioning the “T shaped individual” term. That means you are capable of a lot of things, but you have deep knowledge in one thing. For example I’m very experienced with frontend development, that would be my “deep” part, but I also worked on backend for 5 years, spent 2 years just rewriting SQL to hibernate queries and creating endpoint in a service. I also did UX work for 1.5 years creating wireframes and doing interaction design. Also right now at my work I’m doing DevOps kind of work for a few weeks and I enjoy that too. I’m in love with frontend, but I have no problem joining in on some backend development if that comes. I find that the “T shaped” is the best representation of someone’s skill set. I know there are grey areas of course, as in everything ever :)
I began building websites in 1999. For the past 17 years, I’ve built websites using varied combinations of HTML, CSS and JS/jQuery. The titles of my positions have been “web builder”, “web designer/developer”, “web developer” and “front-end developer.”
In the course of this work, I’ve had to focus a significant amount of time on browser- and device-compatibility, display consistency and UI/UX design. The deliverables typically need to function and display consistently in all browsers, on all devices (notably so when building things for global and “fortune” brands).
Having spent so much time building websites from .psd files, I can quickly spot flaws in design .psd files which arise from the designer’s inexperience and lack of knowledge building websites in HTML and CSS. I can write JS and jQuery, certainly more than a lot of “UI/UX Developers” can or would ever normally write, but not as much (or as complex) as a back-end developer can write.
In each role I’ve filled, for all of my employers, every brilliant back-end developer (or programmer, if you prefer that label) I’ve worked with who has to do anything on the front-end has enlisted my help to debug presentation-layer issues. Sometimes the issues I help debug are layout, other times it’s browser-compliance, or element-state confusion, but most commonly the issue is relevant to either CSS selector specificity or the cascade itself – inheritance problems.
For the last two years, following a layoff, I’ve performed freelance consulting work, but have also sought full-time positions, which brings me back to the topic at hand: “What is a ‘Front End Developer’ in 2017?” Judging by the listings I see on popular job-search websites, a Front End Developer is a full-stack developer with a focus on application development.
I’ve witnessed how the nuances of browser- and device-compliance, layout, and UI design are not well understood by the back-end developers I’ve worked with who are expected to be “full-stack” but who work primarily in the programming space (js, php, C#, jsp, et al).
And yet there are seemingly endless job-listings penned by tech recruiters who seem consumed by a need to only hire the “unicorn” developers for all positions relevant to “UI/UX” and “Front End.” Even worse than the “all developers must be unicorns” issue are the Front End Developer positions which list all the “typical” technical requirements, with the added requirement that said Front End Developer must also have graphic design experience in the form of PRINT PRODUCTION.
I had two recent interviews which both went GREAT until they were each ended by questions out of left-field. In the first interview, which was advertised as a “front end developer” position, the people interviewing me were clearly pleased by my experience and skills and what I could bring to the table on the front-end, and then they asked me if I was a full-stack developer. They were disappointed that I was only a “front end developer”, and I was disappointed that our time was completely wasted because someone advertised one role and then respondents were interviewed for an entirely different role – they could have avoided their disappointment (and mine) when they posted the ad. The second interview was similar – all-good on the front end capacity, until the “oh, by the way, we need you to have experience with print design for all manner of print media” requirement was finally mentioned.
I’ve been surprisingly happy with “Front-end Software Engineer” over the past few years. It covers the recent moves I’ve made into app development, and let’s me admit to some back-end experience without making it seem like I’m trying to be “full-stack”.
It is very simple really.
Front-End is related to any visual represtantation of content in a user-agent for human interaction.
Backend is related to access, save and churn data to deliver information to human or machine.
Operations is related to implement the platform for development, test and deployment.
At the end is just meaningful if there is a user at the other end of the line.
If full-stack developers are backend developers who can write frontend code, then what are frontend developers who can create a server using SaaS or express for their app when they have to?
You’re correct in surmising that my descriptions were not intended as titles, but as buckets responsibilities, and the roles that describe them. I think minimally recognizing there’s room for specialization at an organizational level should be a goal. The titles themselves are less important.
I think somebody should make a web app out of this.
Keeping it simple:
check all the things you can do from a list;
the app suggests a proper job title for you.
For someone like me it would be extremely useful, because I’m struggling to find a good – even decent – job title.
I label myself “Digital Designer”, but I’m thinking about dropping the “Digital”, because nowadays it has lost almost all meaning.
I mean, today you cannot design, say, just a “business card”, or “just a logo”. You have to think about branding as a system, so “designing for print only” is not a thing. Therefore, “designing for digital” is not a thing either.
Also, I develop websites in PHP with Laravel and WordPress. So even “Designer” feels restrictive.
Maybe “Designer & Developer”? I dunno.