Our broad experience in software, backed by a solid theoretical foundation, enables us to design and build complete real-world products.
We believe in choosing the right tools for the job. We always select languages and frameworks considering the project requirements, the skills of the other developers on the team, the future evolutions and … the overall elegance of the solution.
We are comfortable using many programming paradigms: imperative, functional, object-oriented or reactive.
Modern programming languages are no secret to us: C/C++, Java, Scala, Python, Ruby, C# or PHP.
Also including languages such as: JavaScript, CoffeeScript, LiveScript, TypeScript, ActionScript or Shell.
We adapt to new languages with ease and in fact we have done a few things with less common alternatives too: Go, Rust, D or Haskell.
Sometimes we design new domain-specific languages (DSL) perfectly adapted to the task at hand.