What Software Engineers ACTUALLY Do (what they don’t tell you)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right so you want to be a software engineer well if that's the case it would probably be useful to know what software Engineers actually do and let me tell you you probably think that you know what software Engineers actually do but chances are you don't like I when I first started learning the code thought that I knew what the job was going to be and of course there similari not like I was completely off but actually the job was quite a bit different to what I had imagined so in this video I just want to break down what I actually did as a s engineer when I was working professionally compared to what I expected and what are some of the unexpected things I really wish I knew before I got into this career and this is pretty important because imagine you get into programming because you have a certain idea about what the job is going to be like but then it turns out to be completely different you probably wouldn't want to spend months or even Years Learning the code only to find out that the job is not at all what you had imagined so the first thing to understand is that the term software engineer is actually an umbrella term for all all kinds of different jobs so in this video I want to talk about the two broad categories of software Engineers which are number one a corporate sort of big Company software engineer and number two a startup software engineer either building your own startup or working for a startup which really just means a much smaller company while technically both of those are software Engineers the job is totally different and I can say this as someone who has done both of these kinds of jobs both of these have their pros and cons and we'll go through all of that in this video but before we do that let's just talk about what are the requirements like what do you actually need to become a software engineer like you might be aware that in 2024 the tech job market is not that easy and it's not that easy to get a job and by the way the term software engineer software developer programmer are all really just interchangeable and in certain countries the word software engineer is actually reserved for the kinds of people who have software engineering degrees or something like that but in most countries like the us UK this is not the case at all people and companies use these terms completely interchangeably but people think that to become a software engineer you need some like very deep theoretical computer science knowledge like you need a computer science degree you need to understand everything about computers and all these kind of things and all of that is actually complete nonsense like I don't have a computer science degree myself I've studied a lot of computer science on my own just because I was interested in it and while it of course gives you a slight Advantage maybe to understand the internals really it's not required at all and on your job you'll be surprised how little of the computer science Knowledge from like a computer science degree you actually use what you actually need are just basic programming skills and you need the ability to solve coding problems and when I talk about coding Basics I don't just mean like complete Basics there's like a certain amount of skills that you need to learn to be given an opportunity as a professional Junior software engor and of course today as the industry develops as learning the code becomes easier that bar is higher than it perhaps used to be a long time ago that's just how it goes so where can you learn this well there's a program called course careers that this new online platform that essentially is targeted at giving you just the exact skills that these real companies who hire Junior softw actually want from their candidates now I have partnered with course careers to make this video just to give you the easiest path to get the skills that you need in as little time as possible and what really makes this special is that you get three different pillars to help help you become a software engineer number one you of course get the skills you get a full online program that is taught by some of the best coding teachers in the industry including Tech with him web dev simplified and many others the way it works is that you go through first a free introductory course which you can just check out down below in the description right now after that if you choose to enroll in the full program you go through first a complete software engineering fundamentals course and after that you can pick one specialization based on what kind of software engineer you want to become the second pillar is that you actually get mentoring from people who have actually done these jobs themselves we're going to actually help you become the type of person that these companies want to hire and we can tell you everything about what the job actually entails and the third pillar is that at the end of the program they're not just going to leave you to go on your own and try to find job no no no they will actually help you land their job directly via their platform which means that people like Max for example have got a 70k software engineer job offer in literally 4 months after going through course without applying for a single job that themselves at all if you want to check it out you can start with a free course Down Below in the description and get $50 off with my link let's now finally talk about what the job actually entails first let's talk about working for a big company as a software this is what most people are going to do like think about Google Facebook all these big tech companies with the big salaries and all this kind of stuff now this is where the job was actually very different to what I imagine what you probably imagine is that when you become a programmer you probably imagine is that you're dealing with some very complicated code and you're doing like all these exciting things like building new features with Google and like you're learning how the Google search works and all these kind of things but at least at the company where I worked at and I know from people I've spoken to and that is the same thing at companies like Google what you're actually doing is a lot more mundane than you probably imagine imagine your entire job being working on one button inside of the UI of Gmail for example or in my case imagine your entire job being just changing some configuration files for the this massive code base that you barely even understand working on some very Niche internal platform for some bank that is actually what we were building in my job I know a lot more boring than you probably imagine and that is going to be the reality of your job at least for the first few years of your career because the reality simply is that when you go into these big companies you can't possibly understand enough about the code base to be able to build something super interesting so they're going to give you the lowest of the lower level tasks that no one else wants to do basically so straight off the bat don't expect that you're going to be working on something super exciting straight away with that out of the way let's talk about what your daytoday life is actually going to look like because after all even if you're not working on something super interesting the positive of this type of job as a software engineer is that the job is quite chill at the end of the day you're not working super long hours at least not most of the time and you have quite a bit of flexibility in terms of when you work how you work etc so the way would work for me in the beginning go to the office 9:00 a.m. whatever I would have a morning what we call a morning standup meeting where I just get on a call with the entire team of like I don't know 20 people or something like that we just sort of update the entire team on what we're working on that day and the way that would be determined is that we have a this sort of board of the different tasks it's called a Canan board that our entire team has to work on inside of that what we call Sprint so you're going to learn about all this different terminology of like this Agile development or whatever they call it so essentially your entire team is responsible for certain part of the application that your team is building that usually divided into these two we long Sprints where essentially in one Sprint you're supposed to get a certain amount of work done and then based on that the start of each Sprint your team is going to like divide up everything that you need to do into tasks that you put inside this can ban board and from inside of this board essentially these small tasks which could just be fixing some bug or building some like small little feature these are going to be assigned to you guys as Developers purpose and you as the junior are going to be assigned probably some of the easier tasks on this board so every day you're just going to be updating your team like okay I'm working on this ticket number 47 for example throughout the day you're just essentially working on that task you're on your laptop coding up uh you're messaging your colleagues on slack to ask for help you're going on Google you're going on chat gbt things like this and it's relatively chill most of the time because all you have to do is you have this one task that you're working on and it might take a while it might be very quick and as soon as it's finished you do what's called a pull request where you essentially submit your code to the team as long as the code is good it's going to be approved and then you can move on to the next task or next ticket as they're called I usually didn't have any meetings throughout the day so essentially it's a very free job at least it was for me maybe it's not for everyone but for me that's what I really liked about it and especially after a few weeks when I was able to work from home pretty much every single day I essentially now had a remote job where I could just design my daily schedule however I wanted which was pretty great and you're not really expected to work Beyond 5:00 p.m. at least not for me the pros of working for a big company especially as a junior is that you have a lot of experienced developers that you can learn from you don't need to wear too many hats meaning that you're really only W focusing on one specific thing of a very specific part of the project which is at the same time more boring because you don't get to learn about all these different things but it's also easier and it's easier to get into the cons are like I've already referenced is that it's a bit more mundane you're not really working on building something super cool and exciting and as a result you're probably learning less because you're only really focused on one specific thing and the thing about big companies is they move very slowly you're probably building some very Niche like optimization or like very small feature like moving some button around in some UI that may or may not even end up being used in the real application so because it moves slower and because you're working much less you're also learning much slower another Pro I forgot to mention is that you probably earn more in terms of your salary at least in the beginning of your career but at the same time in the long run if you work for a startup and you have equity in the startup and the startup ends up doing really well you could end up doing much better financially in a startup but it's more of a highrisk high reward kind of environment in terms of the startup so the way it worked for me I was actually working on my own startup with two other co-founders I was the lead technical engineer this is not something I recommend if you're a beginner if you don't have a bunch of money already absolutely don't go and start your own startups right away if you are interested in startups I would recommend first working for a startup where you also have a salary maybe you have Equity as well if you're very early and then later on in your career if you're in the position where you're willing to work on something that's 99% likely to fail then you can start your own if you want to but in here the real day in my life would be very very different in certain kind of ways because I simply had a lot more responsibility I would work much longer you're moving a lot more quickly You're Building sort of bigger things you're really having an impact on what the thing that your startup is building so overall it's probably a more exciting environment to working that's the main Pro but the con is going to be is that well you're going to work a lot more it's probably going to be more stressful the biggest Pro for me though was just the idea of building an app or being involved in building a full app from start to finish is the most rewarding feeling you're ever going to feel as a programmer this is something really cool about being involved in something where something didn't exist and now exists at least partly because of you when you working in a startup and the earliest stage in startup you're involved in the more you're going to feel that whereas with a big company you're really not going to feel any effect of what you're doing on the big picture but in terms of what my days look like it's pretty much the same like in the morning we would update each other with the co-founders but also throughout the day if we were working in person we'd obviously be talking all the time we'd be slacking all the time like whenever there's anything to update what you're building is a lot more Scrappy in a way you're not focusing on like making everything perfect you just want to make something work and then move on to the next thing as fast as possible so today is very similar except I'm just coding a lot more because there's a lot more to code I'm less focused on some very Niche bug somewhere just more focus on like big picture like actually moving the needle moving the application forward and I definitely feel like I'm learning so much more when I do that so I hope that gives you an idea if I was to do things over I would probably rather work for a startup at the early stage of my career at least in the early days of my career I'm the type of person like I just want to work as hard as I possibly can to get as far as I possibly can and then maybe later on in my life I could then move on to a bigger company where I can use my startup experience to sort of fast forward my career a bit quicker and then eventually get that higher pay at the big companies even if none of my startup things really succeed but I would not start my own I would just work for startups take the learning so get paid to learn essentially and then use that learning to become a much better engineer much more quickly so really what's best for you is really going to depend on you but whichever engineer you want to become you don't have to decide that straight away you can work for a startup if it's not for you you can just go and work for a big company because once you have even a little bit of experience as a software engineer you're going to have so many doors open to you broadly the sort of software engineering fundamentals that you expected to have are going to be the same so going through a program like course careers is going to work for you in either case and you can even go through it and learn about this as you go and then once you get the skills when you get ready to apply for jobs you can even apply for both and then decide it's not like you have to decide right now but I hope that this video gave you a little bit of an idea of what software Engineers actually do what the job is actually like in both of these scenarios let me know if I miss anything let me know if you have worked as a soft engineer and you disagree with me maybe you had a totally different experience to me because obviously this all depends on the company you work for but with that said you might be wondering like with AI and the slow economy all of these kind of things is coding even a good career anymore should I even become a software engineer anymore is it worth it to learn so if you're wondering that I actually made this video right here which is you can watch right now we're go through a very objective overview of how software engineering actually Stacks up as a career compared to perhaps other careers if you want to see if coding is still worth learning in 2024 make sure you watch this video right now before you get started and with that I will see you in the next one
Info
Channel: Internet Made Coder
Views: 5,200
Rating: undefined out of 5
Keywords: how to learn programming, how to learn to code, learn to code, coding, programming, software engineer, software engineering, software development, self taught programmer, tech, career in tech, techcareer, data science, how to become a software engineer, self-taught software developer, no cs degree, frontend developer, learn computer science, online, learn faster, no college, ossu, open-source computer science degree, programmer
Id: BOFK-W-Nmes
Channel Id: undefined
Length: 13min 45sec (825 seconds)
Published: Sun Apr 28 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.