
Senior FullStack Java Developer
- Reston, VA
- Permanent
- Full-time
- 25% Perform technical detail design, coding, testing of applications.
- Serves as subject matter expert for both customer and internal discussions related to maintaining and enhancing existing software systems.
- Develop and/or analyze interface design documentation.
- Comply with hardware and software systems standards and procedures.
- Deliver large systems for tens of thousands of users.
- Comply with code quality, migration and dev/ops standards and policies
- 25% Performs software analysis, including requirements and uses case development and design.
- Implements and documents source code to design specifications.
- Performs software testing including developing and running automated unit tests, drafting, and executing structured automated test cases. Compile, assess, and report data results from software testing and analysis.
- 25% Develops software solutions for enterprise environments and other technologies.
- Analyzes and implements functional and non-functional (e.g. performance, availability) requirements and designs, implements, and tests software.
- 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.
- Assist in the estimation of development of application features
- 25% Provides direct technical support for high level, high visibility and critical trouble calls for supported applications.
- Works with cross functional teams to develop highly reliable software that runs at scale.
- Provides recommendations to infuse new technology.
- Extend open-source libraries and systems as necessary to meet the needs of the team.
- Play a crucial role in product scoping and roadmap / architecture discussions.
- Continually evaluate emerging technologies to identify opportunities, trends, and best practices.
- Candidatetoring of junior software engineers
- To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- Bachelor's Degree
- Information Technology or Computer Science
- 5 years of experience with software development, basic coding and compilation, software architecture/design, user requirements definition and software specification development.
- In lieu of a Bachelor's degree, an additional 4 years of relevant work experience is required in addition to the required work experience.
Knowledge, Skills and Abilities:
- Ability to communicate technical requirements to all levels of expertise., Advanced.
- Proficient in establishing and maintaining good working relationships., Advanced.
- Knowledge and understanding of software development life cycle (SDLC)., Advanced.
- Proficient with integrating complex and/or existing systems., Advanced.
- Knowledge of programming languages (e.g. Java, JavaScript, C, Python, etc.).,
- Proficient in Java stack such as spring framework, JMS, struts and tiles.
- Proficient in AWS cloud technologies and experience in migration from OnPrem to cloud.
- Proficient in Kubernetes Architecture, containerization, CLI, YAML.
- Proficient in deploy and manage application in Kubernetes cluster, scaling, networking, monitoring, logging and troubleshooting and debugging the application Advanced.
- Excellent communication skills both written and verbal., Advanced.
- Knowledge of cloud technologies (e.g. AWS, Azure), Proficient.
- Knowledge of database technologies (e.g. cloud, SQL, Oracle, Mongo DB, PostgreSQL, etc.), Advanced.
- Fundamental knowledge of software engineers' best practices, agile methodologies, CI/CD pipelines, Advanced.
- Knowledge of test-first practices including Test-Driven Development (TDD) for unit tests and Behavior-Driven Development (BDD) for automated acceptance tests, Advanced.
- Strong experience with Deployment/Continuous Integration/ Continuous Testing/ Continuous Delivery processes and tools and have expertise in CI/CD tools and framework, Advanced.
- Knowledge of Code quality and promotion practices, Advanced.