We are looking for a Software Engineer with strong programming fundamentals and excellent problem-solving skills. The ideal candidate should be proficient in C# as the primary programming language, with good knowledge of C++, data structures, algorithms, and object-oriented design.
Key Responsibilities
- Design, develop, test, and maintain high-quality software using C#/.NET.
- Develop efficient, scalable, and reliable solutions using robust data structures and algorithms fundamentals.
- Apply object-oriented design and programming principles to build maintainable software.
- Work on multithreaded and concurrent applications.
- Debug complex software issues and perform root-cause analysis.
- Identify and resolve application performance and scalability bottlenecks.
- Collaborate with cross-functional engineering teams in an Agile development environment.
- Participate in design discussions, code reviews, testing,
and continuous improvement initiatives.
Qualifications & Requirements
- Bachelors degree in Computer Science, Engineering, or a related technical field.
- 3+ years of software development experience.
- Strong hands-on coding skills in C# – primary requirement.
- Good programming experience in C++.
- Strong understanding of:
- Data structures and algorithms
- Object-oriented design and programming
- .NET
- Multithreading and concurrency
- Good knowledge of:
- Windows and Linux operating systems
- Networking concepts
- Distributed systems
- Experience with debugging, troubleshooting, and performance optimization.
- Strong analytical and problem-solving abilities.
- Good written and verbal communication skills.
- Ability to work effectively in an Agile development environment.