Work with product team & senior management to prioritize development effort that is aligned with the company’s strategic direction.
Collaborate with product managers to develop use cases (or user stories) and specifications that describe the behavior & implementation of the company’s products. Also, ensuring in the process, that technical challenges are taken into consideration when choosing alternatives.
Provide feedback on prospective product or feature to indicate technical viability and rough time estimates.
Review product specifications produced by product team to ensure enough detail is specified so that development/testing team would know how the product should behave and look.
Work closely with product and development team to ensure we minimize time to delivery while maintaining high quality.
Reduce / divide scope of larger projects to smaller complementary milestones; so team can focus on delivering a working MVP in a shorter time frame and iterate from there.
Monitor changing requirements so projects are completed while not introducing excessive scope creep.
Consistently drive rigorous product/feature release cycle.
Ensure that company's technology standards and best practices are met and maintained.
Manage code bases.
Design software architecture for complex systems as well as review other developer’s proposed architectural designs. Review new code being introduced by developers to ensure they meet the company’s standards and don’t introduce any obvious issues.
Ensure all new products and changes to existing products have been thoroughly tested to make sure they don’t introduce any major issues.
Monitor new technologies and how they can be used to improve Company’s product offerings.
Maintain up-to-date knowledge of technology standards, industry trends, emerging technologies, and software development best practices.
Evaluate and identify appropriate technology platforms for delivering the company’s services.