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. The Software Engineer plays a role in Agile planning, providing advice and guidance, and monitoring emerging test trends.
- 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.
- Provides ongoing support, monitoring, and maintenance of deployed products.
- 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.
- 1 – 2 years of working experience
- Bachelor’s degree in Computer Science or related field or equivalent combination of industry related professional experience and education
- 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 in coding within multiple technology stacks (server, application, database using languages like Java, Ruby or Scala)
- Working experience with application lifecycle methodologies (e.g. agile, iterative)
- Working experience in analysis, design and programming
- Working experience with appropriate databasetechnology