About The Position
As a Software Engineer in Coralogix, you will design, implement and operate cutting-edge product features that use and evolve our stateful streaming technology, which is based on KafkaStreams, AkkaStreams, and a lot of other distributed storage and processing technologies.
The product features will use our sophisticated in-house platform (which is based on kubernetes), and you and your team will work closely with our great platform team in order to provide the maximum value to our customers and for the company.
Coralogix’s vision and day-to-day life treat software engineering and data engineering as one, and we believe that being proficient in both aspects is an essential part of being great engineers, and crucial for creating exponential value for our customers.
You will help us take the company forward with this vision, solving major software and data engineering challenges on a daily-basis, and working on them together with some of the best people in the industry.
- Develop and own products and features, from design to scalable and predictable production behaviour
- Solve diverse distributed software engineering challenges at high scale, balancing multiple tradeoffs in order to provide the best outcome for the product and the team
- Collaborate closely with your team to find solutions for our challenges, helping you and your team grow and become the best it can be
- Proactively find new opportunities for improving the team’s products and helping the company grow
- Review designs and code related to your team, and provide relevant insights in order to make all of us better
- Collaborate with other teams in order to collect relevant information and help align technical goals
- Understand and communicate the tradeoffs between technical implementation and product value, helping to steer the vision of our products
- Deep dive into how our technologies work in order to find solutions for our technical challenges
- Write blog posts on our technical advancements, and present them in conferences
- Communicate in a healthy and professional manner at all times , helping us to sustain a healthy culture
- B.Sc in Software Engineering or Computer Science
- 4+ years of experience in developing production-grade software products, preferably in a SaaS environment
- 2+ years of experience developing a large-scale distributed data product in production
- Real-world experience with Scala or another functional language
- Excellent written and verbal communication skills
- Natural ability to discuss and communicate tradeoffs in multiple dimensions, balancing between product and technical requirements
- Strong troubleshooting and analysis skills, mentally integrating multiple disparate data sources and reaching relevant technical conclusions
- High proficiency in data modelling and SQL
- Ability to understand and communicate product/technical tradeoffs that arise from different data modelling decisions
- Experience with streaming platforms such as KafkaStreams, Akka Streams or Flink
- Experience with developing systems that use Kafka, Redis, Presto, ElasticSearch, K8S, AWS, and other distributed system technologies
- Experience with developing observability platforms
- Experience with a dynamically typed language such as Node.js or Python
- Active contribution to open source projects
- Actively presenting in conferences or meetups
- Experience in a leadership role in a SaaS environment
- Previous platform engineering or devops experience