We are a highly successful Company with great ambitions. We operate on a very competitive market so every day we are looking for opportunities to be better. To be faster. Even faster. Never stand aside and never afraid to try. Having a lot of ideas we are very open to fresh ones. Equally important, we have resources to bring these into motion.
The main stacks are .NET Core and Scala (Kafka Streams). We keep code in gitlab and use gitlab CI for our CI/CD pipelines. Our services run in kubernetes, mostly in premises with some loads running in AWS We monitor services using prometheus, observe metrics in Grafana and check logs via ELK Kafka is our streaming platform, also we use HTTP APIs, databases (mostly mongo), RabbitMQ etc.
We invite those who fired up to:
— Help define the system architecture, own and implement specific components, and help shape the overall experience;
— Build distributed systems that are reliable, maintainable and scalable;
— Functionally decompose complex problems into simple, straight-forward solutions;
— Write high-quality, efficient, testable code following best practices and team standards;
— Ensure that services built by the team satisfy both functional and non-functional requirements;
— Understand the business domain;
— Make sure that it’s implementation is optimal considering all opportunities and constraints.
Essential professional experience:
— 5+ years of commercial software development experience;
— Rich hands-on programming experience with at least one modern language such as C# (preferred), or Java, and other object-oriented languages and have a deep understanding of object-oriented design;
— Familiarity with design concepts such as design patterns and UML are also highly desirable;
— Practical experience with software engineering best-practices is a big advantage;
— Deep understanding of distributed systems, asynchronous architectures and scalability are highly desirable;
— Computer Science fundamentals in algorithms, data structures, databases, and complexity analysis;
— Strong ownership. Willingness to own all stages of development process: design, testing, implementation, operational support;
— Self-driven self-starter who is excited about overcoming hurdles to get things moving in the right direction;
— Strong analytical and problem-solving skills.
— Exhibits excellent team work;
— Results oriented;
— Knowledge of functional programming paradigm;
— Experience with distributed CQRS & Event Sourcing built with TDD on Scala;
— Skills working with Kafka, Kafka Streams, RabbitMQ, AWS, Redis, Aerospike;
— Hands-on experience with running .NET apps using Docker, Kubernetes.