Design efficient, fast, scalable, and resilient software solutions following established architectural goals and product objectives
Perform bug-fixes/enhancements and production support to existing applications
Work with Agile software lifecycle methodologies including daily scrums, collaboration, sprint reviews and code demonstrations
Collaborate extensively through the full product lifecycle with product management, user experience management, product marketing, sales, support, professional services, partners and customers
Break down complex requirements into independent coding tasks and strategies
Apply advanced design patterns and technologies to develop high quality, scalable, and maintainable code using test driven development
Research and integrate best of breed technologies / frameworks / libraries , contributing back to open-source efforts where possible
Create unit, integration, and performance tests to fully test and regress software