Software Developer (C, C++)

  • Full Time
  • Qatar

S4-Salam Security Systems


We are seeking a skilled and motivated Application Developer to join our team and take responsibility for maintaining our cutting-edge application. The successful candidate will play a crucial role in ensuring the smooth functioning of our software with a desktop user interface written in C++ and the Qt library, backed by a Java-based backend, and equipped with agents written in C language using Modbus. The application also requires seamless integration with various subsystems utilizing SOAP/REST Web Services

Responsibilities

  • Maintenance and Support: Take ownership of the existing application, ensuring its stability, performance, and reliability. Proactively identify and resolve issues, bugs, and vulnerabilities in the software components.
  • Software Upgrades and Enhancements: Collaborate with the development team to implement upgrades and new features as per business requirements. Stay up-to-date with industry best practices and technological advancements, proposing improvements to the existing architecture.
  • Troubleshooting and Debugging: Analyze and troubleshoot complex software issues at both the frontend (C++/Qt) and backend (Java) levels. Effectively communicate the findings and recommend appropriate solutions.
  • Integration and Connectivity: Facilitate seamless integration with various subsystems using SOAP and REST APIs. Work closely with cross-functional teams to understand integration requirements and design robust solutions.
  • Modbus Agents Maintenance: Maintain and optimize C-based agents utilizing Modbus communication. Monitor their performance and ensure data integrity and synchronization with the backend.
  • Code Review and Documentation: Participate in code reviews to ensure code quality, adherence to coding standards, and maintainability. Document the existing codebase and new developments for easy reference and knowledge sharing.
  • Performance Optimization: Identify areas for performance improvement and conduct code profiling to optimize application performance and resource utilization.
  • Testing and Validation: Develop and execute test cases to validate the functionality, reliability, and security of the application. Implement automated testing strategies to streamline the testing process.

Qualifications

  • A bachelor’s degree in Computer Science, Software Engineering, or a related field (or equivalent industry experience).
  • Proficiency in C++ and the Qt library for developing desktop applications.
  • Strong working knowledge of Java for backend development and experience with Java-based frameworks like Spring.
  • Experience in C programming and familiarity with Modbus communication protocols.
  • Demonstrated experience in integrating applications with external systems using SOAP and REST APIs.
  • Understanding of software development best practices, including version control (e.g., Git), code documentation, and code review processes.
  • Problem-solving skills with a keen eye for detail and the ability to analyze and debug complex issues.
  • Familiarity with software testing methodologies and test-driven development (TDD) practices.
  • Excellent teamwork and communication skills to collaborate effectively with a diverse team of developers and stakeholders.
  • Ability to adapt to changing requirements and work in a dynamic and fast-paced environment.

Job Tags:


Upload your CV/resume or any other relevant file. Max. file size: 3 MB.


Cautionary Notice: QatarJobFinder.com Warns Job Seekers Against Paying Employers for Visa or Expenses - Legitimate Employers Should Cover These Costs Themselves. Read More...