【ITニュース解説】Learning Coding from High Skilled Professional Programmers
2025年09月06日に「Dev.to」が公開したITニュース「Learning Coding from High Skilled Professional Programmers」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
熟練プログラマーのコーディングから学ぶ方法を紹介。ライブストリーミング、AIペアプログラミング、オープンソースのコミット履歴から、プロの思考プロセスや問題解決の手法を学べる。同僚のコードレビューやワークフローを参考にすることも有効。課題管理方法やツール活用術など、実践的な知識習得に繋がる。
ITニュース解説
プログラミングスキルを向上させるための学習方法について解説する。従来の学習方法では、熟練プログラマーに直接教わったり、彼らの仕事の流れを説明してもらったりする必要があった。しかし、現在では、ストリーミングプラットフォームを通じて、プロのソフトウェアエンジニアがどのように問題解決に取り組むかを観察し、そこから学ぶことができるようになった。
具体的な学習方法の一つとして、ライブストリーミングを活用する方法がある。例えば、George Hotz(geohot)は、iPhoneやPlayStation 3のジェイルブレイク、オープンソースの自動運転ソフトウェアの開発、機械学習スタートアップの設立など、幅広い分野で活躍しているプログラマーだ。彼のYouTubeチャンネルでは、ニューラルネットのチェスエンジン構築など、彼が様々な課題にどのように取り組んでいるかを観察することができる。
また、LeetCodeの問題を解説するNeetcodeの動画も参考になる。これらの動画では、まず問題の概要を説明し、入力と期待される出力までの手順をダイアグラムで示す。そして、実際にコードを書いていく過程を解説する。コーディング面接対策としても有効だ。コードを実装する際には、どこで立ち止まって解決策をチェックしているか、デバッガーをどのように使用しているかなどを観察することが重要だ。
AIペアプログラミングも有効な学習方法だ。Gene KimとSteve Yeggeが、AIコパイロットを活用したチャット指向プログラミングについて議論する動画は、AIの活用方法を学ぶ上で参考になる。Yeggeのエッセイを読むことで、コーディングや問題解決に対する考え方を深めることもできる。
オープンソースプロジェクトのソースコードから学ぶこともできる。特定の時点でのコードだけでなく、過去のコミット履歴を追うことで、コードがどのように進化してきたかを理解できる。例えば、llmというコマンドラインツールの開発過程を追うことで、初期のプロトタイピングから機能追加、バグ修正といった開発の流れを学ぶことができる。GitHubのissueを活用し、実装に関するアイデアや議論の過程を記録することも重要だ。
プロジェクトを開始する際、事前に詳細なタスクリストを作成することもできるが、llmのように、直近で取り組むタスクに関するissueを立て、議論や試行錯誤の過程を記録することで、コードと設計に関する貴重な情報が得られる。設計に関するメモを残しておくことで、将来コードを見直す際に、なぜそのような実装になったのかを理解するのに役立つ。
上記で説明したように、オープンソースで開発している開発者や、コーディングセッションをストリーミング配信している優れた開発者から学ぶことができる。同様の方法を、職場の同僚から学ぶことにも応用できる。同僚のコードやコミットを読み、コードレビューのコメントを読み、彼らの仕事の流れについて質問すると良い。彼らがどのようなキーボードショートカットを使用しているか、どのような拡張機能やプラグインを使用しているかを知ることで、自身の開発効率を向上させることができる。また、彼らがどのように作業を計画しているか、TODOコメントをどのように使用しているか、メモ帳をどのように活用しているかなどを知ることで、自身の戦略、プロセス、システム思考を向上させることができる。