1.Designing overall system architecture including the internal architecture of a component, as well as communication protocols and interfaces to other components
2.Researches and understands the marketing requirements for a product, including target environment, performance criteria and competitive issues;Researches new technology or development tools to remain abreast of current technology;
3.Helping and training fellow developers to work with new product components / modules, to follow company coding practices and architectural guidelines
4.Conducting unit testing and integration testing
5.Performing code and design reviews
6.Performing bug verification, release testing and support for assigned products
7.Being responsible for product’s usability by designing user interfaces, creating use cases, and implementing prototypes and conducting usability tests
8. Preparing technical documentation of product, creating user interface guidelines and conducting reviews
Decision making and influence
Coaches and mentors software engineers
Works closely with project management and software developers to formulate the high-level technical solution