├── .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 | ![Provi Tech Team](./img/background.jpg) 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 | --------------------------------------------------------------------------------