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**
Why Choose Independent Software:
At Independent Software, our people are the mission. We’ve built a company around collaboration, integrity, and innovation and we make sure our team has the tools and support to grow, succeed, and thrive.
When you join us, you will:
Support critical national security missions that matter
Be part of a close-knit, employee-first culture where your voice is heard
Expand your skills through ongoing training, mentorship, and career development
Enjoy competitive compensation, generous benefits, and work-life balance
Ready to take the next step in your career? Join us and be part of something bigger.
Apply today.
We’re an equal opportunity employer. All applicants will be considered for employment without attention to race, color, religion, sex, sexual orientation, gender identity, national origin, veteran or disability status.