Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Front-end Developer vs Back-end Developer vs Web Designer

I asked Nick Pettit via Twitter what his definition of the differences between a front-end developer and a web designer was. His response was "I'm honestly wondering the same thing these days." It seems that these two jobs are overlapping more and more, but surely there would be a vast difference between the two of these and a back-end developer... right?

I see all the time that HTML/CSS/JavaScript are Front-end Developer languages and that Rail, PHP, Python are Back-end Developer languages. Yet I see all the time, job postings that state that they are seeking a front-end developer with 5 - 7 years of PHP or Rails experience and 5 - 7 years of SQL. The job description would then do on to describe designing assets like logos et al, to use while designing the look and feel of Company X's website and implementing a full robust secure feature set to communicate with the server/database for storing/retrieving data.

I get 20 or more of these emails a week, it seems frustrating. Are we moving toward a single "full stack" development world?

I look forward to hearing from you all.

5 Answers

idan ben yair
idan ben yair
10,288 Points

I feel your pain, it is kinda frustrating..

Kate Hoferkamp
Kate Hoferkamp
5,205 Points

People that can do both design and back-end development and do both at a high level, are few and far between. It takes a very unique kind of person. Most people think one way or the other. I don't see the two sides merging.

The biggest issue here is that companies don't understand that the difference is there. They want a person that can just take care of everything. It's just the old way of thinking not catching up the the present realities of modern day technology. I think we will see a change in that mentality and way of thinking before design and development merges into one all encompassing position.

Andrew McCormick
Andrew McCormick
17,730 Points

Ahhhh.. the unicorn. Everyone seeks a unicorn, yet I don't really think anyone knows how to take care of one if they found it. I decided earlier this year that I was going to be a back-end developer. I love database connections. I love writing code that doesn't just connect to an api but rather creating the api. I don't like making chocolate explosions of happiness happen as someone scrolls down a webpage. I don't care if people like the way a site I create looks good (that's what the front-end guys are for). I make applications work, they front-end guys make them look good.

So I decided I wanted to be purely back-end. Lo and behold after honing my skills toward backend and focusing on that's what I wanted, I found a position doing exactly that. In fact, I just got out of a meeting where with some of the front end guys. It's awesome to work on a project where my main goal is to write great code, not just get it to work. Then to know that the code I write is going to be used by the front-end guys to some incredible stuff. If I had to do it all, I would poke my eyeballs out. I want to focus and become really good at one thing (or subject) and companies are willing to pay for that.

However all that to say, the world's do collide. You need to be at least knowledgeable about both world's. I think that's the T factor or whatever. Where you have a wide breath of knowledge, but you really can dive deep on one subject. I know a fair amount of front-end and they love that here, because I can communicate with the front-end guys a lot better than others can and help them see how to implement something. It also means that every once in a while I do have to create the front and back-end of an application I write. But that's not entirely horrible, as it keeps me on my toes and they understand that's not what I'm here to do. All that to say, that to have the wide skill set of at least being knowledgeable is important, but it's still vital to focus on that one area and show how great you are in that. Make sure a company knows what they can expect from you and what you can expect from them. If you are a front-end guy then be upfront about about much backend knowledge you have. Even if you don't meet all the requirements, apply anyways and let them know what value you bring.

I don't know if any of this made sense or helped. But basically there are a lot of companies that are looking for something that doesn't exists or don't even know what they want. Some companies are ok with devs that only know a little about one side or another, but the better ones that will be around longer understanding the value of having someone that is more T shaped.

Ricky Catron
Ricky Catron
13,023 Points

This answer gives me such hope as a back end developer. I have strong knowledge of the front end but lack JavaScript and design skills. It is great to hear that someone out there is able to make a living off of the skills I wish to learn. I have spent a lot of time worrying I will need to be able to design and be unable to produce. Knowing there is a need for someone like me who just loves the code in the back not the front end is very comforting thank you.

I've not read all of the replies, but this is most likely because companies are looking for individuals with combined skill sets. You might also take into consideration that HR doesn't always use the correct terminology. I think the idea is to be less concerned with minute details and show what you can do, or rather what companies are looking for. I feel front-end developers should have a basic understanding of back-end languages. It would possibly make you a better designer, not to mention someone who better understands how the internet, web servers, and technology, etc., works.

I can understand the need to have some well rounded experience as you can easily communicate to the other half of the team. But it seems that these jobs want someone who was a jack of all trades and have mastered them all. It can get confusing too front-end vs back-end. For example if you have a website with public facing content like a blog and it have a login required admin area. The web site has a front-end and a back-end. The front-end of the site has a front-end and a backend and the admin area (the backend) has a front-end and a backend.

My current job for example was building native mobile apps, they hired me when they decided to move from mobile apps to websites. They told me I needed HTML5, CSS3, and JavaScript for my skill set and my team would have the rest of the knowledge to finish out the project. Once I got on site I find that my team consists of one other person who has no web experience only mobile apps. So on the job I had to use HTML5, CSS3, JavaScript as well as learn .net MVC (C#) and SQL. Inspite of everything we managed to learn what we could to produce the product, but it was a nightmare.