As a Senior Software Engineer, you will be responsible for writing and maintaining code within applications and systems to implement capabilities and features, improve performance and maintainability, while reducing technical debt in alignment with product and technology roadmaps. You will play a role in Agile planning, providing advice and guidance, and monitoring emerging trends. Additional roles & responsibilities will include, but not necessarily be limited to the following:
- Design, code, test, correct and document programs and scripts from agreed specifications, and subsequent iterations, using agreed standards and tools, to achieve a well-engineered result.
- Take part in reviews of own work and leads reviews of colleagues' work.
- Develop effective implementation and procurement strategies, consistent with business needs.
- Ensure adherence to relevant technical strategies, policies, standards and practices.
- Establish standards and procedures across the technology service lifecycle (including the development lifecycle) in the areas of systems integration and testing and ensures that practitioners adhere to them.
- Manage application enhancements to improve business performance to them.
- Works with Product Management to understand the challenges that customers and end users face in their day-to-day work and partner with them to design viable solutions.
- Recommends viable solutions to processes, technology, and interfaces that improve the effectiveness of the team and reduce technical debt.
- Foresees capacity requirements for component usage and identifies limitations.
- Provides input into story sizing, backlog grooming, and release planning.
- Contributes to product and solution designs to address critical issues and complex problems.
- Builds software applications across multiple platforms in response to the needs of stakeholders.
- Understands technical architecture and writes software and automated tests that are aligned with agreed upon standards.
- Performs trouble-shooting efforts and investigations when necessary.
- Bachelor's degree in Computer Science or related field or equivalent combination of industry related professional experience and education
- Working experience in the design, development, and implementation of highly scalable, high-volume Java/Python based software systems and components, including client-facing web applications, and major Internet-oriented applications and systems
- Working experience realizing applications from conception and design, to implementation and support
- Previous experience developing in an Agile environment
- Experience with technologies including AWS, Docker, Jenkins, New Relic, Splunk, Artifactory would be a plus
- Experience in a DevOps environment would be a plus