Participants
This event is open to anyone over 18, with preference given to undergraduate or postgraduate
coders currently enrolled in a school program. We are looking for creative, driven, and
goal-oriented individuals who are willing to contribute to the D programming language. Those
looking to participate in the Symmetry Autumn of Code should expect to propose an idea for
a new open-source project or to establish specific goals for improving an existing project,
finalize milestones for evaluation of progress on the project, and work with a mentor for four
months to ensure the milestones are met. Participants should expect to put in 20 hours of work
each week, keep their mentor updated on their progress, provide status updates in the D forums,
and work with their mentor to submit monthly progress reports for review by the
SAOC judges.
To apply, please send a project proposal and résumé to social@dlang.org. Make sure the subject line reads “SAOC
Application”, and that the project proposal and résumé are attached as files. The proposal is where
you sell us on your project. The résumé is where you show us why you're the person to get it done.
Markdown is the preferred format. Please do not send files in a word processor format (DOCX,
ODT, etc.) or PDF.
In 800 words or less, describe the project to which you're willing to devote four months of
work. Why did you select it? What specific goals do you want to achieve? Will it be completed in
four months of effort at 20 hrs/week, or will more work be required beyond the event? How will
it benefit the D ecosystem and/or community?
Your project should require enough effort to keep you occupied throughout the event while
also being beneficial to the D community. You can find a list of project ideas in the
dlang/project-ideas repository. You are not required to select a project from this list,
but they have been selected by members of the D Language Foundation as relevant to our
current goals.
You may also find an idea you like in the issue tracker in the same
repository. However, this list is uncurated and some projects may no longer be relevant.
Be sure to ask in the D forums before
selecting one, where you may also ask for additional project ideas.
It is not an absolute requirement that applicants find a mentor before applying, but doing
so will have a positive impact on the evaluation of the application. As such, applicants are
encouraged to make an effort to find potential mentors before the application is submitted.
Once an applicant decides upon a project, a good first step toward finding a mentor would be
a post in the D.announce forum.
Briefly explain who you are and why you should be selected. Describe your experience working
with the D programming language or the language you're most comfortable working with. Tell us
about your life as a programmer: programming languages you've learned, projects you've worked
on, and programming-related topics you've studied. We recommend including a link to your GitHub
profile if you have any existing work there that you'd like us to see.
Note that you aren't applying for a job! We will not take into consideration your general
education or work history. We only want to get an idea of your level of programming experience.
It will also help us if you let us know what your course workload or your work schedule will be
like for the duration of the event.
If you are currently employed, please be sure to include your employer's name and a point of
contact. Before submitting your application, you should make sure your employer imposes no
restrictions on your participation in this event and that you are free to contribute source code
to open-source projects. If your employer imposes any restrictions but is willing to waive them
for this event, please provide proof of such, or the means to obtain proof of such, as part of
your application. If your application is selected, failure to disclose this information could
result in your removal from the event.
Mentors
We are looking for patient and experienced D programmers who are willing to provide support and
guidance to the coders who pursue their projects during the four months of SAOC. Mentors are
volunteers who the participants can look to for advice on the D programming language and how to
approach solving the problems they encounter as they carry out their work. Participants and mentors
will work together to establish the project milestones that will be used to evaluate performance.
Mentors will be expected to keep abreast of their coder's progress and to encourage their coder in
achieving each milestone.
At the end of the event, each mentor whose student successfully completes the event will receive
a one-time payment of $500. Mentors of unsuccessful projects may also be eligible for the
same payment at the SAOC committee's discretion.
If you are interested in becoming a mentor, please submit an email to social@dlang.org and let
us know which project, or what kinds of projects, you would be willing to mentor, as well as the
number of hours per week you can make yourself available to your coder during the event. The
event organizers may ask for more information, such as examples of your level of experience with
D, before deciding to accept your offer. Also, please pay attention to the D.announce forum and be on the lookout for
SAOC applicants in need of a mentor.
Please note that mentors are not allowed to simultaneously participate as coders. Choose to apply only for one role!
Community members are encouraged to submit ideas for potential projects. Project suggestions should
require at least four months of work (assuming a minimum of 20 hours per week) and should be
beneficial to the D community. Ideally, each project suggestion should outline specific goals that
participants and their mentors can use to measure progress. The project should also provide a
reasonable amount of challenge. For example, improve Visual D is not an acceptable
suggestion, but a list of specific features to add to Visual D is fine.
Develop your project ideas in the D forums and
submit them as individual issues to the
dlang/project-ideas repository.