Senior Java DeveloperSofia, Bulgaria
As an engineer in Documaster, you will work in the area of electronic records management and e-government to create standards-compliant software that solves real-world problems.
More specifically, you will be responsible for the development of a major component in our public sector product. The component is known internally as the DPS (document processing system) and is used to process and transform documents for our three hundred public sector customers: OCR-ing the documents, converting them to formats suitable for long-term preservation, decreasing document size to facilitate browser previews, etc.
The DPS is a multi-tenant server-side application based on open-source technology and running on Linux. It is written in Java with Spring Boot, uses MongoDB as a queue, and exposes REST web services to allow other components to initiate various document processing tasks. To do its job, the DPS makes heavy use of external tools, the most important of which are LibreOffice for converting Microsoft Office formats to PDF, Ghostscript for converting PDF to PDF/A, Tesseract for optical character recognition, and ImageMagick for various image manupulations. The DPS executes many different types of tasks in parallel and must take into account several kinds of task priorities as well as resource utilization in order to ensure smooth and speedy document processing. Without a doubt, achieving both efficiency and efficacy in such an extremely parallel environment is one of the major challenges DPS developers have to tackle.
We want not only to continue adding more features to the DPS, but also to simplify it and update its application stack so that document processing can be scaled dynamically. We have already investigated the possibility to migrate to Java 17, to containerize all external tools in order to be able to use their cutting-edge versions if needed, and to decouple task orchestration from the actual document processing. We are yet to research a few new tools and libraries and how to incorporate them into the DPS to improve the quality of certain processing tasks.
Your daily work will include writing and refactoring code, designing and developing unit and integration tests, configuring build jobs, and writing technical documentation. You will be using Git to squash and reword commits, merge and rebase branches, and handle releases. You will also do code reviews, have your code reviewed, and help other team members.
● ● ●
We love seeing motivated and satisfied people every day. If you are interested in working on the DPS and the direction in which we want to develop the product sparks your interest, or you would like to hear more about it, you should get in touch with us right away. We will surely offer you a competitive salary if you are the right match for our team. On top of that, we have a stock options plan, a flexible benefits package tailored to your needs, and offer free training and certification programs. There are more goodies but we would like to keep them as pleasant surprises.
● ● ●
By applying for this position, you willingly provide Documaster Bulgaria with the following data in your resume: names, address, phone number, professional background and experience, education, additional certifications, qualifications and others for the purposes of the recruitment process for this position.