Designs, develops, tests, debugs, and implements software applications in accordance with specifications and business needs | Develops program logic for new applications or analyzes and modifies logic in existing applications | Analyzes requirements, tests and integrates application components | Ensures that application improvements are successfully implemented | Typically works on a defined project and may work in a highly efficient ("Agile") development environment