Collect and document users' requirements and develop logical and physical specificationsResearch, evaluate and synthesize technical information to design, develop and test computer-based systems including mobile applicationsDevelop data, process and network models to optimize architecture and to evaluate the performance and reliability of designsPlan, design and coordinate the development, installation, integration and operation of computer-based systems including mobile applicationsAssess, test, troubleshoot, document, upgrade and develop maintenance procedures for operating systems, communications environments and applications softwareMay lead and coordinate teams of information systems professionals in the development of software and integrated information systems, process control software and other embedded software control systems.