Congratulations! You have successfully completed the First Steps and have been selected to join the Open Learning Exchange mobile intern team.
The first step is to get to know the team, including our CTO dogi and the current intern team leads and members. You'll have the opportunity to meet us face-to-face in our "virtual office" via Google Meet during the initial meeting.
Please note that we expect interns to commit at least 24 hours per week for a minimum of 3 months to work on Open Learning Exchange projects. If you currently don’t have enough time, we’d be happy to welcome you later when your schedule allows. You can find more information in our FAQ.
Typically, you are invited to the OLE internship that best aligns with your experience. Interns also have the opportunity to choose projects based on their interests and skills. If you feel stuck on a particular project, there is the option to switch. Take a look at our current projects below—if any catch your interest, there’s a very good chance you can work on them.
To stay updated on the projects you’re contributing to, be sure to "Star" and "Watch" the repository on GitHub.
- 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.
- Planet: A learning management system designed as a Progressive Web App using Angular and CouchDB.
- Systems Engineering Related Projects
During your onboarding as a virtual intern in the initial Google Meet meeting, you'll receive email invitations to join the following GitHub organizations:
- open-learning-exchange: This is the main organization that hosts OLE's web and mobile app repositories.
- treehouses: This is the systems engineering branch of OLE's software.
- ole-vi: Stands for OLE Virtual Intern, a space where you can freely start any OLE-related project and experiment with new ideas.
Upon receiving these invitations, please accept them promptly. Once accepted, consider marking yourself as a public member in the organization’s member list for both open-learning-exchange and treehouses so others can see that you are a member of the OLE organization on GitHub.
Moving forward, you'll be working directly on OLE's repositories instead of your own forked repositories. We'll be following the simpler Feature Branch Workflow, which allows for better collaboration and code management.
We use GitHub Issues for project planning and issue tracking. We will assign issues for you to work on, but feel free to let us know if there are any specific issues you’d like to tackle. You are also free to create new issues after searching for duplicates. Additionally, you can filter issues by assignee(s) to keep track of your own tasks.
To ensure we are always branching from the latest master/main branch and that the branch is prefixed with the issue number, we currently create branches directly from the GitHub issues interface. Please refer to Creating a branch to work on an issue - GitHub Docs for detailed instructions.
Commit frequently and create pull requests early in the development process, utilizing GitHub's draft pull request feature. This enables your mentor and fellow interns to review your code and provide feedback, helping to ensure you're on the right track from the start.
Familiarize yourself with GitHub's review features by referring to the Review on GitHub documentation. If you find an issue that must be addressed with a pull request, do not forget to use the "Request changes" option when submitting your review.
Additionally, please read A Guide for Reviewing Code and Having Your Code Reviewed for a comprehensive overview of best practices for conducting effective code reviews, focusing on clear communication, constructive feedback, and collaboration to enhance code quality and foster team growth.
For the first 2-4 weeks, one of your responsibilities as an software intern is to review and help prospective software interns with their issues / pull requests at open-learning-exchange/open-learning-exchange.github.io. Please provide feedback to issues raised by prospective mobile interns, be sure to look out for the issues with mi
label only, as other labels like vi
is for other internships and you may not have the full picture.
To begin a review, ensure the checklist items in the pull request template are addressed properly by the prospective software engineering interns and make sure the pull request actually fixes the issue.
Currently, virtual interns typically do not merge pull requests. To merge a pull request, follow these steps:
-
Approval Requirement: Ensure that at least two other team members have approved the pull request, and there are no outstanding change requests from others.
-
Merging Process:
- Select "Squash and Merge"
- Commit Title: Remove all commit messages in the extended description, with the exception of co-authors. Keep the commit title concise, clear, and in lowercase.
- Closing Issue: If applicable, include " (fixes #IssueNumber)" in the title to automatically close the associated issue. If forgotten, manually close the issue and link it to the original pull request. An example of a good commit title: "update vi-configuration.md (fixes #1530) (#1557)", where "1530" is the issue number, and "1557" is the pull request number.
Whenever you comment on an issue or review a pull request on GitHub that requires action from the submitter, notify those involved by sharing a link to the comment in the relevant Discord channel.
We typically conduct verbal check-ins (similar to "stand-up meetings") and check-outs. If verbal communication isn't possible and you need to leave quickly, you can use the following text format in our Discord server's #vi-lounge channel:
# Check-in
What did I work on last time?
- List what you worked on last time
What is my aim for today?
- List what you are working on - consider linking to the issues
What obstacles are in the way of our progress?
- List any problems
What time I'm planning to leave the virtual office today?
- e.g. 4pm EDT
# Check-out
What I worked on today
- Consider linking to the pull request when applicable
Which date and time are we going to meet you next
- e.g. Wednesday 10am EDT
While you are free to work in your own style, we recommend following this basic daily routine:
- Join the OLE Google Meet session at https://talk.ole.org
- Check Discord channels and your direct messages (DM).
- Check in with us verbally after you go online.
- For the first 2-4 weeks, review any issues tagged with
mi
and the associated pull requests that have been added or changed on open-learning-exchange.github.io since your last review. - Review other contributor's pull requests in your assigned project(s).
- Work on your assigned issues and don’t hesitate to ask for help in Google Meet or post in the respective repository Discord channel whenever you are stuck on a problems for more than 2 or 3 hours.
- Commit frequently and create pull requests as early as possible to receive feedback as you work.
- Check out with us before you leave the "virtual office." If we are unavailable when you're leaving, please leave a message using the template mentioned earlier.
Join the OLE Google Meet session at https://talk.ole.org whenever you can during your work hours to stay updated on what everyone is working on and to get help quickly. This virtual office is typically staffed from 5 AM to 5 PM US Eastern Time during weekdays. As we expand our virtual internship program, we may split into multiple Google Meet sessions or use Discord for synchronous communication.
While some work can be done offline and outside of the Google Meet "virtual office," especially during unstaffed hours, we generally expect you to be present there for most of your work time, unless you find the virtual office too distracting.
If you are unable to come to the "virtual office" at the time you mentioned during your last check-out, please try to let us know as soon as possible in the #vi-lounge channel and @dogi.
Communication is key to success in a remote internship. Don't hesitate to reach out on Discord if you have questions, concerns, or need guidance. We're here to support you every step of the way.
If you're unsure about what tasks to tackle next or encounter any obstacles preventing you from working, let us know. It's better to communicate openly rather than leave us guessing. Remember, the more you invest in this internship, the more you'll gain from it.
Adjusting to remote work requires self-discipline and initiative, but you're not alone. We're here to help you navigate this journey, so don't hesitate to ask for help or advice. Your success is our priority!