プログラマーとして働くには、継続的な強制的な自己学習が必要です。自己学習には、第一に、すでによく知っている分野の知識を深め、第二に、未知の分野や見落とされている分野のスキルを習得することが含まれます。もちろん、これはすべて机上でうまく聞こえるかもしれませんが、実際には、テクノロジーの積み重ねに行き詰まり、ルーチンから燃え尽き症候群になるなど、怠惰の発作が依然として発生しています。新しい感覚は、開発の暗い側面との戦いに役立ちます。しかし、その感覚は真に新しいものでなければなりません。次のソーシャル ネットワークからの「新しい」API のニュアンスを 10 回も扱うことは、すぐにベールに包まれた日常的なものになってしまいます。

責任ある仕事自体は、最初のタイプの知識の発展に貢献し、それによって専門家のスキルを向上させます。同時に、2番目のタイプも補充されますが、非常にゆっくりと、自発的かつ制御不能に補充されます。そしてそれは満足できないということです。しかし、私はもっと知りたい、より良くできるようになり、自分の決断に赤面することを減らし、鼻を高くしたいと思っています。
この記事では、知識のギャップをより効果的に埋め、また趣味としてゲーム開発に非常に喜んで取り組むのに役立つ私のアプローチについて説明します。
ここでの主な解決策はシンプルで誰もがよく知っている、独学です。趣味のためのサイドプロジェクトなど、さまざまな形があります。教育コースやセミナー (テキスト/オーディオ/ビデオ);コンテストやコンテスト。本。私にとって書籍が最も役に立ち、効果的であるため、私が使用している教師あり学習方法をその例を使用して説明します。
何が問題ですか?手に取って読んでみてください!
専門的な技術文献を読むことは、有益で興味深いだけではなく、時には難しく、退屈で、時間がかかります。もちろん、エレガントなパターンや、明らかな欠陥を伴う開発における他人の間違った決定についての逸話を説明する非常にエキサイティングな瞬間もあります。 (もしかしたらあなたと同じかもしれません)。しかし、基本的に、そのような本は、特に仕事で忙しい一日を過ごした後、先延ばしにするのではなくリラックスしたいときに、面白い本に負けます。
休日を過ごしやすいものは次のとおりです。ドーキンスの「利己的な遺伝子」またはマコーネルの「パーフェクト コード」です。シュライダーの「血、汗、ピクセル」、それともフリーマンの「デザインパターン」でしょうか? (公平を期すために、これらの本はすべてリストの中で最も刺激的だったということを付け加えておく必要があります。)
そこで役立つ本を読み始めました。もう大丈夫ですか?
しかし、そうではありません。最初にマコーネルのパーフェクト コードを読み始めたとき、途中でペースが落ちてしまったことに気づきました。そしてどういうわけか、いつの間にか、1週間、2週間休憩を取ることができます...その後1時間読書...そして再び1週間休憩することができます。一冊の本を何年も読んでも最後まで読み終えることができない場合もありますが、徐々に進歩しているという誤った感覚は依然として存在します。そして、長い休憩を恥じるという感情は、多くの不愉快な経験を引き起こす主題に戻りたいという欲求を、気づかないうちに思いとどまらせます。
では、敵は誰ですか?
私の敵は視界の欠如でした。差し迫ったタスクが常に表示されていないと、それが存在しないかのようになります。そして、それを後回しにすることもできます。この問題を解決するツールはありませんでしたが、それでも自分に合ったツールを見つけました。これは、Google ドキュメントのシンプルなキャリア キャピタル スプレッドシートです。紙製のものを含め、どのようなテーブルでも使用できます。私はこのテクニックをニューポートの著書「Working with Your Head」で見つけました。彼はいくつかの方法を持っていますが、これが私には合いました。
方法論「キャリアキャピタルテーブル」

基本的なルール:
1) 3 つの列を持つテーブルを作成します。費やした時間。タスクを実行しました。
2) 毎日の終わりに、表の次の行に記入します。 「実行されたタスク」には、自己教育にとって重要なタスクのリストと、各タスクに費やした時間を入力します。 「費やした時間」には、タスクごとの時間の合計が表示されます。
3) その日中に完了したタスクが XNUMX つもなかった場合は、目障りになるようにダッシュとゼロを入力します。
4) 自習にとって重要なタスクのみをリストに含めます。アパートの改修は独学よりも重要な場合がありますが、ここには含めるべきではありません。ただし、このルールは非常に曖昧です。
5) タスクを SMART 形式で設定することが望ましい。つまり、具体的 (本 A を読む)。測定可能(1冊の本を読んで理解)。達成可能(私はすでに同様の本を読んだので、これを読み終えるつもりです);関連性があります (アルゴリズムが遅いです。これについては何かを行う必要があります)。提出期限を示します(閲覧には最長 2 か月)。
6) 分散しないように、現在のタスクの総数は多すぎてはなりません。私の場合、これは約 6 つのタスクです。同時に、同時に2冊以上の本を読んではいけないというルールも厳守されます。
7) 月末に、すべての時間が合計され、平均と比較されます。それが平均以上であれば、とても良い気分になります。平均を下回っていても、私たちはまだ気分が良いです。設定された必須のマイナス値を下回っている場合、私たちは気分が悪くなり、行動を調整するか、最低基準を下げます。
それだけです - 方法は非常に簡単です。例を含む詳細な説明については、Nypoort の書籍を参照してください。
私のところでは0,25時間(15分)刻みで時計を入力しています。
月に30時間から120時間働いています。
最小制限: 30 時間。
平均バー: 60 時間。
テーブルを洗練したり、複雑にしたり、さまざまな図で装飾したりして、快適な視覚化を実現できます。
そして、このアプローチの利点は、1 冊の本を読むのにどれくらいの時間がかかるかが実際にわかることです。そして一般的に、あなたは正確に何を最も頻繁に読みますか?
以下に、いくつかの本とその正味読書費用を紹介します。最初に技術、次に一般教養、そしてボーダーラインです (リストは時系列ではありません)。
— [40,25時間] 完璧なコード。マコーネル。
— [1,75 時間] スクラムのガイドと戦略。
— [34,50 時間] コンピューター ゲームにおける人工知能。アレックス・J・シャンパンダル。
— [26,50時間] デザインパターン。フリーマン、フリーマン、シエラ。
— [24,75 時間] (英語) ゲーム プログラミングのパターン。ロバート・ニストロム。
— [17,50時間] 利己的な遺伝子。ドーキンス。
— [5,50時間] 子育て中。ギペンライター。
— [8,00時間] 頭を使って仕事をしましょう。ニューポート。
— [12,75時間] (英語) ハリー・ポッター 1.
— [9,75時間] (英語) ハリー・ポッター 2.
— [11,25時間] (英語) ハリー・ポッター 3.
— [22,75時間] (英語) ハリー・ポッター 4.
— [26,75時間] (英語) ハリー・ポッター 5.
— [18,25時間] (英語) ハリー・ポッター 6.
— [19,75時間] (英語) ハリー・ポッター 7.
— [5,50 時間] フリーライティング。マーク・レヴィ。
— [13,00時] (英語) 友達を勝ち取る方法。コーネギー。
— [4,25時間] マキャベリ。主権者。
— [7,50 時間] Schreyer による血、汗、ピクセル。
— [23,75 時間] 色に関するすべて。リンジー。
まとめ
確かな数字は、技術書は軽い本や芸術的な本よりもわずかに遅い速度でしか読まれないことを示しています。ただ、テクニカルなものは数倍厚いです。そして、一度にたくさんの技術文献を吸収することは非常に困難です。
ちなみに、リストにいくつかの本が含まれているからといって、私がその本を気に入ったわけではなく、敵以外の人に勧めたいというわけではないことに注意したいと思います。したがって、これを推奨リストとして捉えることはできません。
ゲーム開発には、「パーフェクト コード」をお勧めします。 "デザインパターン"; 「ゲームプログラミングのパターン」; 「血、汗、ピクセル」。 「すべては色です。」
コメント欄でおすすめの本のリストを見ていただければ幸いです。
出所: habr.com
