Programming Is NOT Enough | Add these 7 skills…

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey everyone Travis here from Travis dot media becoming a programmer in the traditional sense is no longer enough with the Advent of some new and widely adopted technology developers are now required to know more than just writing good code but the good news is you don't need to master some of these additional skills instead you just need to be familiar enough to know about them and to be able to use them when asked to so in this video I want to give you seven of these skills that you'll need to add to your pursuit of becoming a successful developer and if you find this video helpful along the way give it a thumbs up consider subscribing let's get started number one is cloud computing now I've said this again and again that this is actually a default requirement for any developer and here's some statistics according to tech report 85 percent of firms are anticipated to adopt a cloud-first strategy by 2025 spending in the cloud in 2022 made up around 25 of the 919 billion dollar market for commercial I.T and over 60 of all corporate data is stored in cloud storage everyone is going there if they're not there already and you need to be there too you need to have a knowledge of the cloud so that you can keep up with the pack even as a developer you aren't just pushing code and then moving to the next thing your code will be linked in some way to the cloud and you'll be asked to facilitate it in some way and having knowledge of the cloud will help set you apart and make you a leader in your role and if not a leader then a very capable developer one that doesn't need additional hand holding in things outside of code so how do you learn cloud computing well there's really two ways one you buy a course you sign up for like AWS you work through the course you get your hands dirty and you become competent this is okay and will suffice more than the person that's like I'm not worried about it I'm not getting in the cloud but the second way and the better way is to get Cloud certified this will help you become more marketable and it'll help you level up your skills because remember Cloud knowledge will require you to learn networking and things like that that you don't really learn as a developer by default but getting certified in some way will really really help you out you'll have that knowledge additional knowledge and having that badge on your resume is definitely a plus now a basic cert like the AWS Cloud practitioner is good it's a good start but if you could get the AWS Solutions architect associate certification that would be ideal very ideal but the next question is which Cloud AWS Azure or Google and my answer is pick one AWS is the more popular one but it has more people certified in Google while not as popular is still big but not quite as many people certified there so it's okay going AWS it's okay go on Azure but you may want to go Google because the fish in the pond are fewer now I have a video out there of how I pass the AWS Solutions architect certification which materials I used step by step in preparing for that certification so if you go watch that video it'll give you all the tools you need to pass I'll put a link to that below I also have the Azure equivalent of the materials and steps I took to prepare for the Azure that link will be below as well Google I can't help you out I'm not certified I don't know a lot about Google I use it some but you're on your own there now the second skill you need to add in your pursuit of being a successful developer is git or Version Control now I find it fascinating how many people are learning to code or are new to coding and don't know how to use git if you're working with the team or you're working with a code that's being pushed up to a platform like GitHub and you're not like an isolated freelancer though I could argue you need to be using git2 then you have to know git or some Version Control of the like get being the most popular now if you didn't know git is a version control system used for tracking changes in computer files or code in our case it allows you to create this separate Branch off of the main code base do your work and make your changes get things running and then it allows you to merge it back in to the main code base not override all the code and everybody else's changes but just merge in your differences it allows other developers to do the same thing at the same time everybody's branching off everybody's merging in people are reviewing your code to make sure it's legit and we can keep track of everything that happens and if something breaks we can roll it back to the previous version and this version code is usually pushed up to some online repository like GitHub or bitbucket or gitlab but the good news is if you don't will get it can be learned pretty quickly if you just go to YouTube and type in learn git in an hour there's two or three really good videos and you just need to know the basics like how to clone a repository create a branch stage your changes push your changes things like that and then as the months pass by you can learn more as you go but sooner the better get started learn git now the third skill you need in addition to programming is basic database knowledge in almost every job I've had I've had tasks ranging from using SQL commands basic SQL commands and pulling data to actually writing full-blown SQL scripts and in some jobs that may not be your role but there's going to be a project that you're put on at some point that's using SQL and you being the developer and it may be being a small team you're going to be required to make changes to it in some flavor of SQL to get the job done it's going to happen and you not only want basic SQL syntax knowledge but knowledge of databases as well things like database versus tables relational versus nosql and relationships like one to mini mini to mini and of course the SQL syntax like select up update join insert Etc and you don't have to become a DBA you don't have to be an expert by any means but have enough knowledge to be able to jump in and figure it out when the time comes by learning a little bit here and there as you progress you can bite by bite become an expert in anything if needed over time in today's sponsor brilliant specializes in just that brilliant.org is a great way to learn Math logic and computer science interactively brilliant is fun practical and has thousands of lessons from basic to Advanced topics from computer science and programming algorithms python AI math and other tools to help you level up your skills or keep those skills sharp and it's perfect for busy self-taught people like you and me making it easy to master big Concepts in as little as 15 minutes a day maybe you're having a hard time nailing down conditional statements or Loops pointers or linked lists brilliant will help you visualize and internalize these Concepts in an engaging interactive way today I switch things up a little and tackled some pre-algebra puzzles where I had to use logic in math to guess missing numbers quite the mental exercise but like I said brilliant can help you digest New Concepts and solidify old ones that can apply across many different facets of being a software engineer and you can get started today for free for 30 days and get 20 off an annual plan by using my link below that link is brilliant.org Travis media now back to the video now the fourth skill you need to add to your repertoire is basic knowledge of Linux this is something I thought I had by the way of having a Mac and a Unix terminal but I learned quickly that there's more to Linux than just terminal commands and while you should learn core Linux terminal commands from CD to cat to grip things like that you should also try to get a good understanding of the Linux file system like why are files in the Etsy folder or the bin folder what is the Mount directory or opt or user or temp do you know well you need to know you also need to get familiar with file permissions and ownership every file and directory in the Linux file system has permissions and an owner so learn how to read permissions and use C hmod or CH own to change them or is it jamad finally know how to read logs and interact with system processes and the reason I say all this and the reason I emphasize Linux is while we all have Macs and PCs that we use daily these servers that run websites or applications in the cloud are going to be of some Linux flavor so as a developer once that code leaves your machine you're in Linux land the fifth skill you need to have is basic knowledge of Docker in containers I think the skill in the past has fallen to the devops team but in my experience especially of late developers are supposed to jump in and containerize apps or microservices or why an image isn't building or why a container is failing and it's becoming like the cloud knowledge you're just going to be asked to know it now if you didn't know Docker allows you to take an application or a code base build it into an image and then run it as a container in that image or blueprint can be passed around to different people it can be uploaded to a repository where other people can download it and it's going to run the same for everybody it's going to work for everybody because it has all the same dependent sees underlying OS and everything in that container needed works for you and it works for me so just as an example I have this next JS app here imagine that this is your company's app it's huge lots of developers are working on it and it needs to be containerized on build or something like that let me show you how it works real quick so you have all every code and within that code you have a Docker file now the docker file is going to include these directions to build your image so from node 18 this is your base image things are going to run on this miniature node process then you define your work directory which is slash front in can be anything then you're going to copy your package.json over to this container and you're going to run npm install to install all of the dependencies on the container then you'll copy your current code which the dot everything over here into this front-end folder which is the other dot so you're just copying in all your files you're exposing Port 3000 in running npm run Dev which is the command to run a nextgs app in development so what I do is I do this Docker build command and this takes these directives and builds this blueprint where this image so over here I have the docker extension installed and I see under images this Docker next.js image here's my image now if I want to build it it's as simple as right clicking and choosing run or I could do a Docker run command now up here under individual containers I see my next JS container running so I can right click and choose open in browser in my next JS application is running locally in a Docker container so I can come back and I can just stop the container or remove the container whatever I have the blueprint doesn't matter I can spin it up spin it out now that was a really basic example but if you want to learn more about Docker quickly I have a video out there called learn Docker in one hour that's done really well it's gotten a lot of good feedback on it and it'll walk you through what Docker is what an image is what a container is how it works and then you actually containerize a react application and a WordPress application all in one hour and that's on YouTube I'll put a link to it below but if you finish that video you will be equipped to move forward in these skill sets so make sure you check that out the sixth skill you should add in your pursuit to being a successful developer is basic API knowledge now you may think this comes as part of being a back-end developer but many devs leave it out they learn backend and NBC in object-oriented programming and orms and databases but never really the skill of building an API and while this does of course involve the programming that you already know how to do there are API specific skills in architectures that you need to know when not if but when you're asked to work on an API and I would recommend learning about rest apis you'll need to learn about routes and verbs like get put post responses and Status codes things like that you'll also need to know about authentication and tokens in the security aspect of an API that's really important so what you can do is whatever language that you're good at or whatever language that you like or language that you're targeting find an API course somewhere in that language and take it then build something wrestle with it a little bit so that you have some basic API knowledge again you don't have to be an expert but just know enough to jump in and get the work done and the last one at number seven is pipeline 9 familiarity now these pipelines usually run tests or some sort of checks that are required to pass before your code merges in you might think others will take care of this instead of you developers but eight times out of ten you'll be asked to fix it there's no mercy here hey Travis that code you pushed is failing on the pipeline think you can take a look and fix it and you got to fix it or at least troubleshoot it so the best way to get started here is with GitHub actions imagine when you push your code up to GitHub it kicks off some sort of automation maybe it runs a linter that checks your code formatting or maybe it runs some sort of testing then when your code is merged it may kick off another pipeline to deploy it to a development server or a staging server and GitHub actions everybody has a GitHub repo GitHub actions is free and it's a great place to learn about pipelines and they're just yaml files the configuration of pipelines they're just yaml files and they look something like this here's a GitHub quick start like a GitHub actions quick start let's just look at this GitHub actions demo is the name run name is GitHub actor which is probably the person running it is testing out GitHub actions and then on push so when code is pushed these jobs need to run and they run on Ubuntu so this is going to be like a container like an OS container that's running this code it's going to spin up run this action and then go away and then there's a number of steps so it's echoing some information here with some variables then it checks out your repository code with action slash checkout at version four so checks out your code it says the GitHub repository variable repository has been cloned to the runner and it just runs an LS listing files in the repository very simple but you get the point on push there's some jobs here's what it does and that's your configuration file and that's how your pipeline is going to run so check this out go to GitHub actions check out some examples and become familiar with pipelines now if you learned the basics of these seven skills you will be a more marketable and well-rounded developer and in my opinion many of these are borderline required so get familiar with them I've given you the blueprint here and I wish you the best in that Pursuit what other skills do you think programmers now need to know let me know down in the comments and if you found this video helpful give it a thumbs up and I'll see you in the next one
Info
Channel: Travis Media
Views: 410,306
Rating: undefined out of 5
Keywords: how to get better as a developer, learn cloud computing, learn linux, required software skills, git tutorial, learn git, aws certification, azure certification, learn docker, docker tutorial, learn software pipelines, learn devops, learn databases, how to containerize nextjs app, learn api from scratch, git tutorial vscode, learn linux ubuntu, what are the skills required to get a software job, software testing skills required, programming is not enough, travis media
Id: S2GfjaTbJa4
Channel Id: undefined
Length: 13min 19sec (799 seconds)
Published: Sun Sep 24 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.