Position: Senior Full-Stack / Backend Engineer
Company: Caracal Software
Category: Java
Experience required: 5y
English level: intermediate

We are looking for a senior full stack engineer with experience at building web or mobile applications for enterprise or consumers. You will help design, build and maintain scalable applications. You have experience working closely with third party vendors, engineering teams and business stakeholders to understand the use cases and build end-to-end solutions.
You are self motivated and can work independently or partner closely with other engineers on a project. You are passionate about building quality products and want to own product development end-to-end, leading with the right design and development principles. You have strong communication and collaboration skills. You are a problem solver and like to challenge yourself with building scalable and high performing applications, taking design tradeoffs into account.

You will be a core member of the engineering team, shaping the future spirit of our company.

Key Responsibilities:
* Design, implement, test, deploy and support software solutions by analyzing customer requirements translating those into a custom tailored deliverable.
* Work with other engineers, architects, product managers, and domain teams to develop innovative solutions.
* Push for a high quality bar during all phases of development, while not compromising on security, code and design reviews, testing and best practices.
* Work well independently and in multi-group cross-discipline environments.
Identify project risks and work effectively to mitigate them.
* Communicate with users, other technical teams and management to collect requirements, identify tasks, provide estimates and meet production deadlines.

Requirements:
* Master or bachelor’s degree in Computer Science with at least 5 years of experience as a software engineer.
* A solid foundation in computer science, with strong competencies in data structures, algorithms and software design.
* Superb communication, presentation, interpersonal and analytical skills.
* Experience in developing high performance, scalable and available web services.
* Fluent with either functional, imperative or object-oriented paradigms. 
* Fluent with one of the following programing languages - Java/Scala/Kotlin/JavaScript.
* Nice to have - experience in web application (UI) development technologies: NodeJs, CSS, HTML5.
* Nice to have - experience in Machine Learning, Information Retrieval, Recommendation Systems, as well as BigData (Hadoop / Spark / Hive).
* Nice to have - experience working on Unix and/or Linux platforms.