Talented C++ Developer who has experience in design, development, debugging of multi-threaded large scale application with good understanding in data structures on Linux packaging, functional testing and deployment automation very good with problem solving.
Key responsibilities :
- Understand fundamental design principles and best practices for developing backend servers and web applications
- Gather requirements, scope functionality, estimate and translate those requirements into solutions
- Implement and integrate software features as per requirements
- Deliver across the entire app life cycle
- Work in a product creation project and/or technology project with implementation or integration responsibilities
- Improve an existing code base, if required, and ability to read source code to understand data flow and origin
- Design effective data storage for the task at hand and know how to optimize query performance along the way
- Follow an agile methodology of development and delivery
- Strictly adhere to coding standards and internal practices; must be able to conduct review code
- Mentor and possibly lead junior developers
- Contribute towards innovation
- Performance optimization of apps
- Explain technologies and solutions to technical and non-technical stakeholders
- Diagnose bugs and other issues in products
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Must have / Good to have:
- 5-7years' experience with C++ development and relevant 3+yrs in modern version 11/14/17 would be a plus.
- Design and implementation of high-availability, and performance applications on Linux environment
- Advanced knowledge of C/C++, Object Oriented Design, STL
- Good with multithreading and data structures
- Develop back-end components to improve responsiveness and overall performance
- Familiarity with database design, integration with applications and python packaging.
- Familiarity with front-end technologies (like JavaScript and HTML5), REST API, security considerations
- Familiarity with functional testing and deployment automation frameworks
- Experience in development for 3-4 production ready application using C++ as programming language
- Experience in writing unit test cases including positive and negative test cases
- Experience of CI/CD pipeline code deployment (Git, SVN, Jenkins or Teamcity)
- Experience with Agile and DevOps methodology
- Very good problem-solving skills
- Experience with Web technologies is a plus.
Read less
Similar jobs
Responsibilities of IoT Engineer
- To research, build, test, and document state-of-the-art IoT solutions with integrated electronics and firmware development.
- To develop local IoT device software that includes monitoring, execution, and self-healing processes.
- To design innovative IoT services that communicate with server-side technologies and develop MEAN stack solutions wherever necessary.
- To learn the functionings of and implement new state-of-the-art tools/techniques to showcase experience in quick prototyping methods and structured implementation.
- To design and develop platform solutions for cloud-to-edge IoT applications with customizable configuration abilities for deployment to different clients with different needs.
- To work with dynamic IoT, Computer Vision, and MEAN technology stack to find solutions to complex real-world problems.
- To plan and build efficient tools to optimize support QA, deployment, and support services.
Skills required to become an IoT Engineer
To become an IoT Developer, you must have the following skills:
- You should have hands-on experience in coding in multiple programming languages, including Embedded-C, Embedded C++, and Python.
- It would help if you had an in-depth understanding of Linux OS and its process management, device management, and connectivity features.
- You should be well-versed in embedded software architecture – prior experience in working with UML use-case diagram, class-diagram, and sequence diagram to accurately depict system architecture is highly valued.
- You should possess in-depth technical knowledge in working with 32-bit ARM cortex M3/M4 controllers.
- You should have prior experience in working with wireless stacks like Zigbee or Thread or BLE-Mesh.
- You should have expert knowledge and be proficient in writing business logic on embedded environments using test-driven methodology on RTOS and non-RTOS platforms.
- You should be proficient in communication protocols including I2C, SPI, 1-wire, UART, MODBUS, DALI.
- You must have excellent communication, problem-solving, and analytical thinking abilities.
Job Title:
Telephony Engineer
Job Description:
- Support the operations team with debugging issues related to the telephony platform
- Identify issues with calls using monitoring and analysis tools such as VoIPMOnitor
- Write scripts to automate tasks, monitor the services and functionalities
- Contribute to the improvement of the system by providing ideas
- Help with capacity planning
- Perform the scheduled maintenance activities
- Modify the existing code to accommodate new features
Experience Range:
3- 6 years
Educational Qualifications:
Any graduation,
Job Responsibilities:
• Knowledge of open source technologies, VoIP, SIP, WebRTC etc.
• Shell scripting.
• Experience in Asterisk and Kamailio or OpenSIPS.
• C/C++ or JS programming with Linux.
• 5-8 years experience.
• Good communication skills.
• Willingness to work in the night, whenever required, for handling support related issues.
Skills Required:
ViOP, OpenSIPS, SIP, Shell Scripting, Asterisk, kamailio, C++, Linux, Development,
Strong in Basic C++, STL, Linux
OOPs, Exception Handling
Design Pattern and Solid principles, concepts related to UML representation
• Solution, design, and architecture concepts
• Knowledge on Pointers and smart Pointers.
• IO streams, Files and Streams and Lambda Expressions in C++ added advantage.
• Features of C++17 and usage of STL in C++ is added advantage.
• Templates in C++.
Communication skill, Attitude, learnability
- Experience 4 - 8 years
- Key Skills for Software Developer C++, Linux :
- - Looking only for candidates who can join immediately or max 10 day
- - should be able to work independently with no handholding
- - the ability to work with C/C++ code on Windows/Linux platforms
- - Database knowledge of MSSQL, Oracle, MySQL/MariaDB, ideally other ones too: Saphana, Teradata, Postgres.
- - Ability to work on their own fixing defects
- - should be able to understand secure coding practices
- - should have the Ability to work independently and with the team across different time zones
Build new features, enhance existing functionality and fix issues in the Windows Desktop application.
Help develop and maintain UI component library (Windows, dialogs , complex widgets)
Advise and assist the other developers in the Desktop.
Skills required
- Very strong programming skills in UI development using Qt/C++
- A strong ability to think about components and modules as they relate to other components as part of a larger system.
- QML knowledge is a plus
- Cross platform application development knowledge is a plus, not mandatory
- A very strong attention to detail and the willingness to deliver pixel perfect UI according to the designs.
- Must have: Very strong in ModelView architecture
- Must have : In-depth C++, STL, and data structures knowledge
Desirable : Familiar with unit test frameworks like QtTest or Gtest
Desirable : Experienced with Agile methodology
Desirable : Knowledge in GIT or any other config management tool
Good understanding of object oriented techniques methodologies.
Good hands-on experience of C++ system programming and design.
Key Skills
C/C++, Qt, STL, Design, QML
Experience In product development is good to have
- Develop embedded Linux Applications
- Work with a worldwide team to integrate the product to meet the requirement
Required Qualifications:
- Degree in Computer Science from a top-tier institution
- Relevant full-time work experience of 4+years
- Strong foundation in computer science, Object-Oriented software, unit testing & test automation with scripts
- Ability to self-teach.
Mandatory Technical Skills:
- Expert level programming in C/C++
- Linux systems programming, data structures & algorithms
- Networked applications
Desirable Technical Skills:
- Linux Board Bring up, device drivers would be an advantage