How statistics are calculated
We count how many offers each candidate received and for what salary. For example, if a NFT developer with Mocha with a salary of $4,500 received 10 offers, then we would count him 10 times. If there were no offers, then he would not get into the statistics either.
The graph column is the total number of offers. This is not the number of vacancies, but an indicator of the level of demand. The more offers there are, the more companies try to hire such a specialist. 5k+ includes candidates with salaries >= $5,000 and < $5,500.
Median Salary Expectation – the weighted average of the market offer in the selected specialization, that is, the most frequent job offers for the selected specialization received by candidates. We do not count accepted or rejected offers.
Trending NFT tech & tools in 2024
NFT
NFT in crypto
An NFT (Non-Fungible Token) is a unique asset on a blockchain that signifies ownership of a digital piece of art, audio or video file. In contrast to mass-produced cryptocurrencies such as Bitcoin which can be traded interchangeably, NFTs represent unique units that cannot be passed off as identical products; you cannot exchange your Eminem NFT for another: it is non-fungible and unique. NFTs can act as registration certificates that create a digital chain of ownership, although proof of ownership alone does not equate to actual ownership.
As NFTs have sprung up and blossomed lately, they’ve started to radically shift the paradigm of what it means to own digital goods and the inherent value they carry. This has also given rise to hundreds of NFT marketplaces – essentially, websites that serve as digital storefronts to exhibit, trade, or buy NFTs. The technology behind them seems to have found a niche, and it’s got wide-ranging applications.
What are NFT marketplaces?
These are where NFTs can be stored, displayed, traded, and often even minted (ie, created). NFT marketplaces are to NFTs what Amazon or eBay are to goods.
To access and use these types of marketplaces, you will want to set up the following:
- A crypto wallet: you’ll need this to hold your crypto tokens, essentially your digital wallet, which must be compatible with a network on which the NFTs you want to buy/sell are held (below). For example, if you’re planning on buying, selling, or minting NFTs that are based on the blockchain network called Ethereum, then you will need to get a compatible Ethereum wallet such as MetaMask.
- How many coins are in your virtual wallet? If you want to purchase, publish, or mint an NFT, you’re going to have to put some money into your crypto wallet. Once again, it depends on what marketplace you’re planning to use – you’ll need to find out which cryptocurrencies they support.
- A user account: You need to create an account on the chosen market where NFTs are being bought and sold.
However, creating and listing an NFT on a marketplace generally means paying a blockchain network fee. The cost depends on the blockchain-native system you’re using. Ethereum enables the largest ecosystem of NFT dapps (decentralized applications) but has the highest fees.
NFT blockchain options
Note how the leader here is Ethereum: it is by far the most used system for purchasing selling and creating unique items that are solely held digitally. There are, however, other competitors on the market too: note the following:
- Binance Smart Chain
- Flow (by Dapper Labs)
- Tron
- EOS
- Solana
- Polkadot
- Tezos
- Algorand
- Cosmos
- WAX
How do these marketplaces work?
Signing up
Joining an NFT marketplace will look slightly different from site to site, but in general, you just need to create an account (or ‘sign in’ using one that you already have) or you might be able to just use a wallet that the NFT marketplace supports (or a new one you created for the purpose). You’ll be directed to a page where you Connect your wallet. Once your wallet is connected, you’ll be prompted to enter your wallet password (if it’s not auto-filled) to complete the process.
Buying an NFT
NFTs are bought outright for a certain price, through an auction, or (in some cases) presented to a specific owner and another bidder may make a bid in an attempt to acquire the asset at a lower price.
Selling an NFT
Selling is more technically complicated, especially for someone selling an NFT they’ve created themselves (an artwork, a soundtrack, a tweet, etc).
It means that you have to upload this individual digital asset to the platform and add a fixed price on it, or let the buyer bid for it during an auction.
Then the asset will be verified by the platform and can be listed for sale.
When the seller agrees with a bid, the marketplace executes the transfer from the buyer to the seller.
Minting an NFT
A potential first step toward minting an NFT might be Ethereum, which remains the most prominent system on which such tokens are used. You need an Ethereum wallet with native support of ERC-721 (the Ethereum token standard underpinning NFTs). One such wallet is MetaMask or also Trust Wallet or Coinbase Wallet. You also need to stash about $50-$100 of ethers in your wallet to cover transaction costs (the higher the network congestion, the steeper the fees).
After doing so, you can then begin using OpenSea, Rarible, or any other such platform. Usually, to open the dashboard where you can start minting, you’ll press a button in the top-right corner that reads ‘Create’ or similar.
Types of NFT marketplaces
Within this ecosystem, there are different types of marketplaces: the universal types, like OpenSea, are the most general, the art-focused ones are specialized, and then there are niche ones that list specific traits of non-fungible assets, such as in-game items, digital collectible cards, or virtual real estate.
Here are some popular universal and digital art-oriented NFT marketplaces currently available:
- OpenSea: The most established universal NFT marketplace is here at OpenSea, where you’ll find non-fungible tokens representing ownership of things as diverse as art, sporting collectibles, virtual worlds, trading cards, and domain names.
- Rarible: purchasing it enables replicated purchasing by others below it on the chain It’s an NFT marketplace where you or anyone else can make an NFT on one of three different blockchains, either Ethereum, Tezos, or Flow.
- SuperRare: A similar market is online at SuperRare, which specializes in digital art and works only with a handful of concept artists. Each work on sale is a unique one-of-one NFT.
- Nifty Gateway: Nifty is one of the biggest marketplaces for NFT objects. There you will find artwork from prominent artists, including the owner of the record for the most expensive NFT sold at $69 million – Beeple, and the electronic music producers Steve Aoki and deadmau5.
These are all things that could be swept up in the definition of an NFT. Still, for niche digital goods such as virtual world avatars or digital trading cards for games like fantasy football, there is a distinctly growing number of platforms vying for the attention of each digital market there – but the majority of retail NFT sales are still conducted on five platforms:
- NBA Top Shot: an NFT marketplace on Flow for buying and selling digital collectible cards of videos of memorable NBA ‘moments’.
- Axie Infinity: These are based around a digital game called Axie Infinity, in which people breed, battle, and trade cartoon pets called ‘Axies’, and in which some play professionally for a living.
- Sorare: tokens representing football players you can use in the fantasy football game Sorare.
- Decentraland features an in-house marketplace where players can buy and sell virtual land, in-game items such as wearables, and other digital experiences.
- Treasures: A website that lets users tokenize a tweet and then sell it as an NFT. For example, Twitter CEO Jack Dorsey sold his first tweet for $2.9 million.
Where is Mocha used?
Java-Jitters' Delight: Test Brew with Mocha
- Where scripts and sips collide, testers enlist Mocha to taste-test their code, ensuring it's as smooth as a barista's best espresso.
Debug Disco: Boogie Down with Bug Squashing
- Party like it's 1999 lines of code—Mocha gets developers grooving through unit tests to catch pesky critters and code boogie-monsters.
Continuous Jam: Rocking the Integration Stage
- On the continuous integration concert circuit, Mocha's the opening act, setting the stage for a seamless, rockstar deployment.
TDD Fiesta: Cha-Cha-Check with Assertive Rhythms
- Don your sombrero, Mocha marries Test-Driven Development in a vibrant dance, leading steps with assertions that spin functionalities flawlessly.
Mocha Alternatives
Jest
Jest is a delightful JavaScript Testing Framework with a focus on simplicity. It works with projects using: Babel, TypeScript, Node, React, Angular, Vue, and more.
// Example using Jest to test a sum function
const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
- Fast and safe parallel test execution
- Snapshot testing
- Built-in code coverage reports
- Global setup/teardown can be complex
- Limited browser testing abilities
- Configuration can be complex for newcomers
Jasmine
Behavior-Driven JavaScript testing framework that doesn't rely on any other JavaScript frameworks. It doesn't require a DOM and has a clean, obvious syntax.
// Example using Jasmine to test a multiply function
describe('multiply by', function() {
it('multiplies by 2', function() {
var result = multiply(2, 3);
expect(result).toBe(6);
});
});
- Rich matchers set
- Runs on any JS-enabled platform
- Asynchronous support is straightforward
- Older and more verbose API
- Manual mocking can be tedious
- Can be slow for large test suites
AVA
Minimalistic test runner for Node.js with a concise API, detailed error output, and process isolation that makes tests run fast.
// AVA example testing an add function
import test from 'ava';
import add from './add';
test('adds 1 + 2 to equal 3', t => {
t.is(add(1, 2), 3);
});
- Parallel test execution out of the box
- Isolated environment for each test file
- Concise and simple syntax
- Doesn't support method spies natively
- Smaller community
- Minimalistic might mean feature lacking
Quick Facts about Mocha
The Inception of Mocha: A Test of Time
Back in the ancient era of 2011, when smartphones were still not smart enough to make coffee, a clever developer named TJ Holowaychuk decided to stir the JavaScript world. Mocha was born to take the pain out of testing, introducing a new level of flexibility and the famous BDD (Behavior-Driven Development) flavor. It quickly caffeinated the testing scene and became a staple for JavaScript developers.
Chai, Not Just a Tea When Paired with Mocha
Although Mocha sprouted up solo, it wasn't long before developers realized it's best served with a Chai. No, not the spiced milk tea variety – Chai is an assertion library that blends perfectly with Mocha, making the testing recipe even more delicious. This powerful duo has been energizing bug-squashing sessions since Chai's inception in 2011, making a developer's life a “chai”-ful experience.
The Ever-Evolving Mocha Latte
Like a fine wine or George Clooney, Mocha only gets better with age. Its versions have progressed, sprinkling new features and fixes with every release. From introducing the use of arrow functions in version 3.2.0 to the parallel test execution in v8.0.0, Mocha continues to evolve, maintaining its spot as the go-to choice for many devs needing a strong cup of test framework to wake up their code.
describe('Coffee', function() {
describe('#brew()', function() {
it('should brew coffee without milk', function() {
let coffee = new Coffee();
assert.equal(coffee.brew(), 'black');
});
});
});
What is the difference between Junior, Middle, Senior and Expert Mocha developer?
Seniority Name | Years of Experience | Average Salary (USD/year) | Responsibilities & Activities |
---|---|---|---|
Junior | 0-2 years | $50,000 - $70,000 |
|
Middle | 2-5 years | $70,000 - $95,000 |
|
Senior | 5-8 years | $95,000 - $120,000 |
|
Expert/Team Lead | 8+ years | $120,000 - $150,000+ |
|
Top 10 Mocha Related Tech
JavaScript: The Caffeine in CoffeeScript
Just like coffee needs caffeine, Mocha craves for JavaScript. This dynamic language is to Mocha what water is to a fish; utterly indispensable. After all, Mocha—a test framework for Node.js—delights in running through JavaScript landscapes, executing tests with the grace of an Olympic gymnast.
Chai: Mocha's Best Bud
Picture this: Mocha without Chai is like cookies minus the milk. Sure, they're okay on their own, but together? Magnifique! Chai is an assertion library that gives your test scripts the superpowers of expect, should, and assert, transforming your bland "Yep, that looks fine" into a sassy "That's exactly what I anticipated!".
Node.js: Mocha's Playground
In the grand theatre of server-side scripts, Node.js is the stage where Mocha gets to shine. It's like Mocha's own Disneyland, where it can unleash its potential, scribbling tests everywhere from backend applications to Christmas lists (oops, got carried away there!).
Express.js: Mocha's Express Train to the Backend
All aboard the express train to Backendville! Choo! Choo! Here comes Express.js, the minimalist web framework for Node.js that Mocha simply adores. With express, Mocha swiftly dispatches HTTP requests, ensuring the backend logic is tighter than a kangaroo's pouch.
Sinon.js: The Great Pretender
Enter Sinon.js, the crafty shapeshifter of the coding realm that's got Mocha's back. It spins up fake servers, mocks, and spies with the finesse of a master forger, enabling Mocha to believe it's testing with real dependencies when it's all smoke and mirrors!
Istanbul.js: Mocha's Personal Insurance Agent
While Istanbul.js doesn't sell life insurance, it offers something just as vital—code coverage. Imagine Mocha donning a detective hat, using Istanbul to snoop around your codebase, ensuring no line of code can escape its testing tentacles. It's the buddy that whispers, "I got you covered!"
Cross-env: Mocha's Passport for Environment Variables
This handly little package is like a passport for Mocha, letting it hop between development, testing, and production environments with the smoothness of a seasoned traveler, ensuring your tests are worldly-wise and environment agnostic.
Nock: The Gatekeeper of the HTTP Realm
Imagine trying to test HTTP requests and having no control over the responses; enter Nock, the zealous gatekeeper that grants Mocha the power to mock HTTP requests. With Nock in its arsenal, Mocha becomes the puppet-master of APIs in the test suites.
Supertest: Mocha's Magic Wand for HTTP Assertions
If Mocha had a magic wand to test HTTP services, it would be Supertest. It takes the drudgery of HTTP assertions and turns them into a fairy-tale-like dance of checks and balances, ensuring every endpoint lives happily ever after (or gets duly fixed).
Webpack/Babel: Last but not least, the Dynamic Duo
Once upon a time in a not-so-faraway dev land, JavaScript's limitations made Mocha frown. Then came Webpack and Babel, the dynamic duo that transmogrifies next-generation JS into something even Internet Explorer could stomach. These two ensure that Mocha’s test scripts are ready for any browser quest they might face!