SegmentStream — data intelligence platform for marketing teams.
The company is headquartered in London, UK with an office in Moscow,
Russia.
### **What we do:**
- We develop high-load data pipelines using NodeJs and a variety of data
storing and queueing solutions.
- We build a UI on React.
- We are developing our backend API using NodeJS & TypeScript.
- 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, Spinnaker, Kubernetes 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 “things right”.
Nevertheless, we take very seriously the responsibility to our customers
for providing reliable infrastructure, which a lot of their important
business processes rely on.
### 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.
- You're empathetic, patient and happy to help your teammates grow.
- You perfectly know the best design patterns and effectively apply
them.
- You are serious about testing, understand the value of logging,
monitoring, profiling and error tracking.
### Example of future challenges:
- Create a scalable and fault-tolerant microservice architecture with
load balancing and auto-discovery.
- Parallel processing of terabytes of data in conditions of strict RAM
restrictions.
- Create highly available real-time event pipelines with unlimited
scalability.
- Build efficient caching and proxying systems.
- Managing mutable shared state for various SQL and NoSQL database
platforms with low-latency requirements
- Implement a smart sharding of queues, databases, and services in case
standard balancing is not possible.
- Reduce the cost of the loud infrastruture while maintaining the same
development speed.
### Requirements:
- You can write both server and client code in ES6 or TypeScript using
the latest features and API.
- You have a degree in Computer Science or similar.
- At least 5 years of experience in development or having cool open
source projects on GitHub.
- Proven ability to write code that solves real problems.
- You deeply understand all the complexities of writing large
single-page applications.
- Strong theoretical knowledge and practical experience in the design
and implementation of highly-available, highly-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
pipelines, 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.