Your Roles and Responsibilities
Design and write with the cutting edge Elixir language to improve the availability, scalability, latency, and efficiency of company’s range of products.
Work with the engineering team to explore and create new design/architectures geared towards scale and performance.
Participate in code and design reviews to maintain our high development standards.
Engage in service capacity and demand planning, software performance analysis, tuning and optimization.
Collaborate with product and experience teams to define and prototype feature specifications.
Work closely with the infrastructure team in building and scaling back-end services as well as performing root cause analysis investigations.
Design, build, analyze and fix large-scale distributed systems.
We are looking for developers with 5+ years of experience of which 1-2 yrs of past work experience with Elixir or Erlang. In terms of Elixir we expect the following:
You should be aware of idiomatic programming in Elixir, and should have good awareness of concepts such as pattern matching, recursion, and behaviors.
You should be well versed with concurrency and processes in Elixir.
You should be hands on with Genservers, Tasks, Agents, Supervisors, and other OTP concepts in Elixir.
Plus points if you have worked with data processing libraries such as Genstage, Flow and Broadway.
5+ years of overall software engineering experience.
You should have good experience working with relational and non-relational databases. We use Postgres and Cassandra.
Good to have but not mandatory working experience with caching tools such as Redis, Queue mechanism setup with RabbitMQ.
Good knowledge of version management with Git.
Awareness of TDD.
CI/CD knowledge would be a huge advantage.
Will to design and maintain large scale distributed systems.
Past experience in building complex applications, either by yourself, or as part of a larger team
Desire (obsessive?) for maintainability.
Experience of working with cross-functional remote teams in an Agile software development framework.
Experience in designing APIs with proper documentation.
Ability to write useful and maintainable tests.
Good understanding of the common architectural patterns and design principles.
Solid understanding of how modern web applications work.
(Nice to have) Being an active member of the Elixir community (writing blog posts, giving presentations in meetups, etc).
Strong written and verbal communications skills in English to engage a variety of large audiences, internally and externally.
Strong analytical and reasoning skills.
Bachelor’s Degree or equivalent in any relevant discipline.
Location : Work from home.
Job Type : Full Time