Machine learning engineer Java
Fulltime Employees
5+
Requirements:
- Fluent English
-
10+ years of development experience
- Experience in the development of complex programs in any programming language
- Extensive data / text / document processing experience
- Talent for producing maintainable code (structured, easy-to-read, tested)
-
Experience in building machine learning solutions (both NLP and non-NLP)
- Problem definition
- POC for possible approaches / Model selection
- Data preparation
- Feature engineering
- Training, Tuning, Evaluating models
- Error analysis
- Post-processing (smoothing)
-
Self-reliance:
- Ability to tackle problems on their own after receiving high level requirements
- Ability to work from home without constant supervision and/or interaction with colleagues
-
Solid Java skills:
- At least 3 years Java experience, up-to-date knowledge
- Familiarity with common design patterns, dependency injection, java streams, functional programming interfaces etc.
-
Ability to work with common development tools (git, docker, gitlab, intellij, linux tools)
Plus:
-
Familiarity with the following:
- SMILE, DL4J, Kotlin, PY4J
- Python, Keras, PyTorch, Tensorflow, Spacy, AllenNLP
- Docker
- GitLab CI
-
Background in DevOps, Linux skills:
The document processing pipeline is built primarily using Java. The Java code includes machinery for executing the processing pipeline, a sophisticated Document Object Model and many processing steps – each interacting with the DOM. Some processing steps are implemented using external tools like SPACY or Keras, for which we have a Python integration in place. Python programming skills may be needed for simple scripting tasks, but the more complex problems are all to be solved in Java.