The Sr. Software Engineer is responsible for the design, development, documentation, testing and debugging of new and existing software system or application that are complex in nature. This role participates in the implementation of new systems and the integration of systems all while adhering to department standards, guidelines, and system development methodologies. This role works towards implementing enhancements into a product supporting the overall product roadmap. This role may work with other engineers to integrate performance requirements or another development team.
Job Responsibilities:
Software Engineering
Develops code to support the implementation of new systems including the integration of the new systems
Participates in the development of test cases and test plans, works in partnership with QE to build out automated testing
Recommend changes to improve products or processes
Participates in implementing enhancements into a Product with an outcome of delivering capabilities to support the Product needs and roadmap
Creates the unit and system test environments and conducts unit and system tests for new or modified programs and job streams.
Adheres to department standards, guidelines and systems development methodologies for all assigned tasks
Oversees preparation and maintenance of program and system documentation using established department artifact standards and methodologies
Perform code walk-throughs to ensure code correctness
Conduct design reviews to confirm that software architecture is sound
Assists with status reports, problem logs (issue logs) and service request status on all tasks in the Product team
Leadership & Coaching
Provides work direction and coaching to junior engineers
Recommends and provides input to complex system activities that contribute to organizational objectives
Education/Certification:
Bachelor's degree in computer science or related discipline or relevant IT experience
Experience:
6-10 years' experience in the following:
Working RPG/IV and ILE programming in an iSeries/System i/IBM i environment.
CL Language
MS SQL
JAVA - Used for interfaces with Retalix and to access libraries such as "Portable Office Interface" (POI) to create spreadsheets
IBM Rational Developer for i(Eclipse) used to develop RPG programs and related objects
Interfaces - Interface with 3rd party software products generating data files including EDI processing
APIs- Develop service programs, modules, bound prototype calls
Knowledge/Skills/Abilities:
Knowledge of assigned specific software system or application
Knowledge in JAVA, JSON, MAVEN, XML, SQL, RESTful API's (3)
Knowledge of development practices - security, coding, testing, documentation
Ability to work independently and break down and organize assigned work into workable tasks and delegate task
Ability to apply logical thought process
Ability to learn new systems, concepts and procedures
Communication skills written and verbal
Advanced Customer Focus and Interpersonal Skills
Ability to collaborate across teams and work in a remote environment
Proficient with Material UI (3), development tools such as Babel, Webpack, NPM and Git
Proficient with creation of reusable React components
Good judgment is required for this position as there may be times when direct supervision may not be immediately available
All qualified applicants will receive consideration for employment without regard to race, color, age, religion, sex, sexual orientation, gender identity or expression, national origin, disability, or protected veteran status. UNFI is an Equal Opportunity employer committed to creating an inclusive and respectful environment for all. - M/F/Veteran/Disability. VEVRAA Federal Contractor.