僕がメンバーに求めたのは
0からプログラムを創れる様になること。
このスキルは何も考えずにやっていると絶対につかない。
僕はコレが出来る人を
クリエイティブプログラマー
と読んでいた。僕はプログラマーを職業としているうちの2割くらいしかいないのではないかと思っている。
今の時代、インターネットの普及で様々なプログラムが手に入るようになった。
確かに使うとすごく便利だけれど、プログラムの本質を捉えることが出来ない。
この先、プログラムで食べていくのであれば
クリエイティブプログラマーでなければ生きていけないと考えている。
メンバーであった人が初心者であれば2年、経験者であれば1年
僕と共にエンジニアとして仕事をしてもらった人は、この
クリエイティブプログラマーになっている。
方向さえ示せば、特に指示が無くても一人で0からプログラムが創れる様になった。(もちろん読みやすく、修正しやすい形で)
なぜ、このクリエイティブな要素が必要かと言えば
本当に必要とされるシステムは創らなければいけないから。
今まであるものを使って作ることは大変ラクだし、早く出来る。
もちろん使える部分はドンドン使っていけばいい。
ただ、最後の最後はクリエイティブな部分がどうしても必要になる。
相手に必要なものは何か。どうすれば要件が満たせるのか。
そして、それを実現するにはどのように作ったらいいのか?
それを導き出せる事が出来れば、後は作るだけ。
ここまで具体化できる様になれば、後は誰が作っても一緒。
クリエイティブプログラマーになることで、
「自分以外の誰か」にプログラムをして貰う事が可能になる。
そうすると自然と人に仕事を任せて、次の仕事に取り掛かれる様になる。
プログラマー → プロジェクトリーダー
となんの抵抗もなく入っていける。
全員がプロジェクトリーダーであり、クリエイティブプログラマー。
この体制を作ることで、メンバーの割り振りに柔軟性が出来た。
プロジェクトが立ち上がったら、リーダーを置いてプロジェクト開始。
リーダーは要件をまとめて、自分でやるかプログラマーに任せる形を取る。
任せる人間もクリエイティブプログラマーなので、そのまま任せる事も出来る。
自分でクリエイティブな部分をやってしまえば、後は人海戦術で一気に仕上げる事も出来る。
人が足りなければ、一時的に人を追加すればいい。
そうして、総合的に強い集団が出来上がっていった。