Job Description
Working as 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.
The Project Engineering team is responsible for customizing and adapting Enea Qosmos products to ensure seamless integration into 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:
As a Software Engineer in the Customer Project Engineering Team, you will contribute throughout the full project lifecycle, from feasibility studies to post-deployment support, ensuring the successful customization and integration of Enea Qosmos DPI/TI technologies in diverse customer environments.
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.
- Minimum of 5 years of professional experience in software development within Linux environments.
Technical Skills:
- Expert-level proficiency in C programming, with strong experience writing high-performance, production-quality code.
- Solid foundation in algorithms and data structures, with the ability to design efficient and scalable solutions.
- Solid understanding of multi-threaded application development and concurrent programming techniques.
- In-depth 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.
- Proficient in using debugging and profiling tools to identify and resolve performance bottlenecks.
- Hands-on experience with version control systems such as Git (GitLab or similar platforms).
- Strong understanding of IP networking protocols and network stack behavior.
- Proficient in scripting with Python, Bash, or similar languages for automation, testing, and tooling.
- Experience working with 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.
What can Enea offer you?
At Enea, we strive to create an environment where you can thrive both professionally and personally. We offer:
- Flexible hybrid work: A modern work model that supports a healthy work–life balance.
- Collaborative environment: A dynamic, globally connected team culture that fosters engagement in cybersecurity initiatives and cross-regional projects.
- Inclusive culture: A diverse and inclusive workplace that values your voice and promotes mutual respect and collaboration.
- Competitive compensation: A competitive salary package complemented by region-specific benefits.
- Ongoing learning and career development: Continuous learning opportunities and clearly defined career paths to support your professional growth across the organization.
About Enea
We are a global specialist in advanced telecom and cybersecurity software, with a vision to making the world's communications safer and more efficient.
We serve 160+ communication service providers across more than 100 countries, supporting over 30% of the world’s mobile subscriptions, with billions relying on our software every day.
Enea is headquartered in Stockholm, Sweden and is listed on NASDAQ Stockholm.