© 2019 Tim Buchalka
  • Tim Buchalka

What Would A Junior Developer Work On?

As a junior developer, what could you typically expect to work on? Let's talk about that today.



We're talking about a junior developer and what you'd typically would work on when you're starting out.


Now, obviously, a junior developer is probably going to be someone who's starting their very first programming job. So when you come into an organisation as a junior developer, you're going to have other people supervising your work and you're probably gonna start on some basic things. You'll probably spend a fair amount of time, initially with documentation. You would do a lot of reading.


If you've come in to learn the programming language and you don't know that, they'll probably send you off to do a course like perhaps one of mine or a book or something like that or even a bootcamp or something to get you up to speed with particular programming language. But if you already know a programming language and you're coming into a team, then the documentation might consist more of learning the actual code base and whether a project or projects the company's actually working on.


Now, you'll start pretty basic. Most junior developers don't get in there and don't get a hands on access to the full code base. You'll probably - depending on the size of the team - get access to part of the code base, but it will probably, typically, be read only access. In other words, you won't be able to commit any changes directly yourself. Because you can imagine that there's a huge organization or even like a mid-size organisation, they've got a code base, a code that's tested and a number of developers have worked on. If someone comes in and doesn't know what they're doing and makes a change and makes a mistake, obviously, that change can be committed and updated and it's going to break a lot of code everywhere.


Consequently, there's a learning process that a junior developer or really any developer coming into a new code base needs to learn. But particularly, as a junior developer, you'll need to learn those skills. So you'll need to learn even things like version control, using Git or another repository. If you don't know those skills, you'll be sort of tasked with learning that or being told that you'll need to learn that.


You'll go through these basic things first. Learning the building blocks and then gradually, you'll get to the stage where you're asked to make some changes. Now that'll generally be pretty simple ones. For example, you might be working as a junior web developer and there might be a typo on the screen somewhere and your change may be to find where that is in the code base and fix the typo. Really basic things, but, it's done for a reason. It's getting you started to understand and learn the code base and to find out where things are and just to gradually build your skills up over time.


So those are typically the sort of things you have to start with and then over time, you'll start moving on to more and more advanced things. Perhaps you'll eventually get to the stage where you're working on a single method that perhaps has got a bug, perhaps it's calculating the interest for a given amount of money and there's a bug in it under some scenarios. You'll be unit testing it, perhaps, and maybe adjusting or proposing a change to it and all the changes that you'll probably be making to any code base, at this point in time, will be checked by someone else, typically, a senior developer or someone else in the team will be checking your work, just to make sure that you're on par.


That can be a bit intimidating: working with other people. But realize, that's just really part and parcel of being a developer - being shown the ropes and gradually proving your worth over time. So use that time really productively and just learn as much as you can. Read a lot of the source code. Read the comments and depending on the size of the team, often, there is supporting documentation and probably thousands and thousands of pages of documentation for the last systems. It can be a really useful exercise to go through and look at all of the design documents to see what decisions are made for a particular code base. But then, reading the code itself can be extremely useful.


Those are typically the types of things you'll work on and then gradually, you'll move up and up the ranks and be able to get commute access to the repository, meaning that you'll be sort of, trusted enough to make changes without having to go through someone else. You can understand, from a company's perspective, they don't know your skills truly until you start, so things will be fairly conservative but then gradually, as you improve your worth, you'll move up and up the ranks, so to speak.


A funny thing that I actually saw on Reddit actually, was the definition between a junior developer and a senior developer. A junior developer knows to look at Stack Overflow, (great website for learning and finding answers) but a senior developer not only knows how to look, they actually know how to apply the changes as well. That's the sort of thing that you'll actually learn over time and you'll find that you'll be picking up these things. You'll be researching and trying to find solutions and Stack Overflow will come up in your Google search results all the time. It's a great site to find solutions.


As you get more and more skilled, you'll be able to start applying and understanding these Stack Overflow skills. It won't be a copy and paste, which I would never suggest you do that. You'll get to that level anyways. So, stick at it and realize that you've gotta start from somewhere. All programmers were junior programmers or started a job for the first time or learned to program for the first time. You're doing the same thing as everyone else, so keep at it and I'm sure you'll succeed in the longer term.


All right, I hope that helped. If you've got any questions, feel free to leave a comment and I'll get back to you.