What we have:
Our comprehensive trading platform is a flagship product, facilitating trade in stocks, ETFs, options, and various other asset classes. It boasts a robust web and mobile user interface, supplemented by advanced managerial tools for brokers.
As a backend developer, you will be instrumental in managing the order lifecycle, including order capture, validation, routing, execution, option price calculation, and reconciliation. We focus on delivering high-performance, low-latency, and fault-tolerant solutions, with an emphasis on code quality through thorough code reviews and extensive testing.
While our product has a significant existence, we continually address both functional and non-functional requirements and responsibly manage technical debt. Our work environment is agile, primarily utilising Scrum and supported by tools like Atlassian, Slack, Sonar, Docker, and more.
Technical Requirements:
- Proficient in Java 11+, with experience in Collections, Streams, Threads, and Concurrency
- Familiar with Spring, AspectJ, and Kotlin
- Skilled in JUnit5 and Mockito for effective testing
- Experienced with Docker, PostgreSQL, Liquibase, Prometheus, ELK
We Expect:
- A passion for Java programming
- A deep understanding of the Java (J2SE) platform, including threads, collections, streams, memory management, and garbage collection
- A strong grasp of computer science principles, including data structures, algorithms, and their complexities
- A drive to optimize, document, and maintain code with comprehensive test coverage
- Collaborative working abilities, offering assistance to colleagues and accepting constructive feedback
- An inclination for meticulous, blameless code reviews to continually improve code quality
- A willingness to participate in performance analysis for resolving multi-threading issues
- An ability to work in collaboration with experienced teammates within a complex business domain
- A readiness to understand intricate business requirements in the finance industry
- Knowledge of relational database design concepts and proficiency in SQL
Preferred Skills:
- Familiarity with trading and capital markets
- Hands-on experience with concurrent programming and understanding thread synchronization approaches
- Exposure to distributed systems, with an emphasis on performance and reliability
- Comprehension of asynchronous communication principles
- Understanding of relational database internals, including indexes and locks
- Experience with debugging heap and thread dumps
- Proficiency in code profiling using tools like YourKit, JProfiler, and Visual VM
- Experience in developing reliable, high-performance distributed systems
- Solid knowledge of Unix/Linux
- B2+ English proficiency
- Paid vacation 20 + 5 days
- Free MultiSport card
- Medical insurance – premium package
- Мodern office space
- Panoramic view of Vitosha mountain
- Gym & billiard in the office
- Parking spot or public transport card
- Mentorship program
- Training, courses, workshops
- Paid pro certifications
- Subscriptions to pro sources
- Participation in conferences
- English courses
- Trading contest within the company
- Tech meetup dxTechTalk
- Speaker's club
- Opportunity to develop your personal brand as a speaker
- Internal referral program
- Remote work / Hybrid mode
- Flexible schedule
- Work & Travel program
- Relocation opportunities