Developer, Functional Programming, Clojure
At Baresquare we take an active interest in good development practices. We do extensive automated testing for the codebase, in the form of unit tests, but also with integration and generative tests. We use the full power of Git with branches to ensure the stability of the code and to introduce new features and fixes in a controlled manner. We avoid the "works on my machine" syndrome by using Docker for all the components of our applications to allow our developers to replicate the production environment locally. This also means that on-boarding new developers is quick and painless. Most importantly, Baresquare promotes an environment of learning so if you are unfamiliar with our practices, we will be very happy to help you come up to speed with pair programming sessions, advice and mentoring.
Clojure is a central technology choice for Baresquare because of its great affinity with data processing tasks and its versatility which allows us to iterate quickly over features and improvements. PostgreSQL is our choice of database, a relational database which has been around for a long time, but has gone from strength to strength over the past few years, providing very powerful tools for data handling and scaling. Integrating with R, the statistics programming language enables us to leverage the wide variety of existing algorithm implementations, while providing a good interface where our engineering and statistical teams collaborate. Docker makes our development experience smoother by allowing us to develop and test our code in production-like environments therefore minimizing the unpredictability when the code is deployed. Finally, we use the latest features of AWS to minimize the "moving parts" of our stack and enable scaling and reliability.
Technologies now: Clojure, PostgreSQL, R, Docker, AWS (ECS, Lambda, S3), Terraform, Unit/Integration/Generative testing, Continuous integration
Future: Elastic, Logstash, Kibana, Onyx, Apache Spark
WHAT WE ARE LOOKING FOR
We are looking for passionate developers; passionate about functional programming!
Our ideal match loves learning new technologies, wants to make rock-solid solutions and is fuelled by challenge. The job is to dive into our Analytics machine and help us expand it towards new directions.
This is an exciting, world-class project. There is freedom to shape the direction of the product, and therefore the future of our team. There is room to be visible and contribute from day one, while enjoying a safe working environment. There is opportunity for self progress and producing deliverables that have true impact to what we do.
This is a full-time position in our office in Thessaloniki Greece.
Want to learn more about Clojure and the reasons top software houses embrace this programming language?
--ThoughtWorks adopted Clojure on January 2014
--Read how Cognitech set up all Walmart's operations in Clojure and coming out without a scratch, and
--What Adrian Cockcroft (Sun, eBay, Netflix) thinks about the next version of the cloud stack
- Professional software dev experience in any language (Ruby, Python, Java, etc).
- Familiarity with functional programming principles (anonymous functions, closures, immutability).
- Be convinced that you should be using a testing framework as part of your work process, not as an afterthought.
- A belief that it’s a ridiculous idea that a software developer would not use version control.
- Although systems will not be built with Java, familiarity with existing Java libraries is also useful.
- Having a personal project using Clojure is considered a strong plus.
Don't have any professional experience, but you want this as your next career step? We could arrange an internship, if you tell us more about yourself and your personal projects.
- Work in a dynamic international environment, with clients located around the world, and in collaboration with the industry's experts
- Ongoing personal development, building strong experience on the leading data platforms and technologies
- Attractive compensation package, adapted to the candidate’s specific skills and career progress
- Energy management and nutrition consultation by a dietitian-health expert
- Corporate gym membership and social activities