The development of the core Ethereum protocol is some of the most important and impactful work you can do in the Ethereum ecosystem. Open protocols and accompanying free and open-source software and clients that implement those protocol rules are the foundation everything else within the Ethereum ecosystem is built upon.
The Ethereum protocol needs maintenance but also goes through the significant updates and upgrades and there is much to do. Ethereum needs 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.
The Ethereum Protocol Fellowship (formerly Core Developer Apprentice Program) is a program designed to onboard developers to the process through which protocol development happens. It is an opportunity to dive deep into the protocol while working closely with others on the same learning trajectory as well as the core development community.
This program will not teach or focus in any way on smart contract development or creating blockchain applications.
Over the course of the 5 month program, EPF participants will receive project support and mentorship as well as a monthly stipend while working on a project of their choosing. Participants can expect
- a weekly call with participants
- selected mentorship with available devs
- weekly AMAs with core developers
- optional in-person meetups
- project documentation guidance
Learn more about EPF and the previous cohort in the fourth cohort recap.
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. While none of these guidelines are hard requirements for applicants, the most successful applicants:
- have strong verbal and written communication skills
- are self-directed and self-motivated
- have a technical foundation
- are able to write code
Core development requires you to 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. The majority of protocol development happens in English.
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. The program will operate in much the same way. While mentorship is an important part of this program, mentors are there to unlock doors and remove barriers. There will be near-zero "teaching".
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 a solid technical foundation. This could be 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.
You don't have to be a seasoned software engineer. But almost everyone who is successful in core development has some ability to use code to implement and validate their ideas.
This is probably the most important one. You need 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. Contributing to the public good.
You are not expected to have expert-level skills in all of these areas, but you should expect to spend time improving on any weak areas.
Candidate selection will take the following things into account.
- Your application and areas of interest
- Your history of open source contributions
- Your existing contributions to the Ethereum ecosystem
- Relevant prior work experience
We will be prioritizing candidates which have something that we consider a strong signal of both interest and ability.
There are life situations which may result in a capable candidate not being able to easily demonstrate their ability. An example would be a long career in private industry working in a closed-source environment. If this is your situation, you are encouraged to explain your situation and make as compelling a case as possible for why you should be considered.
Applications are opened from May 14 to May 26.
The program will run for 5 months, from June 10 through mid-November. This gives us the opportunity to organize physical meetups at Ethereum conferences like Devcon and EthCC.
Timeline of the 5 month program will follow these stages:
- Initial meeting with individual participants, interviewing and providing program orientation.
- Initial group session, presenting the introduction to the program and areas of focus.
- Learn about Ethereum core protocol, catch up on resources from the study group and identify problems interesting to you
- Learn about chosen problems and create a write up of a topic of interest based on input from mentors.
- Deep dive into identified areas. Learn and familiarize with previous work and current solutions.
- Connect with chosen mentors and work towards defining a deliverable project.
- Write and submit a project proposal on the selected problem(s), suggested solutions, and a roadmap for working on the issue throughout the program.
- Report presentation to other participants and select mentors to gather final feedback.
- Execute project roadmap to complete deliverables
- Publish weekly development updates.
- Weekly group calls (stand up) with participants and mentors.
- Project wrap up and looking forward to further contributing to the Ethereum ecosystem
- Project showcase to group and mentors
- In-person event at Devcon SEA
During the entire process, participants will have access to mentors and the core developer community for things like answering questions and getting feedback on ideas. Participants 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
- What they've been working on
- What they are working on next
- Anything that is blocking their work.
Our goal is to provide an opportunity for you 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. Some candidates will be selected for funding at the start of the program. Other candidates who choose to participate independent of funding may be extended the option to receive funding as the program progresses.
The program is funded by the Ethereum Foundation and run by the Protocol Support Team. It is important to note that the Ethereum Foundation does not own, operate, or manage Ethereum but exists to support the protocol and the Ethereum community through funding and research.