Internship Application Template: Difference between revisions

From Xen
Jump to navigationJump to search
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__


This document outlines the information that we expect students that apply for GSoC to provide and is also the template that Google will ask you to use.
This document outlines the information that we expect students/interns that apply for GSoC or Outreachy.


Just to be clear:
Just to be clear:
* You will have to apply through Google system using this template
* You will have to apply through Google / Outreachy application system using this template
* It is good practice to discuss and work with the Mentor before making an application
* It is good practice to discuss and work with the Mentor before making an application
* You can use the questions in this template to inform the discussion, before the application period starts.
* You can use the questions in this template to inform the discussion, before the application period starts.
* Feel free to copy your application into a google doc, etherpad or similar and work through some of it with your prospective mentor
* Also note, that we are *strongly encouraging* you to check whether you have all the hardware for your project, whether you can build the software from source and run it, work on small test tasks and/or coverity issues, etc. prior to the application period or between the application period and the announcement of candidates.


== The Template ==
== The Template ==
Line 28: Line 30:
'''1.5) Previous experience:''' have you been part of the Google Summer of Code in the past or OPW in the past? (if so, link to your work)
'''1.5) Previous experience:''' have you been part of the Google Summer of Code in the past or OPW in the past? (if so, link to your work)


'''1.6) Time commitment:''' we'd also like to know whether you're planning to work full-time on the project, or do you have other commitments (e.g. full/part time jobs, summer classes) during the summer? (It's no problem either way, but useful for us to know)
'''1.6) Patches and communication:''' we suggested to contact your mentor prior to application, and maybe write a little patch related, review some code related to your favourite project. If you have done so, add any links to communications on mailing lists, patches, etc. here.


'''1.7) Time commitment:''' we'd also like to know whether you're planning to work full-time on the project, or do you have other commitments (e.g. full/part time jobs, summer classes) during the summer? (It's no problem either way, but useful for us to know)
'''1.7) Other programs:''' please let us know whether you have applied to other student and/or intern programs such as Outreachy and list the ones you applied to


=== 2) Preparation done so far ===
'''1.8) Other programs:''' please let us know whether you have applied to other student and/or intern programs such as OPW and list the ones you applied to


Note that the following questions are *not required* for an application. However, demonstrating that you have dealt with these following questions will make sure that you can get started quickly on the project and will give you an edge compared to other applicants.
=== 2) Implementation Plan ===


'''2.1) Hardware''': (Have you checked, whether you have the right Hardware to complete the project - see [[Internships/Hypervisor]] in particular for Hypervisor projects. Link to any public threads on mailing lists, where you discussed hardware requirements and summarise the outcome.)
'''2.1) Project for which you are applying''' (Domain Support, Xen Hypervisor, The XAPI toolstack, Mirage OS, Windows PV Drivers, Embedded & Automotive Drivers):


'''2.2) Ability to Build and Test''': (Being able to build the project from source and run it, is the first hurdle when trying to get started. If you manage to do this, you are pretty much set for development. Thus, we recommend that you work with your mentor to build the project - maybe with an extra log entry added to the code, deploy it, run it and share the logs with the mentor on the developer list. Link to any public threads on mailing lists, where you discussed hardware requirements and summarise the outcome.)
'''2.2) Title for your proposal''' (for example "Virtio on Xen"):


'''2.3) Make a Small Contribution''': (Small contributions show that you understand the workflow within the community. We always have a lot of small issues that can be fixed. If you have done so, link to any public patches you may have posted.)
'''2.3) Problem Description''' (Provide a high-level overview textual description of the problem in 2-3 paragraphs):


'''2.4) Other''': (List any other preparation tasks that you may have performed here)
'''2.4) Implementation Plan''' (Provide as much detail and organization as you can. Discuss with the appropriate interested developers in the Xen Project development community - refer back to [[GSoc 2014]] for more information) :


=== 3) Proposed Project ===
'''2.5) Expected Deliverables:''' (List the main items that you will deliver during the program - this does not have to be perfect. It is also a good idea to link to a discussion on the relevant public mailing list here to give us some context. As an aside, it will also help you as well. Set some minimum goals and stretch goals - these are nice to have's. If you have experience with or prefer agile development methodologies, write down what you would like to achieve in different scrums. That's perfectly OK: you may want to discuss with your mentor - he/she can act as product owner or scrum master if you want. Do agree with him/her upfront.)


'''3.1) Project Category for which you are applying''' (Xen Hypervisor, The XAPI toolstack, Mirage OS, Unikraft, Windows PV Drivers, Embedded & Automotive Drivers, ... these are in the main table on the project's proposal page):
'''2.6) Timeline''' (Be specific and as complete as you can. Discuss feasibility with your mentor. Build in some buffers and set some stretch goals. This will help you with progress and motivation! ):


'''3.2) Title for your proposal''' (for example "Virtio on Xen"):
'''2.7) Maintenance: (optional)''' Think about how much maintenance you think the code you write is likely to require. Your mentor will have a good idea about this and you may want to discuss with him or her. Trying to estimate this is a good work skill. If not too much, think about whether you would like to be involved in maintaining your code after the project finishes and let us know.


'''3.3) Link to original proposal''' (link to the original proposal on the project's proposal page; if it is a project you proposed please state here):
=== 3) Let us know how much help you need ===


=== 4) Implementation Plan ===
'''3.1 Describe experience''' with Domain Support, Xen Hypervisor, The XAPI toolstack, Mirage OS, Windows PV Drivers, Embedded & Automotive Drivers (as appropriate):
'''4.1) Detailed Problem Description''' (Provide a high-level overview textual description of the problem):


'''4.2) Implementation Plan''' (Provide as much detail and organisation as you can. Discuss with your mentor. Make sure you build in sufficient time for learning and getting up to speed. The questions in section 2 will help you and are very valuable to create a plan) :
'''3.2) Other experience:''' describe relevant experience that you have (If possible, describe what uniquely qualifies you for this proposal):


'''4.3) Expected Outcomes/Goals:''' (List the main outcomes that you will deliver during the program - this does not have to be perfect. It is also a good idea to link to a discussion on the relevant public mailing list here to give us some context. As an aside, it will also help you as well. Set some minimum outcomes/goals and stretch outcomes/goals - these are nice to have's. If you have experience with or prefer agile development methodologies, write down what you would like to achieve in different scrums. That's perfectly OK: you may want to discuss with your mentor - he/she can act as product owner or scrum master if you want. Do agree with him/her upfront.)
'''3.3) Learning and support:''' describe the part(s) of the proposed plan do you expect to be most difficult ( Include the specific types of of mentor help you think you will need for the part(s):


'''4.4) Timeline''' (Be specific and as complete as you can. Discuss feasibility with your mentor. Build in some buffers and set some stretch goals. This will help you with progress and motivation! ):
'''3.4) Hardware:''' let us know what Hardware and Software that you have for development (exact model number, etc.). Some projects require certain features in your Hardware such that you can do development. Also note that in some cases, it may be possible to loan you Hardware for development:


'''4.5) Maintenance: (optional)''' Think about how much maintenance you think the code you write is likely to require. Your mentor will have a good idea about this and you may want to discuss with him or her. Trying to estimate this is a good work skill. If not too much, think about whether you would like to be involved in maintaining your code after the project finishes and let us know.
'''3.5)''' Describe the part(s) of the proposed plan do you expect to be easiest:

=== 5) Let us know how much help you need ===

'''5.1 Describe experience''' with Domain Support, Xen Hypervisor, The XAPI toolstack, Mirage OS, Windows PV Drivers, Unikraft, Embedded & Automotive Drivers (as appropriate):

'''5.2) Other experience:''' describe relevant experience that you have (If possible, describe what uniquely qualifies you for this proposal):

'''5.3) Learning and support:''' describe the part(s) of the proposed plan do you expect to be most difficult ( Include the specific types of of mentor help you think you will need for the part(s):

'''5.4) Hardware (if not done in 2.1)''' let us know what Hardware and Software that you have for development (exact model number, etc.). Some projects require certain features in your Hardware such that you can do development. Also note that in some cases, it may be possible to loan you Hardware for development:

'''5.5)''' Describe the part(s) of the proposed plan do you expect to be easiest:


= Example proposals =
= Example proposals =
For example proposals and guidance on how to get accepted, see:
For example proposals and guidance on how to get accepted, see:
* http://www.di.ens.fr/~baghdadi/TXT_blog/5_advices_to_get_your_proposal_accepted.lyx.html
* http://www.di.ens.fr/~baghdadi/TXT_blog/5_advices_to_get_your_proposal_accepted.lyx.html
* http://wiki.illumos.org/display/illumos/How+to+write+an+excellent+GSoC+proposal
* http://danielpocock.com/getting-selected-for-google-summer-of-code-2016 (this is good general advice, but some does not apply to Xen)


[[Category:Community]]
[[Category:Community]]
[[Category:GSoC]]
[[Category:GSoC]]
[[Category:Internships]]

Latest revision as of 12:45, 6 February 2019


This document outlines the information that we expect students/interns that apply for GSoC or Outreachy.

Just to be clear:

  • You will have to apply through Google / Outreachy application system using this template
  • It is good practice to discuss and work with the Mentor before making an application
  • You can use the questions in this template to inform the discussion, before the application period starts.
  • Feel free to copy your application into a google doc, etherpad or similar and work through some of it with your prospective mentor
  • Also note, that we are *strongly encouraging* you to check whether you have all the hardware for your project, whether you can build the software from source and run it, work on small test tasks and/or coverity issues, etc. prior to the application period or between the application period and the announcement of candidates.

The Template

Thanks for submitting your proposal! We're keen to hear a little more from you about your own thoughts and plans about this project. Here are some questions that would help us to understand your position a little better.

Of course, we'd like to help you if you're stuck on answering any of these questions or would like more advice. Feel free to post questions about your proposal on the mailing list or chat to us in the IRC channel. We're looking forward to hearing from you.

Make sure you review and iterate your proposal with your mentor. You can use whatever medium you prefer. You may want to use google drive or another collaborative tool to work with your mentor on the application.

1) Personal Information

1.1) Full Name:

1.2) Email:

1.3) Other contact information (Optional): <add IRC handle, skype, whatever you like here>

1.4) Other applications: have you applied to or do you plan to apply to other Google Summer of Code projects for other organizations?

1.5) Previous experience: have you been part of the Google Summer of Code in the past or OPW in the past? (if so, link to your work)

1.6) Time commitment: we'd also like to know whether you're planning to work full-time on the project, or do you have other commitments (e.g. full/part time jobs, summer classes) during the summer? (It's no problem either way, but useful for us to know)

1.7) Other programs: please let us know whether you have applied to other student and/or intern programs such as Outreachy and list the ones you applied to

2) Preparation done so far

Note that the following questions are *not required* for an application. However, demonstrating that you have dealt with these following questions will make sure that you can get started quickly on the project and will give you an edge compared to other applicants.

2.1) Hardware: (Have you checked, whether you have the right Hardware to complete the project - see Internships/Hypervisor in particular for Hypervisor projects. Link to any public threads on mailing lists, where you discussed hardware requirements and summarise the outcome.)

2.2) Ability to Build and Test: (Being able to build the project from source and run it, is the first hurdle when trying to get started. If you manage to do this, you are pretty much set for development. Thus, we recommend that you work with your mentor to build the project - maybe with an extra log entry added to the code, deploy it, run it and share the logs with the mentor on the developer list. Link to any public threads on mailing lists, where you discussed hardware requirements and summarise the outcome.)

2.3) Make a Small Contribution: (Small contributions show that you understand the workflow within the community. We always have a lot of small issues that can be fixed. If you have done so, link to any public patches you may have posted.)

2.4) Other: (List any other preparation tasks that you may have performed here)

3) Proposed Project

3.1) Project Category for which you are applying (Xen Hypervisor, The XAPI toolstack, Mirage OS, Unikraft, Windows PV Drivers, Embedded & Automotive Drivers, ... these are in the main table on the project's proposal page):

3.2) Title for your proposal (for example "Virtio on Xen"):

3.3) Link to original proposal (link to the original proposal on the project's proposal page; if it is a project you proposed please state here):

4) Implementation Plan

4.1) Detailed Problem Description (Provide a high-level overview textual description of the problem):

4.2) Implementation Plan (Provide as much detail and organisation as you can. Discuss with your mentor. Make sure you build in sufficient time for learning and getting up to speed. The questions in section 2 will help you and are very valuable to create a plan) :

4.3) Expected Outcomes/Goals: (List the main outcomes that you will deliver during the program - this does not have to be perfect. It is also a good idea to link to a discussion on the relevant public mailing list here to give us some context. As an aside, it will also help you as well. Set some minimum outcomes/goals and stretch outcomes/goals - these are nice to have's. If you have experience with or prefer agile development methodologies, write down what you would like to achieve in different scrums. That's perfectly OK: you may want to discuss with your mentor - he/she can act as product owner or scrum master if you want. Do agree with him/her upfront.)

4.4) Timeline (Be specific and as complete as you can. Discuss feasibility with your mentor. Build in some buffers and set some stretch goals. This will help you with progress and motivation! ):

4.5) Maintenance: (optional) Think about how much maintenance you think the code you write is likely to require. Your mentor will have a good idea about this and you may want to discuss with him or her. Trying to estimate this is a good work skill. If not too much, think about whether you would like to be involved in maintaining your code after the project finishes and let us know.

5) Let us know how much help you need

5.1 Describe experience with Domain Support, Xen Hypervisor, The XAPI toolstack, Mirage OS, Windows PV Drivers, Unikraft, Embedded & Automotive Drivers (as appropriate):

5.2) Other experience: describe relevant experience that you have (If possible, describe what uniquely qualifies you for this proposal):

5.3) Learning and support: describe the part(s) of the proposed plan do you expect to be most difficult ( Include the specific types of of mentor help you think you will need for the part(s):

5.4) Hardware (if not done in 2.1) let us know what Hardware and Software that you have for development (exact model number, etc.). Some projects require certain features in your Hardware such that you can do development. Also note that in some cases, it may be possible to loan you Hardware for development:

5.5) Describe the part(s) of the proposed plan do you expect to be easiest:

Example proposals

For example proposals and guidance on how to get accepted, see: