Our client combines their software engineering expertise and in-depth domain experience within their niche industry to build, operate and continuously innovate the leading cloud-based systems for the global industry.
They are looking for an experienced Software Engineer to lead the team that builds their suite of products focused on a particular large enterprise environment.
About the Role:
As the Lead Software Engineer for this team, you will need to wear a few different hats and tackle a variety of tasks from the very technical to the more organizational. We are looking for a person that understands the dynamics of working for a smaller, agile company that builds disruptive technologies for a large enterprise environemnt.
Some tasks that will be part of your day-to-day work:
- Meet with customers to gather requirements and follow-up on ongoing projects.
- Work with our product manager to define priorities, plan iterations and make sure nothing falls between the cracks.
- Work with our CTO to define and implement a technological roadmap that will allow us to meet our business and product objectives.
- Work with our designers to iterate on UI mockups and the overall user experience.
- Build and test new features, both server-side and client-side.
- Maintain legacy Ruby applications and migrate features to a newer Elixir codebase.
- Improve our infrastructure and operational capabilities.
- Onboard and mentor new engineers.
- Interview potential hires and help with the overall recruitment effort.
Experience & Qualifications:
- 3-5 years working as a software engineer, delivering high-quality features with maintainable code and automated tests.
- Excellent overall software engineering knowledge and skills: software design and architecture, automated testing, design patterns and anti-patterns and so on.
- Experience with HTTP-based APIs and REST.
- Experience with a functional language and programming in a functional style.
- Excellent knowledge of SQL and experience with one or many SQL database engines.
- Comfortable with operating system principles and components: processes, memory management, file systems, etc.
- Comfortable with networking principles and protocols, specifically TCP/IP, DNS, HTTP/HTTPS.
- Proficient with the shell and command line tools in a Linux environment.
- Strong debugging skills: you are not afraid to jump up and down the stack in a methodical manner to understand what’s going on and how to fix it.
- Excellent verbal and written communication skills.
- Experience with Elixir or Erlang.
- Experience with Elm.
- Experience with PostgreSQL and PostGIS.
The company offers a creative and fun environment, working with folks that enjoy solving complex problems. It is also a flexible environment that respects work-life balance and where working from home from time to time is encouraged.
Contact: Amanda Du Toit firstname.lastname@example.org