A game programmer can be an entry level job, but not necessarily. You can have everything from junior to senior and lead gameplay programmers. Sometimes you also have scripters who work in just the engine scripting language, and those are sometimes calls programmers... and sometimes not.
A general description is that a gameplay programmer builds all the gameplay systems and behaviors for a game on top of an existing engine and various existing API's. These systems/behaviors are things like AI and scripts, UI, tools, some graphical work, game setup and game flow, debug, test, and optimize game code, and many other things. It also includes working closely with designers and artists to implement their vision by modifying existing code or adding new game objects or systems, and working with engine programmers to design and integrate new features.
Differences between an engine and a game programmer: The game programmer does the above things and is more of a generalist, someone who is required to do anything the game needs, but typically works with an existing engine that provides things like a renderer, physics, tools and data pipeline, audio system, and other basic things like a full math library, file IO, and so on. So unless the gameplay engineer is the only programmer and is doing everything for the game, the normal situation is that he/she will not have written any of the low level stuff that he relies on to make the game work... and also normally he/she doesnt have experience writing those systems.
An engine programmer is responsible for all or some of the low level stuff mentioned above, and as such needs deep knowledge and expertise in such areas. So, a senior gameplay programmer might not know how to write a specific system, but a senior graphics programmer needs to know how the hardware works, how the graphics pipeline works, how to write shaders, particle systems, post-effects, and all those sorts of things. The engine programmer also usually has to have a very strong understanding of math, many different engine architecture techniques, and will be required to optimize and debug things to the lowest levels of the engine on multiple hardware platforms.
So, while a gameplay programmer has a wide area that he works in, it usually just requires a good understanding of the language, some basic math, and good problem solving skills. An engine programmer needs all that, but also deep knowledge of math and one or more areas like graphics, physics, audio, AI, tools, general architecture, etc. One area, however, where engine programmers do have it easier is that engines are usually separated into units that are mostly isolated from each other, and also usually cleanly coded and carefully maintained. On the other hand, game code is usually much more of a mess, with lots of dependencies and with many programmers coming and going, and not always fully understanding the codebase when they add or change stuff. So a good skill for a gameplay programmer is being able to look at lots of messy, convoluted code, and be able to work within it and find ways to make it cleaner and more maintainable.
Hope that helps.