Collaborating with management, departments and customers to identify end-user requirements and specifications
Designing algorithms and flowcharts to create new software programs and systems
Producing efficient and elegant code based on requirements
Testing and deploying programs and applications