見出し画像

プログラミングと相性のいいもの


本日の3行まとめ

  • システム開発においては色々と「計算する」機会が多い

  • 公式」をそもそも知らない、または理解できないと気が遠くなる

  • 余裕のない時代では、より「効率化」が求められる

例:Excelの四捨五入(Round関数)で

仮に関数が用意されていても意味が分からないと意味がない

例えば四捨五入する時、ExcelではRound関数を使いますが、じゃあ切り捨てはどうするの?切り上げは??と、合わせて色々と考える必要があるシーンに出くわす可能性もあります。
上記例でいえば、Excelでは、切り上げはRoundup、切り捨てはRounddownと用意されており、それぞれの関数の形式(決まり事)にそった引数(ひきすうと読みます)を与えることで結果が表示される仕様になっています。

英語が分かれば連想もしやすい

Round関数は知っていたけどRounddownは知らなかったというケースもあると思います。そんな時、イメージ的に、切り上げだからUPだとか切り下げだからDownだとか思いつけば便利です。
予め用意された関数名等も、言語では人間が直観的に理解しやすい(イメージしやすい)ように工夫されているので、英語が分かると「こういうのあるんじゃないか?」とググる時にもスピードアップにつながって効率が良くなることがあると思います。
また、英語の意味が分かればよりコードが読みやすく(理解しやすく)なり、作業する上でも、ただの英数字の文字列ではなく、今何をしているのか、どのようなプログラムのどの部分をいじっているのかも直観的に分かりやすくなると思います。
※日本語の注釈(コメント)つけることも多いですが、そもそもプログラミングやコンピュータは日本語を目的としていない(内部で色々と変換して対応できるというだけです)ので、最初から出来る限りグローバルスタンダード(英語)な方が良いとは思います(個人的に)

公式とプログラミングの関係

公式を知らない・意味が分からないと大変

おいしい逸材があるので一つ例をあげてみます。
球の体積はプログラミング的にいい材料?です。
ちなみに 球の体積=4/3πr^3 です。
ここでプログラム的に考えることがあります。
π(パイ)の処理方法^(べき乗)の処理方法
方法は一つではありませんので、その方法を知っていれば、あるいは思いつけばどうにでもなるわけですが、そもそも公式を知らない書いてある意味が分からないとなると大変です。
πってなんだ?
^ってなんだ?
球の体積を求める方法なんてあるのか?
という部分がすべてクリア出来ていて初めてじゃあ自分の使う言語においてπの処理方法は~…とか、べき乗は関数使うか、関数さがすのも面倒だから最初から半径分かってるなら3乗しちゃえとか色々人によって考えることが出来ます。
よって(つくるものに応じた)様々な公式を理解できる程度の数学力や、その分野によっては物理等、側面的な知識や基礎学力が必要になります。

ゴリ押しは「会社では」通用しない可能性大

プログラムとしては「動く」ものであっても、しっかりしたつくりでなければ会社では(※自営だとバレないという意味で処理速度が落ちないレベルの話ならいけてしまう可能性はありますが)許されないことも多いと思います。
例えば、べき乗の処理がパッと思いつかないからといって
例 2^3
ええーい! 2*2*2でいいや!なんてやると上司に
何だこのふざけたコードは!関数使え!
もしこれが10乗だったらオマエは
2*2*2*2*2*2*2*2*2*2
とでも書くつもりなのか?
などと説教されることは間違いないと思います…
もちろんπも同様です。
面倒だし3.14でいいや…なんてするとシビアな答えを要求されるシステム(0.01の狂いも許さないようなシステム)では、後々大変なことになりかねません…

より高度なシステム開発において

中学数学や高校数学ではでてこないような公式を利用しなければならないことも多いと思います。
常用対数が関係してきたりモーメントが関係してきたりと、業種業界によっては、そもそもが高度な知識を要求されるものもあり、それをシステム化するエンジニアも
「ナンスカソレ?ジブンの本業じゃないからそんなの知らないっす」
では許されない所がある、なかなかに厳しい業界だと思います。

プログラミングに学歴なんて関係あるの?と問われれば、つくるモノによっては関係ないですが、高度なシステム等、そういうものを要求される場面においてはやはり大卒程度の数学等の前提知識がなければ大変という話にはなると思います。

人手不足と効率化

コスト削減は今後より進む

賃上げムードが私たち労働者にとって必ずしも喜ばしいものとは限らないのがこの問題です。
人件費等経費がかさめば会社もその対策を講じなければいけません。
結果的に求めるのは本当に必要な人材のみ、より生き残りはシビアになっていくと思います。

需要のあるシステムでなれけば淘汰される

ただプログラムを書ける、システムを作れるだけでは恐らく今後は需要がなくなっていくと思います。それこそAIに負けるかもしれません。
プログラミングの技術だけでなく、側面的な知識やアイデアを活かした独創性、まったく別の視点からのアプローチ等、どちらかというと技術というよりは、創作物としてのシステムをつくれないと今後は生き残れなくなってくるかもしれません。
多少言い過ぎ感はありますが、場合やモノによっては発明に近いものがあるかもしれないですね…

集中力と持続力と体つくり

業界的に体を動かす業界ではないので、体が弱くなる、なまるということも多いと思います。
若いうちはもちますが、私のように年をとってくると(40代にもなってくると)年々集中力や持続力の低下をひしひしと感じるようになってきます。

なんの宣伝でもありませんが、基礎体力、体つくりはIT業界においても大切だなと感じる今日この頃でございます。

さいごに

優先順位の変化に適応していく時代

今多くの人が考えるのは「もしもの時」だと思います。
そしてその「備え」が優先される時代だと思います。
もちろんレジャー・娯楽も大切です。
楽しみのない人生なんてつまらないですからね…
しかし、優先順位としてはどうしても後回しになります。
「生きる」ということをシビアに考えると、
今何が必要とされているのか?
今後必要とされるようになるのか?
を考え、そこで必要となる知識や技術を習得して立ち回る必要がある時代だと思います。

ドローンやAIに出来そうなことを考えてみる

どちらかというと10年後、20年後の話かもしれませんので、今若い方ほど考える必要があるかもしれません。
なんでも構いませんが、将来的に「ヒト」が必要ないシーンが想像できるのであれば、それはいずれなくなる(あるいは縮小衰退する)仕事「かも」しれません。
逆に「どう考えてもここはヒトが必要だろ!」という所は今後も需要がある可能性が高いと言えるでしょう。

スポーツ選手は本当に大変

私は無類の競輪好き人間ですので、若い頃からずっとファンの選手なんかもいたりします。当時は無敵だった選手も、今では若い強い子の後ろで追いかけるのが精一杯なんていう姿を見ていると、切なくなったりもします。
スポーツ選手はピークが短く、故障等のリスクもあり、当たれば一撃で財を築けるドリーム感はありますが、それは本当に一握りの才能と天運に恵まれた人たちだなとつくづく思います。
見る分には楽しいですが、自分がやるとなると恐ろしく大変な世界だろうと思います。

頭を使う仕事の方が多分仕事寿命は長い

煌びやかな世界とは無縁の、どちらかというと裏方的存在で、非常に地味で誰にもキャーキャー言ってもらえない世界ではありますが…
年をとっても(体が弱くなっても)出来る仕事なので、そういう意味では長く働ける業種業界だとも思います。
よほどの才でもない限り、こちらの方が地味に長生き出来る気はします…
私の知人で実業団の野球をしている方がいますが、それだけでは食っていけないからとバイトしてますので…
趣味ならいいですが「仕事」にすると本当に大変だと思います。

どうあれ厳しい時代ではある…

ゴチャゴチャ書きたいことをつらつらと書いてみたものの、ぶっちゃけ何をしても厳しい難しい時代になったなとは思います(達観)

好きな歌を聴いて好きなゲームをして寝るのが、今の私の一番の幸せでございます(youtube視聴と買い切りゲームなのでほとんど金のかからない趣味でコスパ良し)
私の今しているSwitchのゲーム(太閤立志伝5DX)の部下にね…
武田信玄もいれば織田信長もいて…北条氏康もいれば徳川家康もいるんです…さぁて次は四国攻めたろか?降伏するか?んっ?んっ?なーんてね…
ククク…(←怖い)楽しいですわ…最高…シアワセ…

というわけで、途中から本題とズレた気もしますが、最後までお読み下さりありがとうございました♪







もし、万が一、サポートいただけるようなことがあった場合には、NOTEの記事の方でしっかりと記事と合わせてサポート額の使い道を報告させていただきます。 (先日落雷でパソコンが破壊されたので多分当分はその買い替え費用の足しにさせていただくことに…すみませんすみません)