- Analyzing the business requirements and making architectural decisions to build new components or incorporating them into existing systems
- Designing, implementing and documenting the changes based on the business requirements
- Unit / system / regression testing those requirements. Evaluating the performance impact of the changes
- Reviewing code produced by others
- Working with the business representatives during the UAT stage
- Supporting the implementation of each new code release
- Working with testing team to ensure comprehensive coverage
- Troubleshooting production issues as second line of support for global users.
- Bachelors Degree in Computer Science or equivalent
- 3+ years commercial experience as a software developer
- 3+ years working with C++ and its modern concepts
- Solid STL skills
- Development of large distributed software systems.
- Proven track record of multi-threaded programming and strong understanding of concepts behind it
- Good object oriented programming/design skills
- Experience of networking development (TCP, sockets etc)
- Experience with server-side programming and client side programming on Windows systems. Relational databases and SQL.
- Confident, enthusiastic and proactive.
- Able to demonstrate his or her self-discipline and the will to learn and grow within the team.
- Able to work in a global team operating in a dynamic environment.
- Able to take ownership of tasks and drive them to a successful conclusion.
- A self starter, hardworking and responsible.