Previous Job
Previous
Senior Full-Stack software engineer
Ref No.: 24-00375
Location: Reston, Virginia
As a Senior Full-Stack software engineer in our Product Delivery organization, candidate is expected to contribute to all areas of the software development lifecycle including requirement analysis, design, perform proof of concept, development, testing, operation support, and documentation. They must possess strong verbal and written communication skills, be self-driven and deliver high quality code in a fast-paced environment. Share passion to learning new technologies, participate in brown bag sessions and mentor other team members.
This is a Remote position (remote employees are assigned to work from a physical location of their choice within the company's default region of Washington, DC, Maryland, Virginia, and West Virginia). Depending on business need this may result in occasionally working in the company's DC or Virginia location.
ESSENTIAL FUNCTIONS:
  • Responsible for coding, deploying, testing, and troubleshooting java-based services as well as front-end Angular based applications and mentor for junior developers.
  • Works with stakeholders as well as technical and analytical counterparts to define constraints and develop requirements and concept of operations documentation.
  • Perform technical design, coding, deploying, testing, and troubleshooting java-based services and Angular applications. Serves as subject matter expert for both customer and internal discussions related to maintaining and enhancing existing software systems.
  • Decomposes functional and technical requirements into project activities and tasks and provides conceptual design, prototype, and test cycles appropriate to a chosen technical solution.
  • Performs operations & maintenance (O&M) of existing systems. Identifies areas for improvement and streamlining. Demonstrated experience with front-end and back-end programing and integration frameworks and tools.
  • Identifies technical risks and develops mitigation strategies; introduces and recommends industry best practices and standards for the project.
  • Ability to effectively work in a fast-paced environment with frequently changing priorities, deadlines, and workloads.
SUPERVISORY RESPONSIBILITY:
Position does not have direct reports but is expected to assist in guiding and mentoring less experienced staff. May lead a team of matrixed resources.
  • Education Level: Bachelor's Degree in Information Technology or Computer Science OR in lieu of a Bachelor's degree, an additional 4 years of relevant work experience is required in addition to the required work experience.
  • Experience: 7 years' experience with software development, basic coding and compilation, software architecture/design, user requirements definition and software specification development.
Knowledge, Skills and Abilities (KSAs)
  • Ability to communicate technical requirements to all levels of expertise.
  • Proficient in establishing and maintaining good working relationships.
  • Knowledge and understanding of software development life cycle (SDLC).
  • Proficient with integrating complex and/or existing systems.
  • Knowledge of programming languages (e.g. JavaScript, TypeScript, Java, Python, etc.).
  • Hands-on development experience using Java, Spring related technologies such as Spring Core, Spring Boot, Spring MVC, spring Batch and scheduler/task and Spring Integration.
  • Hands-on development experience using Angular and libraries (e.g., HTML/ CSS, JavaScript, XML, jQuery, Material UI, Angular Routes, jest/enzyme, Bootstrap5).
  • Experience in developing services using REST and SOAP APIs.
  • Excellent communication skills both written and verbal.
  • Knowledge of cloud technologies (e.g. AWS, Kubernetes).
  • Knowledge of database technologies (e.g. cloud, SQL, Oracle, Mongo DB, PostgreSQL, etc.).
  • Fundamental knowledge of software engineers' best practices, agile methodologies, CI/CD pipelines.
  • Knowledge of infrastructure, performance, monitoring.
  • Knowledge of test-first practices including Test-Driven Development (TDD) for unit tests and Behavior-Driven Development (BDD) for automated acceptance tests.
  • Strong experience with Deployment/Continuous Integration/ Continuous Testing/ Continuous Delivery processes and tools and have expertise in CI/CD tools and framework.
  • Knowledge of Code quality and promotion practices.