会社で内定者向けにLT(5分)する機会があり、その時の内容。
自分がペーペーのエンジニアから少しづつ成長していった過程でもっと早く知りたかったことを共有する。
自己紹介
- numanomanu
- 社会人歴 4 年目と半年
- ランサーズ株式会社には2年半在籍
- 現在は pook というサービスのエンジニアをしている
エンジニア(プログラマ)に必要なこと
学び続けること
by プログラマが知るべき97のこと
- 技術は日進月歩していくのでそれについてゆく必要がある
- では、どうやって学べば良いか?本を読んだり、自分でコードを書いたり・・・
- それ以上に、学び続けるにはどうすればいいか?
学び続けるための一つの方法
-> 習慣をつける
習慣
反復によって習得し、少ない心的努力で繰り返せる、固定した行動のこと。
by wikipedia
毎日歯を磨かないと気持ち悪かったり、スマホを無意識に触ったりする。繰り返していること。
- 本を読む習慣
- プログラミングする習慣
などの習慣がつくと、学び続けることができるのでは?
習慣の作り方(私の事例)
- コツ : やるべきことを最小の工程で着手できるように準備しておく
例1 スマホのホーム画面を活用し、 kindle などをよく触るところに置き、本を読む習慣をつける
よく触るところに置くことで、朝の通勤時間やコンビニやエレベーターの待ち時間でさえ、kindle にアクセスし、本を読んだりするようになる。本を読むぞ〜と意気込まなくても、少ない心的努力で繰り返せるようになる。また、「毎週末だけ読む」というスタンスだと、だいたい次の週には忘れているので、結果として効率悪い気がしています。
例2 コマンドラインから git hub などを操作できるようにしておき、よく使うものに最短でアクセスする習慣をつける
# hub コマンドを使って、ターミナルから github にアクセスする
# 新規 issue 作成ページをブラウザで開く
alias gin='hub browse -- issues/new'
# 現在いるブランチからプルリクを1コマンドで出す
alias gpr='git push origin $(git symbolic-ref --short HEAD) && hub browse -- compare/$(git symbolic-ref --short HEAD)'
# 現在いるリポジトリのプルリク一覧を見る
alias gps='hub browse -- pulls'
ブラウザで探して開いたり、プルリクするのが面倒。面倒だなとちょっとでも思ったら、自動化やショートカットできないか考える。
-> 本来やるべきコードを書く時間を増やす。ために全力で準備する。
習慣はこういった簡単なところから始まる。
例3 自宅の玄関に作業できる椅子を置く
靴も脱がずに作業できるようにしておくと、家に帰ってもすぐプログラミングを継続するようになる。(ちょっとやりすぎかも)
こういった細かい積み重ねが思っている以上に大事。
やるべきことを最小の工程で着手できるように準備しておく(再掲) -> 習慣になる
プログラマの3大美徳にも通じる
怠惰、短気、(傲慢)。
- 怠惰: 労力を減らすために手間を惜しまない。 面倒なことは PC にやらせたり、本質的なところに集中できるようにする。
- 短気: 面倒だったりイラったとしたら、改善できないか考えてみる。
美徳を習慣にする。
美徳はエンジニアの文化に近い。文化というのはある集団での習慣の積み重ねだと思うので、ぜひ習慣から意識すると良いのでは?
まとめ
- エンジニアは学び続けることが必要
- 学び続けるための一つの方法として習慣が必要
- 習慣をつけるには、やるべきことを最小の工程で着手できるように準備しておく
常にそういうことを考えていたら、自分の中での生産性が飛躍的にアップした。ぜひ、みなさんも自分の習慣を今一度見直して、エンジニアらしい習慣を身につけてみては?