Senior Java Developer

Employer: BoostIT
Domain:
  • IT Software
  • Job type: full-time
    Job level: > 5 years of experience
    Location:
  • nationwide
    Updated at: 21.10.2017
    Short company description

    BoostIT HUB is a Romanian-based IT&C company with a vast experience in working with worldwide clients and projects in diverse industries. We focus on delivering projects fast, secure and on demand. Our organization is part of an international group of companies with a similar business mindset / etiquette: team, excellence, trustworthiness, accountability, motivation and continuous learning. This gives us a competitive advantage in terms of expertise, skills, experience and market standards, by broadening our problem-solving spectrum for our clients.

    Requirements

    As a senior Java Developer you have to handle the entire software development life cycle, manage projects assigned to you, manage and lead a team; these are tasks you will deal with on a daily basis. You will work with business analyst, project managers, web developers, system administrators, DevOps engineers, security engineers, programmers and data scientists.

    Requirements:
    - Minimum five years of experience in the IT industry with Java or minimum eight years on the field, either as a freelancer or as personal hobbies;
    - Attention to detail, problem-solving skills and ability to adapt to change;
    - Java EE industry experience is preferred (as a background);
    - Master Object-Oriented programming;
    - Master static strong programming;
    - Master web services such as REST APIs;
    - Solid knowledge of Spring Framework;
    - Solid knowledge of dependency injection;
    - Solid knowledge of version control systems such as Git, Mercurial or SVN;
    - Solid knowledge of RDBMS, the SQL dialect and UDFs;
    - Solid knowledge of TCP/IP networking and the HTTP protocol;
    - Solid knowledge of NoSQL Document-Oriented DBs;
    - Solid knowledge of web services protocols such as SOAP;
    - Solid knowledge of microservices architectures, design patterns and principles such as GRASP;
    - Solid knowledge of at least one Linux-based or BSD or Windows Server operating system;
    - Solid knowledge of message services such as JMS or RabbitMQ;
    - Good knowledge of JUnit testing framework;
    - Good knowledge of TTD and BDD practices;
    - Practice with Java web servers such as Jetty, Tomcat, JBoss, GlassFish;
    - Practice with CI/CD procedures;
    - Good communication skills;
    - Continuous hunger for knowledge.

    Responsibilities

    - Read a project’s specification and understand the project’s scope (if any);
    - Collaborate with the business analyst or the project manager and write a project’s specification;
    - Understand the existing implementation of the application (if any);
    - Understand the goal and mission of the project and collaborate with the project manager and the CTO for best solutions;
    - Recognize technical limits of a potential implementation and failure scenarios;
    - Recognize potential security flaws in the existing software, before the final delivery, as well as in any third-party software used to help the development process;
    - Develop, maintain and improve applications in Java;
    - Propose, implement and further develop solutions;
    - Design software with performance and scalability in mind;
    - Optimize and write unit tests for your code;
    - YAGNI principle for 3rd-parties;
    - DRY, KISS and Agile;
    - Mentor and lead other developers to achieve higher performance and better results;
    - Autonomous and resourceful;
    - Responsible team player with a positive mental attitude;
    - Collaborate with other departments.

    Other info

    Nice to have and other notes:
    - Knowledge of *nix operating systems is HIGHLY appreciated;
    - Knowledge of other programming languages, in particular JVM-based programming languages such as Groovy, Scala or Clojure is HIGHLY appreciated;
    - Experience with Vagrant, Docker, Maven, Ant;
    - Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC)
    - Experience with databases, including, but not limited to, Oracle, MSSQL, MySQL, MariaDB, PostgreSQL, SQLite, MongoDB, Cassandra, Redis, Riak, Neo4j, ArangoDB;
    - Experience with Akka.