Software Engineer, Layer1
Job description
About the role
You will own projects from definition to deployment, ensuring reliable physical connectivity across diverse hardware and interfaces. This position requires you to translate high level product ideas into robust software implementations that directly influence the behavior of network hardware. You will collaborate closely with cross functional teams to define, refine, and execute on technical requirements for Layer1 features. A significant part of your responsibility will involve diagnosing complex issues in customer networks and working hand in hand with support teams to implement fixes. You will contribute to the complete lifecycle of the software, participating actively in architectural design, implementation, verification, and post deployment monitoring. The role emphasizes clear and precise communication, where the ability to explain intricate technical concepts in plain language is highly valued. You will spend your time balancing deep technical implementation with planning, code review, and debugging sessions that ensure long term stability.
Key facts
What you'll do
Architectural designs for Layer1 features are managed through development, testing, and deployment cycles.
C, C++, and Python control software is developed and maintained, while functional and design specifications are reviewed and contributed.
Problems found in customer networks are analyzed, mitigated, and fixed together with Customer Support Engineers.
Test failures from System Test Engineers are analyzed, and fixes are provided to resolve issues.
You will design and implement low level drivers that interact with digital communication hardware components.
Verification of hardware functionality is conducted through rigorous testing and validation against defined specifications.
Collaboration with manufacturing teams ensures that software solutions are practical for production environments.
You will investigate communication protocols and signal behaviors to ensure robust data transfer across physical mediums.
Implementation of features requires constant analysis of performance metrics to optimize reliability and efficiency.
You will document technical decisions and processes to support future maintenance and knowledge transfer.
Regular participation in sprint planning and code reviews ensures alignment with team quality standards.
Work may require interaction with optics and physical layer hardware to validate real world performance.
Feedback from field deployments is incorporated to drive iterative improvements and long term stability.
You will partner with System Test Engineers to build test scenarios that validate end to end functionality.
Requirements
A Bachelor of Science in Computer Science, Electrical Engineering, or Computer Engineering is required alongside 3 or more years of relevant experience.
Expert knowledge of C or C++ and Python is mandatory for success in this position.
Familiarity with UNIX or Linux is required as the primary environment for development and debugging.
A practical grasp of software engineering principles is expected, including version control, testing, and code maintainability.
Strong problem solving and software troubleshooting capabilities are necessary to diagnose difficult issues.
Independent solution design and feature implementation is required without constant supervision.
Ability to work effectively in small teams is essential for productive collaboration and code review.
Understanding of digital communication technologies such as modulation and signal encoding schemes is preferred.
Hands on experience with low level hardware components is beneficial for efficient implementation.
Knowledge of IP networking and distributed systems is advantageous for integrating Layer1 features into larger networks.
Practical notes
This role may involve work with optics and physical layer hardware in certain contexts. Work may require interaction with manufacturing and field teams. Remote work is available from Poland. Typical interview steps
Hiring for engineering roles usually starts with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions. Some loops include a take home task. Final rounds typically cover team fit and give candidates a chance to ask questions. Interviewers look for how you break down an unfamiliar problem, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation.
Good to know
The role spans the full software development lifecycle from design through deployment. Common tools include version control, CI pipelines, and debugging utilities for hardware interaction. Collaboration across hardware, optics, and test teams is central to the work.
Questions to ask
Worth asking in any interview: how the team measures success, who the role works with daily, what the onboarding looks like, and what the company is trying to achieve this year. Asking what past hires did well is a strong final question. Keep the list short and pick the questions that matter most to you.
Career growth
Engineering careers usually progress from individual contributor to senior, staff, and principal levels. Some engineers move into management and lead teams of five to twenty people. Others stay on the technical track. Growth follows demonstrated impact, not tenure alone. A typical engineering ladder has clear levels with defined expectations for scope, quality, and mentorship. Moving up usually requires owning outcomes end to end rather than completing assigned tickets.