システム開発に必要なのは理数系のスキル?
「スマホアプリの開発をやっている」と知人や友人に説明すると、よく「俺は理数系得意じゃないからできないな〜」と言われます。 確かに私も理数系が得意であればもっと良いプログラミングができるんだろうなと思うことはありますが、必ずしも必須じゃないです。
必要なのは理数系スキルではなくて論理的な考え方と想像力
システム開発で重要なのは論理的な考え方と想像力です。 微分や積分の公式だとか、接弦定理を知らなくても問題ありません。 システム開発のお仕事というのは下記のような課題を解決することを繰り返します。
「1という数字を"いち"という平仮名に変えたい」
これに理数系スキルはあまり必要なく、論理的な考え方と想像力で作業を進めていきます。
・1という数字の型がintegerなのか、2byte文字なのか ・数字型だったら文字型に変更した方が使いやすいかな ・よく使いそうな機能ならいつでも使えるようにしておこうかな
これを料理で例えてみます。
「じゃがいもをフライドポテトに変えたい」
この問題を解決するためには以下のような行動が取れます。
・じゃがいもは皮をむかないといけないのか、皮付きでもいいのか ・皮つきのポテトじゃなかったら、皮をむいていたほうが使いやすかな ・よく皮をむくのなら包丁じゃなくて皮むき器のほうがスピードが速いかな
同じように論理的に考えて、想像力を使って便利にしているだけなのです。 これはシステム開発だけでなく、あらゆる職種で必要とされているスキルです。
文系と理系の違い
これは諸説あるんですが、私は以下の基準が最も確からしいかなと考えています。
文系 … 考える時の基準が自分が正しいと思うかどうか:主観的 理系 … 考える時の基準が自分以外の事実で判断する :客観的
「数学は表現方法の1つ」という言葉
これらはすべて数学的な要素があります。 恥ずかしい話ですが私は中学生の時は音楽やイラストを描いたりと、芸術の道に進みたいと思っていましたので理数系の勉強については得意だと思ったことがありませんでした。 むしろ数学が役に立つわけない信者の1人でした。
覚えていないのですが過去に見た映画や本の中で「数学は表現方法の1つ」という言葉がとても印象に残り、それ以来数学的なことが好きになりました。 「愛してる」という日本語は「I love you」という英語に変換することができます。 英語が話せる人は世界が違って見えるんだろうかって思うことがあります。 それと同じで数学ができる人は世界が違って見えるんだろうかと思うようになりました。 ロマン大事です、ロマン。
デザインに関しても同様です。 可愛いは作れますが、客観的に伝えれるように定義することができません。 美しさは作れますし、客観的に伝えれるように定義することができます。 「黄金比」というキーワードがそれに当たります。
黄金比とは、黄金比を使ったすごいデザインテクニックのまとめ -Webデザイン・紙デザインに | コリス
私は個人的な趣味でデジタル一眼で写真を撮るのですが、これを意識している写真と意識していない写真では同じカメラで撮っているのにまるで違います。 芸術的なことにも実は数学が使われているということがわかった時はますます数学的なことが好きになりました。
まとめ
連日、ビジネス的なことを書いてきて飽きたので今日は雑談です。 皆様も日常生活で数学的なものを見つけたらロマンを感じてみてください。 くだらない話ですいません。