You are on page 1of 2

Leanware SAS

NIT: 901364306-9
Dirección: Carrera 47 #93-20 Bogotá, Colombia
Teléfono: +57 311 3067851

Data Engineer Technical Test


Business Context:

The company InvestmentX wants to build a tool to make it easier for their operators (traders) to be up to
date on what the price of a specific stock is. Their stock traders are very skilled using Postman, so they will
build an API to solve this.

User Stories:

1. As a trader I want to know which symbols are available to be configured so I can know which
ones I can use.
2. As a trader I want to configure which symbols I’m interested on and which ones I’m not so I
can view their prices later accordingly.
3. As a trader I want to know the available prices for a specific stock in a given timeframe so I
can further analyze the data.
4. As a trader I want to download all data from all stocks in a csv format so I can open it in third-
party software like Microsoft Excel or Google Sheets.

Architecture:

Non-functional requirements/Constraints:

• CSV file generation should be an async job.


• DynamoDB should be used as a database. For the other parts of the architecture, any
language/framework can be used.
• Stocks prices can be fetched from any free API available like Polygon.
• Delivered code should have a test coverage of at least 50% OR all endpoints should be covered
under a Postman Flow.
• API should be protected to avoid unwanted/unauthorized charges.

CONFIDENCIAL
Leanware SAS
NIT: 901364306-9
Dirección: Carrera 47 #93-20 Bogotá, Colombia
Teléfono: +57 311 3067851
Deliverables:

1. Deployed solution in AWS (free tier) with the endpoints to solve all User Stories.
2. Git repository with the source code. There should be a README in place with instructions on how to
deploy and run locally the deliverables.
3. Solution design process documentation – E.g.: Diagrams, data model description, etc.
4. Postman collection to use the API.
5. Loom video describing the problem and the solution with a duration of 5 minutes max.

Evaluation Criteria:
Criteria Weight
User Stories completeness 30%
Non-functional requirements completeness 20%
Deliverables completeness 20%
Code quality, readability and organization 15%
Good git practices 15%

Happy coding!

CONFIDENCIAL

You might also like