OSSのリポジトリで英語学習と技術学習

数年前から英語の社内公用語化や、GitHubなどのリポジトリへのコミットメッセージは英語にしようとか、英語を常用するということが増えてきていますね。私自身も英語力は強化したいと前々から思っていて、内部の資料は英語で書くとか、コミットメッセージを英語にするとか、コードのコメントも英語で書くとか、常に英語を使うという場面を作るようにしています。しかし、少しすると熱が冷めて、日本語に戻ってしまうということを繰り返していました。

目次

なぜ、日本語に戻ってしまうのだろう?

どのタイミングで日本語に戻ってしまうのかを改めて考えてみました。

  • 変な英語になっていないか怖くなってきた。
  • 日本語でも言葉で表現することが難しい事象を書く必要が出て、英語で書こうとするときに表現に迷ってしまう。

他にも理由はありますが、大きなポイントは上記の2つです。「徐々に自分しか読まないから日本語で良いかと考え始める」というのもあるのですが、これは、上記2つが引き金になって、逃げるために思いつくものです。

ネイティブプログラマーの書く英語に親しむ

昔から英語学習そのものは好きなのでやってきましたが、あくまで、日常会話だったり、ビジネス英語だったり、一般的な英語の勉強なので、途中で飽きてしまっていました。また、これらの英語では技術系の英語に触れることが少ないので、実際に自分が書きたい英文、読みたい英文から遠いというのも原因だと思います。
そこで、GitHubでOSSのプロジェクトのリポジトリを読むのが勉強になるのではないかと思い、技術力向上も狙って始めて見ました。

選択するプロジェクト

選択するプロジェクトのお勧めは、規模が大きくて、色々な人が参加しているものが良いと思います。特に自分も使っているプロジェクトにすると、開発に貢献できる部分が見つかるかもしれないので、お勧めです。また、自分が使っているプロジェクトについて、深く知ることができるので、使う上でも役に立ちます。また、プルリク送りたくなったり、Issue書きたくなったりしたときにも、どのようにやり取りしたら良いかがわかるようになります。

コミットメッセージやIssueがわかりやすい

まずは短い文章を読もうとコミットメッセージやIssueを読んでみました。すごくわかりやすいです。それと、自分の興味があるプロジェクトの開発状況なので、どんどん読んでいけます。また、技術的な新しい発見があったりと、すごく楽しいです。こんな思想で作っているのかとか、何が問題になっているのかとか、興味深いです。
下記のページでも指摘されているとおり、頻繁に使われる表現というのがあって、自分のコミットメッセージも似たような感じになります。
GitHubで使われている実用英語コメント集 – Qiita
Issueの方は、開発者と指摘者との間でやりとりが発生するので、もう少し、会話的な表現が学べます。なるほど、こんな単語もあるのかと勉強になります。それと同時に、自分がまだ遭遇していない問題とその解決方法を知ることが出来るときもあったりして、時間を忘れます。

README.mdなどのMarkdownのファイル

ドキュメント内でどのように書くかは、Markdownで書かれているドキュメントが参考になります。README読んでいるだけでも、今まで流し読みしていたときには気がつかなかった良いことが書いてあったりして、技術的な部分でも勉強になります。

まとめ

自分でも次のようなものを英語で書くようにしました。読んでいるだけでも、頻繁に目にする表現は頭に入ってくるので、頭に残ります。そして、自分も頻繁に書くことになる表現だったりもするので、自然と書ける気がしてきます。
いつまで続くかはわからないですが、できるだけ頑張ろう。。。

  • 日報
  • 週報
  • コミットメッセージ
  • コード内のコメント
  • 設計書
  • 自分専用メモ

漠然と英語の練習しなきゃと思っているプログラマー、システムエンジニアの方々、GitHubのリポジトリで技術的な探求と英語の練習を兼ねるのはお勧めです。
 

著書紹介

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Akira Hayashi (林 晃)のアバター Akira Hayashi (林 晃) Representative(代表), Software Engineer(ソフトウェアエンジニア)

アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ソフトウェアの受託開発、技術書執筆、技術指導・セミナー講師。note, Medium, LinkedIn
-
Representative of RK Kaihatsu. Software Engineer Specializing in Development for the Apple Platform. Specializing in contract software development, technical writing, and serving as a tech workshop lecturer. note, Medium, LinkedIn

目次