6.個人的思想
前章までにはそこその量で数学的云々という記載をしてきました。
プログラムを書くのにそんなに数学の能力が必要なのかという疑問を覚えた方もいるかも知れません。
そうした方が納得されるかはわかりませんがいくつか私見を書きたいと思います。
職業としてひたすらコードを書きたいと思うのであれば、特にコードを書くだけがしたいというのであれば数学の能力は特に必要ではないでしょう。
ただしこれは与えられた仕様書に従ってひたすら画面に向き合いずっと文字を打ち続ける未来で構わないという意味を伴います。
数学的の能力を要求されないとは、ある程度の抽象思考、特にプログラムであれば計算の使用や条件分岐などの設計について触れなくても良いとも言い換えられます。
こういったものは全て仕様書に書かれているためただそれに従ってコードを書き続ければ良いということになるでしょう。これは相当それだけが強烈に好きでない限り厳しいと思います。
仕様が詳細に決められているほどそれを実際に各人間の裁量は減っていきます。少し良い、例えば処理時間が短くなるような、書き方を思いついたとしても仕様上認められなければそのコードを書いて納品することは出来ません。
この裁量のなさは意外と人間のストレスとしては大きいものです。最初からそういったある程度以上の裁量を得られる職と言うのはどうしても個々人の能力を要求されます。
言い換えれば個々人の能力はどうでも良いからこそ徹底的に文書にしてマニュアルに従えと言う言葉が出てくるのです。
多少偏見の念があることは自覚していますが少しでも自由を求めるのであれば数学的能力は持っておくに越したことはないでしょう。
ではその能力はどこまで高めればいいのかという疑問もあるかもしれません。これも大きな問題です。
私自身があまり他の人の数学的能力というものを見積もる能力に欠けているためかなり雑にはなってしまうのですが、最低でも中学数学程度の感覚は外せないかと思います。
中学数学程度をちゃんとわかればエクセルのIF関数と言ったエクセルの関数の感覚はわかると思いますしそこで条件の分岐と言った概念も習得できていると思われます。
逆に上限と言うものは存在しません。もし能力が高いのであれば相応の場所に行くことでその能力を発揮できると思われます。ただし気を付けることとして必ずしも能力と精神性は比例するものではないため職場の精神への負荷が許容レベルよりずっと高い場合には能力の発揮以前に居られないということにもなりますのでその点には事前調査は必須かと。
しかしもし現状で数学面に不安があっても必ず業界に行くことが出来ないというわけではないのです。
意外と世の中では理系であったとしてもそのすべての人が数学的能力を十全に保持しているかと言われるとそうではなく、文理関係なしにわかる人はわかっているしそうでない人は全くということもあります。
こればかりは理由を求めるのも難しい部分はありますが、大学でどれだけ勉強したかもそうですし社会人として働き始めてからどのような過ごし方をしてきたかも響いているような気がします。
そのため十分な学習をして知識やスキルがあることを示せれば、そういった要求もある求人に手を出すことは可能と思われます。
どうしても対外的に能力を示すには資格や何かの受講歴(認定の試験があるもの)で代替するのが手っ取り早い側面があるためそういったものを取得するのが近道にならざるを得ないのが現状です。
少し話を戻しますが数学的能力の有無や多寡に応じて出来ることが変わってくるのはある程度事実です。
特にある程度の専門領域・業界であれば数学の能力で振り分けされることもあるでしょう。勿論全ての会社がそうだとは言いませんが業務担当程度では考慮される部分になるのは確実です。
そういった情報に対して後は自分がどういう位置に立ちたいのかどういう業務をしたいのか、逆に嫌な仕事はあるかという点で考えると必要な能力の幅が見えてくるかと思います。
私自身の話ばかりで恐縮ではありますが、数学の計算力もそうですが証明によって何かを示す、あるいは他者の証明の穴に気づくという能力は金融の文脈ではかなり重要なものと認識しています。
これはどうしても色々なデータを扱う以上避けられない問題で、この計算処理をしていいのかどうかと考える際には必須のスキルとなります。
そういった思考を同じ業務を担当するメンバーと共有して最終的に計算用プログラムを作成したり、より大規模なシステムとして実装を依頼するということをよく行っている手前、その能力が欠如してしまうとどうしても日々の業務には耐えられないのではないかと懸念を抱いてしまいます。
これも業界やその中での会社・部署によって異なる部分の為情報収集が必須とはなりますが、少なくとも数字を扱ってどうこうするような業界では他の業界よりも相対的に数学の能力が高く求められることは間違いないでしょう。
これを書き始めたのは正直半分八つ当たりです。少々職場でストレスな事がありあまりに理解が足りないことを原因としていたため、だったらそういう理解が足りないのは社会ではなく個人の責任だと言えるような文章を書いてやると思ってしまったことから始まります。
大学卒業以降で働いて年数もあるのに知識やスキルが足りないのは個々人の責任の範疇だとも思うのですが、どのように大学で教育を受けていたかもわからない以上はこういった極々軽い心構え的な文章がネット上に存在することにも多少の意義はあるかと思いました。
そして同時に勉強をすれば良い、勉強したら問題は解決するというものでもない以上そこに伴う思考方法のもう少し上位概念としてどうしても心構えの存在は必須かとも考えます。
特にこういった実装では必ずしも正しい答えが調べてわかるということは少なく間違っていないことを確認しながら進むことが大半です。するとそこに大事なのは自分を信じるという一面と、全く逆に自分の行いを批判的に見つめるという一面です。
自身があるからこそ諸々の行為行動を進められるのですが、それが過剰になり過ぎて全く実装内容を顧みずにただ書くばかりでは数学的に致命的なミスがあった場合など気づくことは出来ず大きなプロジェクトなどでは他のメンバーに迷惑を掛けることもあります。
大事なのはそのバランスですし、一旦は自信満々に作り上げて、その後で例えば一日程度置いてから心を鬼にして見直してみるというのも有効かもしれません。
いずれにせよ完全な人間などいない以上どこかしらに間違いはありますし、プログラムがその文法上正しいことはエラーメッセージが出ないことから把握できてもバグや設計上のミスがないことは保証されません。
無知の知と言う言葉もありますが自らの不完全性を認識したうえで仕事を進めるというのが一つ心に置いておくべき大事な観念かと思いできればその思いを共有してくれる人が一人でも多く世に増えてくれることを願って本章を締めようと思います。




