Developing the company’s strategy for using technological resources
Ensuring technologies are used efficiently, profitably and securely
Evaluating and implementing new systems and infrastructure
Software development, modeling, simulation, testing, and quality assurance
Object-oriented design
Perform maintenance and software integrations for existing systems
Developing and executing project plans
Creating technical specifications
Identify and assess new technologies prior to implementation
Write and test code, refining and rewriting it as necessary and communicate with any programmers involved in the project
Directing software programming initiatives
Managing the software development lifecycle
Monitoring system performance