- Have very good C++ programming skills
- Have good knowledge of Object Oriented Analysis and Design
- Understand TDD practices
- Have knowledge of STL, boost libraries and design patterns
- Understand relational databases
- Are advanced in Linux or Windows OS
- Have analytical and problem solving skills
- Java programming skills
- Experience with Microsoft Visual Studio
- Knowledge of scripting languages (Python, bash)
- Experience in Agile Development
- Knowledge of network protocols
- Creating of new software for business applications
- Developing of software technical documentation
- Working with experienced technical staff
- Designing and implementing optimization programs to resolve problems