数回に渡って、エンジニア魂・クリエーター魂について触れます。
自分が経験談で語れるSEをメインにして記載します。
SE以外のクリエーター志望の方にも共通する箇所が沢山含まれていると思います。
まず、SEになるには何を勉強すればよいか?
私が学校を卒業した当時は、パソコンなんてなかった。会社に入社して初めてキーボードなるものに触れた。システム開発は未来の職業としてもてはやされたが、今ほど華やかな業界ではなく、ひどく泥臭い業界だった。
ともあれ新入社員として、文系・理系・22~23歳前後の男女が入り乱れて新入社員教育が始まった。
多くの企業の新人教育は下記の (1)、(2)、(3) のいずれかだ。
(1) コンピュータの基礎をしっかり学び、プログラミングの基本だけしっかり学び、その後は現場で実体験。
(2) プログラミングと技法をしっかり学び、その後は現場で実体験。
(3) 一通りプログラム基礎を学び、その後は現場で実体験。
(1)と(2)の違いに大差ないと思うだろうが、要はしっかりコンピュータの基礎知識を教育するか否かだ。大抵の研修ではコンピュータの概要を説明するにはするが、直ぐにプログラミング学習となる。
(2)のやり方は即戦力として有効で、現場で沢山のプログラム作成を行えばスキルは飛躍的に向上していくだろう。(3)はよく見かけるスタイル。
(1)は会社に体力がないと出来ない教育方法だが、SEに必要な コンピュータの感覚 が理解できる。決してプログラミング優先とせず、業務知識の習得と問題解決能力を身に付けさせるため、最初から上流工程に近い位置から経験させる。企業の大小に関係なく非常に恵まれた環境だ。
誤解を恐れず記載すると、SEとは業務を改善するための問題解決能力が重要であり、決してプログラミング能力ではない。極端に言えば、開発言語はシステムを構築する手段でしかない。要は開発言語は何だって良いのだ。
言語にとらわれ過ぎると、その言語が主流から外れると非常に困ったことになる。
いづれ言語の主流は他の言語に移り変わる。まさに私も時代の流れを経験している。後で触れるがこれには非常に悩んだ。
クリエーター職に言い換えれば非常に分かり易い。
Adobe製品を自由に使いこなすことが重要ではない。要はツールを使って生み出す創造力が重要なのだ。
(2)の方法で、一つの言語で同じターゲットマシンで開発を行っていると、開発手法が変わるとタダの人になり易い。
じゃあどうすればよいの?・・・徒然に記載していきます。