Role and Responsibilities
- Work with an experienced team leveraging SCRUM techniques building customer-facing products.
- Design, build, test, and maintain efficient, reusable, and reliable C++ code
- Build a great user experience utilizing cloud-based microservice architecture
- Identify bottlenecks and bugs, and devise mitigation strategy to address them
- Translate end-user requirements and use cases into functional applications
- Establish best practices for automated testing frameworks for integration and unit testing
- Profile and measure software quality and performance as we continually improve our code base.
- Monitor everyday activities of the system and provide the required support
- Develop documents for various policies and procedures for applications
- Manage full Software Development Life Cycle (SDLC)
- Supervise and coordinate development with outsourcing partners across different time zones.
- Must remain current on relevant technologies and new industry trends.
Qualifications and Education Requirements
- Bachelor’s degree (or equivalent) in Computer Science, or related Field.
- 5+ years of experience in developing and maintaining C++ applications in a Linux development environment.
- Highly experienced in C++11
- Strong understanding of Sockets and IO programming in C++
- Strong proficiency in Linux operating system, including shell scripting, daemons, and services
- Ability to develop, maintain and enhance complex and diverse software systems (e.g. processing-intensive analytics, algorithm development, real-time systems etc.)
- Proficient in working with databases, especially SQLite
- Excellent experience in OOPS focusing on SOLID principles.
- Proficient in storing and exchanging data using XML and JSON formats.
- Proficient in with Multithreading, Parallel programming, and Interoperability
- Strong understanding of networking protocols such as TCP/IP, UDP, and HTTPS.
Preferred Knowledge, Skills and Abilities
- Experience in building and deploying applications through Docker platform
- Strong experience with updating and maintain Linux apt repositories targeting different architectures
- Familiarity with computer vision and image processing libraries, especially FFMPEG and OpenCV.
- Familiarity with video file formats like mp4.
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. While performing the duties of this job, the employee is regularly required to talk or hear. Specific vision abilities required by this job include close vision and ability to adjust focus. This would require the ability to lift files, open filing cabinets and bend or stand on a stool, as necessary.