Let’s get started
By clicking ‘Next’, I agree to the Terms of Service
and Privacy Policy
Jobs / Job page
Lead Software Engineer image - Rise Careers
Job details

Lead Software Engineer

Kepler is on an audacious mission: to bring the internet to space. Founded in 2015, our ambition is to provide internet connectivity in space, whether in LEO, MEO, GEO, or beyond. With an expanding base of early customers and our first 23 satellites in orbit, Kepler is continuing to grow and expand its most important asset – the Team!


Kepler is looking for a dynamic top-tier Software Engineer to design and develop reliable, high-quality software. You will have the opportunity to work on a variety of tasks, including software development for both space- and ground-based assets supporting the development and testing of our satellites, mission control software, and product offerings. You'll be relied upon for input and decisions that will directly impact constellation design and operation.


To comply with federal government contracting regulations, this position requires U.S. citizenship due to the nature of the work involving access to classified or national security information.


Responsibilities:
  • Next-generation satellite onboard software 
  • Work on Linux-based platforms including satellites 
  • Firmware and drivers  
  • Kepler satellite network infrastructure 
  • Application infrastructure 
  • Mission control software and automation 
  • Hardware and software test infrastructure and automation, including writing thorough tests and documentation 
  • Work in a CI/CD environmentand develop unit tests and integration tests suitable for automation in a CI/CD infrastructure 
  • Lead software design review and code review processes 
  • Work with electrical, digital design, and operations teams to identify required features and solidify the system architecture 
  • Provide technical leadership, working with customers to ensure on-time delivery that meets requirements


Requirements:
  • 4+ years of embedded software development experience 
  • 4+ years of Python experience 
  • Bachelor's degree in Computer Science or equivalent 
  • Strong software design and development skills, including algorithms, testing and debugging
  • Proficiency in C/C++, especially in embedded topics such as interrupt handlers, concurrency, memory mapped peripherals, and hardware interfaces (Ethernet, RS-422/485, SPI, I2C) 
  • Experience with embedded operating systems and build systems, including OpenEmbedded/Yocto and FreeRTOS 
  • Ability to operate in a Linux-based environment, with embedded Linux experience including writing kernel modules, device trees, and drivers 
  • Experience working with relational databases 
  • Excellent communication skills 
  • Ability to effectively use git 


Bonus Points:
  • Post-graduate degree in a relevant field 
  • Current and/or active US security clearance
  • Experience developing software for aerospace applications 
  • Experience working with commercial and US Government customers
  • Experience developing multi-stage bootloaders 
  • Strong knowledge of computer networking and modern networking protocols 
  • Experience with RTL (Verilog and/or VHDL), embedded SoCs, and ARM assembly 
  • Hardware debugging experience (oscilloscopes, logic analyzers, etc.) 
  • Familiarity with Python development tools such as pytest/unittest, setuptools, SWIG, and C-extensions 
  • Experience with build and deployment tools like Make, Docker, and Ansible 
  • Strong knowledge of computer networking and modern networking protocols 


Kepler Communications Inc. is committed to fostering an inclusive, accessible environment, where all employees and customers feel valued, respected and supported. We welcome applications from: women, Aboriginal persons, persons with disabilities, ethnic minorities, visible minorities, people who identify as LGBT and others who may contribute to diversification in our workplace.


As part of our commitment to accessibility for all persons with disabilities, Kepler will, upon the request of the applicant, provide accommodation during the recruitment process to ensure equal access to applicants with disabilities. Please contact our People & Culture team, through our Career Page to make your accommodation needs known and we will consult with you to ensure suitable accommodation is provided.

Kepler Communications Glassdoor Company Review
4.4 Glassdoor star iconGlassdoor star iconGlassdoor star iconGlassdoor star icon Glassdoor star icon
Kepler Communications DE&I Review
3.9 Glassdoor star iconGlassdoor star iconGlassdoor star icon Glassdoor star icon Glassdoor star icon
CEO of Kepler Communications
Kepler Communications CEO photo
Mina Mitry
Approve of CEO

Average salary estimate

$115000 / YEARLY (est.)
min
max
$100000K
$130000K

If an employer mentions a salary or salary range on their job, we display it as an "Employer Estimate". If a job has no salary data, Rise displays an estimate if available.

What You Should Know About Lead Software Engineer, Kepler Communications

Join Kepler Communications Inc. as a Lead Software Engineer in beautiful Sterling, Virginia, where we are on an adventurous mission to bring internet connectivity to space! Since our inception in 2015, we have been pushing boundaries, launching our first 23 satellites into orbit, and creating exciting opportunities for our growing team. In this role, you will be at the forefront of designing and developing reliable, high-quality software that powers both our ground and satellite operations. As a Lead Software Engineer, your tasks will vary from developing next-generation onboard satellite software to ensuring the smooth operation of our mission control software. You will also interact closely with multiple teams to solidify system architecture and define essential features. Your expertise in embedded software development, particularly in Python and C/C++, will be crucial as you work in a dynamic CI/CD environment. If you’re passionate about innovation, have a knack for leading design reviews, and enjoy working on complex systems, then your future at Kepler could be truly stellar! Just a heads up, this role requires U.S. citizenship due to federal government contracting regulations, but the opportunity to work on impactful projects in the aerospace realm awaits you. Come be a part of a team that values inclusivity and diversity, and let’s connect the world—one satellite at a time!

Frequently Asked Questions (FAQs) for Lead Software Engineer Role at Kepler Communications
What are the responsibilities of a Lead Software Engineer at Kepler Communications Inc.?

As a Lead Software Engineer at Kepler Communications Inc., you will be responsible for a variety of crucial tasks. Your main responsibilities will include developing next-generation onboard satellite software and mission control software, as well as automating hardware and software test infrastructure. You'll engage in software design and code review processes, collaborate with teams on system architecture, and ensure timely delivery of projects that meet customer requirements. This position offers a unique opportunity to influence constellation design and operation through your technical contributions.

Join Rise to see the full answer
What qualifications are required for the Lead Software Engineer position at Kepler?

To qualify for the Lead Software Engineer role at Kepler Communications Inc., candidates should possess a Bachelor's degree in Computer Science or a related field, along with at least four years of embedded software development experience and Python programming experience. Proficiency in C/C++, particularly in embedded systems, is essential. Strong communication skills and the ability to work in a Linux-based environment are also necessary, along with experience in relational databases.

Join Rise to see the full answer
What skills are beneficial for a Lead Software Engineer working at Kepler?

For a Lead Software Engineer at Kepler Communications Inc., key skills include proficiency in embedded operating systems and build systems like OpenEmbedded/Yocto, as well as embedded Linux experience. Familiarity with deploying tools such as Docker and Ansible, knowledge of computer networking protocols, and hands-on hardware debugging experience can set you apart. Plus, having a keen interest in aerospace applications is a significant bonus!

Join Rise to see the full answer
What is the work culture like at Kepler Communications for a Lead Software Engineer?

At Kepler Communications Inc., the work culture promotes innovation, collaboration, and diversity. As a Lead Software Engineer, you will be welcomed into a creative and inclusive environment where every idea matters. Kepler values open communication, allowing you to work closely with cross-functional teams and contribute to impactful technologies that redefine connectivity in space. Plus, the company is committed to providing the necessary accommodations to support a diverse workforce.

Join Rise to see the full answer
What are the advancement opportunities for a Lead Software Engineer in Kepler?

Kepler Communications Inc. encourages professional growth and development. As a Lead Software Engineer, you will gain valuable experience in a cutting-edge field, opening doors for advancement to more senior engineering roles or leadership positions within the company. Kepler also supports continuous learning, providing access to training and development resources that help you further enhance your skills and career prospects.

Join Rise to see the full answer
Common Interview Questions for Lead Software Engineer
Can you describe your experience with embedded software development?

When answering this question, highlight specific projects where you've developed embedded software, particularly focusing on your use of C/C++ and Python. Discuss any challenges faced, how you overcame them, and what specific results your work achieved, showcasing your problem-solving skills and technical expertise.

Join Rise to see the full answer
How do you approach design and code reviews?

In your response, emphasize the importance of constructive feedback and collaboration. Share a systematic approach you've employed, such as reviewing code for readability, performance, and adherence to best practices, which can help improve the quality of software in your projects.

Join Rise to see the full answer
What strategies do you use for debugging complex embedded systems?

Discuss techniques like using oscilloscopes and logic analyzers for hardware debugging, as well as software tools for finding bugs in your code. Providing a detailed scenario where you successfully diagnosed a complex issue can illustrate your troubleshooting approach effectively.

Join Rise to see the full answer
Can you provide an example of how you've used CI/CD in your previous work?

Here, share an experience where you implemented CI/CD processes in a project and illustrate the benefits it brought, like improving efficiency in deployment and minimizing downtime. Highlight specific tools you used, such as Jenkins or GitLab CI/CD, and your role in integrating these practices.

Join Rise to see the full answer
What is your experience with Linux-based systems?

Outline your proficiency with Linux, specifically your hands-on experience in developing and deploying software in a Linux environment. Mention any specific tasks you have accomplished, such as writing kernel modules, and how this knowledge can be advantageous for the role at Kepler.

Join Rise to see the full answer
How do you ensure your software meets user and technical requirements?

Discuss leveraging a combination of user feedback, thorough documentation, and collaboration with stakeholders to align software development with requirements. You might share an example where you iteratively refined your software based on test results or user input, ensuring that it met client specifications.

Join Rise to see the full answer
What challenges do you anticipate as a Lead Software Engineer in aerospace applications?

Acknowledge potential challenges like strict regulatory compliance and the need for robust software performance in harsh conditions. You might want to provide insights into how you would mitigate these challenges through meticulous testing, adhering to standards, and proactive collaboration with other teams.

Join Rise to see the full answer
Describe how you would lead software development in projects.

Talk about fostering an inclusive environment where team members feel valued and empowered to contribute. Mention how you would set clear goals, coordinate tasks effectively, and utilize regular check-ins or stand-up meetings to keep the project on track while addressing ongoing challenges.

Join Rise to see the full answer
How do you stay updated with the latest trends in software engineering?

Share your strategies for continuous learning, such as attending relevant conferences, participating in online courses, or joining industry groups. Mention specific topics or technologies you've recently explored, and how they can benefit your role at Kepler Communications Inc.

Join Rise to see the full answer
What would your process be for transitioning from an idea to a functional software product?

Outline your approach, starting from idea validation through customer collaboration, requirements gathering, design and architecture planning, followed by iterative development cycles. Highlight the importance of regular testing and feedback integration to refine the software product before deployment.

Join Rise to see the full answer
MATCH
Calculating your matching score...
FUNDING
SENIORITY LEVEL REQUIREMENT
TEAM SIZE
EMPLOYMENT TYPE
Full-time, on-site
DATE POSTED
December 9, 2024

Subscribe to Rise newsletter

Risa star 🔮 Hi, I'm Risa! Your AI
Career Copilot
Want to see a list of jobs tailored to
you, just ask me below!