Software Engineering - Annapolis Junction, MD - Full Time
What You Will Do:
As a Software Engineer, you will design, develop, deploy, and maintain secure, mission-focused applications supporting distributed operational environments. You will work across the full software development lifecycle, from design and development through deployment and sustainment, collaborating closely with cross-functional teams to ensure high availability, performance, and reliability. This role blends hands-on software engineering with operational support and system administration responsibilities across multiple production sites.
Key Responsibilities:
Develop, enhance, and maintain applications using Python
Build, deploy, and manage containerized applications using Docker
Design, implement, and optimize database solutions using MongoDB
Collaborate with team members using Git for version control, branching strategies, and code reviews
Participate in and support CI/CD pipelines and Agile software development processes
Conduct peer code reviews and provide constructive technical feedback
Manage and execute deployments to all production sites, including pushing new software versions and validating successful rollouts
Ensure minimal disruption to business operations during deployments and system updates
Provide on-site technical support, diagnosing and resolving issues related to hardware, applications, and user environments
Perform system administration tasks as needed to maintain operational stability across multiple locations
Collaborate with cross-functional teams to troubleshoot complex issues and maintain high system availability
Required Skills and Qualifications:
Strong proficiency in Python for application development
Hands-on experience with Docker and containerized application deployment
Experience designing and managing MongoDB databases
Solid understanding of Git and collaborative development workflows
Experience with JavaScript frameworks such as Angular (Angular 2+) and/or React for UI development
Familiarity with CI/CD pipelines, tools, and Agile methodologies
Strong problem-solving skills and ability to troubleshoot complex technical issues
Effective written and verbal communication skills
Exposure to tools such as Ansible, JIRA, Bitbucket, and Terraform is a plus
Familiarity with Kubernetes is desired
Education and Experience:
Bachelor’s degree in Computer Science or a related discipline from an accredited college or university
Four (4) additional years of Software Engineering experience on projects with similar software processes may be substituted for a bachelor’s degree on a case-by-case basis
Minimum of seven (7) years of experience as a Software Engineer supporting programs and contracts of similar scope, type, and complexity
Clearance Requirement:
Must possess an active TS SCI with appropriate Polygraph to be considered for this role
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.