Role:
We are looking for Windows Developer with Windows Services / Applications Development background with good hands on experience on Windows Operating Systems, as a key contributor in developing software solutions that supports organization strategy and vision, ensuring alignment between the technical solutions and the business needs.
This person will play a role in every part of the software system development lifecycle, working with our team to produce high quality, high performing systems that meet our stakeholders needs.
Key responsibilities and duties include, but are not limited to:
- Able to complete a complex software lifecycle: scope, design, code, test and implement
- Develop technology components that would integrate with larger SDS (Software Defined Storage) platform and product
- Participate in requirement analysis and definition
- Follow established company software development guidelines and procedures
- Work with and contribute in a dynamic, distributed team environment
- Grow and mentor new team members
Essential skills and experience required:
- Bachelor/Masters degree in Computer Science Engineering or related Engineering
- 5 to 6 years’ of experience with emphasis in Microsoft Windows enterprise applications development
- Extensive experience with systems software development with Windows OS
- Good understanding of Windows internals
- Extensive working experience of programming in C++ on Windows environments
- Strong object-oriented programming skills using C++ in system level programming
- Knowledge on tools like Visual Studio, WinDBG, Wireshark, fiddler
- Experience with debugging, performance profiling and optimization of complex code
- Should have thorough experience on crash and core dump analysis
- Excellent analysis, critical thinking and problem-solving skills
- Ability to quickly learn and apply new concepts or principles
- Internally motivated, able to work proficiently both independently and in a team environment
- Self-starter with extreme comfort in working with geographically dispersed teams
- Excellent oral and written communication skills
- Strong understanding of Unit Testing principles
- Knowledge / hands on experience of modern DevOps practices for CI/CD
Desirable skills and experience:
- Windows Storage driver development experience
- Experience working with products in Storage domain will be a strong plus
- Knowledge of Storage related concepts (mirroring, encryption, snapshots, replication, etc.)
- Good general working knowledge of the SCSI specification and common transports
- Familiarity with networking protocols, including TCP/IP, TLS/SSL
- Experience working in an agile environment. Able to break broad epics into predictable user stories