To say one is generically a developer for a project is to say he works on all facets of the product's development, including analysis, design, coding, testing, installation, and documentation. It also often means developing the graphics used in applications that have graphical UIs.
A project manager is responsible for overseeing a project as a whole. This typically involves acquiring the resources needed, allocating responsibilities, and tracking progress.
A software designer is responsible for taking the requirements, usually generated by a business analyst, and produce a general design for a system that would meet those requirements. A design usually includes a description of the major functional modules and how they will fulfill the requirements. It may also include mockups of end-user screens and even prototypes and demonstrations of some of the more unusual technologies and techniques involved to help show the feasibility and relative cost of further implementation.
A DB designer is responsible for designing the data structure for one or more databases -- usually relational DBs. This includes creating entity relationship diagrams (ERDs) and usually also includes creating physical designs for these data structures, down to the individual columns and table indices.
A coder is responsible for writing the code that drives a program, given a set of business requirements and at least superficial design specifications. The coding role does not typically require preparing formal documentation, but in-line commenting of code is a critical form of documentation for use in maintaining and extending a system.
A graphic artist is responsible for creating graphics, color and font schemes, and other design elements that make an otherwise functional user interface into one that is reasonably pleasant to end users. A graphic artist may also play a key role in designing the layout of screens and the flow from screen to screen, though this is generally the role of an analyst or software designer.
A technical documenter is responsible for producing documentation about a software system. These are typically either end-user documents for training and reference or technical documentation for use by those who develop and maintain the system.
All software must be tested. Most testing goes on during development, particularly by the coder. All systems also naturally go through acceptance testing by end users. But many systems also undergo a more formal process from "quality assurance" professionals. This testing usually takes place after larger units of work are done being developed and then as they are integrated to prove they work together properly.
Most programs require "maintenance" over time. This typically means adding new functionality, but it sometimes means fixing bugs that were not discovered or corrected during initial development. It also sometimes requires changing the software to keep up with the inevitable changes external systems which it interacts with undergo.
A content manager is responsible for finding, creating, and editing, and organizing information, usually text or media, to be used by one or more products.