makotan _at_ gmail dot com

骨格

最近、なにかを理解するときにまず概略を理解して、そこから骨格を抜き出して、そこから全体構造を理解する癖があることに気がついた

骨格を抜き出すのを失敗したり、わけわからない事が続くとうぎゃーってなってなかなか先に進めないしめっちゃ時間がかかるけどw

一般的なものはわりと出来るようになってて、楽なんだけど...

どう考えても他人に伝わらないので困る

 

そしてこれを理解するのに何年かけてんだって話ですねw

 

AAAを使う時代ではないとか、これからはBBBの時代だとか...の普通の感想

twitterとかみてると、AAAを使う時代ではない。それが作られた時代には必要だったかも知れないけど今はもう必要なくなった

とか

CCCとかだとあんなこととかこんなこととかに対応出来ないからBBBの時代ですよ〜

みたいなのをたまに見かけるので...

それの普通の感想...あんまり普通すぎてなんとなく書く気が無かったw

 

たぶん、作るものが変われば色んな物が変わるのは当然なのでそれは良いんだけど、自分が作ってないからと技術を古いとか要らないものと表現するのは少々乱暴すぎるなぁ〜って思うこともある。

あと、新しい技術で全てがカバー出来る(完全上位互換)ならいいけど、ある程度取捨選択した結果もセットにせずに特定の技術を推すのも怖いなぁ〜って思って見てる

 

全ての技術にはTPOがあって、それが合わなければ使わない方が良いという事をもっとみんな意識した方が良いのでは?って思うことがまれに良くあるんですw

釘と木で何か作るなら金鎚とノコギリが欲しいかも知れないけど、ネジと鉄板だったら金鎚とノコギリあっても意味ないでしょっていう話

仕事とかメリットとか

仕事(給料が確実にもらえる)としてやってる事自体が最大のメリットだと思ってたけど

世の中には仕事(給料が確実にもらえる)としても、追加のメリットが無いとやる気の無い人が居るっぽい

 

そんなのをたま〜に見ることがあって

良い時代になったんだろうな

って思った

 

自分がやる気のある事だけをやりたいなら

  • 自分のやることに値段を付ける
  • その値段でやって欲しい人を探して発注してもらう
  • それを実施して請求して
  • お金を確実に回収する

っていうフローを回せばいいと思うんだ

そしたら自分にメリットのある、やりたいことがやれるんだから

代わりに給料が確実にもらえるが消滅するけど、自分のやる気のある事を中心にやりたいことを、好きな量やれる方が幸せなのでは?

 

こんな風なことを言ったら多分老害扱いされるのも知ってるw

なので、もう一つの方法をメモしておく

 

自分がやる気のあることだけをやりたいなら

それを評価してくれる所を常に探す

きっと世界中探せばどこかにはあるよ

 

基礎知識

殆どの場合には基礎知識が豊富かどうかは関係ない
仕事する上で通常使われる知識はほぼ固定だし、沢山知ってることにあんまり意味も無い

 

ごくまれに、基礎知識が役に立つときがある
ただ、それは偶然何らかの形で知ってるから役に立つんであって存在を知らないと厳しい

 

仕事上で使うだけの知識だけで良いって考える人もいるし
色んな知識を身につけるのを趣味にしてる人もいるし

 

仕事の周辺の基礎知識は持ってた方が何かの時に役に立つなぁ〜っていう印象はある
周りを見てて、それを適切に評価してくれると更に良いのになと最近思った
ただ評価基準はめっちゃ難しそうだなとw

知識はほどほどに豊富だけど発想力が無い人とか色んな人が居るし難しい...

 

データ

データを可能な限り最小単位の意味まで分類してた

 

データの意味は大きく4つ、細かく分けると3つはさらに3つに分類される

  • 構造を表すデータ(強、弱、演算)
  • 制御するためのデータ(強、弱、演算)
  • 状態を保持するデータ(強、弱、演算)
  • 値を保持するデータ

 

理想的なデータの持ち方は、

  • これらを全て独立した項目に保持すること
  • データを複合項目で表現しないこと

この二つ

 

 

個人プロジェクトのススメ

makotanはプログラミングを本職としてる(特に若い)人は個人プロジェクトをやってみた方が良いのでは?って思ってる

こんなにデメリットが少なくてメリットが凄く多いのはそんなにない気がする...

 

個人プロジェクトとは

個人で好き勝手に好きな物を作るプロジェクト

仕事ではないし、他の人が参加するかどうかも関係ないし

OSSにするかどうかも自由

 

個人プロジェクトの為に必要な物

開発出来るパソコン

作るネタ

開発環境一式(物によっては無料だし)

作るための時間と少しの根気(子育てするとだいぶ大変なので若いうちがチャンス)

 

個人プロジェクトの何が良いの?

誰の指示も受けずに好き勝手に出来る

色んな事を思うがままに試せる

色んな技法を好き勝手にぶっ込める

延々と一つのプロダクトを作る楽しみもある

作っては捨てるもまたよし

 

職業での開発 vs 個人プロジェクト

他の人の為のプログラミング vs 好きなプログラミング

期間内で成果を出す必要 vs 無期限、成果無しでもOK

自信が無くてもリリース vs 工夫し放題、試し放題

会社の成果 vs 自分の成果

 

個人プロジェクトのデメリットは?

やる気の継続が大変

次々と作りたい物が出てきて散らかる

時間確保が意外と大変

 

個人プロジェクトのメリットは?

もっと良いやり方があるかも!?って工夫して経験値爆上げ

無制限に試す事が出来るので経験値爆上げ

興味のあるものをどんどん投入できて経験値爆上げ

仕事では試せないツールとか手法とか試し放題で経験値爆上げ

OSSにすれば興味のある人が見つけてくれて知り合いが増える

経験値が上がれば仕事にもフィードバックできるし、その後も色々と有利

 

 

 

昔の経験から良かったなぁ〜って思ってることを書いてみただけ

エンジニアの評価

ワクチン接種でうなされてたときにふと思いついたのを書き起こしてるだけで、わるいのはぜんぶワクチン接種2回目です(他の物のせいにするでない!w

 

よく聞くエンジニアの(自己・他者)評価って

普通以下、普通、できる、めっちゃできる、秀才、天才、神レベル

みたいにあって、これを評価するにはどうすれば良いんだろうって考えてた

 

普通以下、普通、できる、めっちゃできる、秀才

ここまでは一直線に並んでる(何がw

わりと本人が努力すればある程度まで変化させることが出来る

あと、努力と環境で変化するなぁ〜と思った

ということで、まとめてカテゴリA

 

天才、神レベル

この二つは全く次元が違ってるので普通に評価出来ないw

そして努力でカテゴリAからなんとか出来るか??ってポイントもある

ということで、まとめてカテゴリB

 

そのあと、何らかの評価基準を作ってもそれをハックするよなぁ〜って事に気がついた

なのでハック耐性のある評価基準が必要って事になった

単独の人(もしくはグループ)が評価する人は評価される人と同等かそれ以上の位置に居ることが必要なので、神レベルを評価するには神レベルを数人揃える必要が出てくる。その神レベルを認定出来る神レベルの人を...あ、無限ループした。ということで無理ですね

会社での評価は大抵これを上手く出来ないので...360度評価を使うんですね

 

何らかの評価基準を捨てて(早っ)、相互評価と個人特性とクラスタ化によるスコア化を考えた。まぁ普通に360度評価みたいなもんですね

エンジニアが知ってるエンジニアを評価する(しまくる)のでそこそこ正しくなる

ただ人によっては辛口評価になったり、激甘評価になったりするのでその辺の補正と、クラスタ化してるはずなので色んな方向からの補正が必要と

なんか出来る気がしてきた...

 

カテゴリAは多分これで評価出来るけど、カテゴリBをどうするか問題が残った

(そもそも人数少ないんだから放置してればって一瞬思った

これも(自称・他称含む)カテゴリB同士による相互評価しかないのかなぁ〜と

 

こうやって評価基準が出来上がれば適切なポジション・役割・お仕事で適切な給料貰ってみんなハッピーになれるプラットフォームが作れるんじゃないかなぁ〜

Githubとか転職何ちゃらとかより全然いいと思うんだけどw

 

以上、COVID-19のワクチン接種2回目でうなされてた時のメモでした