フルスタックエンジニアになる為には?
前回、フルスタックエンジニアとは何か要件定義をしました。
「 問題解決に必要な仕組みを作りあげる 」
エンジニアと呼ばれる人達は色々な物、システムを作り上げる事ができる人々です。 作られた仕組みにより、様々な問題が解決し、便利になっていくのですが・・・・
その問題を解決するために必要なのは何でしょうか?
Webにおけるフルスタックエンジニアと言った時、求められるスキルセットは膨大です。
「 時間の投資 」「 練習 」「 経験 」
を積み上げるには努力しか無いという言い方もできるでしょう。
しかし、それでも身も蓋もありません。
大切なのは
○ 広く、そこそこ深い知識、スキルを身に着けようとする事
という事です。
その為に
自分自身をマネージメントする、つまりは自分自身をどのように設計するか
を見て行きましょう。
1 時間の投資
時間の投資の仕方は色々な形があります。
とはいえ、時間にかかわるセグメントはさほど多くありません。
- 量
- タイミング
どのぐらいの量を、1日のどのタイミングで行うか。 よく、「 時間の質 」のような考え方もありますが、その部分は本質的では無い為一旦考慮しない方がいいでしょう。
この時間のセグメントは明らかにスケジューリング可能な項目ではあります。
おそらく自己統制力が強い人間であれば、決めた事を自分で決めて行うという事ができるので、これ以上の説明を不要とするようになると思います。
しかし、3日坊主という言葉が昔からあるように、自分に時間投資をするのは難しい側面が多々あります。 よって時間の投資にもうひとつ重要な要素があるとすると
- 継続する -> 断続的に行う。
という事になります。 しかも大事なのは、どんな物事を行うにしろ
「 断続的になる。」
ということです。
それは食事、睡眠、休憩を含めてかならず途切れる時間が発生するという事を指します。 となるとどうでしょうか?
再び継続的に物事を開始するには、またそれなりのエネルギーや手順が必要となります。 そこで大事なのは次の2になります。
2 いかに自然に始められる環境を作るか?
「 仕事 」 という物を捉えた時、通勤や環境を始めとして様々な儀式といえるべき「キー」となる行動からスタートします。 フリーランスで自宅で仕事する場合も仕事に集中できる環境を作る事でしょう。
これらは、先程述べた
時間のセグメントである、
「量」「タイミング」「断続的に行う」
を作り出すための儀式です。
そして、この断続的に行うという性質がある以上、まるで車のエンジンのスタート時のように、どうしても開始のエネルギーが発生します。
この開始のエネルギーは少なければ少ないほど本当は良いのですが、この開始のエネルギーの正体とは何でしょうか?
主な要因は下記の3つです。
- A 開始の為の物理的な準備(例えばその場所へ移動する。 PCのスイッチを入れる・・etc)
- B 開始の為の精神的な決定(やるぞ!という切り替え。 )
- C 開始の為に他の物事への誘惑の断絶(本当は寝たいけど・・・遊びたいゲームがあるけど・・・)
どうでしょうか? Aに関しては事前の準備で、やりやすい環境作りは誰でもできると思います。 しかし、B,Cに関してはどうでしょうか?
実はこの部分は全てにおいてのボトルネックとなります。
これらを解決する為には色々な方法があります。
例えば「 期限 」を作るや、お金を払って「 習得時間を作る 」が挙げられます。
また、「 習慣化 」するというのもいいでしょう。
上記は開始のエネルギーを発揮するか、軽減させる力がある項目となります。
でも実際にどうでしょうか?
それでも「モチベーションが・・・」という事を口にした事はありませんか?
3 モチベーションとは何か?
継続的、断続的に物事を行うための精神的、肉体的エネルギーのようなものを「 モチベーション 」といいます。
モチベーションとは精神的、肉体的なエネルギーであるという事は例えば以下の例を考えたらよりわかりやすいでしょう。
- 眠気でモチベーションが下がる。体がだるくてモチベーションが下がる(肉体的エネルギー)
- 成果が出ない、上手くいかないでモチベーションが下がる(精神的エネルギー)
- 他にやりたい事、優先したい事、誘惑があってモチベーションが上がらない。モチベーションが他に向いている。(精神的エネルギー)
どうでしょうか?
モチベーションが肉体と精神的エネルギーに起因してる事がイメージできたでしょうか?
ここまで、考えがまとまれば簡単な事に気づくでしょう。
- ?キロ走るのにモチベーションは必要だが、10m歩くのにモチベーションはいるか?(肉体的エネルギー)
- 100分かかる物事に取り組むのにモチベーションは必要だが、1分ならどうだろうか?(精神的エネルギー)
- 次にやりたい事の前に1分時間を裂くのが、誘惑と戦う必要もないほどの出来事ではないだろうか?(精神的エネルギー)
4 モチベーション、やる気、広くそこそこ深く・・・フルスタックへの道
これらを総括すると一番いい方法は明白です。
- 1分程度で行える学習を行う。
- なるべくたくさんのジャンルで行う。
この2点だけです。
人は好奇心の塊であり、習慣性を持った生き物です。 本人の強い意志とはうらはらに勝手に興味は増大し、習慣は形成されていきます。
当たり前のように情報を収集し、当たり前のように知識のより好みをしない。
そのような条件を揃えるには「 モチベーション 」に頼らないのが実は一番いい方法なのです。
webに限った話しではないですが、知識は全て体型をなしており、他のジャンルとも関連性があります。
プログラミングを単体で習う事よりも、サーバー、ネットワーク、ツールの学習を並行した方が良いのは目に見えて明らかなのです。
ですが、多くの人がそうであるように、プログラミングのみに集中し、Web関連の概念や各レイヤーの技術を後回しにしがちです。
それらを並行して行う「 最初の一歩は、最初の1分 」なのです。