Skip to content

Latest commit

 

History

History
156 lines (116 loc) · 12.7 KB

gsoc2024.md

File metadata and controls

156 lines (116 loc) · 12.7 KB

Welcome to sktime's Google Summer of Code program 2024!

Join the sktime team for a summer full of coding, learning and fun. Be part of our diverse community and join our efforts to advance machine learning and time series analysis capabilities, by helping create one of the first comprehensive time series ML toolboxes!

We explicitly encourage applications by groups underrepresented in the tech sector.

If you have questions, please feel free to reach out to us on Discord or GitHub discussions.

The 2024 sktime GSoC program is subject to the sktime Code of Conduct.

In the remainder of this page:

Why sktime?

sktime is the most widely used scikit-learn-like python toolbox for machine learning with time series, and the only one that is openly governed by the community. Our mission:

The application process

Here is the timeline for the application process. There are three stages, explained in detail below.

  • April 2, 18:00 (UTC). First stage. You must complete an entrance task, the sktime application form and GSoC proposal by this deadline.
    • If you want feedback on a proposal, then you must complete entrance task and sktime application at least one week earlier. See details below.
  • April 8. We inform you of the first stage outcome (proceed to interview) latest by April 9, but hopefully sooner.
  • April 8 to April 20. Second stage. Interviews happen during this time. Preferred dates are April 15 and 16. Please keep these dates free if possible.
  • April 24. We take at most one week to inform you of the interview outcome. We submit our list of ranked candidates to GSoC.
  • April 24 to May 1. Third stage. GSoC makes final selection. No further action from applicants is needed in this stage.
  • May 1. GSoC will inform you directly of the final outcome of the process.

If you get stuck or have questions, please feel free to reach out to us on Discord or GitHub discussions.

Entrace task, sktime application and GSoC proposal

The deadline to complete all of these is April 2, 18:00 (UTC). If you want feedback on a proposal, then you must complete your proposal at least one week earlier and select the option in the sktime application form. See next subsection for details.

  1. Entrance task. Make a pull request (PR) to sktime to show you are able to contribute meaningfully.
    • Your PR does not need to be merged at the time of application.
    • To find out how to contribute to sktime, look at our new contributor starter issue and developer guide.
    • Alternatively, if you are already experienced in using git and GitHub in a collaborative environment, you can skip this step. In this case, in the form in step 2 below, please provide a link to publicly visible evidence for your experience.
  2. Fill in and submit the sktime application form at (https://forms.gle/MVcf9Q45Ui1ByMxM8).
    • You should have completed your entrance task (point 1 above) before submitting the form, since you need to provide a link to it in the form.
    • Note: this form is separate from your GSoC proposal below.
  3. Submit a proposal on the GSoC platform (https://summerofcode.withgoogle.com).
    • You can base this on the list of proposed projects (see below), your entrance task, or your own independent idea - whichever you choose, we aim to evaluate fairly and primarily on quality.
    • We do not have any special or extra requirements for the proposal, so please follow the guidelines from GSoC: https://google.github.io/gsocguides/student/writing-a-proposal.

After the deadline on April 2nd has passed, we will process the information provided and tell you the outcome no later than April 9th. There are two possible outcomes:

  • Progress to interview. See below.
  • Rejection. Though this will be disheartening for you, this is only a rejection for GSoC (which is particularly demanding of participants) and should not discourage you from pursuing open source contributions, either with sktime or another package. E.g. you may still be eligible for our (unpaid) 1-1 mentoring.

Getting feedback on your proposal

If you woud like feedback on your proposal, you can request a review via the sktime application form. For this, you must have completed at least the entrance task and a draft proposal. For feedback after March 26, 18:00 UTC, you must have also submitted your proposal through the GSoC system by March 26, 18:00 (UTC) - you can update this later.

  1. Entrance task. Same as above, need not be merged.
  2. Fill in and submit the sktime application form. Same as above except:
    • Select 'Yes' for the question 'Are you requesting feedback on your application/proposal?'
    • Ensure to log in with a valid email so you can update the sktime application later (to avoid submitting a duplicate)
  3. Submit a proposal on the GSoC platform (https://summerofcode.withgoogle.com). Same as above.

For review requests before March 26, we will try to provide feedback to you within five working days. After the deadline on March 26th has passed, we will try to provide feedback to you within three working days. Unfortunately, due to having limited time, we cannot guarantee that all people who request feedback will receive feedback, especially for later submissions, but we will do our best. If we cannot provide feedback to all people, then we will give preference to people who completed the steps earlier. For any second and further requests of feedback, we will give overriding preference to people who have received the least number of feedback rounds.

Depending on the feedback, you should then update your GSoC proposal, and your sktime application form, where applicable.

Interview

If successful in the above steps, we will invite you to a structured interview (ca. 30 to 60 minutes length; to be finalised) with core community members of sktime. The interview will happen in the two-week period April 8 to 20, and our preferred dates are April 15 and 16. Please keep these dates free if possible.

During the interview:

  • we will ask you to give a short (5 to 10 minutes; to be finalised) presentation on a piece of Python code that you wrote. Please be ready to screen share your code or to send a link to the repo containing your code.
  • we will ask about your motivation to join sktime, your previous experience, your suitability for the specified project, and technical questions on data science and Python.

After the interview, we will rank the candidates and send a shortlist of our preferred candidates to GSoC, who will make the final decisions and allocations. We will inform you of our perspective on the interviews (see below for possible outcomes) at most one week after the final candidate is interviewed, and GSoC will inform you of the final decision by May 1.

When we inform you of the outcome of the interview, there are two possibilities:

  • Conditional acceptance. This means you are in our shortlist sent to GSoC. This means likely - but not guaranteed - acceptance to the sktime GSoC program.
  • A rejection. This means you are not in our shortlist sent to GSoC for 2024.
    • We understand this will be disheartening for you, but this is only a rejection for GSoC, which is particularly demanding of participants. We will always welcome anybody interested in joining sktime outside of GSoC.

Selection criteria for initial application phase

In the above, the following are used for selection:

  • quality of the entrance task
  • quality of the proposal
  • performance in the structured interview (for content see above)
  • prior contributions to sktime, if applicable
  • prior interactions with the community, if applicable

What we expect from you

GSoC is a marathon, not a sprint, and we expect good performance over the whole project.

Our expectations for GSoC participants before GSoC starts:

  • You are interested in time series, machine learning, AI, statistics, API design and software architecture.
  • You like coding in Python.
  • You are familiar with the basic data science ecosystem in Python, including numpy, pandas and scikit-learn.
  • You enjoy working with a vibrant team of experienced ML scientists and software engineers.
  • You are enthusiastic about open-source.

Our expectations for GSoC participants during GSoC:

  • You follow our Code of Conduct.
  • You work full time on your GSoC project.
  • You maintain daily contact with your mentor(s).
  • You engage with the sktime community and other mentees.
  • You peer-review a fellow student's work in the middle and at the end of GSoC.
  • You consider becoming a long-term developer and contributor, stepping up to become a leader in open source toolbox development.

What you can expect from us

The expectations on you are high, but you can expect just as much from us. You should expect:

  • We follow the Code of Conduct.
  • 1-1 mentoring with an experienced contributor, with weekly meetings.
  • Regular feedback and help on your efforts, including blogposts, with quick responses from us (usually respond within 2 working days).
  • 'Agile' ways of working, used throughout the tech industry, e.g. daily standups.
  • Cutting edge projects in highly sought-after areas of data science: time series, toolboxes, applications to healthcare and industry.
  • The opportunity to acquire a variety of transferrable skills, both technical skills (like coding, design, testing, documentation) and soft skills (teamwork, giving and receiving feedback, goal setting).
  • The opportunity to engage and socialise with the sktime community and other GSoC participants.
  • The opportunity to become a core developer of sktime.

Projects

For potential projects, see our list of suggested projects and good first issues. We also appreciate applications with your own ideas!

Mentors 2024

Name GitHub Website
Anirban Ray @yarnabrina
Benedikt Heidrich @benheid
Franz Király @fkiraly website
Kiril Ralinovski @kirilral
Sankalp Gilda @astrogilda
Ugochukwu Onyeka @onyekaugochukwu