Software Engineer

DTC Job
Tysons, VA, United States
25 days ago
Apply on www.indeed.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
2 years minimum
Compensation
$95,000.0 - $115,000.0
Working hours
Regular working hours
Job source

Tech stack

Testing (Software) Java (Programming Language) JavaScript (Programming Language) Application Programming Interfaces (APIs) Agile Methodology Application Integration Architecture Software Applications Application Performance Management Unit Testing C Sharp (Programming Language) C++ (Programming Language) Configuration Management
+34 more
Software Documentation Software Quality Code Review Databases Computer Engineering Continuous Delivery Continuous Integration Data Integration Data Security Data Structures Relational Databases Database Queries Software Debugging Software Design Patterns Programming Tools Disaster Recovery Integrated Development Environments Python (Programming Language) Scrum Methodology Software Deployment Software Engineering Software Requirements Analysis Software Systems SQL Stored Procedures SQL Databases System Testing Systems Integration Web Services Software Troubleshooting Git Information Technology Software Version Control Devsecops Programming Languages

Job description

The Software Engineer designs, develops, codes, tests, debugs, documents, implements, and maintains software applications and systems that support customer, business, and mission requirements. The Software Engineer analyzes technical and functional requirements and develops or modifies software solutions while considering system capabilities, limitations, operating requirements, performance, and desired results., * Design, develop, code, test, debug, document, implement, and maintain software applications, components, interfaces, and supporting systems.

  • Develop and modify software procedures and applications to solve technical and business problems while considering system capabilities, limitations, operating requirements, performance, and desired results.
  • Analyze business, functional, and technical requirements and translate requirements into effective software solutions.
  • Participate in all phases of the software development lifecycle, including requirements analysis, design, development, testing, integration, deployment, maintenance, and enhancement.
  • Develop clean, efficient, maintainable, secure, and well-documented source code in accordance with established development standards and best practices.
  • Create and maintain software design documentation, technical specifications, process flows, diagrams, test documentation, and other system artifacts.
  • Develop, configure, and maintain application interfaces, APIs, web services, and system integrations as required.
  • Coordinate software requirements with existing and projected system capabilities and customer requirements.
  • Develop and execute unit tests and support integration, system, regression, and user acceptance testing activities.
  • Identify, troubleshoot, debug, and resolve software defects, application errors, performance issues, and integration problems.
  • Analyze existing applications and recommend modifications, enhancements, upgrades, or other improvements.
  • Support maintenance, sustainment, modernization, and enhancement of existing software applications and systems.
  • Participate in code reviews and technical reviews to improve software quality, security, performance, maintainability, and reliability.
  • Implement software changes and releases in accordance with established configuration management and change management processes.
  • Utilize source/version control tools to manage application code, changes, releases, and software baselines.
  • Support application deployments and software releases across development, testing, staging, training, disaster recovery, and production environments, as applicable.
  • Support automated build, test, deployment, and continuous integration/continuous delivery (CI/CD) processes, where applicable.
  • Develop and maintain database queries, stored procedures, data access components, and application/database integrations, as required.
  • Apply secure software development practices and support remediation of software vulnerabilities identified through security reviews, testing, scanning, or other assessment activities.
  • Monitor and evaluate application performance and recommend improvements to enhance reliability, scalability, usability, and efficiency.
  • Provide technical support and troubleshooting for applications and software components in development and production environments.
  • Support root-cause analysis and resolution of application incidents and recurring technical issues.
  • Collaborate with customers, users, system engineers, database administrators, infrastructure teams, cybersecurity personnel, quality assurance personnel, and other technical resources.
  • Estimate level of effort, technical complexity, dependencies, and development timelines for assigned tasks and software enhancements.
  • Participate in Agile/Scrum, DevSecOps, or other established software development methodologies, as applicable.
  • Communicate technical concepts, risks, issues, and recommendations to technical and non-technical stakeholders.
  • Maintain current knowledge of software development technologies, programming languages, frameworks, security practices, and industry best practices.
  • Perform additional duties as assigned based on contract requirements.

Requirements

  • Knowledge of software engineering principles, methodologies, design patterns, and software development lifecycle practices.
  • Demonstrated ability to design, code, develop, test, debug, document, and maintain software applications.
  • Proficiency with one or more programming languages such as Java, C#, C/C++, Python, JavaScript, or comparable technologies.
  • Experience with software development frameworks, libraries, development tools, and integrated development environments appropriate to assigned applications.
  • Experience developing and/or integrating APIs, web services, or other application interfaces.
  • Working knowledge of relational databases, SQL, data structures, and application/database integration.
  • Experience with source/version control systems such as Git or comparable technologies.
  • Knowledge of software testing practices, including unit, integration, regression, and system testing.
  • Understanding of secure software development principles and practices.
  • Ability to analyze functional and technical requirements and translate them into software solutions.
  • Ability to troubleshoot software and application issues and perform root-cause analysis.
  • Strong analytical, critical-thinking, and problem-solving skills.
  • Excellent organizational skills and attention to detail.
  • Excellent verbal and written communication skills.
  • Ability to create and maintain clear technical documentation.
  • Ability to work effectively independently and as part of a multidisciplinary technical team.
  • Ability to manage multiple assignments and priorities while meeting established deadlines.
  • Regular and predictable attendance., * Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, Information Technology, or a related technical field and a minimum of four (4) years of relevant software development/software engineering experience; OR
  • High school diploma/equivalent and a minimum of eight (8) years of relevant experience; OR
  • Master’s degree in Computer Science, Software Engineering, Computer Engineering, Information Technology, or a related technical field and a minimum of two (2) years of relevant experience.

Physical Requirements:

  • Prolonged periods sitting at a desk and working on a computer.
  • Must be able to lift up to 15 pounds at time

Other Requirement:

  • Ability to obtain a public trust, * Do you have professional experience supporting a U.S. Federal Government agency or performing work under a federal government contract?
  • How many years of professional software development/software engineering experience do you have?
  • Which programming languages have you used professionally?
  • Do you have experience working in Agile, Scrum, DevSecOps, or CI/CD environments?
  • Are you legally authorized to work in the United States?
  • Are you able to successfully complete and maintain the background investigation, suitability determination, Public Trust, or other access requirements required for the position?

Work Location: Hybrid remote in Tysons Corner, VA 22102

Benefits & conditions

Pulled from the full job description

  • AD&D insurance
  • 401(k)
  • Health insurance
  • 401(k) matching
  • Paid time off
  • Vision insurance
  • Health savings account, * 401(k)
  • 401(k) matching
  • AD&D insurance
  • Dental insurance
  • Disability insurance
  • Flexible spending account
  • Health insurance
  • Health savings account
  • Life insurance
  • Paid time off
  • Vision insurance

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.indeed.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:20 min

Identifying multi-disciplinary talent for developer experience engineering roles

Hazal Mestci +1 · Coffee With Developers

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

1:15 min

Key lessons learned from implementing automated mobile DevSecOps

Moataz Nabil Moataz Nabil · LIVE

3:04 min

Database evolution and the funding behind vector databases

Erik Bamberg · LIVE

3:09 min

Balancing data science skillings alongside systems engineering rigor

Nico Schmidt · LIVE

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

Videos

See all

Related articles

See all