The Software Engineer writes and maintains 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. Plays a role in Agile planning, providing advice and guidance, and monitoring emerging trends.
Works with Product Management / Business Partners 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.
Provides ongoing support, monitoring, and maintenance of deployed products.
Actively works with less experienced software engineers providing technical guidance and oversight.
Actively participates in the engineering community, staying up to date on new software technologies and best practices and shares insights with others in the organization.
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.
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.
Bachelor’s degree in Computer Science or related field or equivalent combination of industry related professional experience and education
2 - 4 years of experience
Strong working experience in developing enterprise web applications using Java technologies (J2EE, Servlets, JSP with custom tags)
Working experience with appropriate database technologies (Oracle, MySQL)
Working experience in design, development, and implementation of highly scalable, high-volume software systems and components, client-facing web applications, and major Internet-oriented applications and systems
Working experience realizing applications from conception and design, to implementation and support
Working experience with application lifecycle methodologies (e.g. agile, iterative)
Working experience in analysis, design and programming