HackMD
    • Options
    • Versions and GitHub Sync
    • Transfer ownership
    • Delete this note
    • Template
    • Save as template
    • Insert from template
    • Export
    • Dropbox
    • Google Drive
    • Gist
    • Import
    • Dropbox
    • Google Drive
    • Gist
    • Clipboard
    • Download
    • Markdown
    • HTML
    • Raw HTML
    • ODF (Beta)
    • PDF (Beta)
    • Sharing Link copied
    • /edit
    • View mode
      • Edit mode
      • View mode
      • Book mode
      • Slide mode
      Edit mode View mode Book mode Slide mode
    • Note Permission
    • Read
      • Owners
      • Signed-in users
      • Everyone
      Owners Signed-in users Everyone
    • Write
      • Owners
      • Signed-in users
      • Everyone
      Owners Signed-in users Everyone
    • More (Comment, Invitee)
    • Publishing
      Everyone on the web can find and read all notes of this public team.
      After the note is published, everyone on the web can find and read this note.
      See all published notes on profile page.
    • Commenting Enable
      Disabled Forbidden Owners Signed-in users Everyone
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Invitee
    • No invitee
Menu Sharing Help
Menu
Options
Versions and GitHub Sync Transfer ownership Delete this note
Export
Dropbox Google Drive Gist
Import
Dropbox Google Drive Gist Clipboard
Download
Markdown HTML Raw HTML ODF (Beta) PDF (Beta)
Back
Sharing
Sharing Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
More (Comment, Invitee)
Publishing
Everyone on the web can find and read all notes of this public team.
After the note is published, everyone on the web can find and read this note.
See all published notes on profile page.
More (Comment, Invitee)
Commenting Enable
Disabled Forbidden Owners Signed-in users Everyone
Permission
Owners
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Invitee
No invitee
   owned this note    owned this note      
Published Linked with GitHub
Like BookmarkBookmarked
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
# The "Core Developer" Apprenticeship Program The development of the core Ethereum protocols is some of the most important and impactful work you can do in the Ethereum ecosystem. Open source protocols and accompanying open source software and clients that implement those protocol rules are the foundation everything else is built upon. In the coming years the Ethereum protocols will be going through the most significant updates and upgrades since genesis. We need more talented and dedicated people to be part of this process. If you are interested in joining this effort the doors are open. You just have to walk through them. ## What is it The "Core Developer Apprenticeship Program" is a trial program designed to onboard developers to the process through which the protocol development happens. It is an opportunity to dive deep into the protocol and learn while also working closely with the core development community. ## Who is it for Successful candidates will have most of the following skills. It is ok if you have some weak areas, but you should expect to focus on improving them. ### Verbal and Written communication Core development requires you to both be able to write your ideas down in a manner that is clear and easy to understand. In addition you will need to be able to discuss your ideas in person and over voice and video calls. ### Self Directed Core development requires the ability to tackle a problem in a self directed way. You will have a community of knowledgeable people to support you, but the ultimate responsibility for figuring things out is yours. ### Technical Foundation Core development is deeply technical. You will consistently be required to learn and understand new things. We don't expect you to have a deep understanding of the domain specific knowledge, but you should have solid technical foundation. Things like experience with software development, a computer science or math background, or being able to read and very loosely understand the Ethereum yellow paper. You should be confident in your ability to learn and understand complex technical things. ### Ability to "Write Code" You don't have to be a seasoned software engineer. But almost everyone who is successful at core development has some ability to use code to validate their ideas. ### Intrinsically Motivated This is probably the most important one. You should have a strong inherent desire to do this work. Working on open source and open protocols. Building decentralized peer to peer networks. Improving client architecture. Developing and improving low level EVM mechanics. ## How will it work The program will formally run for four months. The program will take applicants over a period of two weeks. Selected applicants will be paired up into teams of two. We are interested in applicants who wish to work "full time" on a project, but this is not a hard requirement. The program will be loosely structured as follows. - Stage 1: Discovery (~1 week) - Teams will gather a high level understanding of a broad set of problems in the ecosystem that are of interest to them. We will provide a base list of problems, but teams are encouraged to look beyond this list as well. - Deliverable: At the end of this stage, teams will produce a write-up of the problems they explored and what they learned about them (high level) - Stage 2: Deep Dive (~1 week) - Teams will dive deep into one or more of the problems they identified in stage one. Their goal is to both aggregate prior work and information, as well as gain as deep an understanding as possible. Identifying and understanding design trade-offs. Understanding the reasons behind design choices. - Deliverable: A comprehensive and well organized write up of the problem and proposed solution. - Stage 3: Deep Work (all remaining time) - Teams will choose what they wish to work on, what their goals are, and will execute their plan. - Deliverable: Teams are expected to publish weekly development updates as well as a comprehensive "final" update at the natural conclusion of their work. During this entire process teams will have access to the core developer community for things like answering questions and getting feedback on ideas. Applicants should **not** expect the core developers to actively guide them. A common weekly "stand up" meeting will be held for all teams during which they will go over 1) what they've been working on, 2) what they are working on next and 3) anything that is blocking their work. ## When is this happening The program is slated to run from mid June 2021 through mid September 2021. ## Will you be paid? Our goal is to strike a balance between fair compensation and the opportunity to get paid to learn. We will work with individual applicants to determine a "stipend" amount which will allow you to focus your effort on this program. ## How can I apply > **APPLICATIONS ARE NO LONGER BEING ACCEPTED ## Who is running the program The program is being funded by the Ethereum Foundation and run by Piper Merriam who works for the Ethereum Foundation. This is a trial program to experiment with how we can onboard more "core developers". > "Core Protocol Development" happens across many disparate teams. The Ethereum Foundation doesn't control this process, nor does it wish to. The program is simply one member of the Ethereum Foundation (Piper Merriam) trying out an idea to see if it works.

Import from clipboard

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lost their connection.

Create a note from template

Create a note from template

Oops...
This template is not available.


Upgrade

All
  • All
  • Team
No template found.

Create custom template


Upgrade

Delete template

Do you really want to delete this template?

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Sign in via SAML

or

Sign in via GitHub

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Tutorials

Book Mode Tutorial

Slide Mode Tutorial

YAML Metadata

Resources

Releases

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions

Versions and GitHub Sync

Sign in to link this note to GitHub Learn more
This note is not linked with GitHub Learn more
 
Add badge Pull Push GitHub Link Settings
Upgrade now

Version named by    

More Less
  • Edit
  • Delete

Note content is identical to the latest version.
Compare with
    Choose a version
    No search result
    Version not found

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub

      Please sign in to GitHub and install the HackMD app on your GitHub repo. Learn more

       Sign in to GitHub

      HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Available push count

      Upgrade

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Upgrade

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully