Java Software Architect
Budget: $1,500 – $3,000 USD
We are a team, working on a SaaS product. We provide a robust search system to our users. Almost all of our users are businesses that need fast and accurate searches for their documents. Our company is expanding and we want to add a personalization and recommendation system to our search engine.
We want to provide an API for our customers to send their user's data to this API (like when the user clicks or views a document). The event data does not provide actual document data, but just an ID. If you need the real data, it is in our ELK cluster, but reading from ELK should be rate limited to avoid a high load on ELK. After processing this data, we should create or update the user profile.
Even when a user is not logged in to the system, it can have its profile.
You should provide a solution to this problem. A fast and reliable system that could provide the user profiles in less than 50ms for the search engine. So that our search engine could sort results based on the user preferences.
We are using Java, Spring Boot, and ELK stack. You can ask for any other tool, but because our team mainly consists of Java backend professionals, the code should be written in Java using the Spring Boot framework.
Please submit your proposal only if you have 6+ years of Java experience and 3+ years of Spring Boot experience.
Required Skills:
- Java 17
- Spring Boot 2.5+
- Solid understanding of software design
- Solid sense of problem-solving
- Fluent English
Nice to have:
- Microservice architecture experience
- Experience in using one message broker
- Experience using Elasticsearch
- Experience in real-time systems
- Experience developing in production
- Experience developing high-load systems
We want to provide an API for our customers to send their user's data to this API (like when the user clicks or views a document). The event data does not provide actual document data, but just an ID. If you need the real data, it is in our ELK cluster, but reading from ELK should be rate limited to avoid a high load on ELK. After processing this data, we should create or update the user profile.
Even when a user is not logged in to the system, it can have its profile.
You should provide a solution to this problem. A fast and reliable system that could provide the user profiles in less than 50ms for the search engine. So that our search engine could sort results based on the user preferences.
We are using Java, Spring Boot, and ELK stack. You can ask for any other tool, but because our team mainly consists of Java backend professionals, the code should be written in Java using the Spring Boot framework.
Please submit your proposal only if you have 6+ years of Java experience and 3+ years of Spring Boot experience.
Required Skills:
- Java 17
- Spring Boot 2.5+
- Solid understanding of software design
- Solid sense of problem-solving
- Fluent English
Nice to have:
- Microservice architecture experience
- Experience in using one message broker
- Experience using Elasticsearch
- Experience in real-time systems
- Experience developing in production
- Experience developing high-load systems
Related categories:
Business, Accounting, Human Resources & Legal
Elasticsearch
RESTful API
Microservices
Spring Boot