Title: Senior Software Engineer Location: Hybrid, site location and cadence for in office,Hybrid to Reston Virginia Duration: 24 month (long term) Job Description: The ideal candidates should have a minimum of 8 years of IT experience in relevant fields and demonstrate strong technical skills.
Job Responsibilities: Develop and maintain applications: Writing clean, efficient, and maintainable code using Java, Spring Boot and Python.
Design and implement APIs: Creating RESTful services and ensuring they are well-documented and secure.
Integrate APIs with AWS services: Utilize AWS SDK to write code that efficiently interacts with AWS services.
Such as making API calls, handling responses, and managing errors.
Application architecture and code review: Improving code quality, identifying and remediating vulnerabilities and resolving potential conflicts of 3rd party (transitive) libraries.
Testing and debugging: Writing unit tests, integration tests, Test Automation frameworks, and debugging issues to ensure high-quality software.
Continuous integration and deployment: Setting up and maintaining CI/CD pipelines to automate the build, test, and deployment processes.
Database management: Working with databases, writing queries, and ensuring data integrity.
Required Skills: Proficiency in Java & Python: Strong understanding of Java and Python programming languages and its core libraries.
Spring Framework: In-depth knowledge of Spring Boot, Spring MVC, Spring Data, Spring Security, and other Spring modules.
RESTful APIs: Experience in designing and consuming RESTful web services, hands-on experience with Swagger UI for API documentation, and perform end to end test for Rest API using tools such as Postman.
AWS SDK: Hands on experience of core AWS services like Amazon S3, Secret Manager, EC2, ECR, ECS, Lambda, SQS, SNS, System Manager, RDS, CloudWatch etc.
Testing frameworks: Knowledge of TDD, BDD and testing frameworks like JUnit, PyTest, Mockito, Selenium-cucumber etc.
Testing Platforms & Tools: Knowledge and hands-on experience of tools such as SauceLabs, JMeter, Gatling, LoadRunner etc.
Version control: Proficiency with version control systems like Git.
Build Tools: Understand and hands-on experience of Maven, Java Archive (JAR) files, which package Java class files and resources, know how to use local and remote repositories to manage dependencies, and handle transitive dependencies Code Quality Analysis: Knowledge and hands on experience with tools such as Nexus IQ, evaluate the Security vulnerabilities associated with Java/3rd party libraries (Ex.
Springboot, Log4j) and remediate the vulnerabilities by upgrade/refactor the code.
DevOps tools: Familiarity with CI/CD tools like Jenkins, Docker, Gitlab, Terraform, etc.
Automation and Infrastructure as Code: Familiarity with AWS CloudFormation or Terraform for automating API deployment and management.
Database knowledge: Familiarity with SQL databases like Oracle, PostgreSQL etc.