├── .gitignore
├── img
└── background.jpg
├── .idea
├── .gitignore
├── vcs.xml
├── modules.xml
└── jobs.iml
├── fullstack
└── challenge.md
├── backend
└── challenge.md
├── frontend
└── challenge.md
├── tools
└── tools.md
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | .DS_Store
3 |
--------------------------------------------------------------------------------
/img/background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/provicapital/jobs/HEAD/img/background.jpg
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Editor-based HTTP Client requests
5 | /httpRequests/
6 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/jobs.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/fullstack/challenge.md:
--------------------------------------------------------------------------------
1 | # FullStack Challenge
2 |
3 | ## Description
4 |
5 | Your challenge is to clone a page/pages and APIs of a product that you love.
6 | It can be anything (e.g: Spotify, Netflix, WhatsApp, you name it). Choose a product that you love and surprise us -
7 | you can even improve it with a feature that you would like to see.
8 |
9 | ## Delivering FullStack software
10 |
11 | - [ ] [Finish the backend challenge](../backend/challenge.md)
12 | - [ ] [Finish the frontend challenge](../frontend/challenge.md)
13 | - [ ] Integrate them, so your frontend code consumes your backend APIs
14 |
15 | ## Extras
16 |
17 | - [ ] For the backend extra points, [read here](../backend/challenge.md#extras)
18 | - [ ] For the frontend extra points, [read here](../frontend/challenge.md#extras)
19 |
20 | ## Just finished? 💯
21 |
22 | Great work! Send it to [douglas@provi.com.br], [murillo@provi.com.br], [ramon.almeida@provi.com.br], [ana@provi.com.br] and [dev@provi.com.br]. You will receive and answer back from our side in 3 business days 🏃🏃
23 |
24 | [ramon.almeida@provi.com.br]: mailto:ramon.almeida@provi.com.br
25 | [douglas@provi.com.br]: mailto:douglas@provi.com.br
26 | [murillo@provi.com.br]: mailto:murillo@provi.com.br
27 | [ana@provi.com.br]: mailto:ana@provi.com.br
28 | [dev@provi.com.br]: mailto:dev@provi.com.br
29 |
--------------------------------------------------------------------------------
/backend/challenge.md:
--------------------------------------------------------------------------------
1 | # Backend Challenge
2 |
3 | ## Description
4 |
5 | Your challenge is to build a piece of an API based on a product that you love.
6 | It can be anything (e.g: Spotify, Netflix, WhatsApp, Airbnb, you name it). Choose a product that you love and surprise us -
7 | you can even improve it with a feature that you would like to see.
8 |
9 | You don't need to code the entire API of the product, just a part (e.g: let's say you choose to clone Spotify,
10 | then you can code endpoints for an album, genre and artists) and implement business logic to its part of the API.
11 |
12 | ## Create a Node app
13 |
14 | - [ ] it should use [Node] and [Express]
15 | - [ ] it should be documented
16 | - [ ] it should be tested using a test framework like jest, mocha or chai
17 | - [ ] it should focus on code reusability, performance and security
18 | - [ ] it should be open sourced on your github repo
19 |
20 | ## Extras
21 |
22 | - [ ] authentication using [JWT]
23 | - [ ] deploy it - good options may be [Heroku], [AWS] or [Digital Ocean]
24 | - [ ] use [Postgres] or [Mongo] as your database
25 | - [ ] use [Sequelize] or [Mongoose] as your [ORM]
26 |
27 | ## Just finished? 💯
28 |
29 | Great work! Send it to [ramon.almeida@provi.com.br], [douglas@provi.com.br], [murillo@provi.com.br], [ramon.almeida@provi.com.br] and [ana@provi.com.br]. You will receive and answer back from our side in 3 business days 🏃🏃
30 |
31 | [node]: https://nodejs.org/
32 | [express]: https://expressjs.com/
33 | [postgres]: https://www.postgresql.org/
34 | [mongo]: https://www.mongodb.com/
35 | [orm]: https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping
36 | [jwt]: https://jwt.io/
37 | [jest]: https://jestjs.io/
38 | [mocha]: https://mochajs.org/
39 | [chai]: https://www.chaijs.com/
40 | [digital ocean]: https://www.digitalocean.com/
41 | [aws]: https://aws.amazon.com/
42 | [heroku]: https://www.heroku.com/
43 | [sequelize]: https://sequelize.org/
44 | [mongoose]: https://mongoosejs.com/
45 | [ramon.almeida@provi.com.br]: mailto:ramon.almeida@provi.com.br
46 | [murillo@provi.com.br]: mailto:murillo@provi.com.br
47 | [douglas@provi.com.br]: mailto:douglas@provi.com.br
48 | [dev@provi.com.br]: mailto:dev@provi.com.br
49 | [ana@provi.com.br]: mailto:ana@provi.com.br
50 |
--------------------------------------------------------------------------------
/frontend/challenge.md:
--------------------------------------------------------------------------------
1 | # Frontend Challenge
2 |
3 | ## Description
4 |
5 | Your challenge is to clone a page or pages of a product that you love while utilizing any CSS framework.
6 | It can be anything (e.g: Spotify, Netflix, WhatsApp, you name it). Choose a product that you love and surprise us -
7 | you can even improve it with a feature that you would like to see.
8 |
9 | One of the extra deliverables for this challenge is to create a [storybook] with your components. Storybook is a tool for UI development that functions by documenting and isolating components for testing and reuse. Even though it's not required, we highly recommend that if you plan on adding it to your project that you try building it from the start and not after most of your project is already done. You can read more about this component-driven approach that Storybook enables over [here].
10 |
11 | ## Create a React app
12 |
13 | - [ ] it should use [CRA] or your any other boilerplate
14 | - [ ] it should show retrieved data from a server, public API or a mocked JSON using a http library
15 | - [ ] it should be responsive
16 | - [ ] it should focus on components and code reusability
17 | - [ ] it should be open sourced on your github repo
18 |
19 | ## Extras
20 |
21 | - [ ] design it using figma, sketch our other design tool
22 | - [ ] Support authentication using [JWT] and have a login system/authenticated routes
23 | - [ ] create a [storybook] with your components
24 | - [ ] tests using [jest]
25 | - [ ] deploy it - good options may be [Firebase], [AWS] or [Netlify]
26 |
27 | ## Just finished? 💯
28 |
29 | Great work! Send it to [douglas@provi.com.br], [murillo@provi.com.br], [ana@provi.com.br], [ramon.almeida@provi.com.br] [dev@provi.com.br]. You will receive and answer back from our side in 3 business days 🏃🏃
30 |
31 | [storybook]: https://github.com/storybooks/storybook
32 | [jest]: https://jestjs.io/
33 | [firebase]: https://firebase.google.com/docs/hosting
34 | [aws]: https://aws.amazon.com/
35 | [netlify]: https://www.netlify.com/
36 | [cra]: https://github.com/facebook/create-react-app
37 | [jwt]: https://jwt.io/
38 | [here]: https://www.componentdriven.org/
39 | [murillo@provi.com.br]: mailto:murillo@provi.com.br
40 | [douglas@provi.com.br]: mailto:douglas@provi.com.br
41 | [dev@provi.com.br]: mailto:dev@provi.com.br
42 | [ana@provi.com.br]: mailto:ana@provi.com.br
43 | [ramon.almeida@provi.com.br]: mailto:ramon.almeida@provi.com.br
44 |
--------------------------------------------------------------------------------
/tools/tools.md:
--------------------------------------------------------------------------------
1 | # Tools we love to use at Provi
2 |
3 | ## Debugging, monitoring and load testing
4 | - [ ] [Sentry]
5 | - [ ] [Coralogix]
6 | - [ ] [UptimeRobot]
7 | - [ ] [Apache benchmark]
8 |
9 | ### Cloud
10 | - [ ] AWS ([SQS], [SNS], [SES], [EC2], [ECS], [CloudWatch], [RDS], [S3])
11 |
12 | ## Data analysis
13 | - [ ] [Airflow]
14 | - [ ] [Metabase]
15 |
16 | ## Code Quality
17 | - [ ] [SonarQube]
18 |
19 | ## APM
20 | - [ ] [New Relic]
21 |
22 | ## Software versioning
23 | - [ ] [Git]
24 | - [ ] [GitHub]
25 |
26 | ## API Management
27 | - [ ] [Postman]
28 |
29 | ## Knowledge base
30 | - [ ] [Notion]
31 |
32 | ## WAF
33 | - [ ] [Cloudflare]
34 |
35 | ## Programming languages and frameworks
36 | - [ ] [JavaScript]
37 | - [ ] [Node] and [Express]
38 | - [ ] [Python] and [FastAPI]
39 | - [ ] [React] (component lifecycle, setState, setState callback, props as functions, hooks, ContextAPI)
40 | - [ ] [Gatsby]
41 | - [ ] [Mongoose]
42 | - [ ] [Sequelize]
43 | - [ ] [Jest]
44 |
45 | ### Database
46 | - [ ] [Postgres] / [SQL]
47 | - [ ] [MongoDB]
48 |
49 | [Sentry]: https://sentry.io/
50 | [Cloudflare]: https://www.cloudflare.com/
51 | [Notion]: https://www.notion.so/
52 | [Github]: https://github.com/
53 | [Git]: https://git-scm.com/
54 | [New Relic]: https://newrelic.com/
55 | [Metabase]: https://www.metabase.com/
56 | [Airflow]: https://airflow.apache.org/
57 | [CloudWatch]: https://aws.amazon.com/pt/cloudwatch/
58 | [UptimeRobot]: https://uptimerobot.com/
59 | [Coralogix]: https://coralogix.com/
60 | [Postman]: https://www.postman.com/
61 | [Postgres]: http://postgres.org/
62 | [SonarQube]: https://sonarqube.com/
63 | [Apache benchmark]: https://httpd.apache.org/docs/2.4/programs/ab.html
64 | [SQL]: https://en.wikipedia.org/wiki/SQL
65 | [Jest]: https://jestjs.io/
66 | [Node]: https://nodejs.org/en/
67 | [Python]: https://www.python.org/
68 | [FastAPI]: https://fastapi.tiangolo.com/
69 | [React]: https://reactjs.org/
70 | [Gatsby]: https://www.gatsbyjs.com/
71 | [Mongoose]: https://mongoosejs.com/
72 | [MongoDB]: https://www.mongodb.com/
73 | [Sequelize]: https://sequelize.org/v5/
74 | [Express]: https://expressjs.com/
75 | [SQS]: https://aws.amazon.com/sqs/
76 | [SNS]: https://aws.amazon.com/sns/
77 | [SES]: https://aws.amazon.com/ses/
78 | [EC2]: https://aws.amazon.com/ec2/
79 | [ECS]: https://aws.amazon.com/ecs/
80 | [CloudWatch]: https://aws.amazon.com/cloudwatch/
81 | [RDS]: https://aws.amazon.com/rds/
82 | [S3]: https://aws.amazon.com/s3/
83 | [JavaScript]: https://developer.mozilla.org/en-US/docs/Web/JavaScript
84 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # Developer Jobs
4 |
5 | ## What we do?
6 |
7 | - We help
8 | people [transform their lives through education](https://blog.provi.com.br/institucional/provi-fintech-acesso-a-educacao/)
9 | - We help
10 | people [to do a course them have always dreamed with but was never being able to pay for it](https://6minutos.uol.com.br/minhas-financas/conheca-a-provi-a-fintech-que-analisa-sua-perspectiva-de-carreira-na-hora-de-emprestar/)
11 | - We
12 | help [medical students finish their graduation with allowance](https://forbes.com.br/forbes-tech/2020/07/fintech-e-plataforma-de-educacao-anunciam-programa-para-estudantes-de-medicina/)
13 | - We help
14 | people [to study without paying until they get a job](https://medium.com/@avbaraldi/o-que-%C3%A9-income-share-agreement-isa-1539eb015267)
15 | - We build **high scalable microservices** so our students and partners have an amazing experience from beginning to
16 | finish
17 | - We build **amazing frontend platforms** that allow anyone to request a loan
18 | - We build **a strong engineer culture** so anyone who join the rocket can learn and grow a lot
19 | - We use [the best tools for software development available out there](./tools/tools.md)
20 | - Want to know more about us?
21 | - [LinkedIn](https://www.linkedin.com/company/provi)
22 | - [Instagram](https://www.instagram.com/sejaprovi/?hl=pt)
23 | - [Website](https://provi.com.br/)
24 | - [Blog](https://blog.provi.com.br/)
25 | - [Career page on Notion](https://provi.com.br/carreiras)
26 |
27 | ## Team
28 |
29 | You will work in a very engaged team, working in an agile environment and delivering high quality software from ground
30 | up
31 |
32 | 👉 What is **normal** here:
33 |
34 | - to build new products
35 | - to build new microservices
36 | - to automate stuff
37 | - to solve scalability problems
38 | - to improve our existing products every day
39 |
40 | 👉 What is **not normal** here:
41 |
42 | - to not have a growth mindset
43 | - to not like changes
44 | - to feel disconnected from the business world as a developer
45 |
46 | 👉 [What our team likes to use/study and you may learn a little with us in the journey](./tools/tools.md)
47 |
48 | # Jobs
49 |
50 | We have 3 types of jobs available at Provi Tech Team: [**backend**](#backend), [**frontend**](#frontend) and
51 | [**fullstack**](#fullstack). If you indicate an awesome developer, and he/she get hired, we pay you R$ 1000,00
52 |
53 | ## Base requirements for all positions
54 |
55 | All positions require:
56 |
57 | - [ ] Knowledge of javascript
58 | - [ ] Knowledge of git
59 | - [ ] Knowledge of terminal/shell
60 | - [ ] Passion to learn new things and solve complex problems
61 | - [ ] Proactivity
62 | - [ ] Curiosity and interest in business rules and logic
63 | - [ ] English (feel comfortable writing, reading and googling. Don't need to be fluent)
64 | - [ ] Deeply desire for professional growth
65 | - [ ] Great communication (verbal and writing)
66 | - [ ] Understanding of the education and financial market
67 | - [ ] Problem solving skills (using google, stack overflow, github, slack, and so on in a smart way)
68 |
69 | # Backend
70 |
71 | ## Description
72 |
73 | Backend developers will work on multiple projects to solve hard backend problems using Javascript, Nodejs, Express,
74 | MongoDB, Postgres, Python and AWS. They will deploy all these projects using these tools: Docker, ECS, GitHub Actions.
75 |
76 | ## Backend requirements
77 |
78 | - [ ] [All the base requirements](#base-requirements-for-all-positions)
79 | - [ ] Knowledge of Nodejs
80 | - [ ] Knowledge of REST api
81 | - [ ] Knowledge of database modeling
82 | - [ ] Knowledge of MongoDB
83 | - [ ] Knowledge of Postgres/SQL
84 | - [ ] Understanding of tests and a testing framework (mocha, chai, jest or any other similar)
85 | - [ ] Good to know: Docker, AWS, understanding of distributed systems, Python (not required)
86 | - [ ] [Challenge](./backend/challenge.md)
87 |
88 | # Frontend
89 |
90 | ## Description
91 |
92 | Frontend developers will work on multiple projects to solve hard frontend and mobile problems using React, Gatsby and
93 | Context API.
94 |
95 | ## Frontend requirements
96 |
97 | - [ ] [All the requirements listed above](#base-requirements-for-all-positions)
98 | - [ ] Worked with React in production for at least six months
99 | - [ ] Knowledge of Flexbox, styling and css
100 | - [ ] Knowledge of state management (it can be Redux, Mobx, ContextAPI or any related state management framework)
101 | - [ ] Experience working as a frontend developer in a production project for at least 1 year
102 | - [ ] [Challenge](./frontend/challenge.md)
103 |
104 | # FullStack
105 |
106 | ## Description
107 |
108 | Fullstack developers build, test and deliver a backend and frontend parts of projects, having a global overview of the
109 | whole project and business rules.
110 |
111 | ## Requirements
112 |
113 | - [ ] [All the requirements for backend developers](#backend-requirements)
114 | - [ ] [All the requirements for frontend developers](#frontend-requirements)
115 | - [ ] Experience working as a full stack developer in a production project for at least 1 year
116 | - [ ] [Challenge](./fullstack/challenge.md)
117 |
118 | # Steps of our application process
119 |
120 | **1** - Choose which position fits you best and start the challenge
121 |
122 | **2** - Once you finish the challenge, send it to us using an email we can reach you
123 |
124 | **3** - Wait 3 business days (maximum)
125 |
126 | **4** - We will reach you:
127 |
128 | - We'll e-mail you details about the next steps in case your challenge achieves a high technical level
129 | - In case your challenge doesn't achieve the desired level, we will send a technical review, so you can improve your
130 | skills 💪
131 |
132 | **5** - What we will expect from you in the next steps of the application process if your challenge **do achieve a high
133 | technical level**:
134 |
135 | - You know what [tools](./tools/tools.md) we love to use
136 | - You researched about our business model, big numbers, main partners, website and social networks
137 | - You tested our product. You feel comfortable to discuss the strong/weak points
138 | - You feel very comfortable with all of the [base requirements](#base-requirements-for-all-positions)
139 |
--------------------------------------------------------------------------------