4 Answers
4

A tools programming position is generally about being a force-multiplier for the rest of the development team. The exact nature of the work will of course vary widely from studio-to-studio, depending on the individualized needs of that company.

Primarily, however, you would be tasked with creating software that was going to be consumed by other developers within the studio, and the role of that software might be to:

author assets or content (levels, models, items, spells, whatever) for the game directly

act as a bridge between your studio's game or build pipeline and another content creation tools (for example, exporters for Maya).

be part of automated build processes that transform the source game assets into their final compiled forms for distribution with the retail game

assist developers in day-to-day boilerplate tasks, such as syncing to particular builds of the game or transitioning between branches

It's also important to note that in some studios this is considered an extremely entry-level position, because it ends up involving mostly thoughtless grunt work (moving buttons around on a UI for a designer, perhaps). In others, it's exactly the opposite, because it involves the care and feeding of mission-critical build and deployment pipelines for live shipping MMOs.

The range of responsibility and expectation is large (although really, this is true of almost any position in the industry), but the overall goal is usually the same: keep on the lookout for any bottlenecks in the organization, and then buy, build or retrain until you have optimized that bottleneck.

A tools programmer is a specialized role, one that is becoming essential to production. You are essentially someone who looks at the pipeline used to create a game and find ways to optimise the process.

As a tools programmer for several triple-A games, I have done:

Create new editors, e.g. level, graph, and sound, for designers to use.

Extend, fix bugs, or add features to existing editors, e.g. in Unreal 3 and 4.

Sometimes you need to create certain functionalities which will help yourself more in your game production pipeline . By 'tool' it means something that can help speed your development process.

For example Flash basically does not provide with perfect pixel collision detection. So you could either write one yourself or try googling whether some guy has done it earlier and put it up as opensource code. A collection of source codes in properly arranged folders will folders will benefit you in the long run. Something like your own library.

Scenario 2 Unity

Likewise you can use unityscript(unity version of javascript) or c# to write components, small small tools for example B Splines, Bezier curves. Things that does not come as default in unity. Either write one yourself or get one from out there in the internet. They come in free/paid versions.