🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Programming: how to be "so good they can't ignore you"

Started by
64 comments, last by JoeJ 2 years, 2 months ago

Kylotan said:
Why are you second-guessing what they are looking for?

Or, to phrase this more personally - why are you, someone struggling to get into the industry, doubting my suggestion, as someone who hires in the industry?

I shouldn't try to second-guess what they are looking for, sure. It's just that I personally do not find a 2D platform, or similar, made in a game engine particularly impressive from a software engineering standpoint. My logic was then that neither would the people hiring. The projects I've actually been proud of have been done in companies behind closed doors and obviously they do not help me much when it comes to applying for jobs.

Kylotan said:
But that's just how it is. There's no weird trick that you just have to find that will unlock the doors, no magic wand you can wave.

I'm not sure why you keep repeating that I'm looking for some quick-fix or simple way to trick my way into gamedev. I already have most of the skills required for a software engineering position at a game company since I have a very broad experience as a software engineer outside of games. Those are, to me, the basic facts. What I was looking for originally was more to see if there was a particular type of project that would give a lot of credibility, and in what medium to post it so that a hiring manager would actually take a look at it. But I understand from what you and others are saying that it depends on each job what the requirements are. I expected nothing less.

My question from the start should rather have been: what broad skills (except from the ones I already have) should I develop so that I am a viable option for as many software engineering gamedev jobs as possible?

Advertisement

Kylotan said:
I'm intrigued as to what you think of as interesting?

Pretty much everything that requires math and algorithms: AI, physics, rendering, animation etc. I also find movement gameplay to be very interesting if done right. There are not that many jobs outside of gamedev that contain those problem domains, from what I've found. Some jobs contain one or two.

hplus0603 said:

  1. Recruiter needs a way to filter posers from people with actual experience
  2. But recruiter is not a technical person, they are a relationship person
  3. Recruiter asks hiring manager(s) for a list of “ten easy technical questions that should filter out bozos”
  4. Managers write up some questions, and some “expected” answers.
  5. Given that these are “easy questions,” they are generally fresh-graduate to senior-engineer level, with no level of subtlety
  6. Recruiter uses list for staff/principal level people, who do nothing but deal with subtlety all day
  7. Amazing failures and blog posts ensue!

Search for the company “Karat”. They are basically this, except they are hired tech people that have normal jobs. But its horrible because they assign random people. So you could have an HTML web guy interviewing a videogame guy. And the interviews are not even personal at all, they are meant to be super rushed, you take notes and give back to the lead interview guy at karat and THEN they decide if they want to give your resume to Amazon or whoever hired Karat to vet candidates. It's so bad.

There is nothing wrong with filtering candidates with default programming test. Usually they toss you a test immediately if they are even remotely interested. Takes none of their time.

NBA2K, Madden, Maneater, Killing Floor, Sims http://www.pawlowskipinball.com/pinballeternal

perry_blueberry said:
What I was looking for originally was more to see if there was a particular type of project that would give a lot of credibility, and in what medium to post it so that a hiring manager would actually take a look at it.

We interview a lot of applicants, especially right now it's easy for just about everyone who applies to get an interview. We've got open headcount for about 30 people, but most are mid-career or senior level, but also for a few junior art positions. So many studios have a lot of open positions right now. Just apply at companies and you'll start getting interviews.

Everyone interviews differently.

I build my interview questions around what people have done in the past, and then verification around core data manipulation.

I will ask what people have done, either on work projects or school projects. While it can be impressive, I don't especially care if you've built a demo or only made school assignments. When I know about some projects you've worked on, I'll ask about what problems you overcame to build it. If it's a school project I want to see how you learned. If it was a work project I want to see how you are still growing as a developer, not stagnant. I always ask about tradeoffs people made in their code, such as trading off compute time versus storage space, or how they otherwise made iterative improvements to their own existing code. I always ask a simple programming task involving pointers and flow control, check for a palindrome, check for an anagram, identify all duplicate strings in a collection, etc. Yes, they are common and people have a chance to prepare for them, but they're also straightforward to evaluate if a person knows what they're talking about. Even if they flub writing the code due to interview stress, it is painfully obvious when a person struggles to express the idea of how to approach the problem, versus someone who explains the algorithm (or even multiple algorithms) and dives right in.

When I was being interviewed at one company, and they asked how I tend to interview people, I was given a question: What's the hardest programming question you'd ask during an interview? I responded, sorting an array of pointers, it is enough of a challenge that shows how they think, but under the stress of the interview I wouldn't ask it except for senior people who should be able to write it from memory. They then handed over the keyboard and told me to implement it. About 15 minutes later I had written them a quicksort function, built up a little at a time, with a series of arrays to prove it works. That was an unexpected way to interview me, but it worked as I got the job.

@perry_blueberry Though its nice to show how much experience you have it also takes time and years to build such a resume to comply with the needs of experience form bigger companies.

taby said:

Credibility is only needed for wrong answers.

When you're the person in charge of technology you need some way to communicate to the person holding the purse strings that you know what you are doing, without them understanding all the details of what you do.

10x Faster Performance for VR: www.ultraengine.com

dpadam450 said:
Which one of these functions gets evaluated first?
Foo(funcA(), funcB(), funC())
I explained that I could write an interpretation of a compiler with a rule that picks any one that I want. Then he was like “which compiler do you use". Then told him why would I myself, or anyone else write or allow code in practice this way.

Ever since I learned that C++ always evaluates expressions like that left to right, I have gotten in the habit of using it:

if (o != NULL && o->whatever == true)...

10x Faster Performance for VR: www.ultraengine.com

stewart.harbin said:
it also takes time and years to build such a resume to comply with the needs of experience

Yes. That is the primary way to be so good they can't ignore you. Years of experience. There's no magic shortcut.

-- Tom Sloper -- sloperama.com

perry_blueberry said:

I shouldn't try to second-guess what they are looking for, sure. It's just that I personally do not find a 2D platform, or similar, made in a game engine particularly impressive from a software engineering standpoint.

You're not being hired to impress, you're being hired to do work.

If I'm hiring a gameplay software engineer, I don't care much if they've written a raytracer in Lisp or invented a new cryptographic algorithm. I don't even care much if they had a small part in the world's most popular game. I want to know whether they can do what we'll be paying them to do each day. That usually means I want to see a breadth of experience and competence in exactly the areas I'm hiring for. It really is as simple as that.

I'm not sure why you keep repeating that I'm looking for some quick-fix or simple way to trick my way into gamedev.

Because that's how it comes across. ? It's implicit from the combination of 2 things:

  1. the thread title ("so good they can't ignore you") and the focus on something “impressive”
  2. the repeated reference to how you don't have much time and that some of the suggestions sound like “quite a bit of extra work”

It's very natural to want to get the most bang for your buck and to optimize your time. Unfortunately, what I'm telling you is that we tend to look for breadth of competence, which is intrinsically a slow process.

I already have most of the skills required for a software engineering position at a game company since I have a very broad experience as a software engineer outside of games. Those are, to me, the basic facts.

Actually, I'd disagree. There are thousands of experienced software engineers out there. However, their day job often has very little resemblance to what a game developer does. I've been on both sides of the fence and I know that most of the developers I worked with in non-games applications would not be able to be productive in a games job. It's not necessarily because they are worse programmers but because they lack the core skills. And perhaps that's what you're underestimating - being a game programmer is not just about being a programmer and revising some game stuff - there are a lot of areas that you need to have a decent grasp of in order to be productive. That's why making a full game is a positive to someone considering hiring you - they know you can walk the walk.

What I was looking for originally was more to see if there was a particular type of project that would give a lot of credibility

…a game. ?

, and in what medium to post it so that a hiring manager would actually take a look at it.

Anywhere. That's more of a “how do I present my portfolio” question. For most people, code on Github with a decent Readme and a screenshot or two will be sufficient.

Kylotan said:
I already have most of the skills required for a software engineering position at a game company since I have a very broad experience as a software engineer outside of games. Those are, to me, the basic facts.

Your ability to write code is a minor thing. It's just assumed you should be able to do this.

I usually ask people to explain what the elements of a 4x4 matrix mean, and how to interpolate smoothly between two arbitrary rotations. That does a good job of identifying who actually has 3D spatial skills and experience. If they don't know what Gimbal lock is, I really don't care how many databases they queried or whatever other boring things they did.

10x Faster Performance for VR: www.ultraengine.com

This topic is closed to new replies.

Advertisement