Overview
We are seeking proposals for two Remote Software Engineers to design, develop, and maintain our primary applications currently undergoing a rewrite. Key focus areas include event-driven design, Spring Boot, microservices architecture, Kubernetes, React, Elastic Search, and either RabbitMQ or Kafka.
Qualifications
- Minimum Qualifications:
- Bachelor’s degree in computer science or a related field.
- Preferred Qualifications:
- Ten years of relevant experience in software development.
Scope of Work
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 using React.
Message Brokers:
- Work with RabbitMQ for message queuing and event streaming.
- Understand architectural differences between RabbitMQ and Kafka, if experience is in Kafka.
- Implement message producers and consumers.
Deployment and Infrastructure:
- Deploy microservices to Kubernetes clusters using CI/CD pipelines.
- 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 Communication:
- Document technical specifications, architecture, and design decisions.
- Include sequence diagrams for major use cases.
- Collaborate with product managers, designers, and other engineers to define requirements and deliverables.
Reporting:
- Provide a weekly report communicating project progress and status.
- Submit weekly time reports on provided forms, and any additional reports as assigned by the supervising manager.
Skills, Experience, and Capabilities
Technical Skills:
- Proficiency in event-driven design principles.
- Strong knowledge of Spring Boot and microservices architecture.
- Experience with Spring JPA.
- Familiarity with Kubernetes for container orchestration.
- Front-end experience utilizing React and/or Angular.
- Experience with RabbitMQ or Kafka for message queuing.
- Familiarity with RESTful APIs and web services.
- Elastic search experience is a plus.
Communication Skills:
- Excellent verbal and written communication skills.
- Ability to establish and maintain effective working relationships with peers, end-users, and vendor development staff, as well as all levels of management.
Problem-Solving Abilities:
- Ability to analyze complex technical challenges and propose effective solutions.
Place of Performance
- Work will be performed 100% remotely from a suitable off-site location.
- On-site support may be required as designated by the Chief Technology Officer.
- The proposed resource(s) must be able to report on-site within seventy-two hours after notification, if required.
- The allocation of onsite and remote work may be modified throughout the contract duration.
Schedule and Coordination
- The proposed resource(s) shall work during normal operating hours, Monday through Friday, 8:00 AM to 4:30 PM EST, with flexibility to extend hours as needed.
- A two to four-week training period will be provided.
- The proposed resource(s) must be available to provide on-call operational support as required outside business hours.
We are seeking proposals for two Remote Software Engineers to design, develop, and maintain our primary applications currently undergoing a rewrite. Key focus areas include event-driven design, Spring Boot, microservices architecture, Kubernetes, React, Elastic Search, and either RabbitMQ or Kafka.
Qualifications
- Minimum Qualifications:
- Bachelor’s degree in computer science or a related field.
- Preferred Qualifications:
- Ten years of relevant experience in software development.
Scope of Work
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 using React.
Message Brokers:
- Work with RabbitMQ for message queuing and event streaming.
- Understand architectural differences between RabbitMQ and Kafka, if experience is in Kafka.
- Implement message producers and consumers.
Deployment and Infrastructure:
- Deploy microservices to Kubernetes clusters using CI/CD pipelines.
- 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 Communication:
- Document technical specifications, architecture, and design decisions.
- Include sequence diagrams for major use cases.
- Collaborate with product managers, designers, and other engineers to define requirements and deliverables.
Reporting:
- Provide a weekly report communicating project progress and status.
- Submit weekly time reports on provided forms, and any additional reports as assigned by the supervising manager.
Skills, Experience, and Capabilities
Technical Skills:
- Proficiency in event-driven design principles.
- Strong knowledge of Spring Boot and microservices architecture.
- Experience with Spring JPA.
- Familiarity with Kubernetes for container orchestration.
- Front-end experience utilizing React and/or Angular.
- Experience with RabbitMQ or Kafka for message queuing.
- Familiarity with RESTful APIs and web services.
- Elastic search experience is a plus.
Communication Skills:
- Excellent verbal and written communication skills.
- Ability to establish and maintain effective working relationships with peers, end-users, and vendor development staff, as well as all levels of management.
Problem-Solving Abilities:
- Ability to analyze complex technical challenges and propose effective solutions.
Place of Performance
- Work will be performed 100% remotely from a suitable off-site location.
- On-site support may be required as designated by the Chief Technology Officer.
- The proposed resource(s) must be able to report on-site within seventy-two hours after notification, if required.
- The allocation of onsite and remote work may be modified throughout the contract duration.
Schedule and Coordination
- The proposed resource(s) shall work during normal operating hours, Monday through Friday, 8:00 AM to 4:30 PM EST, with flexibility to extend hours as needed.
- A two to four-week training period will be provided.
- The proposed resource(s) must be available to provide on-call operational support as required outside business hours.