Blog post featured image

The Apache Camel community is excited to have such a great response and effort already put in by the Outreachy applicants. We are grateful to all that contributed with code, ideas, helping others and being a part of our community.

We received similar inquiries from several applicants, asking help with the timeline for the final application, intern selection criteria and similar. To help answer this and to be transparent to all involved, so each individual can reflect and make informed decisions, here are some of our thoughts.

Intern selection

We will select two interns for this season. In doing so, we will use the following criteria:

Communication

Mentors prefer interns that communicate explicitly and frequently, so mentors have a good overview of what interns are doing and if they encounter any problem that prevents them from continuing their work.

Applicants that have already interacted through the community using the official channels (Github, Gitter and/or the Mailing list) would be preferred. We value public communications over private messages to promote transparency.

Self-starting

Mentors prefer interns that are proactive and take the initiative on their tasks. While mentors will help interns when they get stuck and can advise on the best options, interns should be able to make decisions and work around problems on their own.

Please, make explicit how you intend to approach issues and describe any experience that can serve as an example of your way of working.

Skillset

It is important to us that the intern has at least a basic understanding of what they are doing. It is not expected that the chosen intern already has all the skills required, on the contrary, this is an opportunity to learn and advance during the internship, but we can’t be full-time teachers. Interns have to be able to do most of the work on their own. There will be times when interns get stuck and we expect that, we’re here to help.

We prefer someone that is basic skilled in Website Development (HTML, CSS, and JavaScript). We prefer someone that has at least basic notions on Design, Interaction Design, and Usability.

It would be nice that the intern has at least basic notions on how to use Git and/or GitHub.

Existing experience

Applicants that can demonstrate experience in the project area will be preferred. That experience doesn’t have to be extensive, but applicants that demonstrate some prior experience on similar projects or have experience working in (remote) teams will be preferred.

Project timeline

As the project description discusses in May-August 2020 Outreachy internship period we’re focusing on the Apache Camel website. There are three main areas intern can choose to focus on:

  • Website design, including usability, functionality, and structure
  • Content, including structuring, updating and polishing the documentation

We prefer to work in an Agile fashion, so the work will be done in 1-2 week sprints. We prefer interns collaborating and coordinating on the tasks. The choice of tasks will be up to the two interns to decide among themselves.

With that in mind we have the following draft timeline in mind:

  1. Getting started
    • Study the current website and the technology stack involved. By the end of this, you will be able to articulate how the website is built, where each aspect of the website is defined and how to go about implementing changes. A good outcome of this would be writing the website contribution guide with the acquired knowledge.
    • Research similar websites for inspiration. By the end of this, you will be able to showcase similar websites, discuss the pros and cons of their approaches and contrast that with the current website. A good outcome of this would be a document showcasing that.
  2. Work on information architecture. The result will be a visual map of the website showcasing the organization of the website.
  3. Work on the website design proposal. The end result will be mockups of the design.
  4. Based on the tasks done beforehand, split the implementation into smaller tasks, create JIRA issues with the outline of each task.
  5. Implement changes
  6. Reflect on implemented changes and repeat the process changing previous assumptions and decisions as needed