Artificial Solutions is looking for a performance-minded Java software engineer for our Barcelona office with a passion for algorithms and languages.
You will be part of a team developing new tools at the forefront of modern language technology to create our next generation natural language processing (NLP) platform.
You will work inside the Products & Technology department together with an international team of developers and research engineers, following an agile project development methodology and using English as the daily working language.
The position offers a lot of freedom, responsibility and the opportunity to grow both as a person and within our company in order to realize your full potential.
The position will focus upon:
· Participating in the development of our JVM based NLP platform as a back-end developer in several of our platform components.
· Implementing accurate, efficient and maintainable production quality algorithms for challenging linguistic tasks.
· Transforming functional requirements into technical requirements.
· Measuring and optimizing your algorithms and other parts of the code base.
· Improving and enhancing existing software as well as creating entirely new components for the platform.
· Designing and developing a distributed analytics RESTful backend platform with heavily usage of: Elasticsearch, Cassandra and Hazelcast.
Essential Required Knowledge and Experience
· MSc/BS in Computer Science or Computational Linguistics or related fields, or equivalent know-how acquired through working experience.
· A solid foundation in computer science, with strong competencies in algorithms, data structures and software design.
· 3+ years of software development experience.
· Excellent coding skills in Java.
· Knowledge of REST, JSON, Maven and Google Guava.
· Knowledge and interest of the functional programming paradigm and Java8
Additional Desired Knowledge and Experience
· Mathematical background.
· Strong functional programming experience.
· Experience in distributed computing, information retrieval, data mining and/or machine learning.
· Knowledge of Natural Language Processing (NLP) techniques and frameworks (e.g. OpenNLP, NLTK, LingPipe, Stanford, GATE, Antlr 4).
· Experience in big data processing techniques and NoSQL approaches such as Hadoop HDFS, Hadoop MapReduce, HBase, Elasticsearch, Apache Spark, Cassandra, Couchbase, MongoDB, Hazelcast, Apache Flink, Google Protocol Buffers.
· Experience in building and maintaining highly scalable, highly available distributed systems.
· Expert knowledge on logging, monitoring, testing and tuning Java applications.
· Background with traditional databases, ETL, and data warehousing.
· Excellent English, both written and spoken.
· Any additional languages are a plus.
Personal Skills and Abilities
· Strong analytic and problem-solving skills with a passion for algorithms.
· An ability to dive into complex problems with a can-do attitude.
· A self-starter with ability to work collaboratively in a distributed development team.
· Eager to learn and ability to pick up new technologies and frameworks fast.
· Enthusiastic about natural language processing, machine learning and computational linguistics.
What we Offer
· The possibility to contribute to our award-winning Teneo platform.
· Diverse and challenging tasks, with lot of opportunities for learning and self-growth.
· Outgoing, flexible and international work environment.
· A place in a skilled international team with a well-oiled agile approach to project development.
· Competitive base salary, social benefits.
About Artificial Solutions
Artificial Solutions® is the leading specialist in Natural Language Interaction (NLI), a form of Artificial Intelligence that allows people to converse with applications and electronic devices in free-format, natural language, using speech, text, touch or gesture. Delivered through Teneo® – an ultra-rapid NLI development and analytics platform – it allows business users and developers to collaborate on creating sophisticated, humanlike natural language applications in record time without the need for specialist linguistic skills.
From interacting with third-party applications, delivering actionable user data insight and enabling implicit personalization to answering queries, cross-selling and updating back-end systems, Artificial Solutions’ NLI technology makes realizing the benefits of natural language in everyday applications easy.
Artificial Solutions’ technology is deployed by hundreds of public and private sector organizations and used by millions of people.
Quite simply; we Make Technology Think