Before you apply, it’s a good idea to get in touch with the Julia community.
Ask questions on Discourse or join the
Julia Slack to get connected with
potential mentors to help find interesting projects. The Slack channel #jsoc is
dedicated to helping students get the help they need. Additionally, you should
make use of these connections to start making some small contributions and
progress on your project early on. While PRs before the applications are not
required, the Julia Language organization programs are extremely competitive,
so the more ways you have to show your commitment, the better.
GSoD applications must be submitted to https://developers.google.com/season-of-docs/.
GSoC applications must be submitted to https://summerofcode.withgoogle.com.
Applications are free-form, so you can discuss your project in whatever way you
feel is best. Our organization does not have page or formatting requirements, but we recommend
building a formal PDF document of less than 10 pages which is formatted using
Word or LaTeX. If you have any questions, contact the Julia Language student
programs administrators at email@example.com. We
recommend having a mentor to help you with the application process. Please feel
free to share your draft applications in the #jsoc channel of the Slack to
The key questions we will ask ourselves when considering it are:
Is the student committed to the project?
Is the plan a reasonable amount to do in three months?
Are there clear milestones we can use to assess progress (it should be easy
to answer the question “Is the project done?”).
In more detail, you may find it useful to consider the following questions:
What do you want to have completed by the end of the program?
For example, “a package for doing X which any Julia user can install” or
“an extra feature for Foo.jl that does Y”
Who’s interested in the work, and how will it benefit them?
For example, “bioinformaticians will be able to set up sequencing
pipelines flexibly in pure Julia”
It’s important to justify the project for people who may not be experts in
your subject area.
What are the potential hurdles you might encounter, and how can you resolve
Is there anything you need to learn about as part of the work? Does your
work depend on anyone else’s to make progress?
How will you prioritize different aspects of the project like features,
API usability, documentation, and robustness?
What milestones can you target throughout the period?
For example, getting a working prototype out to beta testers by the halfway
Are there any stretch goals you can make if the main project goes smoothly?
Tell us how you’re going to wow us with the final result!
Code portfolio. Show us a sample or two of code that you’re proud of. It
doesn’t have to be Julia (but that doesn’t hurt either). You don’t need to be a
star programmer as long as you can demonstrate interest in and commitment to
Deliverables List what concrete products expect to deliver by the end of
About you. Why you? Give us a sense of who you are as a person and as a programmer.
What academic, professional or hobby programming experience do you have,
and how will it help you with your project?
Have you contributed to open source projects before? (Link us to some issues
and patches, if any)
Why are you interested in Julia? Have you used it much before? You need to
demonstrate your ability to use Julia by the beginning of the of the program.
Trainee programs are not for learning the Julia language, though extensive
prior experience is not required.
Do you have the mathematical/scientific background for your project? Many
of the Julialang projects have a significant portion that require technical
expertise and applicants need to demonstrate their ability to handle the
How should we contact you? Let us know your email address and GitHub username.
Do you have a website or blog?
Anything else you’d like to mention!
What other time commitments, such as summer courses, other jobs,
planned vacations, etc., will you have over the summer?