What are the responsibilities and job description for the Software Engineer position at ASSYST, Inc.?
ASSYST is seeking a highly skilled Software Engineer to support our client's application development program at Annapolis, Maryland.
The ideal candidate will have experience in developing microservices, building scalable and resilient applications, and working with message brokers. This role involves collaborating with cross-functional teams to design, implement, and optimize software solutions.
Job Type: Contract (Corp to Corp/C2C or 1099)
Job Location: Annapolis, Maryland (Hybrid 3 Days onsite, 2 Days remote)
Responsibilities:
- Develop Microservices using Spring Boot.
- Create responsive user interfaces using React.
- Apply event-driven design principles to build scalable and resilient applications.
- Collaborate with cross-functional teams to design and implement software solutions.
- Implement message producers and consumers.
- Work with RabbitMQ for message queuing and event streaming.
- Understand the architectural differences between RabbitMQ and Kafka if experienced in Kafka.
- Monitor and troubleshoot production systems.
- Optimize application performance and scalability.
- Deploy microservices to Kubernetes clusters, utilizing CI/CD pipelines.
- Conduct system testing and debugging activities.
- Write unit tests with a goal of 85% coverage and participate in peer code reviews.
- Design sequence diagrams for major use cases.
- Document technical specifications, architecture, and design decisions.
- Collaborate with product managers, designers, and other engineers to define requirements and deliverables.
- Provide a weekly report communicating project progress and status based on the provided reporting format.
Required Skills and Experience:
- Experience with front-end technologies using React and/or Angular.
- Proficiency in RabbitMQ or Kafka for message queuing.
- Hands-on experience with Elasticsearch.
- Strong analytical and problem-solving skills to tackle complex technical challenges.
- Excellent verbal and written communication skills.
- Knowledge of design patterns and best practices in software development.
- Experience with Kubernetes for container orchestration.
- Expertise in RESTful APIs and web services.
- Proficiency in event-driven design principles.
Preferred Qualifications:
- Prior experience working in an Agile development environment.
- Familiarity with cloud services and DevOps best practices.
- Understanding of CI/CD pipelines for automated deployment.
ASSYST is an Equal Opportunity Employer. Qualified applicants will receive consideration for employment without regard to race, color, religion, sex, age, disability, military status, national origin or any other characteristic protected under federal, state, or applicable local law