Web Development Principles: Front End Vs. Back End

Articles, Blog

Web Development Principles: Front End Vs. Back End

Web Development Principles: Front End Vs. Back End

Hey, what’s up, John Sonmez from simpleprogrammer.com. I gotta check my mic here, my battery. I thought I’d answer this question. I just was writing some chapters in my new
book. I’m writing this book about—called the—tentatively
called The Complete Career Guide for Software Developers and I was talking about front end
versus back end in there and so I looked and I saw this question. I thought, “Ah, this is perfect. I’ll just answer this question since I’ve
been writing about this topic” which I find kind of boring, to be honest. I like to do the more opinionated stuff but,
yeah. I’m at this part right in book where I’m
defining things and talking about stuff that I’m not really super passionate about but
you’ve got to get through it, right? I’m trying to bring at least some humor
to it. That will make it a little bit more entertaining,
but it’s stuff you got to know. I can’t create a book about a guide to software
developers or complete career guide without giving you all the stuff that you need to
know. Before we get into that I do want to take
a moment to thank hire.com for sponsoring Simple Programmer. They’re pretty awesome. I don’t get along with a lot of companies
that have wanted to sponsor Simple Programmer to be mentioned in a YouTube video but I do
because I like what they’re doing. I like their philosophy. I like the way that they work. I really like this idea of flipping the job
search around. You could check it out for yourself. Go to hire.com/simpleprogrammer. You’ll also get a bonus. Normally they give you $1000 when you get
a job through them. They’re going to give you 2 if you go through
that link. Check it out. See it for yourself. It’s a totally different way to apply for
a job. I definitely recommend it. Let me know your experiences by the way with
them. I’d love to hear from all of you. Let’s talk about front end versus back end
for the new programmer. This email says, “Hey John, I just discovered
your videos about a week back and I really find your channel useful. Perhaps you could help me with a dilemma of
mine? I’ve been really interested in coding for
sometime now and shows like Silicon Valley have pushed me in this direction.” I haven’t seen that show, but I heard that
it’s pretty interesting. I don’t watch TV. “I wanted to know whether it’s better
for a programmer to specialize in either front end or back end programming or they should
know a bit of both. I didn’t really understand the difference
and have been jumping between Python and HTML for sometime only to properly start HTML again. I’m wondering, is there any demand for front
end developers especially with the rise of websites like Wix and Squarespace. Should I jump back to Python or continue on
my path and check out the backend layer of my career? Much appreciated, John.” There’s confusion about what is front end
and back end. I have a definition of it. To me, front end development is working on
the user interface and the UI type of code that goes with that and back end is anything
that’s not seen by the user or whatever it be, what happens, the business logic that
happens after someone clicks a button, submits a form, all that stuff connecting with a database. All that I consider back end. Different people say, “Oh, front end work
means just doing HTML and CSS and JavaScript.” Well, _______ [inaudible 00:03:18] of the
job, but just creating the design of the page. I call that web design. I don’t know. There are so many terms, so much confusion,
but to me, front end is like I said, it’s creating the web page and the visual elements
of it and some programming. There’s logic that goes into user interfaces
that doesn’t have to do with the business logic of the application. That’s where I draw the line, to me. What should you do and do you need to know
a little bit of both? You need to know a little bit of both, of
course, right? You can’t not know back end development,
right? I mean, what are you going to do, just create
user interfaces? I suppose you could. The back end stuff is where the real programming
happens if you think about it like business logic, algorithms that stuff. There shouldn’t be a whole lot of logic
in the front end. There’s going to be some and things are
kind of blurring because we have JavaScript frameworks now where we’re able to pull
data from the database or we’re able to like—where we have more complex things and
sort of the wiring code and even an MVC type of code in the front end. We’ve got some business logic and an application
flow type of wiring and code in the front end so that makes things a little bit more
accomplished. It kind of blurs the line whereas before I
think when we just had—you had HTML, CSS and a little bit of JavaScript and then you
had server side rendering it was pretty clear. Server side rendering we can call that back
end and we can call the HTML and stuff the front end. Even at that point I would’ve called the
server side rendering part the front end and I would have drawn the line and said, “Okay,
when you actually get into the business logic, now you’re in the back end.” Regardless—it doesn’t matter that much. I would say though that having both of these
skills, knowing how to do this right because what I think is really valuable for a software
developer starting out is you need to be able to create an application all by yourself from
the very beginning to the end. That means that you need to be able to create
the user interface. You need to know that HTML, CSS, JavaScript. You need to know some server side language
to be able to—it could be Python, it could be ASP.NET, C# framework, whatever you want. It could be node. Then you need to be able to connect to database
and get data, insert data because if you have that basic knowledge then you’re really
useful. Now, again, some people would say, “Wait
a minute John, are you saying being a full stack developer? Are you saying don’t specialize?” No. I’m saying that you’re not going to be
an expert in all of those areas but you have to have functional knowledge. If you can build an application, that is a
valuable skill because you’re not going to get stuck. You’re going to be able to fit in and help
out and understand what’s going on in the system. A lot of times when you’re working as a
software developer problems happen upstream that have to be traced downstream. If you’re like, “Well, I don’t know
shit when it comes to the database” well you’re not going to be very useful on the
team. You can’t just throw your hands up and say,
“Oh, I don’t touch database stuff. I’m a front end developer. I don’t touch any of that back end stuff.” You’re not going to be so useful. You see what I’m saying? I would—pick what you want. you could specialize. If you’re not particularly good at design,
I did a video on do you have to be a designer to do development. I’ve done some videos on that. if you’re not particularly good at design,
you don’t like design and front end, it’s probably going to be a little bit painful. You might be able to hack the code, except
you’re going to look at what you’re creating like me and you’re going to be like, “That
looks like shit.” That’s what I do when I do front end developing,
so I prefer back end development. I can write an algorithm and figure out how
to design the architecture, the back end of a system and make this whole framework and
stuff like that. I enjoy that. That’s kind of—decide what you want to
do and specialize into one of those areas. Pick a specialty within that. it’s not just your structure that can’t
be front end or back end but you want to pick something niched down. You should be able to do—you should have
that capability. If I had to pick one, if you said, “Well,
what is the most valuable?”, I would say front end simply because there’s more jobs
where you’re going to be expected to create something that faces the user, the web page
of something like that even if you can’t design it but you’d be able to hook that
up and understand especially with the web 2.0, JavaScript frameworks and all this stuff. Anyway, I hope that helps you. This is definitely a confusing topic between
front end and back end. Like I said, I don’t think it’s all that
interesting. You just want to write code. You want to be useful to be able to write
an application. You’re going to have to know a little bit
of both to be able to do that but you’re probably going to pick one place where you
primarily focus and spend your time. Yeah, that’s it. If you like this video subscribe to the channel. If you’d like to join the Simple Programmer
community and support the channel, check out the patron page. Some really cool stuff, some really cool rewards
there and I don’t really talk about the Facebook group enough, but we’ve got an
awesome Facebook group where we’ve got Simple Programmer community together answering questions,
talking with each other, talking with me, I’m active in there. If you’d like to join that it’s pretty
dang cheap honestly to get in there. It supports the community, it supports the
channel, you become a member of it. Anyway, that’s it. Again, if you like the video, subscribe. I’ll talk to you next time. Take care.

83 thoughts on Web Development Principles: Front End Vs. Back End

  1. I've always defined front-end as being code that runs on the browser & back-end being code that runs on the server.

    Also you can work as just a front end developer, for example using WordPress as your main 'back-end' or working for a company where they have specialised back-end & front-end developers. I've certainly come across a lot of people who do that in the UK. One thing to note though, if you're only building WordPress type sites normally the pay isn't as good as there is more competition in that area.

  2. Hey John, I have a (sort of) quick question haha. So I'm a junior Computer Science undergrad and I'll be graduating a semester early, so I'm planning on doing the 4 + 1 program at my school which will allow me to get a Master's (non-thesis or thesis, but I'm going with non-thesis) in Computer Science in only one extra year. So basically only a semester after when the rest of my undergrad graduating class will graduate. Also, my undergrad financial aid is eligible to apply to the first of those two semesters of that accelerated Master's degree.My question is – do you see any reason why I shouldn't do this? I feel like it's worth the pay bump, extra knowledge, and extra year living the college experience even though I'll be wasting potential real experience. I do however work in internships in the summer. Anyway, what's your take on this, and CS master's degrees in general?

  3. I have the impression that there are a lot more front-end developers rather then back-end developer, simply because back-end is much more complex and difficult to learn. I also have the feeling that as a consequence, there are a lot more offers (with higher salaries) for back-end developer then for front-end developer. You get get amazing website templates for 20$ and then you need someone who brings them to life.

  4. 6:00. Very good point, you can't be an expert in everything web development, but you should be well rounded in several areas of tech (including design imo). Otherwise you won't be able to get anything done on your own, and if you're in a team of other developers you won't be able to communicate with them. Specialization doesn't mean you ignore everything else, it just means that you have a specific area that you focus on the most, and that's where true depth of knowledge comes from.

  5. Big companies are often looking for full-stack developers, rather than front- and back-end developers, so you're "forced" in a way to know both. Of course you have to specialize, but without knowing both, you reduce your opportunities to get jobs.

    And we shouldn't forget that front-end developers are paid less, than back-end devs. And it's obvious, because back-end is much more complicated. The companies have an impression, that front-end can be done by a teenager with no prior experience, where the back-end is more complex in their opinion. Especially when it comes to big data

  6. I am looking to get into the middle area, kind of mix of back end and front end code. Multiplexing. Get the best of both worlds. Mix 'em up and spin 'em around. Hippy hippy shake kind of thing.

  7. I would say the analogy presented is somewhat blurred now with a lot of the logic that was typically offloaded into the server side is now commonly found in front-ends. Things like client-side routing and state management spring to mind.

    There's plenty of work for talented front-end devs, especially if they learn JavaScript in depth and become fluent in a framework like React and it's ecosystem understand performance and learn best practices like TDD etc. This knowledge can then be transferred over to Node if you want to go full-stack JS.
    It's also worth getting very good at CSS as I very rarely find developers who actually understand CSS at a fundamental level and when you need to scale a large front-end codebase this knowledge is very valuable.

    Just my 2c 🙂

  8. There is this trend of moving logic to the front end, we are refactoring an app that used to have a backend made in java and a frontend in backbone.js and now we are rewriting it on ember.js and many of the java logic is being passed to ember too, eventually we wont be using any of the java backend.

  9. So more important than deciding between Front-End vs Back-End you have to understand how they interact with each other. I feel back-end more oriented to programmers who usually like to do complex algorithms usage and focus on coding.

    I'm not saying front-end doesn't need programming knowledge, but it's more focused in user experience (UX/UI concepts used a lot these days) and the aesthetic. You usually see the web designer + front-end combo mostly on designers and then the back-end + front-end combo for programmers.

    The real deal is dealing with your trade (be it back-end or front-end) while still being able to see what's happening on the other side of the game.

  10. Definitely being expert in the Back-End is more interesting because you'll have to deal with scalability issues and big databases with millions of rows and this will push you to optimize your code and queries (maybe use caching) and also maintainablity of the code will push you improve your architecture (maybe using micro-services). In the Front-End, there is no bottle necks to tackle, the only concern is to have a maintainable code to facilitate adding new features and this is what the js frameworks are for

  11. Hello Sir , can you help me out in creating a shopping cart functionality in PHP ? I dont want the user to be logged in at first . I have searched a lot in google but didnot understood that – "First start unique session and then store it in cookie and then if person clicks add to cart button then the product details will be inserted in a multidimensional array . " Can you please share any simple code in php procedural ?

  12. It's really not that confusing between what FE entails and what constitutes BE work, but he made it seem that way to any total beginner in web dev. There's only a big area of 'no-mans land' in between the Client and the Server that clearly separates the two ends! I feel that he probably knows far more about the gymnasium seeing those Popeye arms – his energy suggests he couldn't wait to get back in there! He didn't convince me that he knew much about what he talked about. Oh well, I had to see what else I could learn about FE/BE terminology on this channel – but that was Foxtrot Alpha! I'm out.

  13. I've been trying to learn programming but I've come to the conclusion that you guys are gifted. I don't think an average person with average intelligence like me is capable of writing algorythms.

  14. Your videos are awesome. This video would be perfect to assign to students to introduce or enrich front end vs back end except for one inappropriate word. Please keep making these educational videos but if you could pick slightly different words, I could have students watch this video as homework, then discuss in class the next day. Awesome information!!

  15. great . you are good I must say. make few videos like best framework to choose, best tools for android development and etc

  16. Router over two minutes into a nine minute video before you even remotely begin to get into the actual question that is the very essence of the topic of this video. And by the way everybody has written a book how to leave and I have a buck get over it.

  17. Incredibly helpful for someone learning. Thank you so much. One question though, can you even scratch your back with those guns?

  18. please make a video on exactly how a front-end developer makes website and steps and process involved in it

  19. if you didn't add subs, i couldn't hear what you said :)) next video speak lower please. Anyway, thanks for the video, it is very useful.

  20. I consider HTML and CSS as layout, front-end web programming per se includes 100% of the times javascript or some transpilable form of it. I mean, nobody who just knows HTML and CSS even after having done thousands of sites can consider himself front end developer. Is something that confuses many newbies.

  21. this may be a dumb question, but what about programs like Notepad++(just happens to be in front of me). I have no Internet connection right now to access any kind of a backend but still have all kinds of functionality that involves much more than UI stuff. Is that all frontend or is frontend/backend separated locally? Thanks

  22. Hello brother, thanks for your video. I need a suggestion from you. I completed html,css.And i want to be a backend developer. Now what should i learn for backend development? javascript or php

  23. Does anyone know anyone that's gotten a job off of Hired? I've never had a job suggestion from that app…Everytime I log in it just says "sorry nothing to show you."

  24. u shitty man always talk more !!!!!! show ur body amd muscles stupit come to points and conclusion more often i dont want to look at his video but keeps showing his ugly face its usally10 minutes long and not to the point m just searching what i need to on youtube ok i am not here for bullllshits

  25. Thank you so much for the subtitles. For a deaf person like me it is very helpful to understand you. Also incredibly thanks for your tutorials and videos.

  26. Oh look at all the low life – mid life jokes about FE vs BE below… why don’t you all just actually learn how to make a proper website and do it both? If you’re working for an agency where specialist is required then you probably think your works more important than it is. Support local businesses

  27. I spend a year at an advertisement agency, getting complains about font sizes, margins, etc. Etc. It wore me down, crushed me, and now I say: screw it, I'm going back-end! Hopefully that'll be easier for me

  28. Sir I have also started my channel can you help me in growing my channel , my channel is also on programming please help me by putting my channel on your feature channel list .It's an humble request .

  29. I am sorry is this something about front end vs back end? I was not focused. lol!! He should change his field.

  30. Simple Programmer has a brand new channel! John Sonmez is back (with other programmer career coaches as well) to help you build the programming career you've always dreamed of.

    👉 SUBSCRIBE TO THE NEW SIMPLE PROGRAMMER CHANNEL HERE: https://simpleprogrammer.com/yt/spnewytchannel

  31. This was disgusting, the guy is too focused on his muscles bulging out of his wife-beater shirt. The guy is full of himself and I got NOTHING out of this video. Total crap.

  32. Took him 3 minutes to start answering the actual question…. More interested in talking about himself than answering questions looks like…

  33. Lol, “I don’t watch tv tho”… I just died. I think this is the number 1 way to tell if someone is slightly condescending or a tool, when they go out their way to tell you.

Leave a Reply

Your email address will not be published. Required fields are marked *