Overview:
As a global leader in IP-based satellite communications, we are the change agent, shaping the future of how the world connects. Our team is helping the world’s leading satellite operators and service providers capture the future through major innovation. The most fulfilling work of your career is waiting for you at ST Engineering iDirect…imagine your talent and energy paired with our vision and technical leadership: the sky is truly the limit!
As we continue to fuel our engineering growth, we seek an innovative, creative Senior Software Engineer who is ready for the challenges, responsibilities, and rewards that come with working in a high-energy, fast-paced environment. We are dedicated to providing next generation solutions for broadband IP networking via satellite networks. As the leading innovators in this new space, our diverse and talented team of Internet, satellite and telecommunications professionals continues to break new ground and create significant opportunities for network operators, for service providers and resellers, and for corporate networking professionals.
Responsibilities:
- Analyze customer requirements and RFCs and come up with efficient software designs.
-
Participate in determining the future direction of the satellite system and related products in the areas of software architecture, infrastructure performance, test and reliability.
-
In an Agile framework, document, design, develop, test, and integrate software functionality for various components within a satellite system and related environments.
-
Take a collaborative design and validation approach in working with a multi-functional Scrum team of software, firmware, embedded, application, and test engineers.
-
Troubleshoot and provide resolutions for technical issues encountered in the deployment of software solutions.
-
Other duties as assigned.
Qualifications:
Education - BS/MS in Computer Science, Electrical Engineering or Mathematics, or equivalent experience
Experience - 8+ years of industry experience in programming and software engineering
PROFESSIONAL QUALITIES:
-
Strong problem solving and communications skills.
-
Must be a self-motivated individual with technical leadership potential and proven success in a structured development environment.
-
Possess the ability to proactively drive technical solutions in a collaborative environment.
-
Good software design skills using proven and best practice design methodologies & related principles; Strong command of Object Oriented Design and Object Oriented Programming techniques.
-
Demonstrated experience in developing quality and maintainable software.
-
Hands-on experience developing, designing and testing multi-threaded and multi-process applications on Linux, with strong working knowledge of C++.
- Good understanding of networking and network protocols (TCP/IP)
- Strong documentation and writing skills.
POSITION SPECIFIC REQUIREMENTS:
-
Hands-on experience developing, designing and testing multi-threaded and multi-process applications on Linux, with strong working knowledge of C++.
-
Detailed knowledge of object-oriented design and programming
-
Linux, POSIX, RTOS, device driver experience
-
Knowledge of GNU development and debugging tools
-
Knowledge of Microprocessor architecture
-
Knowledge of TCP/IP, Sockets Programming
-
Knowledge of networking protocols
ADDITIONAL SKILLS:
-
Excellent presentation skills required
-
Software design skills with analytical problem-solving abilities
-
Must be able to work in a fast-paced development environment
-
Working knowledge of UML is strongly desirable
-
Knowledge of professional software engineering practices and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
-
Experience/ knowledge in satellite/ terrestrial communications systems is desired
-
Working experience with tools such as GDB and Valgrind.
-
Experience with version control system (such as git) strongly desired
-
Experience with Jira and Jenkins desired
-
Experience developing unit tests, integration test and functional testing, including the development of related test automation integrated in a CI/CD pipeline desired.
-
Scripting using shell scripting or Python desired.
#LI-PS1