Develop flowcharts, layouts and documentation to identify requirements and solutions.
Write well-designed, testable code.
Produce specifications and determine operational feasibility.
Integrate software components into a fully functional software system
Develop software verification plans and quality assurance procedures
Document and maintain software functionality
Troubleshoot, debug and upgrade existing systems
Deploy programs and evaluate user feedback
Comply with project plans and industry standards
Ensure software is updated with latest features.