Roles and Responsibilities:
- Develops information systems by designing, developing, and installing software solutions.
- Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
- Develops software solutions by studying information needs, conferring with users, and studying systems flow, data usage, and work processes.
- Investigates problem areas.
- Follows the software development lifecycle.
- Documents and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments, and clear code.
- Prepares and installs solutions by determining and designing system specifications, standards, and programming.
- Improves operations by conducting systems analysis and recommending changes in policies and procedures.
- Obtains and licenses software by obtaining required information from vendors, recommending purchases, and testing and approving products.
- Protects operations by keeping information confidential.
- Provides information by collecting, analyzing, and summarizing development and service issues.
- Accomplishes engineering and organization mission by completing related results as needed.
Software Engineer Qualifications / Skills:
- Analyzing information
- General programming skills
- Software design
- Software debugging
- Software documentation
- Software testing
- Problem-solving
- Teamwork
- Software development fundamentals
- Software development process
- Software requirements
Education, Experience, and Licensing Requirements:
- Bachelor’s and/or master’s degree in computer science, Computer Engineering, or related technical discipline or 3+ years of professional software development experience
- Proficiency in Java or C++, and object-oriented design skills
- Application architecture and design patterns
- Experience serving as technical lead throughout the full software development lifecycle, from conception, architecture definition, detailed design, scoping, planning, implementation, and testing to documentation, delivery, and maintenance is preferred.
- Knowledge of professional software engineering and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
- Experience in the development of distributed/scalable systems and high-volume transaction applications.