Here’s a list of tips I can give you, based on what I learned the hard way in these last months:



– Keep applying –

Never stop applying for new jobs.

Even if you are being interviewed by other companies, and you have a good feeling about it.

The following happened to me twice:

– A company is interested

– They start the interview process

– First interview goes well

– I stop applying to other companies

– I wait one or two weeks for the second interview

– It doesn’t go well

– I wasted two weeks.

Always assume the worst.

Also, apply to as many companies as you can, and try to get as many offers as possible.

I failed to do this at the beginning, applying only to things I really liked. I assure you that finding yourself without a plan B when all of your best options fail is NOT a pleasant experience.

On top of this:

– Getting lots of interviews and tests will make you much better at it;

– Getting offers will make you more aware of the salary that you can ask for.

Both these skills will make it easier to get the right offer from the right company.



– Start early –

If you are still studying, I strongly suggest you start looking for opportunities.

I didn’t, and once I started looking for jobs, I found many great internships I could have applied to, in many major companies, like Sony.

Also, use your free time to create a good CV, and possibly an online portfolio. Most people will tell you that programmers don’t need it. Not true, especially in games development. It always helps to show cool stuff.



– One recruiter at most –

Recruiters rarely have different job offers than what you can find online by yourself.

So, my advice should be to avoid recruiters altogether. However, personally, I found that getting the help of a recruiter might help you to find companies faster, especially if you don’t have a very broad knowledge of the industry.

But my advice certainly is to limit the number of recruiters you work with. You’ll soon notice that they’ll all have the same jobs and companies to suggest you, over and over again, and by the end of your job hunt, you’ll probably be able to be a recruiter yourself.



– Tests and coding interviews –

In the first point, I stressed the importance of applying to as many companies as possible.

This has a nice side effect too: most programming tests and interviews have almost the same questions.

Be prepared to answer for the billionth time:

– What is a dot product

– What do you use it for

– How to check if two floats have the same sign

– What’s a linked list

– Use bit-wise operations to convert an RGBA to a ARGB

And I can’t count the number of times something as dumb as: “Comparing squared lengths is cheaper than comparing lengths” gave me a boost in an interview.

Of course, you also get advanced questions, but it’s always nice to start the interview in the right way.

Now, that’s not all: doing a lot of phone interviews and tests gives you a great idea of which skills are required in the field.

For example, in the field of graphics programming, I was surprised by how much importance is given to 3D math and GPGPU, compared to, for example, shaders programming. Once I realized that, I spent the last months studying these things, and during my last interviews I was incredibly more prepared compared to just a few months before.



– Don’t accept the first offer immediately –

I received several offers during the months, and now I’m glad I didn’t accept any of them.

For example, I received an offer for a Mobile Game Developer position from a game company in Barcelona. The location, bonuses and salary were very good compared to my expectations, but, as a Graphics Programmer, it wasn’t the type of job I was looking for.

The best advice I can give you for when this happens, is to ask the company for a certain amount of time to take a decision. In my case, I asked for a month, and in that month I managed to get offers that were more in line with my skills and career expectations.

And then I did the same with those other offers too, until I got one I was really interested into.

This process can be quite tiring, but it will give you time to reflect on your options, and you’ll always have a plan B if things don’t work out.



– LinkedIn –

I found LinkedIn to be both a good and a bad tool.

The good:

– The possibility to wrap all of your info in a single place: it will help you a lot when applying to jobs. Most jobs actually support the “Apply with LinkedIn” button, which removes a lot of the tediousness ofwriting applications.

– The chance of getting in contact with hiring managers: this is not always true, and it doesn’t always work. For example, it won’t work with big companies with a very rigid and structured hiring system (i.e. Ubisoft), and I found that, outside of the indie scene, most companies act that way. In all my countless applications, it only worked once. That got me hired, so I guess it’s still worth a shot.

The bad:

– You will be contacted by thousands of recruiters: all of them offering you the same things and making you lose a lot of time at the end of the day, as I’ve said in a previous point.

– The flood of nauseating motivational posts in the feed: Kidding here, but damn, that needs to stop.