Нет, вы не начинаете с нуля!

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

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

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

Кроме того, есть навыки, которые применимы ко всем языкам программирования, такие как знакомство с вашим терминалом, Git, GitHub, использование IDE, инструментов CI/CD, создание и слияние PR, которые вам не нужно изучать заново!

Недавно я получил свою первую работу разработчика в Guardian после того, как научился программировать на Ruby. Хотя мне разрешили пройти технический тест на Ruby, для работы мне нужно будет изучить другие языки, в том числе Scala.

Когда я получил предложение о работе и до меня, наконец, дошло, что, возможно, мне лучше оставить Ruby и начать со Scala, мне вдруг стало очень грустно и очень нервно.

Грустно, потому что я чувствовал, что оставляю члена семьи.

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

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

Я провел некоторое время, объясняя свои чувства нескольким наставникам и получая от них советы. Вот что сработало для меня:

Начать

Вскоре после того, как я начал изучать свой второй язык программирования, Scala, я понял, что использую навыки, полученные в Ruby. Это был совершенно другой опыт по сравнению с тем, когда я впервые научился программировать.

Одним из ключевых отличий было то, что я начинал Scala с помощью Test Driven Development (TDD), потому что эта дисциплина стала настолько естественной для меня в Ruby, что я не мог не взять ее с собой при изучении Scala. Когда я попросил нового наставника по Scala провести обзор кода, он отметил, что написал свой первый тест только через два года после начала изучения Scala. Это показало мне, что я действительно не начинал Scala как новичок.

Ваша методика обучения

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

Например, я выучил Ruby, работая в паре со старшими разработчиками, выполняя технические тесты и выполняя такие ката-упражнения, как Exercism и Codewars. Зная, что так я лучше всего обучаюсь, я применил тот же метод к изучению Scala, и это действительно помогло.

Найдите других, которые сделали то же самое

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

Например, я погуглил «Scala для Rubyists», чтобы узнать, как мне подойти к Scala как разработчику Ruby. Это действительно помогает получить совет от людей, которые сделали такой же скачок.

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

Не волнуйся

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

Да, расставание с языком, с которого вы впервые начали, может показаться немного эмоциональным, но вы всегда можете вернуться к нему, и сообщество, которое поддержало вас, все еще будет рядом.

Изучение второго языка программирования — это удивительный способ испытать различные способы решения проблемы. Я очень благодарен за то, что познакомился с функциональным программированием, совершенно другой парадигмой. Каким был ваш опыт изучения второго языка программирования? Делитесь в комментариях ниже или в Твиттере!