After my third year at the Polytechnique de MontrĂ©al, I went for an internship at a gaming company. I’ve always liked video games but I wasn’t sure if I would really like working in the domain so an internship was the perfect solution.

As some of you may know, Gameloft is a rather big player in the cellphone games market and is known worldwide. It is also affiliated with the giant Ubisoft. That makes Gameloft a good entry point for real gaming development positions (programming cellphone games isn’t especially thrilling).

My tasks consisted of porting a version of a game that worked (and was released or approved for release) on a particular cellphone to another very similar cellphone. Most of the time, it was very boring and didn’t involve much thinking from me. I must say that I didn’t learn a lot in terms of programming knowledge. However, I did learn a lot about project and team management, bug reporting as well as versioning.

The hierarchy was just right at Gameloft, porters worked under a team lead who was assigned a producer who makes the final decisions regarding bugs and features (to let a bug in the game if it is not worth fixing for example). The management overhead was not excessive at all, we only had meetings when it was really needed and I was not constantly monitored while working.

They used a few tools that I now find necessary for the success of a project or organization. The first one is their in-house bug tracking application which I used daily and helped tracking the progress of my projects. The second one was the company wiki. I will talk more about it in a future post, but this tool, as hard as it may be to get it started (because it needs contributors) proved itself very useful for documentation.

The last major skill I learned (I should say perfected) was versioning (or source control). They used a quite standard branches-tags-trunk process (well more of a tags-trunk process in practice) which I was not familiar with before working there. This is an important skill that should be taught in schools. The only thing I remember from University regarding source control was using one trunk where everyone commits its work (they did suggest not to commit breaking changes though).

Working at Gameloft might not have been the most thrilling experience and I did not learn a lot from a technological point of view, but the knowledge I got about everything orbiting around the coding tasks was immense.