The thing is, most games aren’t developed like other types of software; most software is built to a fairly tight specification, as it sets out to fulfil a set of needs or requirements. Those needs and requirements might change, but you always know what you are building and what the intended outcome is. Generally speaking, generic software comprises of the software itself and the data it manipulates.
Games are weird pieces of software. In a large studio environment when you’re starting to develop a new game from scratch, you only have a very vague idea of what the end product is even going to be; over the course of a two-to-three year development cycle, it’s not uncommon for the pieces to finally come together and form a cohesive product in the last 6 or so months of development - I’ve seen this first hand working for people like Microsoft! Games are generally also different in that they contain colossal amounts of content that dictate how they look, play and ultimately feel. This is why big games have teams of specialist designers (design departments on some games can have as many as 40 people), often with narrow foci (e.g. economy, quests, weapons), and unlike other pieces of software, the design is dictated more as an art-form, than dictated by engineering - there can often be several different and potentially conflicting prototypes for different game mechanics in development at the same time, many of which may not make the cut (been there too). New formed by veterans of other industries often naively try to develop games like normal software, the result is usually much less than stellar, if it succeeds at all. A key habit of successful game development is iterating hard, and iterating quickly and early, and not being afraid to throw away everything if you find it isn’t quite working.
Games are also highly interdisciplinary. That content is produced by artists, animators, lighters, cinematic artists, audio specialists and more - these are all largely non-technical people that you need to cooperate with extensively on a daily basis - this means you need to understand what they do, how they do it, and all the associated lingo that comes with the territory. You don’t need to be able to do their job, but you sure as heck need to know what they are doing and why.
The nature of games being different like this tends to mean that developers need different habits - it takes a bit of experience to build something when you’re not sure what it quite is yet and only have vague notions to work with. You can be an excellent programmer and a superb problem solver, but often look for ancillary skills and practical experience. Writing an AI framework for a new game whose needs can change weekly requires experience with game AI and this is unavoidable - and part of why want people with 1-3 shipped games for non-junior positions. There’s a different type of creative thinking required even in the most technical side of games programming - general purpose software has very defined problems to solve, whereas the problem space for games sometimes requires not just solving the problem, but inventing the problem in the first place. I recall working on one game where we were required to make a horse as realistic and interactive as possible - in order to do so we created a new technique for rendering horse hair up close - allowing said hair to be brushed in given directions. The results were pretty glorious (and ran on the 360 to boot), but it’s the result of sitting two engineers and a designer in a corner for a few weeks and essentially telling them to ‘make something awesome’. You don’t do that often in regular software
Now, there are roles for non-juniors that are more engineering focused and where people with pure coding but no game specific experience can fit in. This is predominantly in tools or core systems - stuff like localisation systems, serialisation (savey-loadey) and all that jazz fit in.
TL;DRThis was a long-winded post, but I’m hoping you can see where I’m coming from. expect ‘1-3 games’ because they want people who know specifically how to make games. Programming skill is necessary, but just being able to program well is seldom sufficient in a creative environment generating unique products.
As an aside, I’ve noticed that people who are not game programmers (particularly those who work in scientific backgrounds) have a knack for horrible programming practices and writing nasty, sometimes fairly illegible code…