Senior Software Engineer
Overview:
ST Engineering iDirect is a global leader in satellite communications (satcom) providing technology and solutions that enable its customers to expand their business, differentiate their services and optimize their satcom networks. Our business provides innovation focused on solving satellite’s most critical economic and technology challenges and expands a shared commitment to shaping the future of how the world connects.With your talent and energy paired with our vision and technical leadership, the most fulfilling work of your career is waiting for you at ST Engineering iDirect…the sky is truly the limit!
We are seeking a talented Senior Software Engineer with a strong background in software design and development to work in a team that will implement next generation features for iDirect satellite communication products. This engineer will work with an outstanding team of engineers with the goal of delivering a premier IP-based satellite communication product making it possible to deliver voice, video and data connectivity anywhere in the world.
Our teams use Scrum for Agile software development, and as such we work in diverse teams where thoughts and ideas are shared and collaboration is actively encouraged. This gives team members the opportunity to work across products, getting to understand exactly how products operates, and how it fits within the larger iDirect communication solution.
Responsibilities:
- MUST BE LOCAL or able to commute to HERNDON, VA as needed
- 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:
Bachelor’s or Master’s Degree in Computer Science or a related engineering discipline is preferred.
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:
- 5+ years of experience designing and developing C++ software applications.
- 5+ years of experience programming in Linux
- Strong knowledge of Linux and Linux Kernel.
- Strong knowledge of C, C++, OOD/OOP
- Knowledge of TCP/IP, and sockets programming
- Knowledge of networking protocols
ADDITIONAL SKILLS:
- Excellent presentation skills required
- A solid working knowledge of UML is strongly desirable.
- Must be able to work in a fast paced development environment
- Experience in satellite communications systems is strongly desired
- Working experience with tools such as GDB and Valgrind.
- Git experience is strongly desired.
- Scripting using shell scripting or Python.