Execute full software development life cycle (SDLC)Develop flowcharts, layouts and documentation to identify requirements and solutionsWrite well-designed, testable codeProduce specifications and determine operational feasibilityIntegrate software components into a fully functional software systemDevelop software verification plans and quality assurance proceduresDocument and maintain software functionalityTroubleshoot, debug and upgrade existing systemsDeploy programs and evaluate user feedbackComply with project plans and industry standardsEnsure software is updated with latest features