2019/11/06

ある程度の歳になるとマネージメントも必要だよって

漠然と思うことを。
こんなブログを書きながらもITエンジニアとしては結構な歴を持ってしまった者として偉そうに語ってもいいころかなと思う。


エンジニア業務で経験値が上がるのはエンジニアとしての作業能力だけだよ。
シリコンバレーではマネージメントはプレイヤーから脱落したエンジニアが仕方なく始めるものだという。エンジニアをアスリートのように扱うことを考えると、まさにその構図が当てはまりそうだ。
まぁここは日本なのでそれもまた別の話で。

マネージメントが下手な人がマネージャをやってるということがよくあると思う。僕は長くプレイヤーとしてマネージされる側だった。
そのまま結構な歴を持った今だから言うが、マネージが上手い人なんてほとんどいなかったよ。
もちろん僕が滅多に出会わなかったということだが、それはつまり相当なレアキャラだということだ。もしあなたが明日どこか新しい現場に出向するエンジニアだったとしたら、まず良いマネージャには会えないと思って良いだろうし、もし優れたマネージャだったら、メタルスライムにでも会ったと思うと良い。

プレイヤーから見てダメダメなマネージャは、残念なことに経営者からは良いマネージャに見えるかもしれない。プレイヤー達が多大な不満を抱え、人の出入りの激しい現場でありながら、プロジェクトを期限内に終わらせるような人だ。

プレイヤーから見て良いマネージャはもしかすると経営から見るとダメなマネージャかもしれない。プレイヤーが余裕たっぷりに定時で帰り、活き活きと働いており、もっと改善できると文句を言い、マネージャはそれを受け入れてさらにプレイヤーに良いように方策を変える。(だからマネージャを降ろされる)。
そういう人ならきっと、いわゆる「やりがい」も重視しているので、みんなの日々の作業がどこに向かっているのか、という上位の考えも共有してくれるだろう。
書き加えておくとそういう人のところで働いたこともあるよ。それは僕にとって大事な経験だが、同時に苦い経験でもある。その良いマネージャの元から結局は去ってしまったので。

労働者と経営者は労使交渉という戦いをする、利益が相容れない二者である。
その間のマネージャは残念ながら経営が選ぶので、経営に近い考えを持つ人がなるものだ。
さて、この構造のどこを直すべきなのか?(直したいと思うよね?)

諸説あるが、僕は人の定着率が良いということが良い会社のバロメータだと信じている。
そりゃステップアップのために辞めていく人は一定数いるだろうが、それ以上の率で辞めていく人が多い職場の話。そんな職場ではマネージメントが上手くなく、プレイヤーに不満が渦巻いてる職場に違いないが経営者もマネージャもそれで良いと思ってるらしい。
会社が利益をあげるために社員が不幸になる、そんな会社に居る意味は無いでしょ?

簡単な話、経営者が「人の定着率」を重視する考え方をするなら、解決するさ。

人の定着率を重視して、社員が幸せに働く代わりに会社のお金がどんどん出て行って倒産しちゃったら?
ナイストライ、良い経営者だ。問題無い。お礼を言って次の会社を探そう。
会社が利益をあげるために社員が不幸になり、それで存続し続けて採用活動もし続けて、
不幸な人を増やすような会社より100倍マシだ(ほんとはこっちに潰れて欲しいんだけどね)。

経営者が潤沢に利益を上げるビジネスを作り出せる運や技量を持っていること(社員が幸せに働いていて且つ利益が上がるような会社を作れること)。
その経営者が人の定着率を重視していて社員のことを考えているのが良い会社だろう。
良いマネージャを探したいなら、そういう職場にしか生きれない人種なんだと知っとこう(ね、レアキャラでしょ?)。
そしてそういう会社なら社員が幸せに働けるので「人の定着率」は良いはずと考えられる。(お金で惹きつけてるだけなのかどうかも大事だ)
だから利益をあげていて、定着率の良い会社を探してみよう。
そんな会社ならきっと良いマネージャに会えるさ。
良いマネージャになりたいなら、そういう会社で良いマネージャから教えを請うことだ。


最後に僕の場合、マネージかどうかは別として後から入ってくれたメンバーに教育する、という機会は多かったように思う。
基本的なスタンスは、教えられることは全部教えて、情熱も考え方もできる限り全部伝えて、あとは作業を割り振って様子を見る、というだけだと思っていた。
まぁ間違ってはいないんだが、育つのに時間はかかるな。
でも単に作業を割り振るだけの関係でなく、人と人の関係で、情熱を持って接するのが大事だと信じたい。

2019/10/27

評価制度って

漠然と、思うことをツラツラと.

エンジニアを評価するには計測が必要だと思う話。
GoogleをはじめとするシリコンバレーのIT企業ではエンジニアをアスリートのように扱うらしい。
まぁ思うことはそっちの話でなくスポーツで例えると、野球選手を評価するには打率だの防御率だの、エラー率やなんやかんや、数値化されている。
サッカー選手の場合はGPSをつけてピッチ内で走った総距離や速さを測ったり、パスを通した数やなんかを計測している。
その数値を元にマネージャや監督が組み合わせを考えたり、トレーニングメニューを決めたり、次年度の年棒額なんかを決めてるんだと思う。

で、スポーツチームで例えるとエンジニアはまさにプレーヤーなのだが、そういった数値の計測は出来てないですよね?という話。じゃぁ計測して数値化して評価すれば良いだけなのだがそれが様々な理由で難しいので、そういう場合どうするか。
まずは簡単な話、数値化しないで、「うんうん、まぁ出来てるよねー」的な、曖昧な評価面談で別に良いんじゃない?と思う。
そもそもエンジニアの評価は難しいってエンジニア自身でも言ってるので、客観的に見ても数値化が難しい分野なのは確かだろう。

そういう場合でも、2人とか3人分のコードレビューをやってればこの人は出来る人だなーとか大体分かるから。
それに評価した結果を給与で返すと言っても常識的な予算が決められてるので、すごい出来る人が1人いるからと言って1人だけ高額、あとは低額、みたいなことが出来る職場は(あまり)無いんじゃないかな?

スポーツに例えられるけど、
スポーツ選手のようにトップ選手は数億円、それ以外は数百万円、みたいな評価や報酬制度が不可能と分かったらどうするか。
下手に数値化して明確な評価をして、安い給与を提示してしまうより、気持ちに訴えかけてやり、気持ちよく作業をしてもらうことに専念すれば良いでしょう。
そして明らかに作業の早い人、チームの勘所になる人にはそれに加えて精一杯の給与でもって返していくのが現実的な手段でしょう。

そう、「評価制度を頑張ってます」と公言している職場で、給与が安いとしたら、「あ、評価されてないんだ(こんな頑張ってるのに・・)」って思われて優秀な人が辞めちゃう原因にしかならない。たとえ会社内で相対的に高給だったとしても社会の平均と比べられてしまう。
それより「あなたの評価はめっちゃ高いです。一緒に仕事してくれてありがとう!」て言って給与は会社の出せる精一杯にしておくのが良いんじゃないかな。
(経済界の方々、もっと無名の中小ITにもお金を回してください)

2019/10/15

左利きのエレンを読んで

まず、この作品は「スキマ」で読みました。素晴らしいサイト!
全話読了したのでレビュー。
ところどころ心打つシーンがあるのは確かなんですが、全体的には批判するレビューになります。

「天才になれなかった全ての人へ」このキャッチコピーはさすが、中身が気になる文章ですね。そうなんですが、僕は「天才になれなかった人」のはずなのに結局読み終わっても「全ての人へ」続く言葉が全く響かなかった。

物語は天才ではないデザイナーが大手ブラック広告企業で頑張る話ですが、大手広告企業のデザイナーって時点で十分エリート。
スタート地点が違うんだよ、、と。なのでその中で語られる話は当然大手企業の社内物語で、僕のような本当の凡人とは無縁のキラキラした世界(ブラックだけど)。
社会で本当に多い層は、努力してみたけど大手ブラック企業にすら入れず、中小企業に入ってみたら仕事はきつくないし、それなりの給料は出る、という人たちだと思う。
そしてもはや努力する意味も見出せずに、仕事以外のことに人生の幸福を求めて、それなりに生活するんじゃないかな。

好きなことに関係する仕事ができて、努力ができて、悔しい思いをできるって、
もう社会的、仕事的には十分エリートで、それ以上なんだかんだ言ってても何それ自慢話?みたいな気分にしかならなかった。
で、さらにこのエリートが羨むような才能の持ち主(エレンさんとあかりさん)がいるらしい。技術者には産まれながらの天才とかはいないのでもう理解できません。おとぎ話ですね。

で、本当に不思議なのは、この漫画が人気があるという事実。
おとぎ話的、ドラゴンボール的に人気があるならべつに良いんですが、、たぶん自己啓発本的な位置で人気があるよね。
絵の才能とか歩く才能(笑)の話なので、普通の人が読むべき自己啓発本からは根本ずれてるんだけど、正直子供がドラゴンボールに憧れるような感じで、修行を積めば武空術で宙に浮けるはず!みたいな気持ちでファンになってるんじゃないかなぁ。

なんていうか、本当に一部の人には正しい意味で刺さるんだろうけど、
ぶっちゃけこれが好きって言ってる人の8割くらいは、勘違いで自分に関係ある世界の話だって思っちゃって好きになってるだけ。
大学生が話す苦労話を小学生が「あーそれわかるー」って言ってるような現象だと思う。
作者的には「いやお前らには分からないはずだよw でも人気出たし良いかw」って思ってるんじゃないかと想像。
(よく調べると思ってたほどの人気ではなかったようです。マーケティングでそう思われるように操作されているとしたら本当にうまいですね)

僕がここまで言う本心は、「こんな高度な世界の話が身近な話として刺さる人たちがたくさんいてたまるか!」っていうもの。

色々書いてしまったが結局以前このブログで書いた、

まぁ、自分とかけ離れた高度な世界の人の話を聞いて、感動して、「良かった」っていう人もいるだろうけど、僕は自分に近い人の話の方がよほど刺さる、というだけの話です。


関係ないところで、あかりさんの持ってる「歩く才能」っていうのはあまりに理解できなかったのでファッションショーとかをYoutubeで見てみたけど、まぁ歩いてるだけですよね。目を引くかどうかってよくわかりません。

2019/09/08

宮崎旅行

2018年7月の最後の週末に1日休みを追加して宮崎へ旅行へ行った。

1日目

早起きして羽田へ、7時過ぎには羽田に着いていた。
吉祥寺羽田間のバス回数券を持ってたので幾分楽に。
宮崎は初なのでちょっとドキドキ、羽田 - 女満別線と同サイズの小型機も久しぶりなので懐かしい気持ち。ソラシドエアーとANA共同運行。
やはり機内では寝てしまった。
朝10時に宮崎着。すぐにバスで鵜戸神社を目指す。
今回は良くも悪くも終始バスの旅となってしまった。途中で鬼の洗濯岩を見てかなり興奮。
人工物なんではないかと思ってしまった。
鵜戸神社は思ってたよりずっと遠く、やっと着いたという感じ。
やっと着いて、鵜戸神社を目指す参道はやはり南国へ来たと実感させる。
野生のバナナなどを見る。実際のとこ野生ではないかもしれないが、外に普通にバナナの木が生えているとはすごい。
鵜戸神社は岩の中にある。良い雰囲気の神社だった。
天気も晴れていて景色が良い。波が綺麗。そういえば台風が来ていて波は荒かった。
その後どこを観光するか迷うものの、全て出来るだけ見て回ることにして、バスでサンメッセ日南へ向かう。バス時間が合わず、鵜戸神社の茶屋で1時間ほどだらだら過ごす。
サザエのつぼ焼きがうまい。
その後サンメッセで降りて、炎天下上り坂を歩いてモアイへ。入場料も払ったがモアイはイマイチだったかも。
モアイの所のレストランではなく次の道の駅フェニックスで昼にすることにして、すぐ離れる。
ところがバスに乗り継いで行ったフェニックスではレストランが終了していた。
そこで名物っぽいソフトクリーム(日向夏)を食べ、再びバスで青島へ。
アオシマは立派な観光地で通りの屋台やら大きなお土産屋、カフェ、入らなかったが植物園などがあり、青島と砂浜がある。

青島観光の時点では疲れていたので、
早々に今度は電車で宿のある宮崎駅へ向かう。
ところがその青島駅と電車が混乱させる。
かなり人がいる観光地なのに駅は無人駅、しかも何番ホームにどこ行きが来るのか全く分からず。改札も券売機も無く、無人ホームで途方に暮れるが、スマホで調べ、2、3番ホームへ移動、来た電車に乗り、車内で切符を買う。
それが海幸山幸という名物の電車だった。内部が木でできていた。
宮崎に着いてホテルに着き、荷物を下ろすと一気に安心して疲れも吹っ飛ぶ。
宮崎の繁華街へ繰り出すと丁度道路を通行止にして、ソーラン祭りのような祭りをやっていた。今回は土日とも丁度その祭りで賑わっていて楽しかった。
ここだけ切り取ると祭り見学を目的に来た旅行客のよう。
まぁ地元の子供達の踊りにはあまり興味がなかったので早々に居酒屋へ。
鶏肉の藁焼き、牛肉の藁焼きがうまかった。生食はあまりしないのだが、ここではとてもうまかった。

店を出たらまだ19時過ぎで明るかった。
まだお祭りをやっていた。遠くの地でよさこいを見た。

2日目

1日目にほとんど見るべきところを見てしまったようで、さまようことになる日。
まずは宮崎市の博物館、資料館を見て回ってみた。修学旅行のようで悪くは無い。
その後有名であるシーガイアを横目に、宮崎市フェニックス自然動物園を目指してみる。
さすがに東京の近くにある動物園とは違って寂れた雰囲気は隠せないようだが、動物園、遊園地としてはまぁ楽しめた。近くの海岸を歩いている間に雨が降ってきて、市街にもどるため、バス停まで歩く。歩いている間に豪雨になり、びしゃびしゃになりながらバスを待つ。イオンモールで時間を潰し、再びバスでホテルに戻る。
2日目の夕食も市街地でふらふらと探したのだが、残念ながら1日目と同じ系列のお店に入ってしまったらしい。美味しいが、どうせなら別の店も覗いてみたかった。
そのため、2軒目としてスペイン料理屋をバーのように利用して、お酒を飲みつつ過ごす。
すっかり酔いながら、宮崎市の繁華街はまた来たいと思わせるいいところだった。
ホテルが提携しているというスーパー銭湯の入浴券をもらえたので行ってみる。
旅行に来て温泉に入るというのは本当によかった。

3日目

まぁ市街地やお土産やをみてさっさと空港に行き、時間まで過ごした。
いろいろ回りすぎて1度の旅行では見切れないような感想だったが、青島あたりで1日遊んで過ごすのが良いのかなというリゾート地の旅行に慣れていない感じ。
でも市街地でのんびり過ごしてお酒を飲むようなおっさん旅行をするのも良いかな。

2019/09/03

MySQLで複数カラムの値が重複している行をSELECTしたい

または

MySQLでUnique制約を後付けする時にDuplicateエラーが起きてしまった時の解消法

結論としては、以下のSQLを修正して流し、出てきた重複行を1行だけ残して削除する。
以下のSQLは2カラムの重複を検索する例だが、3カラムにすることも出来る。
SELECT
  *
FROM
  one_table t0
INNER JOIN (
  SELECT
    aaa_id, bbb_id
  FROM
    one_table
  GROUP BY
    aaa_id, bbb_id
  HAVING COUNT(*) >= 2
) t1
ON
  t0.aaa_id = t1.aaa_id
AND
  t0.bbb_id = t1.bbb_id

Unique制約を後付けしなければならない状況とは?

本来 aaa_idカラムとbbb_idカラムは以下のように2つでUniqueであるべきだったが、
aaa_id, bbb_id
    1 ,    1
    2 ,    2
うっかり運用開始時に付け忘れていて、しかもシステムで
aaa_id, bbb_id
    1 ,    1
    1 ,    1
    2 ,    2
    2 ,    2
のように重複させちゃっていて、慌てて後でUnique制約を追加する、ということが不幸にも起きた場合。
すでに重複してしまってると、Uniqueを付けることはできないのでDuplicateエラーが発生する。
そこで、処理時点で重複している行を上記の手順で炙り出し、出てきた重複行を、1行を残して全て消す、という修正をしてからUnique制約を付ける、というお話。全部消すとデータが消えるので注意が必要だ。

サービスを運用してると不幸にも何度か遭遇するので、すぐ呼び出せるようにメモしておく。