We are looking for a passionate and experienced Senior Software Applications Engineer to join our dynamic engineering team. In this role, you will be instrumental in designing, developing, testing, and maintaining high-performance software applications tailored to specific business and user needs. The ideal candidate will have a strong background in C++ development, particularly within the Windows ecosystem, and be comfortable working across the full software development life cycle.
This role is perfect for someone who thrives in a collaborative environment, is detail-oriented, and enjoys problem-solving and innovation. As a senior member of the team, you’ll also play a key role in mentoring others, leading project modules, and ensuring that our applications meet the highest standards of performance, quality, and usability.
Key Responsibilities
- Application Design & Development. Design enhancements and implement programming changes for various portions and subsystems of end-user software applications that run on local, networked, and Internet-based platforms.
- Code Analysis & Integration. Analyze product design requirements and translate them into efficient coding and integration strategies, using a deep understanding of software architecture and system interactions.
- Problem Solving & Debugging. Investigate, analyze, and resolve technical issues identified during development, testing, or reported by users, ensuring optimal functionality and user experience.
- Testing & Quality Assurance. Write, execute, and document comprehensive testing plans and protocols to validate software functionality, performance, and reliability.
- Cross-Functional Collaboration. Work closely with product managers, UI/UX designers, QA engineers, and other developers to implement new features and enhance existing functionalities.
- Project Leadership & Mentorship. Take ownership of modules or projects, guiding junior developers, allocating resources effectively, and ensuring timely delivery of high-quality software solutions.
- Stakeholder Communication. Serve as a key point of contact for project stakeholders and cross-functional teams, providing regular updates on design progress, development status, and issue resolution.
- Continuous Learning & Industry Trends. Stay updated with the latest industry developments, emerging technologies, and best practices in software engineering to drive innovation and efficiency.
Technical Requirements
- Strong expertise in C++ programming.
- Solid experience in Win32 API and Windows application development.
- Proven experience in UWP (Universal Windows Platform) development.
- Deep understanding of object-oriented programming (OOP) concepts and principles.
- Proficiency with debugging tools and techniques, with a strong attention to detail.
Preferred Experience & Education
- Bachelor's or Master's Degree in Computer Science, Information Systems, or a related field, or equivalent hands-on experience.
- Minimum 7 years of experience in application development or software engineering roles.
- Hands-on experience with MFC (Microsoft Foundation Classes) or ATL (Active Template Library).
- Familiarity with modern C++ standards such as C++11, C++14, C++17, or C++20.
- Exposure to DirectX or similar graphics APIs for rendering and visualization.
Additional Skills & Knowledge
- Working knowledge of Agile methodologies and collaborative development practices.
- Experience with Amazon Web Services (AWS) and/or Microsoft Azure.
- Familiarity with DevOps practices, CI/CD pipelines, and automation tools.
- Understanding of Microservices architecture and API development.
- Basic knowledge of Remote Procedure Call (RPC) protocols and scalability patterns.
Soft Skills & Competencies
- Effective Communication. Ability to clearly articulate technical concepts to both technical and non-technical stakeholders.
- Customer-Centric Mindset. Passion for creating user-friendly applications that solve real-world problems.
- Results-Oriented. Focused on delivering high-quality, on-time solutions that meet business goals.
- Learning Agility. Eagerness to explore new technologies and continuously improve skill sets.
- Digital Fluency. Comfort in using modern tools, platforms, and cloud technologies for development and deployment.
Why Join Us?
We offer a dynamic, inclusive, and collaborative environment where your contributions are valued and your growth is encouraged. With cutting-edge projects and a forward-thinking culture, this is the perfect place to advance your career and leave a lasting impact.