Write and review detailed designs for the development of complex system components.
Work closely with other development team members to understand complex product requirements and translate them into software designs.
Interface with other technical personnel or team members to finalize requirements.
Implement and test solutions using best coding practices.
Complete complex bug fixes.
Participate in our Agile development environments while collaborating with key stakeholders.
Resolve complex technical issues as necessary.
Train entry-level software engineers as directed by department management, ensuring they are knowledgeable in critical aspects of their roles.
Keep abreast of new technology developments.
Design and work with complex data models.
Mentor software developers on development methodologies and optimization techniques.
REQUIRED SKILLS
5 years of Software Engineering experience in Java.
3 years of experience showing strong computer science fundamentals: data structures, algorithms, programming languages, distributed systems, and information retrieval.
2 years of experience leading and architecting software solutions.
2 years of experience designing and building APIs with microservices using REST, Spring boot, Swagger, and/or Micronaut.
BS Engineering/Computer Science OR equivalent experience.
DESIRED SKILLS
Experience developing solutions with Elasticsearch, Solr, Lucene, or noSQL databases.
Production experience with large Elasticsearch or Solr deployments
Experience building distributed data ingestion pipelines, batch data processing.
Experience with containerization, Docker and Kubernetes.
Unit Test, Integration test, and Sonarqube experience, with an understanding of how to make testing part of the development process
Strong preference for individuals with experience development and deploying applications using AWS and/or Azure cloud.
Good oral and written communications skills.
Ability to work well with internal and external technology resources.
Ability to write and review portions of detailed specifications for the development of complex system components.
Ability to interface competently with other technical personnel or team members to finalize requirements.
20 Initiatives to Boost Employee EngagementAre you struggling with improving employee engagement at work? This article covers everything from better communication to building a strong workplace culture.
30 Common Interview Mistakes to AvoidThis piece examines 30 of the most common mistakes applicants make at interviews, so you know how to better avoid them.