Description:
We are seeking a highly skilled and experienced Software Engineer with expertise in building and scaling applications in fast-paced environments. The ideal candidate will have strong proficiency in Java/Groovy, Spring, Kafka, RabbitMQ, caching technologies like Memcached, and databases such as Cassandra and Postgres. Additionally, experience with public cloud infrastructure, CI/CD tools like GitHub and Jenkins, and monitoring tools such as Grafana, Splunk, and Dynatrace is essential. You will play a critical role in designing, developing, and maintaining high-performance applications that can handle a large number of requests, ensuring system reliability and scalability.
Key Responsibilities:
- Design, develop, and maintain scalable, high-performance applications.
- Utilize Java and Spring frameworks to build backend services.
- Implement messaging and streaming systems using Kafka and RabbitMQ.
- Familiarity with GraphQL is a plus.
- Design and optimize caching strategies using EHCache, Memcached, or similar technologies.
- Work with databases such as Cassandra and Postgres for data storage solutions.
- Work with public cloud infrastructure (AWS, GCP, or Azure) to ensure applications are highly available and resilient.
- Collaborate with team members through pair programming, design discussions, and code reviews to solve complex problems and ensure high-quality deliverables.
- Develop and execute unit tests, integration tests, and use Spock/Groovy for testing.
- Monitor and troubleshoot application performance using tools like Grafana, Splunk, and Dynatrace.
- Build and maintain CI/CD pipelines using GitHub and Jenkins.
- Understanding of front-end technologies such as React, JavaScript, etc.
- Participate in an on-call rotation to provide support for production systems.
- Ensure code quality, system scalability, and optimal performance in production environments.
- Work in an agile, fast-paced environment, adhering to best practices for CI/CD and DevOps.
Requirements:
Proficiency in:
- Groovy/Java and Spring frameworks
- Databases such as Cassandra and Postgres
- Kafka and RabbitMQ for messaging and streaming
- Caching technologies like EHCache and Memcached
- Public cloud infrastructure (AWS, GCP, Azure)
- GitHub and Jenkins for version control and CI/CD pipelines
- Grafana, Splunk, and Dynatrace for monitoring and performance analysis
- Groovy and Spock for automated testing
- Unit testing and integration testing methodologies
- Experience in building and scaling applications to handle a high volume of requests.
- On-call experience: Ability to troubleshoot production issues and provide timely resolutions.
- Experience in fast-paced environments, with the ability to deliver under tight deadlines.
- Strong collaboration skills, including experience with pair programming and cross-functional teamwork.
- Familiarity with CI/CD pipelines and agile methodologies.
- Location: Candidate must be local to Minneapolis, MN.
- The candidate must be willing to come to the office at least 2 times a week, depending on team alignment.