Advertisement

What depth of knowledge should a Junior Programmer possess?

Started by November 12, 2020 11:19 AM
4 comments, last by _WeirdCat_ 4 years ago

I am currently a student in game programming. I am wondering how much knowledge programmers should possess for an entry-level, Junior Programmer position.

Should they have extensive experience in game programming patterns like flyweight, singleton, state machines, ECS, and other patterns? Are there some patterns that would be requirements while others are just advantageous to know?

Would a starting programmer be expected to know how to do programming in multiple areas like gameplay, UI, AI, networking, tools, etc., or would focus on a single discipline be more preferable?

What separates a junior programmer from a senior programmer? What would a senior programmer be expected to know that a junior programmer wouldn't?

I am trying to assess my skills to see what I need to focus on. Thank you for your help.

None

it's about experience and/or your ability to break grounds in new topics;

let's say you're in a meeting and everyone is talking about Vertex Shaders, you'll be like “oh yeah i know what this is” and u might just chip in your 2 pence;

then later on the meeting's conversation knocks door at “Entropy correlation levels with isogeometric game data”, that's when u go “eerrrm.. my mum bakes cakes, is that alright?”

… and life goes on….

so if u really want to focus on skills or a discipline for a job, my advice is to target what role u think u could do for a chosen company (Tools programmer, Gameplay, network, Engine progm… ), look at some job adverts for these and see what they ask, talk to recruiters, all the while you are learning more skills (whichever that is) and gaining all-round or niche experience for your own sake;

the more u know the better of course, which means u don't have to be limited to this “targeted skill”, but these days i find that it is not always true that u will need all your skills to do your job, there's always someone who knows a little more than u… thank goodness for Robert and the internet! ?

I don't do this anymore but when I hired Junior programmers, I didn't expect them to know a lot (but I expected them to be able to learn stuff and fly with it), when I hired Seniors, I expected them to leave me alone and only talk to me when I needed them to explain to me why they broke code -lol-

That's the main diff, u don't need to draw tons of things on paper when talking or explaining a project to Seniors, but a Junior may need more explanation most of the time about everything -boom-

it takes time to gain experience, don't force yourself into it - personally, (so my own opinion), i'd rather work with someone who has spent ample time in 1 topic, digging everything there is about Rendering Text in 3D who can explain this topic clearly than with another who knows 10 topics but whose explanations of those are clouded by the desire to show off that he or she knows it all -dam-

anyway, i hope i didn't show off ?

have fun ?

Advertisement

Thanks for the reply. That helps me quite a bit.

None

@ddlox ‘s anwer is excellent.

The only thing that I would add is that, to me anyway, attitude is more important than raw ability. As a junior dev, you are going to take up more of my time where I need to explain things, that’s not a problem so long as the time is used sensibly, there's nothing worse than me investing my time @6 times the cost of someone else's time to help that person if they don't then follow up and do whatever learning etc. is recommended. That's how we as senior devs scale (it's not just about the senior dev being able to personally write more / better code, it's about the ability to influence others).

In terms of concrete skills to know, it would entirely depend upon:

  • What your background is - if you've got a coding background, then I'd have higher standards / expectations than if you didn't
  • What role you're looking for - e.g. if you're going for a tooling job, then I'd expect you to know what that involves / how it could be done. If you say you want to be a shader coder, then I'd expect you to be able to talk sensibly about what that involves and what would need to be considered.

Note that it's rare that I'm expecting a 'perfect answer' (this is software engineering, there are so many right ways to do things that there's no one true path), what I am expecting to hear is that ‘this is a person who I would want to work with, who I’d be willing to invest my time in and one who I think would actually deliver'

What not to do:

  • Claim to be an expert in everything - I've received CVs which claim an improbable level of expertise in everything, a brief question at interview blows those claims away and it makes the rest of the interview almost pointless as nothing's believable anymore

Good luck

Steve

To be honest, you will have to know everything cause you will be the one that actually do things that noone else wants to do. Game industry is a no go. Salaries aint that high and youll get burned out very quickly.

This topic is closed to new replies.

Advertisement