--- tags: ncd title: NEAR Certified Developer --- Overview description: This course is an opportunity for web developers to earn a Certificate of Completion that represents the ability to design, develop, test and deploy smart contracts on the NEAR platform. image: https://near.org/wp-content/themes/near-19/assets/downloads/near_logo.svg GA: UA-188414449-3 --- # NEAR Certified Developer This course is an opportunity for web developers to earn a Certificate of Completion that represents the ability to design, develop, test and deploy smart contracts on the NEAR platform. ## Welcome Glad you could join us. We will be working together over the next week to learn to build decentralized applications on the smart contract platform known as NEAR Protocol. Here's a [report](https://medium.com/electric-capital/electric-capital-developer-report-2020-9417165c6444) of what's happening in the industry with these so-called "layer 1" platforms as of Dec 2020. The research makes it clear: *NEAR is here.* This is a **NEAR L2E** (Learn-to-Earn) course, meaning: **we pay you** to complete the course. ## Before Day 1 Please make sure you are familiar with a few of these basics before the week starts. Although you do not need to be an expert in these technologies, you should have no problem cloning a NodeJS project, downloading its dependencies and running a few scripts. - Basic JavaScript client and serverside development (see [here](https://nodejs.dev/learn) and [here](https://javascript.info)) - Basic terminal control (see [here](https://mmuratarat.github.io/2020-04-01/bash_shell_tutorial) and [here](https://mmuratarat.github.io/2020-04-01/bash_shell_tutorial) ) - Basic `git` commands (see [here](https://www.git-tower.com/learn/git/videos) and [here](https://github.com/git-school/visualizing-git)) Please **complete the pre-work**, it will likely take between 1 and 4 hours. - [**[ COMPLETE the pre-work ]**](#Schedule) ## Overview During this course we will practice: - **perceiving** web 3 in the context of human history - **reading** contract code in Rust and AssemblyScript - **writing** contracts using Rust and AssemblyScript - **testing** contracts using unit and simulation tests - **deploying** contracts and a sensible user interface The course will include lots of listening, watching, reading and writing. A minimum of 2 hours per day is recommended but up to 4-6 hours per day is likely, especially for developers with less than three years web development experience. ## Working Agreement - We will meet for **60 mins on Monday and Friday** for kickoff and demos, respectively - We will meet for **30 mins Tuesday, Wednesday and Thursday** for standup and announcements - We will break up into **small-groups** a, b, c ... etc. depending on cohort size, 3-5 people per group - We will **meet with our small-group every day** to align on progress, share confusion and promote aha! moments to the cohort - We agree to **complete activities on a daily basis** to the best of our ability - We agree to **work towards a group project demo** by the end of the week ## Questions All questions should be posted to 1 of 3 channels: - `#help` *questions re: general logistics, general schedule, account issues, etc* - `#small-group-X` (small-group-a, small-group-b, etc) *pairing requests, comments on progress, encouragement, cries for help and mercy, etc* - `#day-#` (day-0, day-1, etc.) *assignment support, confusion re: some topic for the day, etc* ## Assignments - Assignments will be posted just-in-time to the `#day-#` - Questions related to the assignment, clarifications, concerns, etc should be posted in the same day channel to avoid confusion - Completed assignment submissions should be posted to the `#day-#` so that others may review your work and learn from it, especially if they're struggling. ## Schedule ### Pre-work - Some Days Before -- [ **[ START Perceiving web 3 ]** ](https://hackmd.io/@nearly-learning/ncd-day-0) (**~10-15 hours** of content) *Learn to make sense of what is actually going on right now in the larger context of history.* --- ### Remote-first Online Course - Day 1 -- [**Reading web 3**](https://hackmd.io/@nearly-learning/ncd-day-1) *Learn to read (smart?) contracts in Rust and AssemblyScript, there's really nothing to it.* - Day 2 -- [**Writing web 3**](https://hackmd.io/@nearly-learning/ncd-day-2) *Learn to write contracts that control identity and money, among other data types.* - Day 3 -- [**Testing web 3**](https://hackmd.io/@nearly-learning/ncd-day-3) *Learn to write unit and simulation tests for smart contracts.* - Day 4 -- [**Deploying web 3**](https://hackmd.io/@nearly-learning/ncd-day-4) *Learn to deploy your contracts to LocalNet and TestNet* - Day 5 -- [**Demonstrating web 3**](https://hackmd.io/@nearly-learning/ncd-day-5) *Demonstrate your group project in 5-10 minutes* --- ### Next Steps - Some Days After -- Building web 3 *The adventure continues as a new member of our community* --- ## Recordings **Optimized Playlists** - [NCD Kickoff Shorts](https://youtube.com/playlist?list=PL9tzQn_TEuFXdfbkEw5_16Dsf0F6QLDmL) - [Student project demos](https://youtube.com/playlist?list=PL9tzQn_TEuFW_dlX-LDYGAD87bZzX2CYV) **Full Slides and Long Recordings** - Watch the full recordings on this [playlist](https://youtube.com/playlist?list=PLFjTj8QScrlneBiG9v8lNRBngHiRqmNZX) - Cohort 1: Feb 22 - Feb 26, 2021 Welcome and Kickoff [slides](http://bit.ly/near-ncd-c1) - Cohort 2: Mar 8 - Mar 12, 2021 Welcome and Kickoff [slides](http://bit.ly/near-ncd-c2) - Cohort 3: Mar 22 - Mar 26, 2021 Welcome and Kickoff [slides](http://bit.ly/near-ncd-c3) - Cohort 4: Apr 5 - Apr 9, 2021 Welcome and Kickoff [slides](http://bit.ly/near-ncd-c4) --- ## FAQ ### 1. How much does this cost? Nothing, in fact *we pay you* to complete this course. ### 2. Do I need to be a software developer to take this course? No, you do not, but it **won't be easy** and you should budget **10 hours per day**, no joke. - If you are a **junior software developer** who recently graduated from a bootcamp or has less than 3 years professional experience, you should budget 4-6 hours per day. - If you are an **senior software developer** with 5 years of professional experience or more, you should budget about 2-4 hours per day. - If you are an **experienced blockchain developer** then you will likely be able to keep up with this course with about 1 hour per day of work. ### 3. Do I need a Mac? MacOS and Linux will be the easiest operating systems to use. Windows may prove challenging but if you're ok with that, please join us. ### 4. How do I know if I'm winning? There's no such thing as winning here because we're all lost. Welcome, friend. ### 5. When moon?! Please don't. ### 6. Do you care if I cheat? No, in fact cheating is encouraged. Let's get one thing straight: if you're serious about learning, the fastest way from here to there is to meet people, ask questions, look at some answers, look at even more answers, copy some examples, break things and finally, if you're lucky, learn something new. As long as you're honest about what you're doing, you're always welcome here. Just don't take credit for others people's work because that's lame. ### 7. I have zero time for all this. Can I just binge on some deep work on my own? Hell yes! Here you go: - [NEAR in a Nutshell](https://docs.google.com/document/d/1fG3PNTKw727Z5SVyUbJ2nnxn5MZNSGYEZIU2Y7XtlYY) covers everything that is NEAR on a single page - [NEAR Live Contract Review](https://www.youtube.com/watch?v=BA7VeUS_RAA&list=PL9tzQn_TEuFXnYksuNJwrl1l_AuWzn6eF) covers our [core contracts](https://github.com/near/core-contracts), among others - [NEAR Live App Review](https://www.youtube.com/watch?v=dT99JLpO2Q8&list=PL9tzQn_TEuFXnHlfh00etU57IjpRlQGpY) covers app development patterns - [NEAR Core Overview](https://www.youtube.com/watch?v=Xi_8PapFCjo&list=PL9tzQn_TEuFV4qlts0tVgndnytFs4QSYo) covers the `nearcore` code base - [Learn NEAR](near.org/learn) landing page for educational content ### 8. I have one hundred more questions. That's awesome. Here is [**a real FAQ**](https://hackmd.io/@nearly-learning/faq)