Москва, Санкт-Петербург или полная удаленка — на выбор.
6 - 10 человек
Advantage Solutions is a financial technology solutions provider specializing in algorithmic trading.
Now they are looking for a Secure Backend Engineer for one of the top companies in the field of HFT. They value talent, deep knowledge, critical thinking, openness and courtesy in communication.
They expect that the candidate will work on a security-critical backend for business process automation products.
They offer a chance to build complex solutions using cutting edge technologies and mature software engineering practices in the atmosphere of creativity and collaboration.
Bash, Python, Golang, Docker, RabbitMQ, Kafka, PostgreSQL, Redis, gRPC, REST, WebSocket, SOLID, TDD, OWASP, NIST.
- Given high-level business requirements, discuss all the related details with business/trading/data analysis/DevOps teams, design threat models and backend architecture of security-critical parts of company products.
- Implement proposed solutions using modern technology stack.
- Ensure highest degree of information security implementing industry best practices and strictly following principles of secure software development.
- Ensure quality and reliability of developed solutions using automated (unit, integration) testing.
- Communicate with peer teams on integrations, deployment and support of implemented solutions.
- Maintain and improve implemented solutions according to business needs and feedback.
Skills and experience
- 5+ years of relevant work experience in production software engineering.
- Strong understanding of information security — threat modeling, common threats and their mitigation (OWASP etc), security compliance standards (NIST etc).
- Strong understanding of cryptographic algorithms and schemes — algorithm types and usage best-practices, strength ratings, cryptographic schemes.
- Significant experience with security testing tools — source code analysis, vulnerability scanners, manual testing techniques.
- Strong adherence to principles of effective software engineering — SOLID, TDD.
- Deep understanding of computer systems and software architecture — operating systems, networks, data structures and algorithms, software design patterns, parallel programming, principles of distributed computing.
- Extensive experience with Golang.
- Understanding of communication protocols — gRPC, REST, WebSocket.
- Experience with databases (PostgreSQL, Redis) and message brokers (RabbitMQ, Kafka).
- Experience with Docker, Bash, Python.
- Strong analytical and problem solving skills.
- Strong communication skills (upper intermediate English).
- Degree in Computer Science, a related field or equivalent professional experience.