Существует более 500 языков программирования, и, вероятно, вы захотите начать изучать новый уже сегодня. Возможно, вы знаете C ++ и Java, но на работе используете Python. Возможно, вы хорошо разбираетесь в Python, но вам нужно подобрать немного Java для нового проекта, или, может быть, вы хотите выучить этот классный язык, чтобы расширить свои знания.

Итак, какие есть популярные варианты, если вы хотите выучить новый язык программирования?

  • Изучите онлайн-учебник или
  • Учитесь на онлайн-курсе

Некоторые могут возразить, что лучший способ выучить новый язык - это:

  • Чтобы изучить синтаксис нового языка программирования, затем
  • Создайте личный проект на этом языке

Справедливо! Создание проекта гарантирует, что вы примените знания, полученные в результате изучения синтаксиса языка, который хотите выучить.

Я разработал более 20 небольших проектов, изучая разные языки. Когда я пишу код для своего личного проекта, проекта на выходные или даже для быстрого ночного взлома, я пишу код, чтобы что-то сделать. Все, что меня волнует, это - «Работает ли мой код?». Во время обучения меня мало заботит качество кода.

Это моя история о том, как я выбрал нетрадиционный способ эффективного изучения нового языка.

Я работаю на Booking.com в качестве дипломированного разработчика программного обеспечения. В рамках своей должности я меняю команду каждые четыре месяца, чтобы лучше разбираться в различных аспектах бизнеса.

В офисе мы в основном работаем с Java и Perl. Однако существует множество других языков, используемых для разных целей, поэтому мы используем Python для анализа данных, Go для микросервисов и так далее.

В прошлом году я получил предложение о работе на полную ставку от Booking.com, и я знал, что буду работать с Perl. Как только я закончил университет, я начал изучать Perl, чтобы подготовиться к работе. Я начал с изучения синтаксиса Perl и понимания некоторых общих шаблонов языка.

Теперь я действительно хотел создать что-то с использованием Perl, чтобы я мог практиковать различные концепции языка. Пока я искал идеи, я наткнулся на организацию с открытым исходным кодом DuckDuckGo на GitHub. Я начал работать над вопросами, удобными для новичков. При этом я всегда смотрел на существующие модули. Я раньше замечал шаблоны, используемые в Perl. Постепенно я начал осваивать передовой опыт в собственном коде, и это помогло мне научиться писать хороший код на Perl.

В декабре я перешел в новую команду в Core Infrastructure, что меня всегда интересовало. Одна из лучших особенностей программы для выпускников Booking.com - это гибкость в выборе следующей команды. Я был очень взволнован, узнав об этой возможности.

Через две недели в моей новой команде я взял задачу добавить новую функцию в один из сервисов, написанных на Go. Это был разговор с моим товарищем по команде:

Я: Мне очень нравится эта задача. Я хочу поработать над этим. Как вы думаете?
Товарищ по команде: Да, интересный. Однако для этого требуется знание Go. Вы знаете Го?
Я: Нет.
Товарищ по команде: Вы хотите научиться Го?
Я: Да!
Товарищ по команде: улыбается Вот и все!

Итак, я был на пороге изучения нового языка программирования: Go!

Я начал изучать синтаксис Go и нашел отличную языковую экскурсию для новичков на их официальном сайте. Этого было достаточно, чтобы познакомить меня с основными понятиями языка.

В тот вечер из любопытства я начал искать на Go проекты с открытым исходным кодом, в которых были проблемы для начинающих или легко исправляемые. Я нашел проект - go-github от Google, который по сути представляет собой оболочку Go для REST API GitHub.

Я получил свой первый запрос на включение в этот проект через два дня после того, как начал изучать Go.

Как помогает открытый исходный код?

Итак, теперь вам может быть интересно, как вклады с открытым исходным кодом могут помочь в изучении передовой практики языка. Вот уроки, которые я усвоил.

Качество кода

В большинстве хороших проектов с открытым исходным кодом есть строгие правила кодирования, которых вы должны придерживаться, чтобы объединить свой код. Это помогло мне адаптироваться к этим рекомендациям и, следовательно, научиться писать качественный код, хотя я только изучал язык. Не только это, у меня была возможность взглянуть на остальную часть кода и увидеть, насколько хороший код написан на этом языке.

Обзоры кода

Лучшая часть вкладов с открытым исходным кодом - это проверка кода. Когда вы продвигаете свой код, вы получаете отзывы от экспертов, связанных с этим проектом. Это дает вам возможность улучшить свое понимание языка. Это похоже на бесплатное личное руководство по написанию хорошего кода!

Признательность

Всем нравится, когда их ценят за их работу, и сообщество разработчиков ПО с открытым исходным кодом довольно щедро их хвалит. За весь мой опыт работы с открытыми исходными кодами я ни разу не получил ни одного оскорбительного или демотивирующего комментария. Все очень обнадеживают и готовы помочь.

Несмотря на то, что я изучал новый язык для работы над какой-то задачей на работе, мне удалось одновременно повысить свой опыт и внести свой вклад в проект с открытым исходным кодом. Идеальная беспроигрышная ситуация!

Итак, в следующий раз, когда вы захотите выучить новый язык, сделайте решительный шаг! Найдите проект с открытым исходным кодом, в который вы можете внести свой вклад, и продвигайтесь вперед по пути изучения этого языка и его нюансов.

Хотели бы вы стать разработчиком на Booking.com? "Работать с нами"!