solidity

Become a Security-Informed Solidity Engineer

Learn Solidity security and best practices from engineers who have worked on & audited crypto protocols with billions in total value locked.

"My security experience set me apart in interviews with protocols - and no one teaches and reinforces Web3 security skills like Macro."
Brian, Facebook --> Stardust

“It takes me an hour and a half to accomplish something it would've taken a week before the Macro Fellowship.”
Samantha, Founder Fellow, South Park Commons

“The Macro team, projects & community are awesome - My confidence shot up in writing & shipping secure smart contract code thanks to the Engineer Fellowship.”
Sunny, Gemini --> Synthetix

Build Contracts from Scratch

ERC-20, ERC-721, DAO governance, Liquidity Pools, and more

Average Graduate Compensation

$201k Salary + Tokens / Equity

6 Weeks Part-Time

Sync & Async w/ other Experienced Devs

Next Cohorts

Sep 5 - Oct 14 (At Capacity)
Oct 24 - Dec 2
Jan 9 - Feb 17
Cohorts are limited to 25 engineers

Tuition

3000 USDC

Industry Approved

Macro is backed by several of the best founders, operators, and investors in Web3.

All Types of Web3 Projects Are Hiring Macro Grads

... and 60+ more

What will you learn?

Web3 moves fast. The following information incorporates our core curriculum -- however, because our topics are updated every week, by the time you enroll, this course may contain new or omitted information.

01
Learn by Doing

The principle method of learning will be through hands-on projects and live lectures.

After each project or assignment, our staff will micro-audit your code. We score it based on security, accuracy, and readability.

We will provide you with personalized feedback -- using the same format that our audit arm uses to deliver its feedback to paying clients.

02
Smart Contract Security Engineering

Develop an understanding of known security attacks using detailed analyses of multiple real-world hacks

Explore code analysis tools

Learn to reduce code complexity

Obtain thorough knowledge of the EVM, at the level of assembly and opcodes

Get exposure to important EIPs and where to find them

Pick up on best practices for securing a protocol, using Gnosis Multi-signature wallets

Learn tips on how to approach smart contract auditing from professional auditors

Get all your Web3-related questions answered by professional practitioners

03
Designing with Blockchain Constraints

Data structures & visibility

Oracles

Weaknesses of the platform

Mitigation of front running vulnerabilities

Time-based business logic

Deployment and optimization of code for L2 chains

04
Blockchain Software Engineering

Deploying your code to testnet & mainnet

Using smart contract design patterns

Conforming to ERC standards

Interacting with other existing contracts

Learning storage and gas optimization

Employing the best practices when writing tests for Solidity

Determining whether data can/should be on-chain or off-chain

05
Learn How to Build Industry Standard Web3 Dapps

Using Ethereum provider APIs

Compiling your code and generating ABIs

Building a browser frontend to a smart contract backend

  1. Reading contract data
  2. Connecting to a user's wallet
  3. Signing transactions

Admissions & Onboarding Timeline

Submit an application
45m technical discussion
Homework (optional)
Decision
Precourse work
Day 1 of class

What makes a great applicant?

Experienced

4+ years of development experience with substantial feature delivery

Full-stack background is preferable but advanced front-end or back-end engineers can also succeed

Excited to learn

Excited to learn how to write secure smart contracts

Available

Has at least 25+ hours/week available to dedicate to the course

Present

Can attend *all* lectures (9:00 am to 11:00 am Pacific time, M/W/F)

Proactive

Excited and capable of independently learning a new programming language (Solidity)

(We don't actually teach a lot of Solidity other than the intricacies, we expect you to learn most of it yourself)

Flexible

Can attend *some* office hours (Tuesday / Thursday scattered through Pacific time)

Collaborative

Great collaboration (async & written via Discord and sync & verbal via Zoom)

Get Advanced Training in Solidity & Web3