ハイキューに学ぶ脇役の役割

じぶんはそんなにアニメや映画を見るわけじゃない
逆にそのおかげで記憶に残ったものは長くじぶんの人生に影響を与えてくれる
22年4月に新卒入社を控える自分にとって2021年はハイキューが強く印象に残った

ハイキューとは

週刊少年ジャンプで連載されていた高校バレーをテーマとしたスポーツ漫画で荒削りながら才能を持つ主人公とその相棒が互いに影響しながら成長し、試合に勝利することを目指す作品である

つまり言ってしまえばスポ根漫画ってやつである

 

その中でじぶんが心を打たれたのはスポットライトのあて方だった
実際バレーに打ち込むためには監督、コーチ、いい仲間、ライバル、見てる人などたくさんのヒトの支えが必要である
この作品はそういう人にもちゃんとスポットライトを当てている点がすばらしいと感じた

たとえば作中で最強クラスの敵、白鳥沢高校戦において

もっともMVP的活躍をしたキャラクターは日向(主人公)でも影山(相棒)でもなくふたりに才能で劣るはずの月島であった

作中で月島は敵のエース牛島若利に好きに打たせないためのブロック布陣を提案し抑え込むことに成功し結果としてチームのインターハイ出場に大きく貢献した

 

じぶんはこの話を見たときにその姿勢にすごく心を動かされ、

才能も実力も足りなくても役割をちゃんと果たそうとすれば報われるときもあるよなって気持ちにさせられた

 

結局なにかに打ち込むにあたってスポットライトが当たり続けるのはほんの一握りの存在だろう
でもそういう人たちが輝けるのは周りもそれに準ずるくらい強いからで、
だから勝ったらうれしいし、なによりも輝けるんだろう

そういう構図のなかでじぶんのような脇役の役割は

味方なら主役が引き立つように自らが果たすべき役割を全うすること、

敵であるならば、ほんとうにいいライバルであり続けて、負けること
限界まで役割を突き詰め、そして派手に散ることこそが主役を引き立てることにつながる
(ハイキューでも決勝で最後に決めたのは日向だったなぁ。。)

たぶんこういう感想になるのは
じぶんが着実に相対的に実力が劣る存在になっていってるから(まわりのヒトのほうが優秀に感じることが多い)なんだろうけど

せっかくまあまあレベル高い会社に入れたから
そういうひとのいいライバルであれるくらいの準備はしておきたいなぁ

webエンジニアのスキルをパワプロの能力に紐づけてみた

なんだこの記事は?

はじめまして。

今後webエンジニアとしてやっていくうえで、

じぶんの能力をゲームのパラメータ的に表現できたらおもしろいなっておもったので

今回はパワプロの能力にwebエンジニアのスキルを紐付けた結果を共有します

エンジニアはピッチャー・バッターどっちなのか

結論としてエンジニアはピッチャーではないかと考えました。

理由として、営業職とエンジニアという職種のゲーム性を比較したときに

  • エンジニアは成功が前提なゲーム性である代わりに成功基準は曖昧
  • 営業は失敗が前提なゲーム性である代わりに成功基準がわかりやすい

という特徴を持っていて現実の給与制度においても

  • エンジニアは平均的に給料は高いが上限が見えている
  • 営業は平均的には給料が安いヒトも多いが売れるヒトには高いリターン

 

という特徴がある点から「エンジニアはピッチャーである」と結論づけました。

 

エンジニアの能力値をパワプロ的に

コントロール

結論からいうと、RDBMS, TCP/IP, Middleware, 言語パラダイム, アーキテクチャ, Linuxといった個別具体的ではない技術的な基礎知識が当てはまると考えました。

理由として、コントロールはゲームにおいて全体の質に影響を与える要素である代わりに即効性はない(ジワジワ効いてくる)ものなので

実務においての上記の要素(DB, Web, Middleware...etc)は似通ってるものがあると思ったからです。

球速

球速はコーディング, アルゴリズム実装, モダンな技術の習熟度といった総合的な実現能力を指す要素が当てはまると考えました。

理由は、球速は投手の能力においてまさに花形的な能力であり歴史的な良いピッチャーの大多数は魅力的なストレートを投げるという点から

その人物の技術的な"ツヨさ"を表す能力(コーディング, アルゴリズム実装, モダンな技術の習熟度)こそがふさわしいと考えました。

スタミナ

スタミナは担当しているフェーズ(設計, コーディング, 運用)を表すのがよいのかなと考えました

理由は、基本的にそのピッチャーがどのフェーズ(先発, 中継ぎ, 抑え)を担当するのかを表す概念であり

実務に落とすとそれは担当してるフェーズのことなのかなと考えました

変化球

変化球については担当領域(Back, Front, Infra, DS, ML)と考えるのがいいかなと思いました

理由は、変化球も先発・中継ぎ・抑えで割と必要なボールが変わってくる点とその投手の個性を表現する要素であるので

エンジニア実務において、TPOによって使い所がわかれる担当領域こそが適任だと考えました。

特殊能力

特殊能力には要件定義, チームビル, 技術選定などといった独自の経験・性格に依存する能力と捉えるのがよいと考えました

理由は、パワプロでもこの要素はピンチ○といった良し悪しが付く能力から積極盗塁といった個人の性質を表す能力まで多種多様に混在している状態であり

エンジニア実務においても、いわゆる非機能要件の類が求められることが多いのでここに分類しておけばよいと考えました。

 

終わりに

いかがだったでしょうか?

答えがあるものではないですし、作ったところでなんだ?って話ではあるのですが

こうやって違うジャンルにじぶんのいる場所を当てはめてみることで

野球中継やゲームといった娯楽にもさらなる見え方が生まれてくるのではないでしょうか?

 

 

ナップサックDP問題の種類別要点のメモ

はじめに

先日以下の記事を利用してナップサックDPの勉強をしていました

この記事はそのとき学んだ問題の種類・相違点についてまとめた内容となります

qiita.com

ナップサックDPとは

一定の条件に従ってVを選んだときの最大・最小を選ぶような問題たちのこと

本来は最適化問題というカテゴリに内包される

 

最大和問題

ナップサック問題ではないがサンプル問題として掲載されていた

本来であればすべての数字を足すだけであるが漸化式として考える場合は、

dp[i+1]= max(d[i] + a[i], d[i])を繰り返せばdp[n]には求めたい合計値が格納される

 

ナップサック問題

最大和問題に「Wを超えない範囲で」という制約が加わる

データ構造dpの持ち方が多重配列になるため表を書くとわかりやすい

漸化式

横軸wで重さの現在値は表現できているのでdpでは

dp[i+1][w]= 

Ww[i]のとき max(d[i][W-w[i]] + a[i], d[i][w])

W<w[i]のとき d[i][w]

 

データ構造dpの持ち方

N=i, W=wのときに答えとして求めたい値(=価値の総和)を多重配列上で取り出すことを達成するように設計する

そのために、登場しうるNとWの値すべてをindexで指定できるように宣言する

dp = [[0] * (W+1) for _ in range(N+1)]  

部分和問題

最大和と異なり足し上げることではなく「判定すること」が問われる問題

ナップサックとは以下の点で似ているが、

  1. 現在の総和を横軸とする点
  2. コピー元の有無で分岐させる点

テーブルの要素がBool型となる点で異なる

部分和数え上げ問題

部分和問題と異なり「判定した結果の合計」が問われる問題

処理手順などは殆ど同様だが、

テーブルの要素が”結果の合計”となる点で異なり

そのためdpの主要処理がdp[i][j-a[i]] + dp[i][j]となる

最小個数部分和問題

部分和問題と異なり「判定した結果に含まれる要素の数」が問われる問題

使用するロジックは殆ど同様だが、

コピー元の値は”十分に大きい値とする”点で異なる

k個以内部分和問題

部分和問題と異なり「K個以内の整数という制約」が付与される問題

テーブルの要素を配列として持つ手もあるが計算量がネック

bool値を漸化式で表現することは捨てて

最小個数部分和 × 答えのロジックで代替してもよい

 個数制限付き部分和問題

部分和問題と異なり「整数aに利用数mの制限」が付与される問題

従来の処理のなかで、m[i]に基づくループを追加する方針での実装も可能だが計算量がネック

その場合は以下2つの性質を使って、a[i]の余裕(余り)を増減させる方針で実装する

  1. 総和Kは実現可能=a[i]の利用個数になんらかの余裕がある
  2. j-a[i]が実現可能ならjはdp[i][j-a[i]]から-1した余りで実現可能

 

 

 

ISTP男から見た各タイプの印象・分析家編(ENTP, INTP, ENTJ, INTJ)

はじめに

はじめまして、現在大学4年のさかがみと言います

来年は都内の会社でバックエンドエンジニアとして勤務予定です

いわゆるMBTIではESTJと出ることが多いのですが、

それはシンプルにじぶんがヒトと関わるのも好きなのと、目標のために努力してるからそう出やすいだけで

ウラにあるじぶんの思想や生き方と照らすとISTPやろっておもうことが多いので

今回はISTPから見た各タイプの印象として

分析家タイプ(ENTP, INTP, ENTJ, INTJ)の印象を語ってみようかなと思います

 

 

 

 ENTP

一言でいうと天才って感じですね

若い時はロマンと勢いがあって人望もできやすい一方で、

寄せ付けやすい周囲の人物の性質上、

なにかが頓挫したときにヒトが離れていきやすいので勢いがあるうちにどこまでいけるかが重要になるかなっておもいます

個人的にはなんにでも興味を持てるバイタリティはすごく好きだし話してておもしろいと思うことが多いですが

失敗を知って器が小さくなってしまったENTPはすごくダサくみえます

いつまでも、キラキラ・ギラギラとしていてほしいなとおもいます。でも決してキライじゃないです

 

INTP

一言でいうと陰キャラってイメージです

前提として一般に陰キャラはマイナスイメージで捉えられることが多いですが、じぶんはそうは思っていないです

その上でこのINTPは陰キャラのいいところを全部持ってるタイプなんじゃないかなっておもってます

このタイプの特徴であるYes-Noのシンプルな思考は本当にいろんなものに応用が効くし、レバレッジもつけられるので

偉大な人物の成功の影には必ずこのタイプがいたんじゃないかなっておもってます

じぶんの大学時代の親友もINTPで、基本的に思考が深くておもしろいひとが多い印象です

ただ社会では、見かけや服装で判断されることも多い中でこのタイプは損してることも多いなとおもうのと、

理論というものは、経験を通して具現化することではじめて説得力・影響力を持つものなので

実行力を持つ人物と組めるだけの人間性や視野をもつことはこのタイプが社会で成功する鍵になるとおもいます

 まあ社会的に成功しなくたって話すとおもしろいことに変わりはないんですけどね

 

INTJ

一言でいうとめんどくさいヤツって感じです(笑)

このタイプの一番の強みは効率が悪いモノを捨てるチカラだとおもっていて

日々の積み重ねや運よりも戦略性がモノを言うゲーム(将棋など)はほんとに強いイメージです

ただヒトとの関わり方で損してることも多いなと思っていて

INTPが純粋に興味がないからという理由でヒトと関わらない一方で、

INTJの中には論理で考えて「関わっても意味がないヒトがいる」と決した結果、

より一層、同じような薄情で人脈の薄いヒトが身の回りに集まっていって

ヒトと関わることがもっとつまらなくなっていくようなヒトも多い印象で

自らの結論に素直な姿勢とこの結果はトレードオフなのかもしれないですが、もったいないなとも思うことも多いです

ただ、個人的にはふつう好きです、学べることも多いし話すとおもしろい。

たぶん、兄がこのタイプなのでそうならざるを得なかったのかもしれないですね

実際のとこ友達にも多いです

ただ周りのひとのこのタイプへの評価はすごく好みが分かれることが多いですね、特にESFPとの相性は最悪の極みな気がします

実際に、ESFPがINTJの悪口を言ってるところも、INTJがESFPの悪口を言ってるもの見たことがあるのでここは犬猿の仲ってやつなのかもしれません

 

ENTJ

一言でいうと強いやつってイメージです

INTJと同様に戦略的なことを考えるのがうまい上に、

強靭な精神力を持っていて実行力もあるので社会で成功する確率が高いのもうなずけますね

 ただ実際には全員が全員実力に優れているわけではなく、中にはヒトの感情に疎く苛烈な性格をしているだけのENTJもいて

一定の年齢までに十分な実力・人脈を身に付けられなかったこのタイプは

親しいひともおらず、ステータスやお金だけを追ってるような寂しい人生を送るタイプもいる印象です

じぶんとの関わりかたとしては、

関わってみたいとおもっているけどいつもあんま仲良くなれず知り合いのままで終わるひとが多い印象です

ただキャリアのことを話す友達として重宝してるヒトもいるし、逆にそのくらいの仲のほうが関係を気にせずディスカッションできるので

将来的にもっと互いにメリットを持ち合っていい影響を与えられる存在になれたらいいなと思ってます

 

 おわりに

将来的に技術記事も書きたいなと思ってソフトなテーマで書いてみたのですが思いのほかしんどくてビビり散らかしました

技術記事を書いてくださってるかたには本当に感謝ですね

残りのタイプについても気が向いたら書きます。

今回はありがとうございました、コメントお待ちしてます