Sr.Software Engineer

Overview

Hybrid
Depends on Experience
Full Time

Skills

AngularJS
Apache Kafka
Kubernetes
RabbitMQ
React.js
Elasticsearch
Scalability
RESTful
Web Services
Use Cases
System Testing

Job Details

We are seeking a Senior Software Engineer who will play a critical role in designing, developing, and maintaining complex software systems. This role requires expertise in modern software development practices, with a focus on event-driven architecture, Spring Boot, microservices, Kubernetes, React, ElasticSearch, and RabbitMQ or Kafka.

Required Experience:

  • Front-end experience utilizing React and/or Angular.
  • Experience in either RabbitMQ or Kafka for message queuing.
  • Experience in Elastic search experience is a plus.
  • 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.

Education:

  • Bachelor s degree in computer science, or a related field.

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.
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.