What are the responsibilities and job description for the Mid-Level Software Engineer (Python / C++) position at Fantom Corporation?
We are seeking a Software Engineer to develop and maintain complex, high-performance software systems supporting data-intensive and real-time applications. This role focuses on building scalable solutions using Python and C , with exposure to RF-related systems and environments.
The ideal candidate has a strong foundation in software engineering, experience working in collaborative environments, and the ability to contribute across the full software development lifecycle.
- Design, develop, and enhance software systems based on defined requirements
- Analyze user requirements to determine software design and performance objectives
- Develop new features and modify existing applications to improve functionality and efficiency
- Debug and resolve software defects and system issues
- Implement and optimize algorithms to meet system performance requirements
- Integrate software components into new or existing systems and environments
- Develop and execute test procedures to validate system functionality and performance
- Design and implement database queries and support data processing activities
- Create and maintain technical documentation for software components
- Collaborate with system engineers and stakeholders to support system design and integration
- Evaluate software design trade-offs and recommend improvements
- Utilize version control tools such as Git to manage code and collaborate with development teams
- Must be fully cleared with a recent MD polygraph
- Must be willing and able to work fully onsite at the location listed in this posting
- Bachelor’s degree in Computer Science or a related field (or equivalent experience)
- 7 years of experience as a Software Engineer on programs of similar scope and complexity
- Strong programming experience in Python and C
- Experience using Git for version control
- Experience developing, testing, and maintaining complex software systems
- Experience working with data-intensive or real-time applications
- Basic knowledge or exposure to RF (Radio Frequency) systems
- Experience working in Linux or distributed environments
- Familiarity with Agile development methodologies
- Experience developing algorithms or working with large data sets
- #CJ
We may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.