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.