Perform bug-fixes/enhancements and production support to existing applications, including debugging and troubleshooting client reported issues
Design efficient, fast, scalable, and resilient software solutions following established architectural goals and product objectives
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
Research and integrate best of breed technologies / frameworks / libraries , contributing back to open-source efforts where possible
Create unit and integration tests to fully test and regress software.