Backend, Frontend or DevOps? How to Decide!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
if you're trying to become a developer chances are you're making this one mistake and it's likely what's holding you back from Landing a job now that mistake is jumping from topic to topic and field to field without really understanding what it is that you need to focus on now that's exactly why I'm making this video once you've learned the fundamentals of programming you need to work on specializing so you're actually qualified for the jobs that are out there now the most popular specializations to choose from are front end backend or devops sure there are hundreds of different areas that you could get into but most of them are going to be rooted from one of these three specializations so now let me break down the difference between each of these three Fields you understand which one to go with and how to actually start making some serious progress so let's start with a quick overview front end is all about building user interfaces working with designers and bringing a user experience to life you're going to be doing a lot of styling layouts and overall you'll be responsible for the look and feel of an application or product now backend is all about data and security you'll be responsible for writing code that's mostly hidden from the user but that's critical to the infastructure of an organization or a product now with backend you're going to be working with databases authentication performance and designing and implementing scalable systems and then we have devops which is about unifying development and operations devops is all about making the life cycle Faster by building automations doing continuous deployment and testing monitoring and and logging and really responsible for all of the operations you need to perform to actually bring a product into the hands of users now regardless of which of these paths you choose you'll eventually do some devops work you'll probably have some kind of application that you actually want to push out to production now when you do that that's going to involve configuring monitoring and building an entire pipeline that allows you to do continuous integration and continuous deployment now I'm not going to lie to you this is a huge pain now fortunately for us the sponsor of this video jet brains has a solution with Team City pipelines this offers a new intelligent approach to CI and CD by providing self-tuning pipelines that won't ever break your Dev flow best of all it's free during the public beta to try it out now whether you prefer using yaml for configuring your pipelines or you want to set them up visually via the brand new visual pipeline editor team City pipelines will get you to a functioning pipeline in just minutes this will save you time on endless Googling and documentation reading not to mention that team City pipelines can cut your runtime by up to 40% thanks to the smart pipeline optimization it can even suggest optimal configurations and provide automatic test paralyzation get started with Team City pipelines today for free by clicking the link in the description and signing up with your GitHub account now let's get right into what you guys care about which of these fields is the easiest to get into and which of them pay the best now I'll start with difficulty and kind of the ease of entrance into these three different fields now the truth is that your personality type and what you're interested in is really going to dictate which of these is easier for you to master but regardless I'm going to give you the kind of common opinion on which of these is easier so we can start with front end development which is typically considered the easiest field to break into now the reason for that is the text stack you need to learn is the simplest to pick up it's also very visual that means as a beginner you can immediately see exactly what it is that you're building and people who are just getting into programming find that this is a bit more intuitive and it's easier for them to pick up and learn these different languages now with that in mind front end development is extremely in demand companies always need front end developers but that also means that there's a lot of competition this is usually what most people will start learning if they want to break into the tech industry really quickly so you're going to be competing with a lot of other Junior Engineers for those entrylevel positions that said it's still a great one to go with and it probably is one of the fastest ways to get a tech job now back end on the other hand is slightly more difficult to break into and that's because you need to have a strong understanding of serers side programming languages database systems performance and building scalable systems these topics are typically harder to master or at least people find them more difficult and I will say that there are slightly less roles for back-end developers with that said there is still a ton of demand and because this is more difficult you'll often find that there is less competition because there's less qualified people for the role now with backend there's so many different Stacks that you could learn so many different languages you can pick up and that allows you to really specialize yourself for certain types of roles and you can stand out compared to a more generic front-end rule where everyone's going to know JavaScript everyone's going to know HTML so compared to front end slightly less roles but it could be easier if not the same to land a position in backend development now lastly we have devops now this is definitely the most difficult to break into and that's because you need to have a strong understanding of both development and operation so building automations continuous integration continuous deployment monitoring but also cloud services and security Now devops roles do typically require some level of experience and that's because you're working in critical production grade environments and if you do make a mistake that's going to have a huge consequence on the business or the application you're support with that said though there is typically much higher demand for devops role than there is Supply and that's because less people go into this field and it's much harder to F so if you are someone who's willing to commit the time and really understand these devops principles you can definitely be out competing a lot of people for jobs and you can find yourself in a position where you really have the leverage and people want to hire you because there's just less qualified people in that field that's what I found and that's what I've heard talking to other devops Engineers typically they can demand a higher salary but it is a harder or higher barrier to entry and does maybe require that they first had a role in some kind of backend or front-end job before so so now let's dive into the pay now truthfully the Pay Here is not a huge difference and I wouldn't pick one of these rules simply because you see a higher average salary whatever you think you can get into and master the quickest or that's going to be of interest to you is what I would highly recommend going with regardless though let me share with you the figures for the pay for front-end backend and devops Engineers so front-end Engineers are typically paid the least and the average salary in the United States for a frontend engineer this includes seniors Juniors just everything the complete average is $17,000 now for backend Engineers this is $116,000 and for devops this is estimated at $138,000 so you can see the devops is significantly higher but again a lot of those roles are not junior or entry level meaning you would need some experience or you'd at least need to learn a ton to be able to land those positions now with all that in mind as you climb the experience ladder as a front-end backend or devups engineer you can get paid a ton of money if you're a really good front-end engineer you could easily making hundreds of thousands of dollars same with backend same with devops so don't pick one of these positions simply because of the pay you just saw there remember that if you get really good in one of these fields you're going to earn a lot more than you would if you were just a decent back-end developer or a decent developer in another field that didn't interest you as much whatever you think you can get good at what is really your interest and what you're going to like to learn a lot about is where you're going to make the most amount of money so keep those figures in mind but don't pick one purely because of the salary they're all High salaries and the truth is again if you master one of these fields you're going to get paid a lot so now what I'm going to do is break down the responsibilities and kind of text stack and languages that you need to know for each of these roles so you can understand the full picture of what you'll actually be doing and you have some better information to make your decision so let's start with front-end as a frontend developer your responsibilities are the following don't mind if I look at my screen I just have some of the written down so I'm going to read them out we have developing user interfaces optimizing user experience work working with designers and also sometimes backend Engineers ensuring front-end performance and testing and debugging now this is probably the simplest job description but generally speaking what you're doing is being responsible for how the product looks and feels a lot of people overlook this but a lot of what you're doing is fine-tuning user experience how does the website feel to use how does the app feel how does the game feel everything that a user touches that's what you're responsible for and there's a lot more to that than simply design even simple things like how far do I need to move the mouse to get to a button does the button have a hover effect does it feel tactile these are things you're going to be considering a lot as a front-end engineer and you're also going to be dealing with responsive design how do we make sure this app works on all different kinds of systems how do we make it accessible so that people that have maybe hearing issues or visual issues are able to utilize our application there's a lot of things you need to do as a frontend developer but a lot of it is simply building that user interface it's very Visual and it's really easy to see what you need to do and when something looks good or when it looks bad regardless some of the languages and Technologies you'll need to know as a front-end developer include the following HTML CSS JavaScript most likely typescript as well and then you're going to have to know about different Frameworks so depending on the company you work for maybe that's react maybe that's Vue maybe that's angular there's a bunch of different front-end Frameworks and these are constantly changing and as a front-end developer you need to keep up with all of those Trends even things like serers side rendering bundling frontend code when you start to get to more mid and senior level positions there's a lot more that you need to think about but it all kind of stems and starts from those languages that I just shared so now let's move on to the backend developer now as a backend developer here are some of your core responsibilities you're going to be doing server side Development building out apis you're going to be working with databases and database management you also need to do application integration so how does the backend work for various different types typ of front ends then you'll be working with security you'll likely work with performance and then you're going to be doing some testing of course and deployment and maintenance now you'll notice here that sometimes your devops and your backend roles will share responsibilities and that's because a lot of companies don't have dedicated devops teams and they just bring a lot of the devops responsibilities to the backend team so even though you shouldn't necessarily have to do all of this as a backend developer sometimes you will be doing a little bit of devops work and if you're a devops engineer sometimes you will be doing a bit of backend work so keep that in mind some of the responsibilities are Blended depending on the type of company how large it is and how many people they have working in the different roles now in terms of Frameworks and Technologies you'll likely need to know you're going to have to know some backend languages now this really varies because there's so many different languages and text Stacks you could be using you could be using something like Python and then you'd be expected probably to know about Jango flask maybe fast API some of those different Frameworks you might be working with rust C+ plus PHP java.net go there's so many different stacks and that's actually what's kind of nice about backend you can really optimize your profile and your skill set for specific jobs and you could be for example an expert. net developer or Java developer not just a general back-end developer whereas typically with front-end most your front-end Engineers are going to know a lot of these different Frameworks and they're going to have a similar skill set yes obviously you can specialize but with backend there's a lot more options and there's a lot of different stack that you'll want to learn if you go look at job positions you'll see that people will specifically look for backend python developers or backend Ruby developers or backend PHP developers so you do need to kind of narrow it down and pick a specific backend language or backend text deck beyond that you're going to need to know about SQL and nosql databases how do they work how do you write SQL code what's the difference between them some jobs want you to know about specific databases like MySQL postris SQL mongodb Etc other than that things like web server Technologies so engine X Apachi then API development developing rest apis graphql cloud services so things like AWS Azure uh what are the other ones we have here Google Cloud some companies want you to be familiar with one of those different ecosystems and then finally we might have containerization and virtualization this is something that usually will happen more on the devop side but as a backend developer you might need to know this as well understanding Docker kubernetes deployments again sometimes those responsibilities and rol kind of blend together so lastly let's talk about devops now as a devops engineer you'll be responsible for continuous integration and continuous deployment so testing the code making sure that it's working that it's functioning and then continually deploying that to the users or to the production environment next infrastructure as code monitoring and logging Performance Tuning doing security and compliance so if you work for a really really big company there's a lot of compliance that you need to consider that's something to keep in mind Cloud Server management so again working with these uh platforms like AWS Google Cloud Azure whatever it is that company's using and then disaster recovery and backup there's a lot of other things that could come in here but those are the main topics and things that you'll likely be responsible for now in terms of Technologies you will want to know some basic programming you will want to be familiar with development but you're also going to want to know some of the following so maybe Jenkins gitlab travisci GitHub actions all these things for doing continuous integration and continuous deployment you're going to want to know about ter terraform kubernetes uh cloud formations Docker you're also going to want to do monitoring and logging so maybe you're familiar with tools like Prometheus then you're also going to have to know about cloud service providers as well again Google Cloud AWS Azure Etc scripting this is a big one you're probably going to want to know a bit of python a bit of bash maybe something like Ruby depending on the scripting language that you'll need to use and then networking and security you probably want to have the fundamentals of that and understand how that works and then lastly of course you want to know about data as well like SQL and nosql databases so now before we go any further let me quickly cover a question many of you have probably had which is Tim what about all the other fields of development well yes you could go specialize in game development you can get really good at robotics or all these other fields that exist like augmented reality virtual reality Etc there is less positions in those fields and truthfully if you can get good in one of these different areas it's a lot easier to transition into something else if your goal is to land a job as a developer I do recommend sticking to one of these three fields at least in your early career and then you can more easily transition into all of these other fields where you do usually require a bit more experience if you're going to be a virtual reality developer for example typically you're going to need development experience in order to get that development experience it's easier in one of these three Fields some of you may disagree with me on that but that's typically my advice and that's why I'm just mentioning these three now with that in mind we also have full stack development well before you can become a good full stack developer you would need to either be a front end developer or a backend developer sure you can learn them at the same time but if you want to be really really good you would first specialize in one and then you would add all of those additional skills at least that's how I would recommend that you do it anyways with all that said let's quickly talk about how you actually pick which one you want to specialize in the truth here is that all that really matters is what interests you the most now if when I was talking about these one of these really resonated with you and you feel pretty confident that that's what you wanted do then go for it pick that as your specialization but if you're not sure which one you want to get into and this video gave you the information but you're still kind of in between which one you would like I'd recommend trying each of them I don't mean spending 3 months on all of them I mean spending two or 3 days and building out a front-end project then building out a backend project then doing something with devops watch a few tutorials go online read more about all of the different fields and really try to understand which one is going to interest you the most and what you're going to be able to commit to for the long run the biggest mistake and what holds people back is that they get good in one field and then they decide that they really don't like it because it was the wrong one to start with and they go and they relearn for example backend or devops and start all the way from the beginning that's really going to hinder your career and keep making you take steps back so if you can make the correct decision now you can go all the way up the ladder and rather than switching between all these different fields you can really become a master of your craft now last thing to note here is that if you are interested in any of these three Fields I do have a software development course where you can actually pick a specialization in front end backend or devops after trying and working with all of the different topics you can check that out from the link in the description anyways I'm going to wrap it up like the video leave a comment and I will see you in the next one [Music]
Info
Channel: Tech With Tim
Views: 75,209
Rating: undefined out of 5
Keywords: tech with tim, backend vs frontend, frontend developer, frontend vs backend developer, frontend vs backend explained, backend developer salary, frontend vs backend, frontend developer salary, frontend vs backend development, front end developer salary, front end vs back end, difference between frontend and backend, how to code, backend development, frontend vs backend developer salary, web development tutorial for beginners, c++ placement course, college placement course
Id: 6LA6J4iKNRE
Channel Id: undefined
Length: 16min 54sec (1014 seconds)
Published: Wed Apr 24 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.