エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

【翻訳+意訳・要約】独学の開発者が犯しがちな5つの間違い

※本記事は、Geminiによる意訳+翻訳を活用し、レイアウト調整したものです。
※元記事を見て、内容がズレていないか査読するようにしています。 ※感想は、オリジナルです。

原文

5 Common Mistakes Self-Taught Developers Make - DEV Community

意訳+要約

独学の開発者が犯しがちな5つの間違い

独学の開発者は、多くの場合、厳しく困難な事態に陥ることがあります。しかし、独学で学んだ開発者の多くは、業界で優れた成果を上げ、成功しています。

1. コーディング前の怠慢

経験の浅い開発者は、コーディングを開始する前に十分な考慮を行わないことがよくあります。これにより、要件を誤解したり、間違ったアプローチを取ってコストが増える可能性があります。

コーディングを開始する前に、次のことを行うことが重要です。

  • 要件を明確に定義する: 要件が明確に定義されていない場合、コードが間違った方向に進む可能性があります。
  • 長期的に利用されることを考慮する: 再利用可能で、十分に文書化されたコードを作り、将来のコストを低減させる
  • 計画を立てる: 計画を立てることで、タスクを完了するための最良の方法を決定できます。

2. プルリクエストでのコード変更の無秩序さ

大規模なプルリクエスト(PR)は、無秩序になりがちです。これにより、コードのレビューが難しくなり、マージに時間がかかります。

プルリクエストを作成するときは、次のことを行うことが重要です。

  • 小さな変更を一度に行う: 小さな意味ある変更にし、説明的なメッセージとともにコミットする
  • テストを実行する: テストを実行することで、コードが期待どおりに機能することを確認する
  • コード レビュー ツールを使用する: レビュー機能などのツールを使い、フィードバックとディスカッションを効率的に管理する

3. 表面的な知識の蓄積

表面的な知識だけだと、チュートリアルに頼ることになり、問題解決能力が制限されます。
アルゴリズム、データ構造、設計パターンなどの概念を習得すると、言語やフレームワークの学習が楽になります。

以下の点に注意することが重要です。

  • 基礎を重視する: オブジェクト指向プログラミング、関数型プログラミング、ソフトウェア設計の原則などを習得するために時間を使う
  • 幅より深さ: 複雑な問題を解決できるようになるまで、1 つの言語またはフレームワークの習熟に専念する
  • 低レベル言語を学習 メモリ管理、同時実行性、パフォーマンスの最適化など、プログラミング言語の基礎となる基本概念の理解が深まる

4. タスクの過負荷とマルチタスク

一度に多くのタスクに取り組むと、集中力が低下し、ミスが増える傾向にあります。
優先順位を付け、効率的に作業することが重要です。

  • タスク管理ツールの使用: タスクの優先順位付けと整理
  • 1 つのタスクのルールに従う: 次のタスクに移る前に、1 つのタスクを完了させる
  • タスクをサブタスクに分割する: 大きなタスクを小さく管理しやすい部分に分割して、進捗状況を追跡し、負担を軽減させる
  • 一度に多くのタスクを引き受けない 複数のタスクを同時に実行することは、裏目に出ることが多く、不完全な作業や不十分な作業につながる。量よりも質を重視

5. 批判の恐れ

批判を恐れてコードレビューやフィードバックを避けることは、開発者としての成長と向上を妨げます。

以下の点に注意して、フィードバックを活用しましょう。

  • 考え方を変える: フィードバックを個人的な批判ではなく学習の機会と捉える
  • コードレビューを求める: 建設的なフィードバックを得るために、同僚、メンター、またはオンライン コミュニティと積極的にコードを共有する
  • フィードバックを受ける・提供する機会を増やす レビュープロセスの両側に関与して、学ぶ機会を増やす

検証

「独学で失敗する人」よくある超残念な5大共通NG 「大量の本」「有料サイト」…それでも大丈夫? | リーダーシップ・教養・資格・スキル | 東洋経済オンライン

【勉強の悩み】ケアレスミスが多い方必見! 万全の対策法を解説 | 勉強の悩み・疑問を解消!小中高生のための勉強サポートサイト|SHUEI勉強LABO

読書猿『独学大全』~待ち焦がれた傑作、それでも、足らないもの|ばる|専業読書家(人文学)

感想+雑記

独学者じゃなくてもやりがちだよね。。。
技術的な面は、大丈夫かもしれないが、年を取ると、批判が怖くなるってのはある。
自信満々ってのは、結構難しい。上には上がいるから、自信満々で物事をいうのは、結構勇気がいる。
みんなはどうやって克服しているのかは気になる。
個人的には、責任感が強すぎるのかなとも思っているが、考え方って、そうそう変わるもんじゃないと思うんだよねぇ。。。どうやって付き合っていくのかが重要なのかなとも思ってる。

表面的な知識の蓄積は、ものすごく分かる。
部下持つと、それが顕著に分かる。考慮が足りてなかったり、一見正しいことを言っていても、判断理由を聞くと、自分が言っていたことを言っているだけで内容を理解しておらず、身になってないことがあったりする。
特に、表面的な知識だけだと、新しい問題にむちゃくちゃ弱いなって感じる。

問題は、自分が表面的な知識だけになってないかが分かりづらいことなんだよなぁ。。。
自分は、自問自答して、やろうとしていることの正当性や妥当性を考えるようにしている。いわゆる、もう一人のボクを作っておいて、そいつと討論している。ラバーダック・デバックとか言ってたか?こういう手法のことを。
俺は遊戯王世代なので、人形じゃなくて精神的な自分に語りかける。
あると思うんだよね、遊戯王読んでた世代なら、もう一人のボクと会話するような厨二病を発症していたことが。
今は、その延長線上で、社会に出てからも役立ってるから、厨二病にかかることは無駄ではないと思ってる。

タスクの過負荷とマルチタスクも、よく分かる。
自分がすごいできる人間だと思いたいから、いろいろ手を出しちゃうんだよな。。。
自分がこどもの頃そうだった。今は、痛い目を見たことが度々あるから、無意味にタスクを増やすことはしない。手空きになる場合は、ちゃんとタスクを取りに行きはする。

いろいろ振り返って、ちょっと自分の成長は感じることができた気がする。
まぁ、それでも批判は怖いし、知識の蓄積ができているかは、あんまり自信がないってのは変わらないが。。。
この考え方を脱するのは、正直、無理だと思うので、「どうやって向き合っていくのか考えたほうが無難では?」って思ってる。
自分を無理に変えるよりも、受け入れて次に進むほうが楽だと思うんだよね。
精神学的にどうかは知らん。