私がアクセンチュアに在籍していたころはSI全盛のころで、コンサルティングファームであってもシステムベンダーさんと協業しながら自らもプラグラミングをしながらシステム開発・保守に携わっていました。その時に学んだことが今の経営に役立っています。
プログラミングで培った
「クリティカルシンキング」「課題解決」「逆算思考」「デバック技術」「ボタンの裏側考察」は経営者としてのベースになります。
数年前からプログラミングスクールに通っている娘が、どんどんスキルアップしてかなり難易度の高いクラスに入ることになり、これまではアプリでパズルを組み合わせるようなかたちでプログラムを書いていたのに、いきなりC言語に着手し始めました。if文とかwhileでループさせるとか。
なんと、懐かしいことやら。。。。私も不慣れながらも20代はC言語を書いていました。そして娘の姿を見ることで、自分の現在の経営者としての土台にプログラミング/システム開発の経験が大いに役立っていることに気づかされました。
1.クリティカルシンキング
私は金融機関のシステム開発に携わることが多かったのですが、そこで優秀な上司や同僚たちが私よりも早く物事の本質を捉えて行動に移すことができる姿を見て、気づきました。
物事を多面的に捉えて、いくつもの根拠をもとに最短で成果を出す道筋をイメージできるチカラ、それがあるのです。
例えば、クライアントからの要望や仕様が変更になったことをシステムの動きとして実現する際に、あえて逆方向から考えて「これって、そもそもさ」とか「これって、裏を返せばこういうことだよね」という言葉が連発されるのです。
彼らには批判的思考力があるのです。もちろんその奥底には論理的な思考つまりロジカルシンキングが備わっていることはもちろんなのですが、そのロジカルな部分の使い方が非常にクリティカルだったのです。
それは納期やクライアントのサクセスを約束通り実現することにコミットしていた彼らの中にある、責任感から生まれるものかもしれません。
つまり、物事を批判的に捉えながら最終的な成果に結びつける「最短距離発想」を教えてもらいました。これはいま経営者として組織を動かしてゆく上でとても必要なスキルです。
2.課題解決
多くのメンバーが持ち場を持つチームでの仕事を進めるにあたって、週次でミーティングがあり、「課題一覧」というシートをもとに進捗の管理や議論が行われていました。課題一覧には、課題の実態や解決状況・影響範囲・担当者の選別・期日などが書かれていました。それがひとつひとつ潰されてゆくことがとても重要でした。
この課題を明確にして、それを定期的に最新状態にアップデートする思考。これは地味ですが、多くの価値観をもったメンバーが同じゴールを描いて進む上でとても重要な能力です。これが社風そのものでした。
しかしシステム開発を本来の主業とはしていないコンサルティングファームがプログラミングをしながら価値を作り出すためには、このような社風をクライアントに提供することの意味があったように思います。
そして、このことは今の経営においても、「課題を漠然と捉えるのではなく、明文化して共有しよう」という考え方につながっていて、役立っています。
3.逆算思考
システム開発は成果物であるアプリケーションがどのように使われるかという最終的なゴールを明確に描いて、そこから逆算していって具体的なパーツひとつひとつのプログラミングが行われます。
この「ゴールから逆算して、今やるべきことが決められる」という発想は、実はとても高度な能力であることが今になってわかりました。
割りと、ゴールって見えていないものなのですよね。だから仕事のなかで最も不具合を起こす「手段が目的化してしまう状態」を生むのかもしれません。まさにこの目的というのがゴールです。
この考え方は私がいま取り組んでいる幼児教育の質の向上においても同じことが言えます。
この行事は何のためのものなのか、
子どもたちに培って欲しい能力はどのようなものなのか、
そういったことに、できるだけ明確なイメージをもって共有すること。
それがあれば、スタッフは自分の役割が何につながっているのかを理解できるのです。
4.デバック技術
プログラミングを進めて、それをコンパイル(人間が理解できる言語からコンピューターの理解できる指令に変換しながらプログラムとしての整合性を確認)してみると、最初はたくさんのエラーがでてきます。もう果てしないぐらいのエラーの数を潰すことでそのプログラムの論理性が完成し、使えるプログラムに変わってゆきます。このエラーを潰してゆく作業を「デバック」と言いました。
このデバックがきつかったきつかった。プログラミングはこのエラー潰しが大半の時間を使うことになります。
でもエラーを上から一個一個潰す前に、無数のエラーの「傾向」を読み取ることがとても重要です。つまり、さまざまな箇所のエラーとして発生している原因自体は割と少なかったりするのです。
まさにこのことが、経営に役立つスキルです。つまり発生しているトラブルや不具合のひとつひとつの解決に取り組む前に、その奥底にある根源的な問題が何なのかをつきとめる必要なのです。
5.ボタンの裏側考察
プログラミングを経験していると、銀行のATMなどのボタン、例えば「通帳記入」というボタンを押した後にどのようなプログラムが走るのかをついつい連想してしまう癖がつきます。きっと通帳から口座情報を読み取り、それをキーに口座入出金のデータベースにアクセスして、その中にある未記帳分の入出金記録を取り出して印字する、そしてページ最下部まで来たらif文になっていてページめくりのプログラムが実行される、みたいな。
つまり、さまざまは仕組みに「ユーザー」として接していると同時に、その仕組みの奥にあるロジックのなんとなくのイメージを日々しているのです。
これはテクニカルな理系のスキルと思われがちですが、経営目線で考えると別の意味で僕を支えてくれています。
簡単に言うと、「どんな複雑なことも、その奥の構造は人間が考えて作った手作りの仕組みなんだよな」と思えることです。物事の本質を捉えながら、シンプルに考えることができる、とでも言いましょうか。
さて、ここまでいろいろと書きましたが、このようにして私はアクセンチュア時代の特に前半でプログラミングを叩き込まれたことが、今になって経営者としてのチカラになっていることをまとめてみました。
そして、あの頃に活躍していた超人的な能力を発揮する奇人たちのことを懐かしく思い出しています。また会いたいな。