When I started building my NFT marketplace in Solidity, my main goal was simple:

Make it work.

But as the project grew, I realized that writing Solidity code that works is only part of the job.

Here are three things I learned while building the project with Solidity, Foundry, and OpenZeppelin.

1. Working code doesn't mean secure code