Code Health Group/projects/DevEd

Education plays an important role in our continuous improvement within the Foundation. Developer Education or DevEd is an initiative with the focus of building a curriculum and associated resources to support that learning.

Scope edit

As with any project, the DevEd project will focus on some short term objects with the goal of establishing a strong foundation for ongoing developer education activities. The scope of this project will be to identify some key areas of developer education that will serve as a proof of concept, as well as address some of the needs faced by the foundation and broader technical community today.

DevEd Work Group edit

Below are the active members of the working group. If you'd like to join the group, please contact Jean-Rene Branaa. We are using the RACI approach to identifying people's degree of engagement with this work group.

Name Group Contact s R A C I
Jean-Rene Branaa Quality and Test Engineering jbranaa@wikimedia.org X
Guillaume Lederrey Search Platform glederrey@wikimedia.org X
Code Health Group Code Health Group X
Birgit Community Engagement bmueller@wikimedia.org X
TechCom TechCom X

Stakeholders: Engineering Productivity, technical contributors


Approach edit

Providing meaningful and impactful education is highly dependent on the degree upon which people can take action with their newly learned knowledge. To that end we've decided to take a three tiered approach to delivering developer education.


1) Informational - This tier focuses on abstract concepts that build a base understanding of the topic. Although abstract in nature, this tier should provide enough understanding for people to continue to self-educate if desired. This type of education will likely take the form of information discussions (such as Code Health Office Hours), talks/presentations, and/or external resources.

2) Hands-on - As implied by the title, this tier looks to provide learners the opportunity to learn through hands-on experience. The goal is to provide a less abstract form of education in which one is able to practice applying the concepts to an example scenario. This tier will likely be delivered through workshops with a small number of participants. Examples of this are the TDD and Refactoring workshops.

3) Contextual - This tier is all about context. Specifically the learner's daily context. The emphasis is to learn how to apply the concepts and skills to the code/work they are working on. This helps bridge the gap between applying the skills in a "perfect world" and applying it to the less-than-perfect world they are likely exposed to daily. This kind of education is likely to take the form of consulting and/or pairing with more experienced practitioners.

Offerings edit

The DevEd work group is in the early stages of building out the curriculum and training resources, so expect things to change frequently. If you'd like to participate in the DevEd work group, please let us know. Have a look at the currently running workshops.

Title Description Tier Type Action
Hands-on Test Driven Design (TDD) The aim of this workshop is to provide participants an opportunity to practice some of the skills necessary to successfully implement TDD and benefit from the true value of TDD (spoiler - it's not about testing). 2 Workshop Sign Up
Hands-on Refactoring This workshop will look at some patterns and tools we can use to refactor our code. It will be hands on, with live coding and discussion. Please have a look at this code before the workshop and try to refactor it as best as you can. We will do the same exercise live, focusing on the process, not on the end result. 2 Workshop Sign Up
Applying TDD to your project This activity focuses on the application of TDD patterns, practices, and tools to your daily work. The expectation is that those participating in this activity are already versed in TDD concepts and have built some TDD skills through participation in the Hands-on Test Driven Design workshop or equivalent. 3 Consulting Request

Want more? Suggest curriculum here.