Want to contribute to a worthy project!
CS internship
Coding internships with the Open Energy Dashboard
OED offers internships for students in many forms. Every internship is an educational opportunity where we strive to help you learn and increase your knowledge and not just complete coding tasks for the OED project. These can occur during the academic year or during breaks/summer. The project will support your getting academic credit if your college/university has this option. We also support working with a faculty member who wants students in their class to work on OED though these are typically not done as internships. All internship are done virtually and we have extensive experience in doing this.
Time expectations
OED is a real-world project using multiple technologies. As such, it is unlikely that someone can make a significant contribution in only a few hours. (If you are interested in a less significant investment, consider working on a basic issue for the OED project. There is a tag for good first issues.) Given this, most students need 10-30 hours to get into the project where the time depends on their level of knowledge of the project's technologies. Student internships have ranged from two months to a semester to more than a year if they become ongoing contributors to the project. On a weekly basis, student internships have ranged from five hours per week to full-time. The minimum total time for an internship is 60 hours (5 hours per week for a 12 week semester) but students generally spend more time in total.
Please note that OED is a Humanitarian and Free Open Source (HFOSS) project that does not have funds to financially support those working on the project so all internships are unpaid. (Everyone working on OED is an unpaid volunteer.) We believe that the quality of the experience and the opportunity to improve the world are sufficient for those working on OED. However, we will support any efforts you make to receive funding to work on OED including needed documentation.
Expected background
We do not expect you to know or have experience with the technologies involved in OED. We actually expect you to expand your knowledge while you work on the project (see below). However, a good experience depends on having a reasonable background before starting. Thus, we expect each student to have:
- Coding experience including the creation of modest size projects. This could be from working on other project(s) or from coursework. While complexity is not directly related to length, if you have not written code that is a few hundred lines then you probably are not ready for an OED project internship. While it is great if you know JavaScript/TypeScript, it is okay if you don't as long as you have a significant experience in some language and are willing to expand your knowledge.
- Sufficient background in computer science. If you have not taken data structures and algorithms (CS2 in the international curriculum that is usually taken by your second year of study) then your background is insufficient to get an OED internship. You may have taken other classes of interest such as software engineering, databases, etc. but that is not required. If you are not a college student then something equivalent is expected.
- The motivation and ability to be self directed in your work. This does not mean we do not provide support to our interns but this is not a typically class. We want you to develop as a professional and that includes being able to manage your time and efforts.
- Reasonable English language skills. While we welcome students from anywhere in the world, the project leadership has English as their primary language.
What you can expect
While each internship is tailored to the student, all internships have these aspects:
- You will have a mentor who is a senior member of the OED project. This person will be available to you to help in all aspects of the project.
- We will help you with any technical issues you have in working on the OED project so development environments or technical resources should not be a problem.
- You will have a scheduled weekly video meeting with your mentor (more frequently if needed or working more than 15 hours/week). At this meeting you will discuss your progress, any issues you are encountering, any help needed and where you are going. These meeting typically range for 30-90 minutes depending on what needs to be discussed. We like video meeting because it is not uncommon to share screens to work on items. Other meetings are arranged as needed and you are welcome to contact your mentor or other project members at any time.
- You will be guided in tasks/projects you get involved in. They typically begin with something that is easier to accomplish such as a contained bug or improvement. They then progress to creating new code and features. If you stay with the project long enough, you can become involved in feature design, pull request reviews and helping mentor other project members.
- We will attempt to match your interests to OED project work. We have had students interested in database, front-end, UI, etc. As you mature with the project, you will be given greater latitude in what tasks you can work on and greater input into what those tasks will be. We encourage students who remain with the project to diversify their work to get exposure to more technologies and gain greater experiences. As an academic-based project, OED feels it is important to offer a rich learning experience for each student.
- Flexibility in when you work. We want to work with people who are self-motivated and can manage their own time. Thus, it will be up to you to decide when you work each week as long as you are getting your tasks done. We also understand you may be taking classes, so it is common for a student to work less during exam weeks and then make up that time in a nearby week.
- Those working with you on the OED project will provide references for other opportunities including jobs and graduate school.
Reaching out for an internship with OED
If you are interested in an internship with OED or want more information, please contact us at contact us using the engage topic. If you want to begin the internship application, please provide the following information:
- Your name
- Your school, major/minor and year of study (as appropriate)
- A brief description of any relevant work you have involved in
- A brief description of why you are interested in the OED project and what you hope to get out of an internship
- An idea of the average time you plan to spend each week and how long you anticipate being involved in the project. If you are not sure when you will stop, the minimal time should be provided. Also, please give us an idea of when you want to begin working.
You are welcome to provide a resume/CV in lieu of or in addition to the items above.
OED accepts internship applications at any time. We are flexible in when you start so you do not have to wait until a particular time to begin working. You can also apply in advance to starting working at a later date.
Once we receive your information, we will review it in a timely fashion. The next step is to have a phone or video interview to talk about your involvement in the OED project. We will expand on the information you provided, get to understand you better and discuss options for working with OED. If everything looks positive, we may ask for two references in support of your application. We can also put you in contact with current/former students who have worked on the OED project so you can get their first-hand impression of working on the OED project. Decisions are generally made soon after your materials are complete.
More information
If you have questions or thoughts, please contact us using the engage topic.