Software Engineer

Engineereing Team

JS
Node JS
Docker
Amazon
Ruby
Python
SQL

At SegmentStream we are looking for a super talented individual to join the team as we ready to scale our new, world-class product — SegmentStream. This is a truly game-changing product with no direct alternatives on the market and which is growing like crazy.

SegmentStream helps leading e-commerce brands to connect hundreds of marketing tools without involving IT department and increase their ROI by applying our powerful artificial intelligence algorithms.

Despite this is a quite new solution on the market — it is already trusted by such great brands like Nespresso, L’Occitane, Leroy Merlin, United Colors of Benetton, New Balance and many other enterprises. Today, CMOs and CTOs can’t imagine their lives without using SegmentStream.

Here’s where you come in..

Send CV

not defined

salary

3–6 years

experience

in the office

full time occupation

What we do:

  • We develop high-loaded data conveyors using NodeJs and a variety of solutions for storing data and queuing it.

  • We build a UI on React.

  • We are developing our backend API on NodeJS and PostgreSQL.

  • We believe in using the right tool for the right task.

  • We deploy our code several times a day. We love efficiency, cloud solutions, CI / CD, Kubernetes, Docker and Terraform.

  • We are proud of the code we write, but we are not obsessed with certain methodologies and technologies. We are sure that doing the “right things” is more important than doing the “things right”. But despite it, we take very seriously the responsibility to our customers for providing reliable infrastructure, which is tied to many of their important business processes.

You fit us if:

  • You can turn complex business requirements into a working product that our customers will love.

  • You are proud of the code that you write, but at the same time remain pragmatic and self-critical.

  • You know when to refactor and when to release.

  • You are inspired by the search for elegant solutions for complex technical problems.

  • You are focused, motivated, independent and able to complete the job, no matter how difficult the task.

  • Empathy is not alien to you, you are patient and always happy to come to the rescue of a team member.

  • You know the basics of architectural patterns and design patterns.

  • You understand what it means to develop a product that is already in production and that is used by millions of people. You understand that from the moment you start production, this is no longer a lab. You are serious about testing, understand the value of logging, monitoring and tracking errors.

Examples of future challenges:

  • Creation of scalable and fault-tolerant microservice architecture with load balancing and functions of automatic discovery of new services.

  • Parallel processing of terabytes of data in conditions of severe restrictions on RAM.

  • Create highly available event pipelines in real time with unlimited scalability.

  • Designing any kind of systems that can be easily scaled depending on the load.

  • Build efficient caching and proxying systems.

  • Managing mutable shared state for various SQL and NoSQL database platforms with low-latency requirements

  • Smart sharding of queues, databases, services, in case standard balancers fail. Reducing the cost of cloud infrastructure while maintaining the same development speed.

Requirements:

  • You can write both server and client code (yes, we love fullstack) in JavaScript using the latest features and API.

  • You have a good foundation on the theory of algorithms, data structures, design patterns.

  • There is a high degree in Computer Science.

  • At least 3 years of “industrial” experience in developing or having cool open source projects on GitHub.

  • Proven ability to write code that solves real problems.

  • You deeply understand all the nuances and difficulties of writing large-scale single-page applications.

  • Strong theoretical base and practical experience in the design and implementation of high-availability, high-load, fault-tolerant distributed systems.

  • Experience in implementing scalable data processing pipelines and events, preferably using streaming technologies.

  • You know parallel computing and do not confuse it with distributed computing.

  • Familiar with best practices of deployment and testing code in production environment.

  • In your work, you demonstrate the use of architectural patterns for building scalable web applications (correct API design, high-loaded data conveyors, efficient algorithms, etc.).

  • You value teamwork and agree with the statement that “a team is a group of people who are responsible for each other’s decisions.”

  • You are familiar with the basics of machine learning.

  • You speak and write fluently in English without mistakes.

Send CV

Want to join the team or
know about opportunities?

Leave your contact details and we'll
get in touch in 8 business hours.

Thank you!
We will get in touch with you shortly.