Senior Software Engineer
Semaphore is a leader in hosted continuous integration and deployment, with over 30,000 developers relying on Semaphore to test and deploy their code. Our mission is to help teams ship their software faster and with more confidence by providing a robust and scalable platform for software delivery.
The Product Team is responsible for all user-facing experience of our platform. Our platform provides continuous delivery services for all mainstream programming languages as well as native support for building and shipping Docker containers. We aim to deliver the easiest to use and fastest CI/CD service. We work in small highly effective teams, so every team member is vital to the success of the company.
We're looking for collaborative, detail-oriented people who are ready for a challenge. In this role, you'll have the opportunity to take significant ownership of technical projects that will drive the success of the overall business. A strong candidate will bring solid product and technical acumen, combined with the ability to move fast (and fix things).
We are passionate about providing a remote, flexible and supportive work culture. Collaboration is in our DNA.
- Writing maintainable, robust code and developing APIs to offer high-performance access to our backend systems.
- Evaluating, benchmarking and improving the performance and scalability of Semaphore.
- Researching and implementing algorithms for Pipeline processing, Virtual Machine management, CI/CD automation.
- Working with monitoring and automation tools to ensure the availability of systems.
- Providing feedback and code reviews to your peers.
- Proficiency in one or more high-level languages such as Elixir, Ruby, Go or Python.
- Understanding of techniques and algorithms for data processing and process management in highly distributed environments.
- Experience making technical decisions when some future requirements are still unknown.
- Strong communication skills. You speak and write well. We’re a distributed team so we’re extra mindful about communication.
- Experience working remotely in a distributed company.
- Experience building and scaling distributed services in Elixir or Go.
- Experience working with Ubuntu, Kubernetes, RabbitMQ, Postgres.
- Experience building cross-platform applications.
- Knowledge of operations: monitoring, alerting, metrics, and automation.
- Experience diagnosing and resolving performance and stability problems in complex software systems.
Working at Semaphore
- The impact of working on a product that's competing on a global market.
- Join a small team of around 20 full-time people who love what they do.
- A healthy 40-hour work week, friendly and supportive work environment.
- Competitive salary.
- Company retreats.
- Space to learn continuously and choose the tools and equipment for your job
- Paid trips to conferences and books of your choice.
- Interact with developers that use Semaphore and talk about the latest and greatest way to develop and ship software.
- Paid membership at a fitness club of your choice
Semaphore is an equal opportunity employer. Consistent with our mission of serving a diverse and global audience, we value a diverse workforce and inclusive culture which reflects that. We encourage applications from all qualified individuals without regard to race, colour, religion, gender, sexual orientation, gender identity or expression, age, national origin, marital status, disability, and veteran status.