My role there went through all the Software Engineer flow, from the requirements gathering, and passing to planning, breaking the requirements into tasks, tests, development, deployment, and validation. For that, I’ve used solidity for the smart contracts, openzeppelin for the ERC1155 and ERC721, Proxy, Pausable, Counter, Ownable, and ReentrancyGuard. For tests, I used chai and ethers js. For the compilation and deployment, I’ve used hardhat with the upgrade strategy. Also for code verification, I’ve used solhint, prettier, and slither. Also, we had an auditing process for the contracts where I participated in giving all the necessary documentation and meetings for the auditors. For the frontend side, I helped a lot in the meetings with the UI/UX team to build the figmas giving them flows and some documentation required. Deployed contracts to mainnet.
Designing and implementing quality frontend and backend architectures for Polygon Nightfall. On the frontend I worked in the wallet team. My main responsibilities were to create the SCSS based on figma design created by the UX team. To build this frontend we used ReactJs (SPA). This app has integration with smart contracts using ethersjs. We used React concepts like ContextAPI, React Hooks, Redux and Axios to communicate with the APIs. The architecture was separated into pages, components, API folders to Axios, assets, styles for global styles and tests. For tests, we used React Test Library, Jest, and Cypress. Also worked in the SDK team creating a toolkit that could be used by other developers. For that, we used NodeJs, jest for tests, and Axios to communicate with the existing APIs. Worked also creating Swagger documentation for some APIs of the project and deploying code to aws using aws-sdk and terraform.
Working at a US-based startup. I've been working on the backend, frontend, and blockchain teams. We are using Nodejs, React with nextjs, chai and mocha, ethersjs, hardhat, Solidity, and others in the blockchain space. My main responsibilities were to create a new NFT standard based on the already existing standards using solidity to create the smart contracts, a javaScript project to create these smart contracts and test them using mocha and chai. To deploy these contracts on testnet and also to create a local test blockchain we used hardhat. To validate this new standard that we were creating, we also created an NFT marketplace using ReactJs and EthersJs to do the interaction between the front end and the smart contracts. This project also had a backend created with NodeJs that was created using MVC concepts for the layer separations, PostgreSQL database, jest to tests. Left this job to enter Polygon.
In the beginning, I worked with IT contract management and IT Governance using frameworks like ITILv3, COBIT5, PMBOK, and points of function. In 2018 I started to work again with software development. This time working with React and Nodejs. Used SPA for react and some libraries, techs, and concepts like: expressjs, axios, jest, eslint, prettier, typescript, Typeform, PostgreSQL, Redis, and Backend for Frontend. There we created a devops environment using Gitlab CI for integration and a helm chart to deploy the docker images to Kubernetes. For Kubernetes we used Rancher. Worked with Scrum and Extreme Programming concepts. Also had a small experience with Python using Flask to create APIs and pytest to tests. Also worked on a project that used Java11 using the MVC concept.
Worked on a project called TemControle. That is a project to manage telephone expenses and bills for the government sector. The main language used for that was Java 7 using concepts like MVC creating a Negotial layer, another for Business Rules, and another for Data access objects. Also in the architecture, there was a controller layer that did the interaction with the view layer. For this last layer, we used Java Server Faces with prime faces to create the components. For the database we started using Oracle and after we migrated to PostgreSQL. At this time we started working with SVN for code versioning and after we migrated to Git. We also worked with Extreme programming concepts and TDD using Junit for the tests.