Senior Java Developer

Reference Number: SJD21_1

For the "Software House" of the company we are looking to hire an experienced Java programmer.

We consider the role of the Java programmer to be extremely responsible, as it is directly related to the level and quality of the software products we develop. The achievement of optimal results in the implementation of projects depends on this role.


The candidate must demonstrate a wide range of skills and knowledge:
• General:
o Analytical and innovative thinking and ability to find original and effective solutions to problems. Skills to combine products and technologies in complete solutions.
o Leadership skills, Sociability, teamwork skills and attention to detail.
o Desire to achieve high results and continuous training, as well as rapid and in-depth acquisition of new skills and technologies.
o Assists in the development of the team by sharing skills and knowledge, prepares and conducts internal trainings.
o Participation as a Java Programmer in past projects.
o Good command of English.
•    Software engineering:
o In-depth knowledge of software development and implementation processes. Applies mainly, but not only Scrum and / or Kanban in daily work.
o Applied knowledge of system and software architecture and software systems design. Use architectural and design templates.
o Monitors changes and innovations in software engineering practices and technologies, justifies their use and is responsible for their implementation.
o Masters modeling techniques, incl. the Unified Modeling Language. Work with software systems for modeling and visual design such as Enterprise Architect.
o Has extensive experience (including Configuration Management) in the use of Version Control and Task Management systems; Build & CI systems - Maven, Jenkins, Nexus; Code Review software; development environments (IntelliJ Idea).
o Is able to conduct Code Review and apply other techniques related to quality improvement.
• Programming and databases:
o Has excellent Coding & Debugging skills. Feels the code, can write clear code (Clean Code), develops high quality algorithms, has excellent Troubleshooting skills, debugs the code (including Application Server and third party libraries).
o Implements various performance optimizations and develops quality code. He is familiar in detail with the mechanism of operation of the Garbage Collector.
o Java SE and Java EE with focus on: JPA, EJB, JSF, JSP, CDI, JMS, JAAS, JAX-RS, JAX-WS, Bean Validation, Servlets, XML, XSLT, JavaMail, XML-Dsig APIs, PKCS, JCA.
o Struts, HTML, JS, AJAX, jQuery, RichFaces, PrimeFaces, etc.
o Oracle Glassfish, Oracle WebLogic and Oracle iAS.
o Liferay Portal and Oracle Portal, as well as the following related technologies - JSR-168 Portlet Specification, JSR-286 Portlet Specification 2.0, JSR-170 Content Repository for Java technology API and JSR-301 Portlet Bridge Specification for Java Server Faces.
o Development of automated tests with JUnit, TestNG, Selenium web driver, etc.
o Very good knowledge of Oracle Database. Knowledge of MySQL, Microsoft SQL Server and PostgreSQL.
o Excellent database design and skills for developing optimal code in the SQL and PL / SQL database.


• Extensive experience in such a position.
• Development skills for both Windows and Linux, as well as other environments and platforms, incl. mobile.
• Java and other applicable certification.


The applicant who is approved will be responsible for all aspects related to software development during the phases of the project life cycle - preparation, implementation, implementation, operation and control. The applicant will be required to:

At the Project Preparation stage:

• Knows in detail the products and technologies used by the software house. Researches and offers new products and technologies to be applied as part of the implemented solutions or as part of the process of their development.
• Knows fully the terms of reference, analysis of business requirements and other specifications related to projects. Prepares a technical concept for the realization of the developed product. Analyzes the possible positive and negative consequences of its application.
• Works with business analysts, project manager and other team members to find the best solutions to customer requirements. Participates in workshops and other joint activities with the client's team.
• Participates in the preparation of technical proposals. Assess the importance of the technical requirements and assist the team in assessing the burden of their implementation.

At the stage of Project implementation and control:

• Participates in the development and implementation of new products and technologies. Develops the ones already introduced.
• Participates in the design of software products in all layers from the database to the user interface.
• Assists in the evaluation of project activities.
• Participates in the development of software products and components. Ensures the quality of the developed code. Performs primary testing. Examines and removes

Apply for Position

The maximum size of a file is 2MB

File formats allowed for upload: pdf, word, odt, zip

By ticking this box, I declare, in my capacity of a person, applying for a job as a response to job advertisement at the web, I give my explicit consent to STEMO LTD. to store, process and transfer my personal data for the purposes of personnel selection in the company.

The Personal Data provided will be stored at STEMO LTD. For a period of 2 (two) years.

In case, I am not employed in a labor/civil relationship in STEMO LTD., I give my explicit consent to STEMO LTD. to provide my personal data to third parties in Republic of Bulgaria, The European Union, the European Economic Area, included third countries, with a view to concluding a labor / civil contract with these third parties.

The Personal Data provided will be stored at STEMO LTD. for a period of 2 (two) years.

Learn more about our Privacy Policy.

Learn first news about the company and information technologies! Sign up for our newsletter!