Project Engineer
Enregistrez cette offre et organisez votre recherche
Créez un compte gratuit pour enregistrer des offres d'emploi, créer des alertes et revenir à cette liste depuis votre tableau de bord.
En continuant, vous acceptez nos Conditions d’utilisation & Politique de confidentialité.
Workingas software engineer in the Project Engineering team:
You bring proven experience working in Customer Operations and/or R&D environments, with the ability to design, develop, and support network-related software. Your focus is on ensuring optimal performance, efficient system resource utilization, and maintaining Carrier-Grade stability.
Position summary:
The Project Engineering team is responsible for customizing and adapting Enea Qosmos products to customer environments. As a software engineer on this team, you will develop custom applications or modules, implement product-specific modifications, and provide integration guidance and technical support. This role requires a strong ability to quickly learn and adapt to new environments, tools, and technologies. You may occasionally work directly on customer premises, collaborating with their R&D teams to support integration efforts and resolve technical issues.
Main Duties:
Feasibility Phase
- Participate in feasibility studies to assess technical solutions for customer requirements.
- Estimate development and integration effort in collaboration with project stakeholders.
- Analyze existing product capabilities and identify areas for customization or enhancement.
Development Phase
- Design and develop custom features, modules, and plugins to meet customer needs, ensuring seamless integration into the Qosmos product or customer environments.
- Perform reverse engineering of network protocols and implement corresponding DPI plugins.
- Follow coding standards and internal procedures for quality and maintainability.
- Participate in peer code reviews to ensure high code quality across the team.
- Write user and technical documentation for developed features and components.
- Use software profiling tools to identify performance bottlenecks and propose optimizations.
- Benchmark solutions to evaluate performance, scalability, and resource utilization.
Testing & Validation
- Develop automated testing tools and frameworks to support features and new development validation.
- Execute functional and automated test scripts to verify Product and system behavior.
- Validate feature operation in target environments, both internally and in collaboration with customers.
- Analyze test results and provide feedback to ensure carrier-grade stability and reliability.
Integration & Post-Project Support
- Support integration efforts by providing technical assistance to customers, either remotely or on-site when required for confidentiality, limited access, or urgent timelines.
- Collaborate with customer R&D teams during integration phases to troubleshoot issues and ensure smooth deployment.
- Assist Customer Support in analyzing and reproducing issues, proposing workarounds or patches when needed.
- Collect relevant logs and diagnostic information to aid in issue resolution.
- Communicate regularly with project management to report progress, risks, and mitigation strategies.
- Ensure that technical goals and project deadlines are met.
Profile Prerequisites
Education & Experience:
- Bachelor's degree (or higher) in Computer Science, Information Systems, or a related field, with a specialization in networking or systems programming.
- Up to 3 years of professional experience in software development within Linux environments.
Technical Skills:
- Knowledge of C programming, gained through academic projects, internships, or professional experience.
- Good understanding of algorithms and data structures, with the potential ability to design efficient and scalable solutions.
- Familiarity with multi-threaded application development and concurrent programming techniques.
- Basic knowledge of Linux development tools (compilers, debuggers, build systems).
- Experience developing on Intel x86 architectures; familiarity with other multi-core CPU platforms such as ARM or MIPS is a plus.
- Familiarity with debugging and profiling tools to identify and resolve performance bottlenecks.
- Hands-on experience with version control systems such as Git (GitLab or similar platforms).
- Basic understanding of IP networking protocols and network stack behavior.
- Experience with scripting languages such as Python, Bash, or similar languages for automation, testing, and tooling.
- Exposure to virtualization technologies (e.g., Docker, KVM, VirtualBox) is a plus.
Language & Communication:
- Fluent in English, both written and spoken.
- Strong analytical and problem-solving skills, with the ability to work independently and collaboratively in cross-functional teams.