TrendSpider is a professional tool for those who trade anything from stocks to cryptos. We provide smart retail traders, financial advisors and hedge funds with the market research and algo trading platform. We need a Node.js engineer who will help us to evolve the platform. In TrendSpider, you’ll be able to work on business logic related to algo trading if you’re interested and capable. In general, if you’re interested in trading and want to dive deep, then it’s the right place for you.
Here are a few examples of things you’d be doing here:
Connecting new data types and maintaining existing pipelines. Improving observability in data import pipelines.
Working on business logic which is necessary for data to work in charting, scanning, backtesting, custom JS scripting etc.
Writing automated tests and testing your work.
Figuring things out. Asking questions. Learning about trading.
Here are the skills required in order to do the job well:
Experience with Terraform. AWS Lambda + SQS is a bare minimum.
Experience writing helm charts.
Strong expertise in Node.js. At the very least, you need experience profiling, debugging a memory leak and an event loop jam in a Node.js service. Some services handle tens of thousands of messages per second, some pipelines handle gigabytes of data with limited RAM, that’s why.
Experience working with PostgreSQL and MongoDB with no ORMs.
Experience dealing with massive data (both “read a lot” and “write a lot”) in PostgreSQL.
Strong understanding of ideas of both OOP and functional programming. We use both, depending on a component and a goal.
Hands-on experience trading or designing strategies will be a significant bonus.
Experience creating or configuring Kubernetes cluster will be a significant bonus.
You’ll be dealing with a microservice architecture (30+ microservices) where the vast majority of services run on Node.js. Microservices either provide HTTP REST APIs using Express and Fastify (no Next.js, no GraphQL) or use Websocket. Cloud infrastructure is AWS, CI/CD pipelines are on Gitlab and Bitbucket. Container orchestration is K8s and Docker Swarm. Data pipelines mostly run on AWS Lambda.
Code is all ECMAScript. Quality of code is high, but in some data pipelines it’s rather acceptable. There are no variables named “x”. There’s a coding convention. Overall, we value solving problems and delivering value to our customers way above using this new fancy technology just for the purpose of using it.
The workflow is a lightweight mix of scrum and kanban, with a low level of formality. There’s a QA team, but engineers test their work thoroughly too. You’ll be supervised in the beginning. As soon as we get on the same page regarding values in engineering, you’ll be having less and less supervision, until you get to a point when you will make most of the decisions yourself. The team is all remote, from Argentina to Ukraine. Languages are English and Russian. Speaking Russian would be a bonus, but not a must have.
The hiring process is short and straightforward. First, a few emails, then one interview call with 1-2 people and that’s it.
You will have the opportunity to work with highly loaded components (i.e., real time market data firehose intake) and fairly sophisticated architecture. You will also have a chance to work with active traders and learn about markets and trading as a whole, backtesting and algorithmic trading. You’ll be able to work on business logic related to algo trading if you’re interested and capable. In general, if you’re interested in trading and want to dive deep, then it’s the right place for you.