--- tags: ncd title: DEPRECATED landing page for NEAR Certified Developer (toc) --- # :warning: this page is deprecated :warning: # :arrow_right: see this [updated page](https://hackmd.io/@nearly-learning/ncd) :arrow_left: # 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. ## 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* - `#group-x` (group-A, 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 - Days Before -- [**Perceiving web 3**](https://hackmd.io/@amgando/ncd-day-0) *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/@amgando/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/@amgando/ncd-day-2) *Learn to write contracts that control identity and money, among other data types.* - Day 3 -- [**Testing web 3**](https://hackmd.io/@amgando/ncd-day-3) *Learn to write unit and simulation tests for smart contracts.* - Day 4 -- [**Deploying web 3**](https://hackmd.io/@amgando/ncd-day-4) *Learn to deploy your contracts to LocalNet and TestNet* - Day 5 -- [**Demonstrating web 3**](https://hackmd.io/@amgando/ncd-day-5) *Demonstrate your group project in 5-10 minutes* --- ### Next Steps - Days After -- [**Building web 3**](https://hackmd.io/@amgando/ncd-day-6) *The adventure continues* --- ## 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 hours per day. If you are an **experienced blockchain developer** then you will likely be able to complete this course with less than 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. WEN MOOON?! Srsly? ### 8. 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