If you’re the go-to person for tech-related questions among your family and friends, there’s a good chance someone’s asked you what the deal is with NFTs — a.k.a. non fungible tokens). And no matter how many times you patiently explain that an NFT is a record of ownership of a unique digital asset that’s stored on a blockchain, even you might have lingering questions and curiosities about the technology.
NFTs are a fascinating (and occasionally controversial) piece of the Web3 puzzle. All of the hype and evangelism surrounding NFTs makes it challenging to get a solid understanding of the phenomenon — even as a programmer or someone with a tech background.
In our new free course Intro to Blockchain and Crypto, you’ll learn about the process of generating an NFT on popular blockchains, as well as some of the other practical use cases for smart contracts. The course is designed to introduce folks with basic web development and programming knowledge to the technology behind Web3, crypto, and blockchain.
After completing the course, you’ll be able to confidently field those NFT questions from well-meaning friends and family members. But more importantly, you’ll have enough information about the Web3 landscape to make decisions about where you’ll take your career as a programmer. Read on to get answers to pressing questions that new programmers often have about NFTs.
How much coding goes into making an NFT?
A lot of coding or basically none, depending on the route you choose, explains Kenny Rogers, Developer Advocate at the Stacks Foundation, an organization that provides tools and resources for people to learn about Stacks technology.
Coding an NFT from scratch is pretty complicated. Assuming you’ve decided on a digital item (like a profile picture or a MP3 file) that you want to make an NFT, the next step for a developer would be writing a smart contract, which is an immutable, self-executing chunk of code that lives on the blockchain, and handles the creation of an NFT collection as a whole.
The NFT smart contract determines all of the attributes and functions that an NFT will have, explains Juliette Chevalier, a Developer Advocate at Aragon, where she’s building a DAO (decentralized autonomous organization) framework, and the co-founder and CTO of Surge, a crypto-native talent pool for women. Much like an analog contract used in business, an NFT smart contract outlines parameters for the NFT, like the ability to transfer it, change the attributes of each design, have a token ID, and get paid for it.
The exact process of coding a smart contract for NFTs varies depending on the chain. Broadly speaking, it involves following the blockchain’s standards and methods for implementing an NFT, so that your smart contract inherits those properties. For example, an NFT on Ethereum would use a different programming language for the smart contract and token standard for an NFT than, say, an NFT on Solana.
Technically, you don’t need to know how to code in order to generate an NFT. As NFTs have exploded in popularity, lots of no-code tools that simplify the process of making an NFT have emerged. For example, marketplace platforms like OpenSea and Nifty Gateway, connect to your crypto wallet — an application that’s used to store cryptocurrency and NFTs — and enable you to sell and collect NFTs. So ostensibly anyone with a crypto wallet and a little technical know-how can mint an NFT. (Good to know: These marketplaces typically charge a commission when an NFT is sold.)
Taking the DIY approach to creating an NFT means that you have a higher level of ownership over your NFT project, Kenny says. “The process you choose all depends on the goals of the project creator, their experience level, and their funding capabilities,” he says.
Can programmers get jobs working with NFTs?
With all the flashy headlines about people raking in millions from NFT sales, it’s easy to dismiss NFTs as a get-rich-quick scheme. However, as Web3 expands, there are more opportunities for programmers and technologists to pursue professional careers in blockchain development.
Browse tech job boards for Web3, and you’ll see that companies are looking for Smart Contract Developers who know how to implement smart contract protocols and mint NFTs. For these types of jobs, you need to know programming languages that are commonly used in blockchain development, like Solidity, Clarity, and C++.
Organizations in the business of NFTs also typically hire Smart Contract Auditors, which are developers who test an NFT project’s code to uncover potential security vulnerabilities, as well as Penetration Testers (aka “Pen Testers”) who can simulate real-world cyber attacks.
And of course, since art and NFTs tend to go hand-in-hand, there’s a demand for designers who can create the digital assets that individuals or corporations mint as NFTs. If someone’s making a massive NFT collection with thousands of unique images, programmers might use a generative art algorithm to automate the art creation using something like Python, Juliette says.
Do I really need to care about NFTs and blockchain technology?
The internet as we know it isn’t going to morph into a decentralized Web3 overnight. That said, having a big picture view of the problems that blockchain can solve and the benefits of decentralization — paired with a healthy dose of skepticism for larger-than-life claims — could help diversify your career as a programmer.
As Kenny puts it, think about “being a T-shaped developer,” which means you have deep expertise in one area, but keep an open mind to learning a little about lots of different topics.
Whether you’re curious, unconvinced, or just plain indifferent about the technology, learning the basics of how the blockchain and NFTs work could pay off. “Because Web3 is growing so much, there’s an asymmetric opportunity to invest a little bit of time learning about it for potentially a huge reward down the line,” he says.
Ready to learn how NFTs fit into the blockchain and Web3? Try our new free (and beginner-friendly) course Intro to Blockchain and Crypto, created in partnership with the Stacks Foundation. If you find that you need a refresher on web development and basic coding principles, check out our full course catalog. And if you’re still not sure what type of programming interests you the most, take our programming personality quiz.