Your main role will be as a software engineer, bringing a feature from conception through to delivery
- Be the “technical consultant” for the feature
- Collaborate with the designer on the feature
- Explain technical constraints, explore edge cases
- Suggest improvements and workarounds
- Be the “software architect” for the feature
- Design the technical implementation of the feature
- Plan for how your feature will modify existing systems, or interface with other existing systems
- Plan for possible future extensions to your feature
- Be the “project manager” for the feature
- Delegate to other engineers and manage their progress on your feature
- Report upwards if your feature is delayed, and give daily status updates as needed
- Be the “QA/release engineer” for the feature
- Coordinate Design and Feature QA with design and product
- Address and fix bugs as they arise
- If necessary, devise a test/regression plan that includes all the behaviors and test cases expected
- If necessary, devise a deployment plan that may involve e.g. feature flagging, scripts that need to be run
You’ll also be expected to perform other duties, as and when necessary
- Help other engineers with their features, whether by building or testing them
- Participate in manual regression testing with the rest of the engineering team
- Contribute to and write documentation for the team