Practice in Open Source Projects

Hexlet students are interning at open source projects.

Why

Programmers who participate in open-source get important benefits and find jobs faster:

  • they are able to work in a team with other programmers - this is appreciated by employers and future colleagues
  • Their portfolio includes not only academic projects, but also real-life work - their resume stands out from other candidates

Other skills are also being developed:

  • working together with other people on Git: creating branches, making poolquests
  • the ability to read other people's code
  • Time management, planning, and task setting
  • Technical expertise is developed, as there is an opportunity to work with new tools and technologies

How to join

You can discuss any questions related to Hexlet's open-source projects in Hexlet's Slack community, in the #hexlet-volunteers channel.

If you are studying in a group, we can help you find the right project and get you started on it. Get in touch with your supervisor or on support@hexlet.io.

There are tasks for people with different levels of training, so you can contribute even if you're just beginning to learn programming.

What you need to know to start

You will need some git and basic command line skills to work on open source projects. Study these materials:

Many projects use Docker:

How to choose tasks

The list of current tasks can be found in the Issues tab of the project repository.

Issues have labels that indicate the stack, direction, or difficulty of the task. For example, an interface improvement, bug, or text error.

Some tasks may not have a description. If you want to take on such a task, ask the project maintainer exactly what needs to be done by leaving a comment inside the task, or write to the Slack channel #hexlet-volunteers.

If you don't know if the task is relevant or not, or if someone has noted that they've already taken it, also ask in the issue or in Slack.

If you find a task that suits you, leave a comment saying that you're ready to do it and get to work. If the task turns out to be too difficult or you don't have enough time, please let us know right away - someone else could still pick it up.

Sometimes there are no tasks in the Issues section, but that doesn't mean there are no tasks at all. Ask what can be improved in the project. Examine the code and offer to help with refactoring or writing additional tests. Or use the project and see what features are missing. Offer your ideas on Slack or create an issue.

If something doesn't work

Tell the maintainer and other team members about any difficulties that arise during the project. In contrast to learning tasks, participation in open Hexlet projects is real development with other people. This means you have a good opportunity to get experience in interacting with the team, which will come in handy when working in commercial companies.

The team will help you cope with difficulties, but to do this you need to tell them, so do not hesitate to ask for help. This is true not only for technical, but also for organizational problems, be sure to report if you don't have enough time to complete a task or have to give up.

The main method of communication is the #hexlet-volunteers channel in Slack.