Responsibilities
Versatility and flexibility is the whole point of being a consultant, and we guarantee you will learn, grow and get out of your comfort zone since our customers have different business needs, logics, technologies and environments.
• Design and programming of software solutions for concurrent, scalable, fault-tolerant and distributed systems
• Design, code, test and support of Elixir, Erlang and related software, including some research
• Develop solutions using distributed concurrent programming, software packaging and release
• Write and test code in Elixir and occasionally in other languages such as Erlang, C, Java, Clojure, Haskell, Scala & Objective-C
• Create solutions that can be deployed in any cloud environment.
• May be responsible for leading teams of other Software Engineers within a project or leading the project independently
• Work with the Business Development team and customers to scope customer requirements and formulate project plans
• Experienced programmers will be expected to mentor and coach junior developers
Skills and Experience
In this setting, your ability to be a team player is at least as important as your ability to learn new things quickly and solve tricky problems, as is your passion for working with Erlang/Elixir/OTP technology, and building reliable, secure and scalable systems serving millions of parallel users, handling billions of transactions per day. Finding joy in sharing what you’ve learned is also something we’re looking for.
Essential:
• Experienced in the use of Elixir for the delivery of complex systems
• Demonstrable experience of designing and delivering multiple large projects in different industry sectors
• More than five years demonstrable software development and implementation experience
• Experience with Linux, OS X and Solaris operating systems
• Good collaboration and teamwork skills
• Good verbal and written communication in English
• Good customer facing and presentation skills
• Minimum Education of an Elixir /Senior Elixir Consultant: A Degree or Masters in Computer Science, or related subject.
Desirable:
• Programming skills and experience with languages such as Erlang, Ruby, C and Java
• Experience of :
• UI (Phoenix and LiveView)
• implementation of soft real-time servers
• container technology such as Kubernetes, Docker, and Distillery
• AWS services
• communications protocols (HTTP, XMPP, AMQP, …)
• deployment infrastructures
• agile methods, including Scrum, Kanban, Test Driven Development
• Knowledge and experience of Fintech systems including payments arena, Automotive, Telecoms and Gaming sectors would be advantageous
• Knowledge of Distributed computing, Parallelism & Concurrency, Virtualisation