60 Elements Jobs
Software Engineer - C/C++ Programming (3-5 yrs)
Elements
posted 4d ago
Flexible timing
Key skills for the job
Position Overview :
We are seeking a highly skilled and motivated C/C++ Programmer with expertise in developing network routing operating system products. This role requires a deep understanding of network routing principles and protocols, coupled with strong proficiency in C and C++ programming languages. The ideal candidate will be responsible for designing, developing, and optimizing networking solutions that cater to the needs of a dynamic and diverse customer base.
The individual will play a crucial role in developing robust and scalable software components that enhance the performance and efficiency of networking applications. As part of our fast-paced development environment, you will be expected to demonstrate excellent problem-solving abilities, strong analytical skills, and exceptional communication and collaboration skills. The ability to work both independently and as part of a team is crucial, as this role involves close interaction with cross-functional teams, including software engineers, network architects, and product managers.
Key Responsibilities :
- Software Development & Implementation : Design, develop, and implement high-performance, scalable, and reliable software components using C and C++.
- Software Lifecycle Management : Participate in all phases of the software development lifecycle, including requirement analysis, architecture design, coding, testing, deployment, and maintenance.
- Code Optimization & Performance Tuning : Write efficient, clean, and maintainable code while optimizing it for performance, memory management, and reliability.
- Debugging & Troubleshooting : Identify, diagnose, and resolve software bugs, crashes, and performance issues in a complex networking environment.
- Networking & Protocols : Develop a strong understanding of networking concepts and work extensively with protocols such as BGP, OSPF, PIM, IPSEC, and OPENVPN.
- Security & Compliance : Implement secure coding practices to ensure adherence to network security principles and compliance with industry standards.
- Collaboration & Documentation : Work closely with other developers, system architects, and product teams to align software development with business requirements. Maintain detailed documentation of software design, implementation, and troubleshooting steps.
- Version Control & Code Management : Utilize version control tools such as Git or SVN for efficient code management, collaboration, and code review.
- Research & Continuous Learning : Stay updated with emerging trends, technologies, and advancements in networking, software-defined networking (SDN), and network function virtualization (NFV).
Qualifications & Experience :
- A Bachelor's or Master's degree in Computer Science, Computer Engineering, or a related technical field.
- 3 to 5 years of hands-on programming experience in C or C++, with additional knowledge of Rust or Go being a plus.
- Strong working experience in Linux-based environments, including developing and debugging software on Linux operating systems.
- Experience in designing and shipping production-grade software with a strong emphasis on networking applications.
- Solid understanding of network protocols, routing algorithms, and network infrastructure.
- Hands-on experience in network product development and exposure to networking security concepts.
- Knowledge of scripting languages like Python is an added advantage.
- Familiarity with software-defined networking (SDN) and network function virtualization (NFV) is a strong plus.
Technical Skills Required :
- Programming Languages : C, C++, (Rust or Go is a plus)
- Networking Protocols : BGP, OSPF, PIM, IPSEC, OPENVPN
- Operating Systems : Linux (experience in kernel development is a plus)
- Software Development Lifecycle (SDLC) : Requirement Analysis, Design, Development, Testing, and Deployment
- Code Optimization & Debugging : Profiling, Debugging, and Performance Tuning
- Version Control Systems : Git, SVN
- Security & Compliance : Network security principles, Secure coding practices
- Automation & Scripting : Python (optional but beneficial)
Soft Skills Required :
- Ability to analyze complex systems and optimize performance.
- Strong debugging and troubleshooting capabilities.
- Ability to work with cross-functional teams and contribute effectively.
- Clear and concise communication to articulate technical details and solutions.
- Ability to work independently and adapt to changing project requirements.
Why Join Us?
- Work on cutting-edge networking technologies and high-performance systems.
- Opportunity to collaborate with industry experts and enhance your skills in network product development.
- Competitive salary package and performance-based incentives.
- A stimulating work environment that encourages innovation and continuous learning.
- Flexible work culture with opportunities for career growth and development.
If you are passionate about network programming, performance optimization, and software development and want to work in a dynamic and fast-paced environment, we encourage you to apply and be a part of our talented team!
Functional Areas: Software/Testing/Networking
Read full job description