ホーム

代表ブログ

2020年1月8日

システムは未来の別の場所にいる誰かの行動を制御するもの

システムを作るのがプログラマーですが、
システムの定義って何でしょうか。

いろいろな考え方があると思いますが
シナジーデザインでは次のように定義しています。

システムとは

未来の別の場所にいる誰かの行動を制御する仕組み

 
と考えています。

広い意味でのシステムはITを使っていないものも含みます
例えば火をつけるライターもシステムの一種です。
親指で着火ボタンを押せば火がつく。
これも未来の別の場所にいる誰かの行動を制御している「仕組み」ですので
システムということになります。

ITシステムとはITを使って
未来の別の場所にいる誰かの行動を制御
するもの、です。

例えばスマホアプリもシステムです。

スマホアプリを使うとき、
スワイプしたりタップしたりして操作をします。

設計通りに使えばうまく動きますし、
設計した通りに使わなければ変な動きになったりします。

これって
別の場所にいる
他人のエンジニアが
過去に
作ったシステムによって、
あなたの行動が制御されている

ってことですよね。

気持ちよく制御されていれば
使いやすいとなりますし、
制御のされ方が不自然であったり、非効率であったりすると
使いにくいとなってストレスがたまることになります。

ゲームはまさにシステムで
プレイヤーはゲームを作った人の手のひらの上で
コロコロと転がされる
わけですが、気持ちよく転がされていれば、
このゲームは素晴らしい、となりますし、
全然気持ちよくなければクソゲーということになります。

このように世の中には至るところにシステムが存在して、
それを作った人がいます。

ITシステムの場合はそれがプログラマーということになります。
(正確に言うとプログラマーだけではなく
プロジェクトマネージャーやディレクター、
UI設計者など細かく役割は分かれていきますが、
ここではそういった役割も含めた
広い意味でのプログラマーという使い方をしています。)

プログラマーになってシステムを作るという事は未来の
別の空間にいる
他人の
行動を制限する
行為と認識をする
必要があるんですね。

だからプログラムを作る事は非常に難しいんですね。
プログラムが動くかどうかだけであれば、明確にしやすいですが、
他人の行動を制御するとなると途端に難易度が上がります。

自分の行動ならまだしも他人の行動です。
何を考えているかわからないし、
不特定多数になるのでその行動は千差万別です。
価値観も違う人生経験も違う
そんな他人の行動を制御する、
大それたことをしないといけないのがシステムの設計です。

しかもそれだけではありません。
目の前にいる人であれば相手の表情を見ながら、
ここはこうしてくださいね、
その場合こうしてくださいねとアドバイスすることもできます。

でもシステムの定義は目の前にいる他人ではありません。

未来の別の場所にいる他人です。

 
別の場所にいる人の行動を全て洗い出し、
その行動の全てについて処理をする必要があります。

処理が漏れていれば、
特定の行動をしたときに処理がないことになり
エラーや不具合が発生することになります。

とても難しいですね。

さらにもっと難しいのはそれが未来に起きるということです。
未来のことなんて誰も予測できません。
なのにシステムを使うのは確実に今よりも未来なんですね。

世の中の動きを全て読むのは難しいですが、
過去を学んで現在の情報を出来る限り収集
未来を予測しながらシステムを作る必要があります。
なぜならそのシステムを使うのは未来だからです。

世の中が進歩していない前提であればシステムを作るのはまだ楽です。
不確定要素が1つ減りますからね。

でも世の中は確実に進歩します。
皆そのために頑張って働いているわけですから。
その進歩した世の中を予測して作らないと、
システムの寿命が極端に短くなります。

例えば社内システムを作る場合、
今までだと会社のパソコンで使われることだけを想定すればよかったですが、
これから作る社内システムは、
色々なデバイスで使われることも想定しないといけないし、
オフィスだけではなく自宅やカフェで使われることを
想定しないといけないかもしれません。

とにかく
未来のことを考えて作る必要があるんですね。

システムは未来の別の場所にいる誰かの行動を制御するもの

です。

シナジーデザインは小さな会社なので、
プログラムのコードを書くだけがプログラマーの仕事ではありません。

誰か別の人が
未来の別の場所にいる誰かの行動を制御する方法の設計図を作って、
画面のUIを作って、デザインを作った上で
コードだけ書いてください
と渡される仕事ではありません。

新しいサービスを生み出す主役として、
未来の別の場所にいる誰かの行動を制御する
責任
を持ってシステムを作っていく仕事
です。

責任を持つので権限を持つこともできるようになります。

世の中には改善するべきことがまだまだたくさんあって、
世の中が変化するほど不便もまた生まれてきます。

そういった不便はシステムを作ることによって
徐々に改善されてより良い世の中になっていきます。

そういったシステムは別の誰かが作ってくれているものです。

大げさに言えば人類の資産を作っていくのがシステムです。

単にコードを書いてそのコードが問題なく動いたっていうのは、
厳しく言えば当たり前のことであって、
それだけでは、別の人の行動を正しく制御していることにはなりません。

コードを書くことだけに自分の責任を限定するのは、
自分の可能性を限定してしまうことにもなります。

仕事の目的を明確にした上で業務を行っていきましょう。

デザイナーとプログラマーの違い

ちなみに
デザインは未来の別の場所にいる誰かとのコミュニケーション
です。

チラシであれば
デザイナーが
過去に作ったものを
別の場所で
他人が
見ます。

その時にデザイナーが伝えたいと思っていたものが
伝わっていればデザインとして成立していますし、
伝わらなければデザインとして成立していないということになります。

目の前にいる人と話していても
自分の思っていることを全て伝えるのは難しいですよね。
未来の別の場所にいる他人とのコミュニケーションであるデザインは、
やはり難しいものなんですね。

ただデザインはシステムよりも楽な面もあります。それは

デザインの場合、
全員が動いてくれなくても大丈夫
というところなんですね。

チラシを見た100人に1人が動けば十分に優秀なチラシ
となります。
100人が100人とも動かなくてもデザインとしては成立しているわけです。

でも
システムの場合は違います。

デザインと違って100分の100の確率で動く必要があります。

 
業務の基盤になったり行動の基礎になったりするものなので
100回に1回の行動でエラーが出たら全然使い物にならないシステムなわけです。

もし100分の1の行動でエラーが出るなら、
1日に10回、20回とエラーが発生してしまうことになります。
そんなにエラーが頻発するスマホだったら誰も使わなくなりますよね。

なのでシステムの場合は100分の1のエラーも許されない厳しさがあります。
100分の99までメチャメチャ頑張ってしっかり作り込んでいても
残り1が残っていればシステムとしては評価されない
ことになるんですね。

その辺がシステム担当者の辛いところですし、
自分の気持ちの中で落とし込まないといけない部分でもあります。
それだけ大変なことをやっているので
もっと評価される仕組みを作る必要があるかなと思っています。

システムは100分の100を求められる厳しい仕事

 
と考えて評価していかないといけないなと思います。

まとめ

システムは

未来の別の場所にいる他人の行動を制御する仕組みづくり

 
となります。

そして未来の他人の行動を制御するので、
100分の100の確立を求められる非常に責任の重い仕事
ということになります。

そして、
仕組み作りをすることで世の中をどんどん良くしていくので
今後多くの場所で求められ、
そして
影響力の大きな特別な存在の職業になっていきます。

その分給料も増え社会的なステータスも上がっていく職業です。

歳をとってからでは難しいかもしれませんが
若いうちならば十分にチャレンジできます。

迷っている人がいればぜひチャレンジしてみることをお勧めします。

もうすでにプログラマーになっている人であればあなたの選択は正解だと思います。

単にコードを書くのではなく、
未来の誰かの行動を制御してより良い世の中にしていきましょう。

シナジーデザインでは現在プログラマーを募集しています。
気になる方はぜひ面接にお気軽にご参加ください。

エン転職でも
シナジーデザインのこのサイトでも募集しているので
どちらからでも気軽にご応募ください。

タグ:

求人バナー

このページの上部へ戻る