Programming Job – Reality Vs Expectations
Programming in reality can be very different from its expectations. And when it comes to a programming job these differences jump into the eye even more! #programming #programmingjob #programmingexpectations
If you're a new developer, or even an aspiring developer trying to break into tech, you probably think that, by becoming a programmer, you'll be coding all day long, writing code that will change the world.
You couldn't be more wrong.
When it comes to doing what you're supposed to do in a standard programming job, it all comes down to much more than just writing code. When we expect to be writing code all day long, software development is much more about solving problems than it is to writing code all day long.
In today's video I'm going to tell you the reality vs expectations of a programming job, what you can expect from your firs programming job and let you decide if this is the right career choice for you.
Transcript Of The Video
John Sonmez: In this video, we're going to be talking about the programming job, getting a programming job, the reality versus the expectations. Most programmers really need to know, if you're just starting out as a software developer, even if you're not, you'll probably relate to a lot of things I'm going to discuss in this video. What's up guys? I want to tell you about a company that I've been working with for a while that it's really going to be able to help you if you want to get a high paid job in coding or design. It's DevMountain. They're an awesome in-person coding and design bootcamp that offers housing for at no extra cost for full time immersive students. They have a whole career services team to help with job placement. So if you are interested at all in coding or design, go click the link below and tell them I sent you.
I'm John from simpleprogrammer.com on this channel. We teach you soft skills. We teach you everything you need to know to enhance your career as a developer, to get the job that you want, to increase your earnings, and to just live a better life as a software developer. If you'd like to get that material, make sure you click that subscribe button and you'll get a new video every week from one of our authors. We're talking about programming jobs, we're talking about the reality versus the expectation. And I definitely was one of those people who didn't understand what an actual programming job would be like when I first got into the industry. I remember thinking to myself, this was my expectation, that I would go and I would sit at my desk and I would write code all day. Maybe I'd be programming a new game.
That's what initially I thought I'd be doing and that I'd always be working on something that's going to be going out to a customer that will be sold in the world, working on a software package, adding new features to it. And that's what I thought was really going to be my day. I thought I would be using the latest programming languages and that I would, like I said, mostly be working on coding all day long. The reality of the situation is that that's not how it goes. Okay, as a software developer, as a programmer, when you get a job, typically the job is not going to match the job description. That's one of the expectations you have, is that this job is going to be what they said it was or what they said in the interview. Most of the time, that's not the case.
I remember getting this one job where I was supposed to do a lot of C-sharp development, and the very first thing they did as soon as I started the job was give me this old VBA app and I was like, “Really? I don't want to write VB6 code. I'm sorry about that, but that's not what I came here to do.” But that was it, I already had the job and I had to do it, and I wrote some C-sharp code, but I was mostly maintaining this app. Another expectation that you might have is that you're going to create new shit, you're going to be creating a new application. And that's usually also not the case. I've been in that situation many times where I thought I'm going to be creating something new and more of the code that's out there is existing code. Pretty much every single job I've had as a software developer in my career, I had to maintain some existing system.
There's very few jobs where I was actually building a new system. In fact, the jobs where I was actually building a new system where the jobs were I eventually got laid off because the company went under because they didn't actually have a product that they were selling at this point. We were trying to build that product. And so if you do get a job where you're working on a brand new system and you're not maintaining something, just be wary that you might lose that job. It might not exist for a long time. Yeah, so most of your time spent as a developer will be spent working on legacy systems and maintaining those systems, maintaining someone else's code instead of writing new code.
Along with that, a lot of the job will be fixing bugs, right? One of the first jobs that you get as a software developer when you come onto an organization most likely will be to go look at the bug database and you get assigned some bugs and you start fixing bugs in the software. Now, it doesn't mean that you're not eventually going to write some new code and develop features and things like that, but a lot of maintenance work involves fixing bugs. Get used to fixing bugs. That's going to be a lot of your job. I didn't expect that at all. I had no idea that I was going to be coming in and fixing someone else's bugs in the software when I started out. I, again, thought that I was going to sit down and code all day, but in reality, a lot of software development involves going to meetings. It involves talking with the teams. It involves coming up with the architecture and discussing things and doing code reviews and things like that instead of just writing code.
So it depends on what kind of organization you're working for. A smaller organization probably has less meetings, but the bigger it is, it tends to have more and more meetings and more and more red tape and so just be aware of that. A large portion of my time was actually going to be spent designing and architecting essentially the code and then doing other activities like debugging. Probably a majority of the time that you're going to spending as a developer is debugging your code, is figuring out why it doesn't work, is testing it to make sure that it does work properly. If you've gone to a good coding bootcamp or you've gone to a good college even, or a university program, where they teach you software development, they actually have you worked as an intern, some of the stuff won't be such a shocker to you.
But for me, coming in, I had no idea. I was just used to writing code. I didn't realize I was going to be spending a majority of my time coming up with the design and then implementing that design and documenting that design and then testing that code and debugging that code to make sure that it worked correctly. I'm not trying to discourage you from becoming a programmer or a software developer. I think it's great, but you should just know what you're getting into when you're jumping into this career so that your expectations do meet the reality. In general, a lot of developers want to avoid politics, but there's always politics, so you have to become a good communicator. You do have to understand the politics and you have to play the game to some degree.
Communication skills would be another big one. As a software developer, I sort of just wanted to sit and code, but what I learned as a software developer, and by the way, if you haven't subscribed to this channel, subscribe, because this is one of the main things we teach on this channel, is I learned that my soft skills, my ability to speak, communicate, to convince people of my ideas, my ability to influence other people, those were really the most valuable skills and that's what I used the most as a software developer to actually improve my career and advance my career. I couldn't just sit and code by myself. Mostly, my job was to deal with people to interact with people. In fact, when you're building software, you're building software for people. Ultimately, someone has to you use it.
Which brings me to the final point, the final thing. I expected that I'd be always working on software that would ship to the end user, but rarely was that the case. Most of my software development activities were building tools that were used by enterprise organizations building little features into software that maybe it was shipped to customers, but you couldn't see what I created. It was such a small piece of that. Some of it actually did ship and was totally visible, but a lot of what you're going to end up doing as the software developer may be working behind the scenes. Maybe you're working on the backend stuff, maybe working on stuff that doesn't actually ship out, that's internal tools. A lot of the software development jobs out there are not actually creating software that goes out to the end user. And this is, I think, a big shocker for a lot of developers because it's a small percentage of jobs that actually creates software that goes out to the end user.
Most of the time your customer is going to be in your organization or it's going to be the software that uses your software and you're going to be creating some kind of tool or something like that. That's a majority of development jobs out there. All right guys, hopefully you found this useful. If you did, make sure you click that subscribe button. Let me know in the comments below what was your expectations versus the reality as a software developer, as a programmer? I'll talk to you next time.