Job Duties
1. Develops information systems by designing, developing, and installing software solutions.
2. Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
3. Develops software solutions by studying information needs, conferring with users, and studying systems flow, data usage, and work processes.
4. Investigates problem areas.
5. Follows the software development lifecycle.
6. Documents and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
7. Prepares and installs solutions by determining and designing system specifications, standards, and programming.
8. Improves operations by conducting systems analysis and recommending changes in policies and procedures.
9. Obtains and licenses software by obtaining required information from vendors, recommending purchases, and testing and approving products.
10. Protects operations by keeping information confidential.
11. Provides information by collecting, analyzing, and summarizing development and service issues.
12. Accomplishes engineering and organization mission by completing related results as needed.
13. Execute full software development life cycle (SDLC)
14. Develop flowcharts, layouts and documentation to identify requirements and solutions
15. Write well-designed, testable code
16. Produce specifications and determine operational feasibility
17. Integrate software components into a fully functional software system
18. Develop software verification plans and quality assurance procedures
19. Document and maintain software functionality
20. Troubleshoot, debug and upgrade existing systems
21. Deploy programs and evaluate user feedback
22. Comply with project plans and industry standards
23. Ensure software is updated with latest features
Education Requirement
1. A bachelor's degree, usually in computer science, computer systems engineering, software engineering or mathematics or completion of a college program in computer science is usually required.
2. A master's or doctoral degree in a related discipline may be required.
3. Licensing by a provincial or territorial association of professional engineers is required to approve engineering drawings and reports and to practise as a Professional Engineer (P.Eng.).
4. Engineers are eligible for registration following graduation from an accredited educational program, three or four years of supervised work experience in engineering, and passing a professional practice examination.
5. Experience as a computer programmer is usually required.