This Software Engineer will be involved in the full systems life cycle and responsible for designing, coding, testing, implementing and supporting application software and systems. Software Engineers work closely with Business Analysts and Group Product Managers to understand the business requirements that drive the analysis and physical design of technical solutions. Software engineers may be assigned to either development or support functions. Development involves writing new programs whereas support involves upgrades, maintenance or issue resolution to existing applications and systems.
- Analyzes end-user needs and designs, develops and tests software to satisfy demand. Performs build versus buy analysis for business demand.
- Partners with business analysts to translate business requirements to application requirements. May evaluate existing applications and platforms and provides recommendations for improving application performance by conducting gap analysis, identifying feasible alternative solutions, and assisting in the scope of modifications.
- Creates process flowcharts, diagrams, and other related documentation; Develops technical workflows using different modeling techniques.
- Collaborates with enterprise architects and infrastructure to integrate applications and hardware.
- Ensures that the design and application implementation meets security and QA standards. Suggests fixes to issues by doing a thorough analysis of root cause and impact of the defect.
- Analyzes application reports to ensure that the functionality and performance meets all product and service level requirements.
- Codes applications using a disciplined development process. Works on coding tasks that require skills in multiple technical environments and knowledge of a specific business area.
- Provides daily support with resolution of escalated tickets. Applies operation break fixes and other proactive maintenance activities until permanent solutions can be implemented. Supports and participates in the software deployment process for new modules, upgrades and fixes to the production environment.
- Documents functions and changes to new or modified modules and test activities/results.
- Makes modules production-ready by moving them to libraries, completing forms, following procedures, completing version control documents, etc.
Required Education and Experience:
- Bachelor's degree in Engineering, Computer Science, Mathematics, Information Technology, Computer Engineering or Information Sciences preferred, or relevant experience.
- Typically requires 3 or more years of work experience in web and software development.
- Relevant certification is preferred such as Amazon Web Services (AWS)
Key Skills and Knowledge:
- Experience with translating business requirements into system functional and non-functional requirements.
- Experience with business and system process flow techniques using UML (e.g. Use Case Diagrams, Activity Diagrams, Entity Relationship Diagrams).
- Experience with specific phases of the software development life cycle, especially Agile, Iterative, and Waterfall.
- Ability to create both technical and non-technical end-user documentation.
- Basic knowledge of the practical application of role specific engineering science and technology including applying principles, techniques, procedures, and equipment to the design and production of various goods and services.
- Ability to work independently and multi-task effectively.
- Demonstrated understanding of projects from the perspective of both client and business.
- Flexible and willing to accept a change in priorities as necessary.
- Strong attention to details.
- Excellent problem solving skills.
- Ability to learn new business and technical concepts.
- Able to write software code in both web and client/server environments using the following examples:
- Software Languages: Java, .Net, C, C++, HTML, XML, SQL, VBA, Node.js, Swift
- Operating Systems: Windows, Linux
- Relational Databases: SQL Server, Oracle, Aurora, Postgres, MongoDB
- Experience designing graphical user interfaces using graphical design tools (e.g. Photoshop, MS Visio)
- Experience with mobile app development (iOS, Android)
- Alexa skill development