楽するために苦労する情報系学生

見る専を貫いてきたエンジニア志望の学生が適当に更新するブログです。プログラミングやPC関連について記事を書こうと思っています。

7/6 エンジニアとして成長し続けるには#技育祭

今回まとめる講演については、登壇者の佐藤太一さんがTwitterでスライドを公開しているので是非そちらも御覧ください。
基本的にスライドの順番でまとめていくので、スライドの図などを見るとよりわかりやすくなると思います。

エンジニアの成長に必要なこと

  1. 技術文書から学ぶスキル
  2. コードを書くスキル
  3. コードを読むスキル
  4. 技術文書を書くスキル

どれか一つだけではなく、これらの能力を全て身につけ、ループさせることで継続的に成長させていく。
一つでも欠ければ、適切なインプットもしくはアウトプットができなくなり、成長が止まってしまう可能性がある。
ここからそれぞれについて解説していく。

1.技術文書から学ぶスキル

代表的な技術文書は以下の通り

  1. 仕様書、リファレンス 
  2. 雑誌や書籍
  3. 技術ブログ

1については、初めに一通り目を通すようにする。
ここで、どこに何が書いてあるかを大まかに把握し、バグなどで困った際はすぐに仕様書、リファレンスの該当ページを読み直す癖をつける。
後述するが技術ブログなどインターネットの記事は、成長には適さない場合も多く、仕様書などから理解を深めたほうがプラスになることが多い。
また、技術を深く知るには寄り道が必要である。
ただ順番に読んでいくだけではなく、気になったことや面白いと思ったことについては、別に詳しく調べていくことで深い理解を得ることができるそうだ。

2については読みやすさを重視した上で、目次に目を通してから、読むことが推奨されていた。
ここに惹かれる要素があれば、それは何かしらの学び得られる可能性が高い。
ここでの学びは仕様書やリファレンスを理解する足がかりになる。
また、情報量的には雑誌<書籍、わかりやすさでは書籍<雑誌となっている。
参考文献が載っていると、読み終わった後次の資料を見つけやすくなる。

1、2などの技術文書は無理読まないことがコツである。
見出しや、全体に軽く目を通して半分以上理解できないのであれば、その本に手を出すのは早い可能性が高い。
より簡単な書籍や後述の方法で自身のレベルを上げてから読んでいくほうがよい。
また、近い分野・レベルの本を並行して読むことで、それぞれの本が内容を補足しあい、全体の理解が深くなるそうだ。
必ずしも一冊に集中することがいいわけではないと考えられる。

3については幾つか課題がある。
それは問題を解決するのに役立っても、成長には繋がらない可能性があることだ。
特に手順のみが示されている場合だと、解決はしても原因を理解できない。
これを回避するには注意する点は以下の通りだ。

  1. 課題設定が明確されている
  2. 課題の原因について分析している
  3. 課題解決の手順が明確にされている

闇雲に調べるのではなく、これらに気をつけていくと良質な記事を発見できるようになる。

2.コードを書く

重要なのは足場になる言語を一つ見つけることである。
これについては実際に書いてみる、議論に混ざれそうか、資料は揃っているかという点に注意して見つけると良いそうだ。
おすすめされていた言語は、Python、JS、Go、Kotilin(MacユーザーならSwiftも)、C#、Cである。
個人的にはWebで利用できるJSや、VR・ARに強いC#に興味を持っている。

また、言語とは別に習得が進められていたものとしては、正規表現SQLが挙げられる。
正規表現を理解することで、文字列の自由度が非常に高くなり、SQLを利用することでデータベースを利用できるようになる。
この二つを利用することで高度な情報の管理・検索・分析ができるようになる。

上達させる方法は毎日何らかの課題に挑戦することだ。
同じ仕様のものを何度か繰り返し書き、高いクオリティのコードを書くという方法が紹介されていた。
ここでいう高いクオリティとは、仕様を完全に満たし、再現性や機能追加への柔軟性を十分に持っているということである。

3.コードを読む

アウトプットの10倍のアウトプットが必要である。
他人のコードを読むことが重要であり、Githubなどのオープンソースが利用しやすい。
実際にコードを読む際は、エディタのシンタックスハイライトやブックマーク、タグジャンプを利用すると効率的に読み進めることができる。
また、一度だけ目を通すのではなく、何度も読むことで重要な点を理解できるそうだ。

コードを読む際はディレクトリ、名前空間、抽象度、オブジェクトのライフサイクルに気をつけて読む。
一通り読んだ後はデバックモードを利用すると、より理解を深めることができる。

4.技術文書の書き方

ここでは、書籍の販売などは困難なため、技術ブログの書き方を紹介されていた。
わかったこと・わからなかったことの整理になる上、インターネットの普及により文章を公開する価値が大きく上昇しているという点が大きい。
見出し、段落、文末、なるべく一文は短く、一文で説明しすぎない、参考文献、この辺りに気をつけるべきとのことだった。
また、1の技術ブログで書いたことにも注意が必要。

 

最後に

これでもかなりまとめたつもりなのですが、2000字近い分量になってしまいました。
この内容を一気に生活に取り込むのは、無理そうですが少しずつ組み込んでスキルアップを図っていきたいところですね。
あとこの講演で印象に残っていることとしては、継続するには頑張らないことが重要ということでしょうか。
好きこそ物の上手なれというように、好きなことはいくらでも続きますが、無理に努力して継続してもどこかで折れてしまう可能性が高いですよね。
ある程度余力を持って、ゆるりとやることで長く続くとか。

 

本文とは関係ないお願い

ここまで読んでいただき本当にありがとうございます。
私は最近ブログを初めたのですが、ここ数日非常にブログのアクセスが増えています。
しかし中々技術が追いつかず、クオリティを上げていくにはどうしたらいいかと思っています。
特に今日は急いで書いたため、文体や文脈がおかしい点が多々あったと思います。
お手数かけますが、おかしな点がありましたらご指摘いただけると幸いです。
よろしくお願いします。