What You Will Do: As a Software Engineer Level 2 at Independent Software, you will develop, maintain, and enhance complex software systems supporting mission-critical operations. You will work both independently and as part of a team to design, implement, and test solutions that support large-scale data processing, system integration, and performance-driven environments.
In this role, you will take on increased responsibility in system design, technical decision-making, and team collaboration. You may lead development efforts, contribute to architectural discussions, and help guide junior engineers while ensuring high-quality software delivery.
Key Responsibilities:- Analyze user requirements and translate them into software design and performance solutions
- Design, develop, test, and maintain complex software applications and components
- Debug software and resolve defects across development and production environments
- Modify existing software to improve performance, scalability, and functionality
- Integrate software into new or existing systems and environments
- Design and implement database queries and data interfaces
- Contribute to system architecture and design decisions, including trade-offs and reuse
- Lead or support development efforts within Agile teams
- Develop and execute test procedures and support system validation activities
- Analyze system performance and recommend improvements
- Create and maintain technical documentation
- Collaborate with system engineers, hardware engineers, and other stakeholders
Required Skills and Qualifications: - Strong experience with one or more programming languages (Java, Python, C, or C++)
- Experience designing, developing, testing, and debugging complex software systems
- Experience with software development lifecycle (SDLC) and Agile methodologies
- Experience working with databases and writing complex queries (SQL or similar)
- Understanding of system architecture, integration, and performance optimization
- Ability to work independently and contribute to team leadership when needed
- Strong analytical, problem-solving, and communication skills
Preferred Skills: - Experience with Java frameworks (Spring, Hibernate)
- Experience with CI/CD pipelines and automated testing tools (e.g., Jenkins, GitLab CI, SonarQube)
- Experience with containerization technologies (Docker, Kubernetes, OpenShift)
- Experience with microservices architecture
- Experience with monitoring tools (Kibana, Grafana, Nagios)
- Scripting experience (Python, Bash, or Shell)
Education and Experience: - Bachelor's degree in Computer Science or a related technical discipline from an accredited college or university is required
OR- Fourteen (14) years of Software Engineering experience
OR- Four (4) additional years of Software Engineering experience may be substituted for a degree
Clearance Requirement:- Must possess an active TS SCI with appropriate Polygraph to be considered for this role
**This position is contingent on contract award**