What exactly would a gameplay programmer do within a firm? As I look at job postings to get a better idea it seems that they're largely responsible for laying the foundation code for the game. That is to say that they're in charge of making the inventory and weapons systems work. Then someone else would step in and flush it out with all the weapons the game is supposed to have and a third person would step in to make it look pretty. Naturally the programmer would have to maintain, update, and fix these systems as they grew, but most of the work is in lying the foundation upon which everything else is built. Is this a relatively decent understanding of the overarching job role or am I fiercely underestimating it?
Questions about gameplay programming
Gameplay programmers are mainly responsible for systems that the player will end up interacting with in some way. This can range from something as simple as a radial ui to a full combat system. Generally you will get assigned to a specific piece of gameplay though depending on company size ofc. My last project I handled all of the parkour gameplay elements at my work, this time Im taking care of a main character & maintaining those same parkour systems I wrote.
I wouldnt say your underestimasting the role but it can be difficult. Most of the time you will be tweaking & reworking things you've written to fit into an advancing specification. Nearly every mechanic evolves over a games development so your code needs to be robust enough to be able to be change to fit the new needs.
While those are the tasks, there are different levels of the position.
A junior GPE will spend their days filling in scripts and making small adjustments within systems and frameworks that already exist. They are given specific tasks and often shown exactly where to change the code. They will likely be given additional programming tasks like writing simple external tools.
A senior GPE will spend their days engineering the broad systems, creating overarching frameworks, and building systems that can interoperate efficiently. They are involved in negotiating details of the overarching design and responsible for the overall behavior, and write their own task details.
A mid-career GPE will be somewhere between the two. They may be inexperienced and mostly copy existing gameplay elements to create something slightly different. They may be more experienced and create more complex gameplay elements. They may be approaching the senior level and write systems of gameplay elements and complex gameplay behavior. They'll also vary on the level of supervision and task guidance based on experience and familiarity with the systems.
GPE jobs are often generalists, they end up touching a lot of systems and consequently need a broad (but perhaps shallow) understanding of software systems before they enter as a junior developer.