What are the responsibilities and job description for the Senior Software Engineer position at Tech Army, LLC?
Job Details:
Position: Senior Software Engineer
Location: Annapolis, MD - Hybrid Opportunity
Duration: 12 months with possible extensions
Required:
Project Plan
QUALIFICATIONS
Bachelor’s degree in computer science, or a related field (as determined by the AOC).
SCOPE OF WORK
1. Design and Development
a. Develop microservices using Spring Boot.
b. Create responsive user interfaces using React.
c. Apply event-driven design principles to build scalable and resilient applications.
d. Collaborate with cross-functional teams to design and implement software solutions.
2. Message Brokers
a. Implement message producers and consumers.
b. Work with RabbitMQ for message queuing and event streaming.
c. If experience is in Kafka, understand the architectural differences between RabbitMQ and Kafka.
3. Deployment and Infrastructure
a. Monitor and troubleshoot production systems.
b. Optimize application performance and scalability.
c. Deploy microservices to Kubernetes clusters, utilizing CI/CD pipeline.
4. Quality Assurance
a. Conduct system testing and debugging activities.
b. Write unit tests with a goal of 85% coverage and participate in peer code reviews.
5. Documentation and Communication
a. Design shall include sequence diagram for major use cases.
b. Document technical specifications, architecture, and design decisions.
c. Collaborate with product managers, designers, and other engineers to define requirements and deliverables.
6. Reporting
a. A weekly report communicating project progress and status. The AOC will provide the reporting format to the Successful Proposed Resource.
b. Resource will report activity on a weekly basis to communicate progress made on the programs/projects.
c. Weekly time reporting on JIS provided forms, and any additional reports as assigned by the supervising manager.
Preferred skills, experience, and capabilities:
a. Experience with:
(1) Front-end utilizing React and/or Angular.
(2) RabbitMQ or Kafka for message queuing.
(3) Elastic search.
b. Ability to:
(1) Analyze complex technical challenges and propose effective solutions.
(2) Excellent verbal communication skills
c. Knowledge of:
(1) The use of design patterns.
(2) Kubernetes for container orchestration.
(3) RESTful APIs and web services.
d. Excellent verbal communication skills
e. Proficiency in event-driven design principles.