C/C++ Developer
We’re doing things no one has ever done. From developing game-changing technology and solutions to
helping the world’s top brands connect like never before, every day brings new challenges and opportunities
to innovate. We offer the chance to make your mark on something awesome.
What are we looking for?
Strong C/C++ programming and debugging skills in a Linux environment.
Experience with Design Patterns, ACE Framework, and Socket Programming.
Experience in Multi-threaded software development for Multicore Architectures.
Experience in VOIP application development, preferably on client/server platforms.
Understanding of system performance and scaling
Experience in embedded software development
Excellent problem solving/debugging skills design, develop, troubleshoot and debug
Software programs for databases, applications, tools, networks etc.
Requirements:
Bachelor's degree in Computer Science or related field or equivalent experience.
3-6 years of software engineering or related experience.
Location: Bangalore/Hybrid Model
Similar jobs
Requirements:
- Strong C/C++ programming and debugging skills in a Linux environment.
- Experience with Design Patterns, ACE Framework, and Socket Programming.
- Experience in Multi-threaded software development for Multicore Architectures.
- Experience in VOIP application development, preferably on client/server platforms.
- Understanding of system performance and scaling.
- Experience in embedded software development.
- Excellent problem solving/debugging skills design, develop, troubleshoot and debug.
- Software programs for databases, applications, tools, networks etc.
C, C++ , Linux , Device Driver , Linux Internals ,
Processor knowledge like Arm , Intel , Protocol SPI , I2C . Networking experience,
L2 protocols knowledge, knowledge on Python/Perl ,
Broadcom DNX/XGS device experience is desirable,
Interested to learn New things,
C,C++, LINUX INTERNAL OR IPC, LINUX OS CONCEPTS, DEVICE DRIVERS,
PROCESSOR KNOWLEDGE
SCRIPTING KNOWLEDGE EIHER PYTHON OR PERL
Technical Lead (Embedded Software - Linux)
Job Responsibilities:
Lead a team of software/Linux development engineers working on microcontroller firmware development, Linux platform drivers and IOT solutions. Should be able to guide team members, resolve technical roadblocks and deliver project commitments. Will be the go-to person and first-level escalation point for all technical issues faced by the team. Looking for someone with 6+ years in the embedded industry and a passion to build a core team in a growing company. Team size will vary from 6 to 12 people, mainly firmware and Linux engineers.
The selected candidate for this role will be reporting to the software director/manager in the organization.
- Work with firmware and application architects to create a project execution plan
- Review project proposals for execution scope & timelines
- Lead embedded software development activities by the team
- Work with QA teams to resolve bugs and ensure release readiness
- Work with h/w design and PM teams to ensure smooth execution and timely delivery of projects
The main responsibilities of this role are:
Technical:
- Strong programming skills (C, C++, assembly)
- Linux development experience (porting & platform drivers)
- Expert-level knowledge of embedded microcontroller & microprocessor-based systems
- Prior experience in delivering critical modules for microcontroller projects
- Good understanding of commonly used embedded communication protocols
- Good understanding of common embedded peripherals, interfaces & sensors
- Experience working on Real-Time systems (RTOS)
- Should be able to quickly learn new technologies and enable the team on the same
- Should be able to work with minimal technical guidance
Leadership:
- This role requires excellent communication skills
- Strong analytical & problem-solving skills
- Should be able to lead junior engineers by providing technical mentoring
- Owns task division, task allocation and tracking within the team
- Require multi-tasking and time management skills
- Prior experience working with overseas clients
- Periodically report progress to management
Other desirable skills:
Knowledge of Python
Experience: 6 to 10 years
We are looking for passionate, talented and super-smart engineers to join our product development team. If you are someone who innovates, loves solving hard problems, and enjoys end-to-end product development, then this job is for you! You will be working with some of the best developers in the industry in a self-organising, agile environment where talent is valued over job title or years of experience.
Responsibilities:
- You will be involved in end-to-end development of VIMANA technology, adhering to our development practices and expected quality standards.
- You will be building machine/controller specific applications that run on machine tools and stream the machine stats.
- You will be part of a highly collaborative Agile team which passionately follows SAFe Agile practices, including pair-programming, PR reviews, TDD, and Continuous Integration/Delivery (CI/CD).
- You will be part of a DevOps culture where you will get to work with production systems, including operations, deployment, and maintenance.
- You will have an opportunity to continuously grow and build your capabilities, learning new technologies, languages, and platforms.
Requirements:
- Undergraduate degree in Computer Science or a related field, or equivalent practical experience.
- 3+ years of product development experience.
- Proficiency in C, C++, Multi-Thread application development, STL, Boost and TCP/IP programming.
- Optionally should have some basic knowledge on C#, Python and Wireshark.
- Deep knowledge in Data Structures and Algorithms, using various debuggers (Local/Remote).
Additional Skills:
- Experience in working with Agile software methodologies (XP, Scrum, Kanban), TDD and Continuous Integration (CI/CD).
- Experience using no-SQL databases like MongoDB or Elasticsearch.
- Prior experience with container orchestrators like Kubernetes is a plus.
We build products and platforms for the Industrial Internet of Things. Our technology is being used around the world in mission-critical applications - from improving the performance of manufacturing plants, to making electric vehicles safer and more efficient, to making industrial equipment smarter.
Please visit https://govimana.com/ to learn more about what we do.
Why Explore a Career at VIMANA
- We recognize that our dedicated team members make us successful and we offer competitive salaries.
- We are a workplace that values work-life balance, provides flexible working hours, and full time remote work options.
- You will be part of a team that is highly motivated to learn and work on cutting edge technologies, tools, and development practices.
- Bon Appetit! Enjoy catered breakfasts, lunches and free snacks!
VIMANA Interview Process
We usually target to complete all the interviews in a week's time and would provide prompt feedback to the candidate. As of now, all the interviews are conducted online due to covid situation.
1.Telephonic screening (30 Min )
A 30 minute telephonic interview to understand and evaluate the candidate's fit with the job role and the company.
Clarify any queries regarding the job/company.
Give an overview about further interview rounds
2. Technical Rounds
This would be deep technical round to evaluate the candidate's technical capability pertaining to the job role.
3. HR Round
Candidate's team and cultural fit will be evaluated during this round
We would proceed with releasing the offer if the candidate clears all the above rounds.
Note: In certain cases, we might schedule additional rounds if needed before releasing the offer.
- 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
The Senior Software Engineer works with an experienced cross-functional team to deliver innovative wireless communication security products. They will utilize real world knowledge and a disciplined approach to product development, and adapt readily - Time-To-Market demands, ensuring product quality and timely delivery in a highly dynamic market environment.
ESSENTIAL FUNCTIONS :
- Design and deliver server platform based software products from conceptual stages to production delivery.
- Work independently on all phases of server centric software development including specification, architecture design, rapid prototyping, efficient coding, integration, debug and unit testing. Support UL and EN regulatory compliance
- Work collaboratively and effectively as part of a small team on fast paced projects that have tight deadlines.
- Support manufacturing life cycle for new products from NPI to production run and incremental software release of functionality.
- Lead, train, and mentor junior engineers
- Document and present design requirements to staff
- Possess a demonstrated ability to communicate with customers via email and phone
REQUIRED SPECIFIC JOB KNOWLEDGE, SKILL AND ABILITY :
The individual must possess the following knowledge, skills and abilities and be able to explain and demonstrate that he or she can perform the essential functions of the job, with or without reasonable accommodation, using some combination of skills and abilities.
- Must be an excellent SW developer. We expect experience developing software C/C++ in Linux and Perl. Other scripting languages is a plus (i.e. Python).
- Strong experience with SQL, Database design (MySQL a plus)
- Experience with Network Security Administration and understanding of the full SDLC.
- Experience with Multithread, Socket connection, OpenVPN server setup, OpenSSL, Certificate, Encryption, and TCP/IP troubleshooting.
- Experience with Testing tools, virtualizing servers, and using source control (SVN a plus).
- Experience with Linux development infrastructure, tool chain and build environment (Jenkins a plus).
- Experience developing both Linux application software; installing Linux software and configuring Linux systems.
- Experience with Application server remote update, and Apache Server authentication.
- Proven record of designing and delivering complex networking products from inception to production delivery.
- Previous experience developing quality software for commercial products.
- Experience with communication systems involving wireless, radio, security and mesh networking technologies is a plus.
Experience with OSI networking protocols and applications is a plus.
- Experience with system development tools, including Source-Level Debuggers, Protocol Analyzers (Wireshark), Code Analysis tools, etc.
- Experience with any of the following is nice to have: Apache Server, GPIO, TCL/Tk, BACnet, Cloud server setup, and WebGUI design (javascript and jQuery a plus).