Job Category: Software Developer / Software Engineer
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.
Cautionary Notice: QatarJobFinder.com Warns Job Seekers Against Paying Employers for Visa or Expenses - Legitimate Employers Should Cover These Costs Themselves. Read More...