What will you do?
Software engineers in Flow Traders are working on applications that support the core business of the company. Our systems make it possible for Flow Traders to be present and competitive on exchanges worldwide. There is all kinds of code to write, from systems on (or close to) the critical path from receiving market data to placing orders, to systems handling huge amounts of data in reliable, performant and traceable manner.
Our future colleague will be writing code, creating new designs and maintaining existing applications with a focus on performance and stability. Our business users are typically only a walk away, which helps to create short feedback loops and to see your changes provide value in the shortest time possible.
To enable that, we strive to follow best software engineering practices and are supported by the best working environment, latest technology and continuous support from all parts of Flow Traders organisation.
How you do it
We work in small teams, grouped by business area. Each team is typically responsible for a set of related applications, and works in tight collaboration with business owners. We maintain libraries shared across the teams to enable code re-use and to have a common view on application architecture. We write extensive unit tests, and have a QA team that supports us with integration testing. We follow agile practices, tailored to the problem area and preferred team approach.
Some of the things we use in development process:
- Java 8
- Guava, Jetty, Lucene, Mockito, SLF4J
- Spring MVC, Hibernate
- Swing, JavaFX, Mustache
- Maven, Git
- Atlassian stack
- Bitbucket for code review. We do all work in pull requests, which are reviewed by other developers.
- Bamboo for continuous integration.
- JIRA, Confluence
- SonarQube for continuous code quality inspection
- IntelliJ IDEA
- Python for scripts/testing
- MariaDB, Cassandra
A day in the life
Morning is normally started with a standup meeting with your team. This is an opportunity to catch up on progress of development, raise problems and discuss plans for the day. Business representative is also present, so questions to trading can be resolved instantly. After standup, you go back to your desk to program, review code on pull requests submitted by colleagues, and discuss functionality with traders. Sometimes a production issue is raised by support, and help from development is needed to provide advice. At lunch time, you join your team for lunch in the canteen and enjoy a company-provided lunch. During the day, if there are no pressing issues or you feel that you need a break, you can unwind at the pool table or table tennis, or do a workout at the gym. After the day is done you can join your colleagues to celebrate a successful release or just socialize at our bar.
What you need to succeed
- BSc or MSc in Computing Science or equivalent
- 3+ years post-graduation work experience
- Core Java experience
- Experience in parallel and multithreaded programming
- Knowledge of algorithms and data structures
- Interest in achieving maximum performance from available hardware and software
- Ability to communicate with technical and business colleagues
- Working experience in professional software development
- Fluency in English
by via developer jobs - Stack Overflow
No comments:
Post a Comment