1- Play a leading role in core systems architecture
2- Participate in design and implementation of new applications and features
3- Troubleshoot and resolve application issues and identify deficiencies
4- Understand and apply the principles of software engineering
5- Elicit requirements from end users and stakeholders as needed
6- Work with the QA analyst to construct system and integration test plans
7- Generate and implement ideas to continuously improve team productivity.
8- Asses and communicate the impact of changes to stakeholders
9- Solve bigger problems of system design, performance, scalability.
10- Programming Languages: .Net, C#, C++.
11- Ability to write elegant high performance code etc.