Position: Backend Java Software Engineer
Company: Abto Software
Experience required: 3y
English level: intermediate

**Project overview:**
Our client is an industry-leading public company with customers in more than 110 countries, operations on six continents, and an energized team of 2,000 employees. Their R&D Center is located at our headquarters in the USA.

Products are found in world-renowned landmarks, from the subway systems to the world’s tallest buildings. They are #1 in cement additives and #2 in concrete admixtures; #1 in bonded pre-applied waterproofing membranes and a global leader in waterproofing technologies. Their technologies reduce the environmental impact of our customers’ products and environment, health, and safety are core to our business and our culture.

The Client worldwide team is as diverse as the many countries where we operate. Together, we create and collaborate, sharing a commitment to focus, professionalism, knowledge applied, teamwork, and to outperform. When we enable our customers to succeed, so do we.

The Client has developed a new industry subcategory, In-Transit Concrete Management.
The company’s flagship solution in this sub-category is PROGRAM, a complex electromechanical control system for managing the properties of concrete during delivery. We convert the large data sets generated from these deliveries into simple and useful tools that help our customers run smarter operations and design better concrete.

The PROGRAM combines Industrial IOT, device automation, chemistry, machine learning, big data and “real-time” stream data processing in the cloud to revolutionize concrete production and delivery. To support demand, we are building the next generation of our cloud platform from the ground up using cutting-edge open-source technologies and best practices for development, CI/CD and security. We are also continually developing new software and hardware products and services for a variety of construction-related applications.

**Responsibilities:**
Participate in design, code reviews and pair programming;
Deliver quality code, including automated tests and infrastructure/deployment code;
Collaborate with your team to define your tech stack, best practices and processes;
Coordinate with UI, Site Reliability and Quality Assurance engineering teams to deliver end-to-end application features using agile and iterative development methodologies;
Foster a positive, inclusive and supportive engineering team culture focused on stability, velocity and technical expertise.

**Requirements (Must have):**
2+ for Middle and 5+ years for Senior Developer of recent hands-on experience working as a software developer as part of an agile team using a modern tech stack and delivering production code;
Recent and extensive experience developing with Java or Java derived languages like Kotlin, Scala, etc;
Experience with cloud providers like AWS and working on complex distributed applications that deployed to such environments;
Experience collaborating and reaching consensus with other developers and stakeholders in healthy and productive ways;
Experience with modern software development practices and tools (GIT, Jira, Agile methodologies, etc);
Ability to adapt and learn in a fast-paced environment. Respond well to change, handle priorities effectively and adapt to best fit with the situation at hand.

**Nice to have:**
Experience with the Kafka ecosystem (Kafka Connect, streams, etc) greatly preferred;
Experience working with stream processing, time series data, and/or microservice architectures;
Experience with any of the following tools or technologies: TimescaleDB, Docker, Postgres, Graphql Engine, Prometheus, Zookeeper, Terraform, Kubernetes;
Understanding of best practices and performance optimization concepts as they relate to distributed computing and multi-tenant SaaS applications;
Experience with machine learning, data analytics and enabling business intelligence functions;
Experience working with short release cycle.