Java Developer for Cacoo

Location: New York, NY Type: Full Time Salary: Negotiable

* Support visas but only for the developers who are already in U.S. legally.

* Must have at least 3 years professional experience.

Job Description

We are looking for a Back-End Java Developer (Java) responsible for managing the interchange of data between the server and the users. Your primary focus will be development of all server-side logic, definition and maintenance of the central database, and ensuring high performance and responsiveness to requests from the front-end. You will also be responsible for integrating the front-end elements built by your coworkers into the application. A deep understanding of front-end technologies is therefore necessary as well.

Responsibilities

  • Integration of user-facing elements developed by a front-end developers with server side logic
  • Optimization of the application for maximum speed and scalability
  • Design and Implementation of security and data protection
  • Design and implementation of data storage solutions and multithreaded Web Application (Java) utilizing web application frameworks
  • Develops applications using dependency injection and configuration driven behaviors
  • Conduct Unit tests, code review, refactoring current source code, assessment and improvement of performance.
  • Settings and improvement on CI (ex.Jenkins)

Skills and Qualifications

  • Deep understanding of front-end technologies and platforms, such as JavaScript, HTML5, and CSS3 (BEM)
  • Understanding accessibility and security compliance
  • Strong knowledge on API connection security such as Token-based and Oauth2 authentication.
  • Integration of multiple data sources and databases into one system
  • Management of hosting environment, including database administration and scaling an application to support load changes
  • Data migration, transformation, scripting, setup and administration of backups
  • Haxe, JavaScript, KnockoutJS
  • Creating database schemas that represent and support business processes
  • Implementing automated testing platforms and unit tests (JUnit, Jenkins)
  • Proficient knowledge of a back-end programming language (Java, JavaScript, and Scala).
  • Proficient understanding of code versioning tools, such as Git
  • Understanding of “session management” in a distributed server environment
  • JDBC, SQL, PostgreSQL, XML, JSON, HTML, CSS, JavaScript, jQuery, jQuery UI, Haxe, KnockoutJS. Excellent understanding of OOP, Design Patterns.
  • Build tool: Maven, Gradle
  • Web Services development experience, knowledge of Linux/UNIX, SQL.
  • Experience working in an agile development environment
  • Golang is a big plus