Effingham, Illinois Job ID
The Senior Software Engineer defines, develops, tests, analyzes, and maintains software applications. This includes being involved in understanding the business impact of the necessary work and creating solutions to realize that impact by leading research, design, documentation, and modification of software specifications throughout the development life cycle.
The focus of this role is backend development for an internal Platform Product that provides services to internal and external customers. There is a heavy focus on APIs, eventing and messaging, and third-party integrationsEssential Functions
To perform this job successfully, an employee must be able to perform each essential function satisfactorily, with or without reasonable accommodation. To request a reasonable accommodation, notify Human Resources or the manager who oversees the position.
- Collaborate with customers, stakeholders, developers and other team members in the conceptualization and development of new or existing software applications.
- Define, develop, and document software objectives, deliverables, and specifications in collaboration with internal users and departments.
- Research, identify, analyze, and fulfill requirements of all internal and external users and stakeholders.
- Identify need for and create software to enhance functionality and performance of company applications.
- Perform software testing on new and existing programs for the purposes of correcting errors and general debugging.
- Ensure software performs optimally through active monitoring for performance and usage.
- Participate in and may lead the definition of software development project plans, including scoping, scheduling, and implementation.
- Deploy software through environments to production upon completion of development, testing, and documentation.
- Conduct code reviews based on team’s defined best practices
- Mentor software peers for engineering best practices and technical excellence.
- Provide and may lead product and software support for bugs, issues, and escalated incident tickets from end users to resolve application and software issues.
- Partner with other Engineers in resolving problems with software products or company software systems.
- Responsible for complex software aspects of your team or technical domain as a subject matter expert or owner of a service or functionality.
- Recommends new technologies, approaches, and best practices for their team or product wide adoption.
In addition to the essential functions listed above, the incumbent may perform the following additional functions.
- Participate in regulatory and compliance activities.
- Bachelor's in Computer Science, Information Systems, a related field, or equivalent work experience
- 5+ years of software development experience required, with experience in all aspects of software development and product life cycles.
- Demonstrated experience within numerous modern platforms, frameworks, and languages
- Knowledge of all aspects of application development and product life cycles, including agile approaches
- Excellent understanding of software development and engineering best practices
- Fluency in object-oriented programming and design
- Extensive database and operating systems experience
- Ability to conduct research into software-related issues and products
- Ability to develop and maintain software products written in different languages and platforms
- Knowledge of programming for different delivery approaches such as on-premises, web, cloud, and mobile
- Familiarity with product planning, business cases, and return on investment concepts
- Office environment – either in Patterson facility or at home/remote location
- Travel to corporate sites is periodically required(Quarterly or so)
- Periodic on call rotations and available outside of normal business hours on evenings and weekends during critical production release or issue escalation periods