Position: Aktana Middle Java Developer (with AWS experience) _1820
Company: Exadel
Category: Java
Experience required: 3y
English level: intermediate
Published: 2021-10-01T00:00:00+03:00

**Work at Exadel - Who We Are:**
Since 1998, Exadel has been engineering its own software products and custom software for clients of all sizes. Headquartered in Walnut Creek, California, Exadel currently has 1700+ employees in development centers across America, Europe, and Asia. Our people drive Exadel’s success, and they are at the core of our values, so Exadel is a people-first cultured company.

**About Our Customer:**
The customer is based in California and is a leader in actionable analytics for sales effectiveness. It is revolutionizing how field sales teams make their day-to-day decisions, providing them with real-time, in-context, and in-workflow smart suggestions that have been shown to meaningfully improve rep performance.

**About Our Project:**
The customer provides a Salesforce data-based intelligence platform that analyzes all daily activity of pharmaceutical company representatives around all regions, providing intelligent suggestions of actions to boost engagements and sales. The platform consists of a highly-customizable in-house business rules engine, a set of configuration tools, middleware services, and an ever-growing set of machine learning modules that are able to combine analysis results into a single set of actionable insights. The product also helps provide detailed reports on company activities and results. 

Exadel is involved in moving the product from a legacy infrastructure to a highly resilient AWS/K8s/IaC-based deployment, redesigning rules engine customization, configuration, and middleware modules and helping to enhance and redesign customer onboarding and data processing process. We are actively involved in the development of new modules all across the system.

**Project Team:**
Placement will be with one of the dedicated scrum teams, with an opportunity to participate in cross-team architecture, design activities, and overall platform development. Scrum team will consist of Scrum master, five developers, and two QA, with support of dedicated product and project management.

**Requirements:**
- 3+ years of relevant experience
- Deep architecture-level experience in Java-based microservice middleware technologies: Spring Boot and related frameworks
- Experience designing and developing enterprise-level SaaS applications.
- Deep understanding and architecture experience of REST APIs and knowledge of Web API design in general.
- Experience in infrastructure as a code (Terraform, Ansible) in cloud environment (AWS), including security principles involved
- Experience in building gateways for microservices; setting up logging, tracing, monitoring, and health-checks; and using various observability tools
- Experience with containerization (Docker) and orchestration (Kubernetes) is a plus
- Experience in source and artifact control systems and tools (git, artifactory, gradle)
- Knowledge of database systems (MySql)
- Experience or knowledge of identity management and role-based access control systems (e.g Keycloak)
- Understanding of common design patterns  and appreciation of 12-factor app methodology
 
**Nice to have:**
- Open to relocation options
- Good understanding of CI/CD principles and related tools in at least one ecosystem (AWS Code tools, Jenkins, Github actions, etc.)
- Knowledge and experience with Tomcat, Jetty, Netty, Nginx, Node.js.
- Experience and good understanding of data integration frameworks
- Understanding and/or experience in digital marketing domain and/or Salesforce ecosystem
- Experience or knowledge of auto-scaling techniques, on-demand infrastructure provisioning, and capacity management in AWS (EMR, EC2, Fargate)

**Responsibilities:**
- Collaborate with other team members and groups to identify and develop scalable application and infrastructure designs
- Work on implementation of new modules or migration of existing ones
- Improve and automate services, processes, and documentation
- Be an active participant in deep architectural design discussions
- Be responsible for your own code deployment and support

**Advantages of Working with Exadel:**
- You can build your expertise with our Sales Support team, who provide assistance with existing and potential projects
- You can join any Exadel Community or create your own to communicate with like-minded colleagues
- You can participate in continuing education as a mentor or speaker 
- You can take part in internal and external meetups as a speaker or listener. We support you in broadening your horizons and encourage knowledge sharing for all of our employees
- You can learn English with the support of native speakers
- You can take part in cultural, sporting, charity, and entertainment events
- Working at Exadel means always upgrading your skills and proficiency, so we provide plenty of opportunities for professional development. If you’re looking for a challenge that will lead you to the next level of your career, you’ve found the right place 
- We work hard to ensure honest and open relations between employees and leadership, so our offices are friendly environments