Senior Software Engineer

Overview

Hybrid
Depends on Experience
Full Time

Skills

AngularJS
Apache Kafka
Microservices
RESTful
RabbitMQ
React.js
Kubernetes
Spring Framework
Web Services
Elasticsearch

Job Details

Job Summary:

The AOC is seeking proposals from prospective Offerors to provide one (1) Senior Software Engineer. The Senior Software Engineer will play a critical role in designing, developing, and maintaining two of the AOC s primary applications being rewritten. The focus areas include event-driven design, Spring Boot, microservices architecture, Kubernetes, React, Elastic search, and either RabbitMQ or Kafka

Key Responsibilities:

Design and Development

  • Collaborate with cross-functional teams to design and implement software solutions.
  • Apply event-driven design principles to build scalable and resilient applications.
  • Develop microservices using Spring Boot.
  • Create responsive user interfaces with React.

Message Brokers

  • Work with RabbitMQ for message queuing and event streaming.
  • If experience is in Kafka, understand the architectural differences between RabbitMQ and Kafka.
  • Implement message producers and consumers.

Deployment and Infrastructure

  • Deploy microservices to Kubernetes clusters, utilizing CI/CD pipeline.
  • Monitor and troubleshoot production systems.
  • Optimize application performance and scalability.

Quality Assurance

  • Write unit tests with a goal of 85% coverage and participate in peer code reviews.
  • Conduct system testing and debugging activities.

Documentation and Communications

  • Document technical specifications, architecture, and design decisions.
  • Design shall include sequence diagram for major use cases.
  • Collaborate with product managers, designers, and other engineers to define requirements and deliverables.

Required Skills:

  • Experience
    • Front-end experience utilizing React and/or Angular.
    • Either RabbitMQ or Kafka for message queuing.
    • Elastic search experience is a plus.
  • Knowledge
    • Strong knowledge of the use of design patterns.
    • Familiarity with Kubernetes for container orchestration.
    • Familiarity with RESTful APIs and web services.
  • Proficiency in event-driven design principles.
  • Ability to analyze complex technical challenges and propose effective solutions.
  • Excellent verbal communication skills.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.