LanguageWire is one of the world’s leading providers of language and content services. Founded in 2000, LanguageWire continually develops unique technology to help brands reach their full global potential. Backed by a worldwide network of language experts and an intuitive online platform, we make it easy to translate multilingual content.
LanguageWire employ more than 70 people within Software Engineering and embrace the latest technologies and all new services are born in the cloud running on Kubernetes clusters. All landscapes are fully automated (infrastructure as code) and so is CI/CD. We process thousands of files, millions of words every day so uptime, scalability and quality are very important to us.
LanguageWire have built our own platform with a strong focus on automation and machine learning.
We have multiple teams developing parts of the combined solution: a business process management system, connectors for CMS and PIM systems, core translation services, a web-based CAT tool and machine translation services.
All LanguageWires development teams work according to the “You build it, you run it” paradigm. We operate an enterprise class, highly available 24×7 platform. It’s the responsibility of each developer to make sure that the services run smoothly. Observable services and deep monitoring are key to make data driven decisions for the architecture and operations.
Responsibilities
Our team delivers the core translation functionality as a set of micro services.
We are looking for an experienced and self-motivated developer who will work together with the existing team across all our services.
We want to leverage orchestration frameworks to scale our services in a fast and simple way. As a result, all new services need to be built for containerization. Existing experience in containerized development and scalability is a great advantage.
Our services are document oriented. We do a lot of processing - both synchronous and asynchronous, writing various parsers, readers and writers. Our services also store records in databases on the SQL Server. We use Entity Framework, but then validate generated SQL queries and execution plans.
Most of our services are background workers without any UI. Communication is primary handled through REST interfaces & callback mechanisms and we use Azure Service Bus for queueing purposes. We use Swagger to provide OpenAPI specifications for the consumers.
As a team we are responsible for ensuring that our own services perform well, and we always need to develop for stability, speed and easy diagnosis of issues. We currently use an ELK based logging strategy combined with Application Insights.