Staff Software Engineer - Comtech
Annapolis, MD
About the Job
POSITION TITLE: Staff Software Engineer
JOB LOCATION: Annapolis, MD / Remote
ABOUT THE COMPANY:
Comtech Telecommunications Corp. (Nasdaq CMTL) delivers technologies that solve some of the toughest communication challenges. The Company innovates a broad suite of solutions for satellite systems, indoor and outdoor device location, messaging, and cyber security. Around the globe, government agencies, mobile network operators, corporations, and ordinary people rely on Comtech Telecommunications Corp. to make Connections that Matter®.
The Terrestrial & Wireless business segment is a leading global provider of mobility technologies, and our mission is to deliver innovative location, messaging, and data solutions to Mobile Network Operators (MNOs), Over-the-Top players, chip manufacturers, and other enterprises worldwide. These advanced solutions include end-to-end location-based services and applications, cloud-based messaging platforms, precise location technologies, and data intelligence.
PURPOSE:
We are looking for a Staff Software Engineer with a senior-level C++ developer and extensive DevOps experience to join our cross-functional team. Selected candidates shall work as part of an Agile team to design, develop, troubleshoot, and deploy various telecom and enterprise software applications. Candidate is expected to have strong analysis, debugging, testing and problem solving skills with a willingness to learn and contribute towards overall team growth.
PRIMARY DUTIES:
- Develop and test C++ code for high performance, distributed and scalable applications utilizing best engineering practices.
- Comfortably work on complex development assignments and deliver architectural solutions for highly available and containerized telecommunication applications.
- Instantiate, configure and write necessary scripts to deploy applications on containerized Linux based compute elements (on-premise).
- Monitor and troubleshoot issues relating to system resources like CPU/memory, FDs, network, disk I/O, etc. on these virtualized platforms.
- Write scripts that perform application health check polling, alarming, healing, etc.
- Create CICD pipelines for automated testing and deployment of applications.
- Evaluate feasibility of design/architecture by developing rapid prototypes or a minimum viable solution.
- Create and execute unit, integration and performance test cases.
- Diagnose, debug, and fix application operational issues in a timely manner.
- Assist deployment and production support teams to work through customer escalated issues and provide resolutions and root‐cause analysis.
- Participate actively in Agile software development activities, including scrums, planning, and retrospectives.
- Comply with organizational policies and procedures to meet ISO guidelines adopted by the company.
EXPERIENCE AND SKILLS:
- 12+ years of professional IT experience with one or more programming/scripting languages.
- 8+ years of professional software development experience using C/C++.
- 3-5 years of DevOps related experience on Linux based cloud native environments
- Expertise in Python and bash scripting required.
- Experience with containerization technologies like Kubernetes, Docker required.
- Experience using infrastructure automation technology (Ansible, Helm, jinja2, etc.)
- Knowledge of TCP/IP, SCTP networking (IPv4 and IPv6) and DNS.
- Experience with Openstack and/or VMWare cloud deployments is preferred.
- Understanding of ONAP architecture and experience with components like dMaap, TICK, ELK is a plus.
- Experience with relational and NoSQL databases, PostgreSQL and REDIS preferred.
- Experience with GitLab runners and/or Jenkins is a plus.
- Experience working with Atlassian Tools (JIRA, Confluence, Bamboo, FishEye, Crucible).
- Proficient in Scrum/Agile methodologies.
- Knowledge of distributed messaging services like Kafka, RabbitMQ is a plus.
- Willing to work above and beyond standard business hours on an as-needed basis to meet organizational requirements.
- Excellent spoken and written communication skills.
- Sport a positive attitude with drive and self‐motivation.
- Ability to work collaboratively within a team environment to meet aggressive goals with high-quality standards.
- Ability to plan, prioritize and organize effectively and independently multiple projects and tasks.
- Have curiosity to acquire new skills and find novel solutions to complex problems.
EDUCATION:
Bachelor’s Degree in Computer Science, Engineering (Computer, Electrical, Electronics, Telecommunications) or equivalent.
Comtech is an Equal Opportunity Employer – All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability or protected veteran status. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.