Saltar al contenido

Web Development Principles: Front End Vs. Back End

30 noviembre, 2017

Hey, what’s up, John Sonmez from simpleprogrammercom

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 hirecom 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 hirecom/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 ASPNET, 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 20, 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