We are looking for a Lead Software Engineer (Java) with experience building high-performing, scalable, enterprise-grade applications. Joining Exadel, you will be part of a talented software team that works on mission-critical applications.
Work at Exadel - Who We Are
Since 1998, Exadel has been engineering its products and custom software for clients of all sizes. Headquartered in Walnut Creek, California, Exadel has 2,000+ employees in development centers across America, Europe, and Asia. Our people drive Exadel’s success and are at the core of our values.
About Our Customer
The leading European provider of e-tendering, procurement systems, and information between buyers and suppliers. The European government is a major user of their services.
About Our Project
Want more jobs like this?
Get jobs delivered to your inbox every week.
The customer is acquiring new systems as part of consolidating the market, and all these systems have to be united into a future platform. Some will continue as is, while others need modernization. Some areas need individual parts carved out or need to be rebuilt from scratch using better architecture. We will also need to upgrade customers to a future better platform before sunsetting the old one. Despite all these different approaches, almost all of them have to talk together, either temporarily or permanently.
Requirements
- Solid Java background with the latest Java versions
- Competency in working with modern architecture types
- Extensive experience in AWS (ECS, EKS, Lambda, S3, API Gateway)
- Proficiency in working with modern CI/CD tools (GitHub actions, GitLab CI, Jenkins, Circle CI)
- Containerized application deployment (Docker), Kubernetes
- Knowledgeable in relational and non-relational databases
- Expertise in implementing non-functional requirements (security, performance, scalability)
- Grounding in infra as a code (CDK, Terraform, Chef, Puppet, Ansible)
- Knowledge of Kafka or other messaging systems
- Lead experience is a must
English level
Upper-Intermediate
Responsibilities
- Produce code using Java best practices
- Collect data from external sources and the customer’s service to compile it into one source
- Build services for data processing with data entry included (manually)
- Automate most of the existing manual work
- Collaborate with the cross-functional development team to bring static designs and prototypes to life, providing constructive feedback to optimize implementation and usability
- Provide solutions to technical problems of varying scope and complexity
- Collaborate with management to determine priorities and risks associated with projects
- Ensure all relevant processes, procedures, and product documentation are up-to-date
- Participate in all aspects of the product, including design, development, deployment, and maintenance
- Lead the Team