Skip to content

Latest commit

 

History

History
211 lines (138 loc) · 16.4 KB

File metadata and controls

211 lines (138 loc) · 16.4 KB

FAQ

General Internship Questions

  • Q1: What will I be working on during this internship?
  • Q2: What kind of software will we be using for this internship?
  • Q3: Where can I find more information about this internship?
  • Q4: What are the hours of the internship?
  • Q5: Is this a paid internship?
  • Q6: What happens after the initial steps?
  • Q7: If I'm an international student, how soon can I get my paperwork required by my visa?
  • Q8: How many pull requests and issues in total do I need to make to finish the steps?
  • Q9: How long do I have to complete these steps?
  • Q10: How can I keep track of 10 steps vetting progress?
  • Q11: When does the internship start?

Technical Questions

  • Q1: What is the purpose of Nations and Communities, and how do they work together?
  • Q2: I named my repo incorrectly by not naming it <YourUsername>.github.io, can I rename it or do I need to delete it?
  • Q3: What do I do if I already have a github.io with my username?

General Internship Questions

Q1: What will I be working on during this internship?

  • OLE mobile interns will be helping develop OLE’s Planet learning system's related Android apps. Planet is a virtual library that is deployed internationally to children in countries that typically do not have access to educational resources.
    • myPlanet: An Android app that syncs with Planet to save data for offline use and send usage data. This is the default project we will assign you to.
    • Remote: An Android app that communicates with headless Raspberry Pi mobile server running treehouses image via Bluetooth. You may also work on this project if you have a Raspberry Pi 4 or 5.

Q2: What kind of software will we be using for this internship?

Q3: Where can I find more information about this internship?

  • More information about the internship can be found at the OLE's Virtual Software Engineer Intern listing on your university's Handshake site.

Q4: What are the hours of the internship?

  • This is an intensive internship requiring 24 hours of work per week for at least 3 months.
  • The 3-month commitment is necessary because the onboarding process typically takes 2–4 weeks, leaving about 2 months for productive work. During the final month, you should think about passing along your knowledge to newer interns.
  • The 24-hour minimum commitment per week is necessary due to the fast-paced nature of our work, which can make it challenging for virtual interns to stay up to date. We host a Google Meet virtual office from Monday to Friday, approximately 5 AM to 5 PM US Eastern Time. During this time, you can hear about ongoing projects, share your screen, ask questions, discuss challenges, and collaborate on issues. While some tasks can be done offline and outside of the virtual office—especially during unstaffed hours—we generally expect you to be present there for most of your work time. If you find the virtual office too distracting, please discuss this with us.

Q5: Is this a paid internship?

  • This is an unpaid position but offers a diverse range of workplace experiences. Upon request, we can provide a certificate of completion. Academic credit may be available through your institution (if applicable), and we can assist with paperwork for CPT or first-year OPT.

Q6: What happens after the initial steps?

  • The initial steps are designed to introduce potential interns to the OLE Planet, its software, and the process we use to develop features and improve the myPlanet. To clarify: the first 10 steps serve as a vetting process to assess whether candidates are a good fit for the internship, so consider it part of the interview. Once you complete the 10 steps, are approved, and have had a meeting with us, you will have officially joined the OLE interns team!

Q7: If I'm an international student, how soon can I get my paperwork required by my visa?

  • Since the First Steps serve as a vetting process, your internship technically doesn't begin until you complete them and have the initial meeting with us. Think of the first 10 steps as part of the application process; you're not working on or contributing to our organizational software, but rather demonstrating that you have the technical background needed to work with us. After completing the first 10 steps and during our initial meeting, let us know if you need us to sign any paperwork, provide organizational information, or issue an offer letter for visa compliance, and we'd be happy to assist.

Q8: How many pull requests and issues in total do I need to make to finish the steps?

  • To finish the initial steps, you need to make a minimum of 4 issues and 5 merged pull requests so you can get familiar with GitHub and to show us that you can write proper issues/PRs.

Q9: How long do I have to complete these steps?

  • There is no official deadline, so you can work on your own time. However, please note that most people who continued into the internship program completed the steps within 1-2 weeks.

Q10: How can I keep track of 10 steps vetting progress?

Q11: When does the internship start?

  • When we have an active job posting and invite you to the First Steps, we primarily seek interns who can start immediately after completing the steps and having a meeting with us.
  • If you're interested in an internship for a future semester or summer, please let us know in the Discord channel so we can stay in touch. We recommend checking back in the channel about a month before your intended start date to confirm if the internship program is active. If it is, you can then begin the First Steps process. This ensures you are following the most up-to-date version of the First Steps.
  • If we have more qualified virtual interns completing the first steps than we can accommodate at one time, we may request during the initial meeting that you start the internship in 1-2 months, if that works for you.

Technical Questions

Q1: What is the purpose of Nations and Communities, and how do they work together?

  • We use the nation/community infrastructure because we often deploy our software in places without internet. Nations are the services sitting in the cloud (which are connected to the internet). Communities, which run locally on Raspberry Pis and/or laptops, are run on an intranet but are most of the time not connected to the internet. Because nations are connected to the internet, they allow a connection process between us (with internet) and users on communities (without internet). To sync with a nation, however, a community needs to be connected to the internet so that information can be sent in both directions.

Q2: I named my repo incorrectly by not naming it <YourUsername>.github.io, can I rename it or do I need to delete it?

  • Yes it is possible to rename it but we highly recommend you to delete and start over so that you have a clean forked repository. Navigate to the misnamed repo and click the settings tab or enter https://github.com/<YourUsername>/<Your-Misnamed-Repository>/settings in your browsers URL bar. Next, scroll down to the Danger Zone section of the settings and click 'Delete this repository'. Read the warnings and then type in the name of the repo to confirm.

Q3: What do I do if I already have a github.io with my username?

  • You have a few options:
    1. If you are still using it and you don't want to overwrite it, you can go to the forked repository settings rename the repository to <YourUsername-ole>.github.io and then deploy it to GitHub Pages by selecting "master branch" in the repository settings under GitHub Pages. By doing that, you can access the forked OLE repository with this link <YourUsername>.github.io/<YourUsername-ole>.github.io/.

    2. If you are not using the repo anymore you can delete it and then follow the First Steps.

    3. If you are still using it and you don't want to remember another login, you can create an organization and name the forked repo <orgname>.github.io.

'First Steps' Software Summary

The goal of the ‘First Steps’ program is to introduce prospective interns to the software they will use and ensure they become familiar with each tool. While each step delves into the specifics of individual programs, it's easy to lose sight of the bigger picture. Below is a brief overview of the primary tools you'll be using and how they work together to foster collaboration in our development environment.

We begin with myPlanet, the Android app OLE uses to deliver educational materials and resources to students. It acts as a lightweight digital library, accessible offline after syncing with local networks (‘Communities’) or the internet (‘Nations’).

Next, we focus on GitHub and Markdown. Git/GitHub centralizes the development process, enabling greater collaboration and teamwork. Git is a version control system that allows multiple users to simultaneously edit and develop projects, while GitHub is a platform that hosts Git repositories. Markdown, a text formatting style native to GitHub, simplifies formatting and emphasizes readability, allowing developers to focus on content rather than syntax.

In addition, we blended in a tutorial on connecting myPlanet to Planet and a Kotlin tutorial.

In summary, the primary software/tools covered in 'First Steps' are myPlanet, Git/GitHub, Markdown, and Kotlin. While these tools may seem distinct, they all share a common purpose: fostering collaboration. Markdown streamlines the development process by ensuring consistent formatting, which improves clarity for all users. GitHub, in turn, utilizes issues and pull requests, along with Markdown’s simplicity, to enable seamless collaboration.

It's easy to lose sight of the ‘Big Picture’ when focused on individual tasks, but this overview aims to highlight the importance of each step. Each tool and task contributes to a larger goal, reinforcing that the process is not isolated, but part of a greater effort.

Helpful Links

Command line commands

Docker

GitHub and Markdown

Planet

Vi/Vim

VirtualBox

Vagrant

HTML

CSS

JavaScript

ES6

Angular

TypeScript

CouchDB

Helpful Videos

Return to First Steps