About the Role
You will be part of a core engineering team building the world's most robust wealth management platform to connect Investors with borrowers. You are a self-motivated hacker and tinkerer that can wear many hats and is excited to build business applications that drive revenue and delight our customers. You are entrepreneurial in nature and balance between building the coolest product using the bleeding edge technology with an eye on go to market timing and established stable technologies.
As a backend engineer, you're passionate about producing well-designed, well-abstracted and reusable code which performs well and scales under increasing load. You love to learn and share new concepts and technologies. You are eager to collaborate with other smart people with an open mindset in order to deliver the "best" solution. You truly care about well-designed APIs, and get excited upon hearing about event sourcing, reactive microservices and eventual consistency!
What you'll do
Collaborate with a diverse global team of engineers, designers and product managers in an agile environment.
Develop and maintain a growing repository of reactive microservices based on a technology stack including Java, Spring (IoC, Data, Boot, Cloud), Play, Akka, Docker/Kubernetes, while leveraging messaging systems, relational databases, and NoSQL data stores such as Kafka, MySQL, Redis and ElasticSearch.
Design, document and implement reusable software, write unit tests, create database schemas and tailor RESTful APIs in collaboration with our front end engineers.
Participate in the software's development lifecycle from beginning to end; from requirements analysis, to solution design, to development, code reviews, to releasing and monitoring services on production, extracting metrics and analyzing distributed traces.
Have strong communication skills. Learn from other talented engineers, share your own experiences, be given opportunities to experiment and expand your education, do research and present work to others.
What you'll need
Degree in Computer Science/Engineering or similar, or equivalent experience
2+ years of software development experience in an equivalent role
Solid knowledge of Java (11+) programming, including experience with web application frameworks and expertise designing and implementing RESTful APIs.
Strong foundations in object oriented programming, good problem solving skills, a proven understanding of established software engineering practices resulting in clean solutions, as well as reusable and well-tested code.
An ability to write and optimize SQL, an understanding of relational databases, indexes, joins and de/normalization, and experience with one such database (ideally MySQL/Postgres).
Nice to have:
An understanding of microservice-based architectures; the advantages as well as the considerable added complexities.
Experience with the Spring ecosystem, particularly with Spring Boot, Data, IoC, and Spring Cloud.
Knowledge of a messaging solution such as Kafka or RabbitMQ.
Experience working in virtualized environments like Docker.
Experience working with the Play framework, Akka, and/or websockets.
An understanding of reactive principles, eventual consistency, and event sourcing.
Familiarity with functional programming, and the advantages of data immutability.
Experience with NoSQL data stores such as ElasticSearch, Redis, or Neptune.
We offer very attractive market compensation and benefits packages including a competitive base salary, stock option plan, health insurance, education, unlimited paid vacation, and that's before you even step in the office! This is an opportunity to work with a group of diverse, smart, and friendly people from 8 different countries across three continents who speak a total of 17 different languages. Our team is comprised of successful entrepreneurs with combined exits of over $1B, and we get social with each other during happy hours, exercise classes and team off sites in our work hard/play hard culture.
#J-18808-Ljbffr