Senior Software Engineer
Job description
About the role
Technical leadership defines and maintains the software that operates Lynk's satellite and ground infrastructure. Engineers set standards, mentor peers, and solve high-complexity problems in distributed and real-time environments.
Software engineers turn product ideas into working code. Engineers work in small teams, review each other's work, and ship in small batches. Most teams follow agile practices such as sprints and daily standups. Engineers also write tests, fix bugs, and improve performance. The field values clear communication as much as technical skill. Engineers spend part of every week on planning, code review, and debugging, not just writing new code. The ability to explain a technical decision in plain words separates strong engineers from the rest.
Key facts
What you'll do
System integrity is ensured through rigorous validation in simulation, emulation, and hardware-in-the-loop testing.
Mentorship guides junior engineers and champions object-oriented design principles across the organization.
Mission-critical software for satellite and ground systems is designed, built, and operated to perform reliably under demanding conditions.
Operations activities sustain service reliability through data analysis, monitoring, and visualization.
Collaboration aligns architecture, design, and code reviews to strengthen quality across distributed teams.
Requirements
A Bachelor's degree in a relevant technical field is required.
At least 5 years of professional software development experience is mandatory.
Expert-level skills in an object-oriented language such as C++, Python, Java, or C# are required.
Complex, scalable, and reliable software systems must be designed and built.
Strong foundations in data structures, algorithms, and systems design are required.
Written and verbal communication and documentation skills must articulate complex decisions to diverse audiences.
A collaborative, team-oriented, and positive attitude with mentoring ability is required.
Preferred experience of 8+ years in software development is listed.
C++ and Python professional experience is preferred.
Scalable and modular solutions, including multi-threaded and stateless services, are preferred.
Networking protocols like TCP/IP and UDP and distributed systems building are preferred.
CI/CD, test automation, simulation, or hardware-in-the-loop testing familiarity is preferred.
Modern monitoring, data analysis, and visualization tool experience is preferred.
Linux-based development environment experience is preferred.
Solving ambiguous and complex technical problems with a creative and analytical approach is preferred.
Thriving and providing technical leadership in a fast-paced, dynamic setting is preferred.
Taking full ownership from concept to completion for complex problems is preferred.
Networking, wireless protocols, or telecommunications experience such as 2G/GSM or 4G/LTE is optional but not required.
Practical notes
US citizenship or permanent residency is required.
Occasional travel may be part of the role.
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
Satellite direct to device technology links mobile network operators with space.
The service operates globally across all seven continents.
Typical tools include networking protocols, Linux environments, and monitoring systems.
Mentoring elevates engineering standards and team development.
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.