- Will be responsible for Software design, Specification, Requirements analysis, Development and Maintenance.
- Actual core implementation (programming which is often the most important portion of software development).
- Other required implementations (e.g. installation, configuration, customization, integration, data migration).
- Will participation in software product definition, including business case or gap analysis.
- Feasibility and cost–benefit analysis, including the choice of application architecture and framework, leading to the budget and schedule for the project.
- Authoring of documentation needed by users and implementation partners etc.
- Testing, including defining/supporting acceptance testing and gathering feedback from pre-release testers.
- Participation in software release and post-release activities, including support for product launch evangelism (E.g. Developing demonstrations and/or samples) and competitive analysis for subsequent product build/release cycles.
- Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
- Document and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
- Prepare and installs solutions by determining and designing system specifications, standards, and programming.
- Improve operations by conducting systems analysis. Recommending changes in policies and procedures.
- Obtain and licenses software by obtaining required information from vendors. Recommending purchases. Testing and approving products.
- Update job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment. Participating in educational opportunities. Reading professional publications. Maintaining personal networks. Participating in professional organizations.
- Protect operations by keeping information confidential.
- Provide information by collecting, analyzing, and summarizing development and service issues. Accomplish engineering and organization mission by completing related results as needed.
- Develop software solutions by studying information needs. Conferring with users. Studying systems flow, data usage, and work processes. Investigating problem areas. Following the software development life cycle.
- Analyzing user requirements, Researching, designing and writing new software programs, Testing new programs and fault finding, Creating technical specifications and test plans.
- Developing existing programs by analyzing and identifying areas for modification, Integrating existing software products and getting incompatible platforms to work together.
- Continually updating technical knowledge and skills by attending in-house and/or external courses, reading manuals and accessing new applications.