島までは遠い 〜サークルアラウンド株式会社代表佐藤のブログ〜

佐藤正志@サークルアラウンド株式会社のことが少しわかる場所。プログラマーを育てるトレーナーとして、現役のソフトウェア技術者として、経営者の端くれとして、想うことをつづる。

『アライアンス』読んだメモ

はじめに

からの流れで、買って読む*1

ALLIANCE アライアンス―――人と企業が信頼で結ばれる新しい雇用

ALLIANCE アライアンス―――人と企業が信頼で結ばれる新しい雇用

  • 作者: リード・ホフマン;ベン・カスノーカ;クリス・イェ,篠田真貴子;倉田幸信
  • 出版社/メーカー: ダイヤモンド社
  • 発売日: 2015/07/10
  • メディア: 単行本
  • この商品を含むブログ (2件) を見る

こんな本

だいたいこんな感じかな、と。

  • 「『終身雇用は通用しない』と認めた上で、会社と社員の間にどのような方法で長期的に良好な(互恵的な)関係を築くのか」というテーマ。
  • 社員と会社との関係に「コミットメント期間」という決めを適用し、一定の期間の間に何を求め、何を果たすのかを明確にする。
  • 社員と会社の関係は「コミットメント期間」によって複数の類型を持ち、付き合い方の深さを変えていくことができる。
  • 会社を出て行った元社員の「卒業生ネットワーク」、知り合いづての「人脈」を活用するとこで会社と社員の長期的な関係を築くことができる。

ポイントとして以下のようなところが心に残った。

  • 会社は(自社で提供できないものも含めて)社員の長期的なキャリアを応援すべき。
  • 現在就労している社員だけではなく、過去就労していた社員、さらにはその社員の知り合いすらもネットワーク化して広げる、会社に閉じないモデルを目指すべき。
  • 後半はなんとなくLinkedInという会社の事業の正当性を暗に後押しするようにも感じた(嫌味な推し方ではないけれど)。

考えたこと

変革型コミットメントを行う主体について

私はあまり従業員を固定期間的な付き合いと考えたくないので、その意味では相反する内容を提示された感覚。ただし、弊社ではこれを社員枠で行なっていないようだ。弊社基準だと以下。

  • 社員: 会社のビジョン・文化・メンバーにフィットする。
    • 完全なビジョンフィットが難しくても、最低でも文化やメンバーはフィットしているべき。ビジョンまでフィットすれば最高。
    • 本書で言う、基盤型コミットメントに近い。
  • 業務委託: シンブルに社員でカバーできない能力を一時的に補う関係。
    • ただし、これを続ける中でビジョンや文化へのフィットが確認されるケースはあると考えている。
    • 本書で言う、ローテーション型コミットメントに近い。

変革型のアクションはビジョンへの合致があって初めて本質的に実現する気がしているので、社員メンバーによって行うものと決めている。「変革するのは基盤を担う人間であるべき」と思いたい為だ。

今後短期間のコミットにより達成すべきアクションが発生したと仮定しても、やはり業務委託からスタートして社員への流れを考えそうな気がする。社員扱いを考えるようなメンバーに対しては、成長のステップをどのように用意するかをかなりコストをかけて考えている。業務委託の場合には、一定期間で離脱する人と考えて、そこまでの成長ステップを考えない(それでも自分が起業する前に関わったどの組織よりもチームメンバー個人の成長にコミットしているとは思っている)。

退職した社員=卒業生について

卒業生ということだと今はまだ社員が退職した経験を持っていないが、トレーニングを受講し、弊社メンバーと良い師弟関係を築いている別の意味の卒業生達が育ってきていると感じている。会社を退職する人はなるべく減らしたい(その為に雇い入れるハードルも高い)けれども、トレーニングの卒業生は長くとも数ヶ月ペースで増えていくので、この感じがとても近い気がしている。実際に卒業してフリーランスになった人が仕事を手伝うような場合もある。

今年の忘年会で集まった時にもこの感じを受けていて、初期の卒業生はフリーランスであったり、起業してシステムを顧客に提供したりしている事もあって、今の受講生が目指すべき背中を示してくれているし、そういう中での「濃い繋がり」にそれぞれが価値を感じてくれている気がする。特に今年は就職活動組が多く、その結果もかなり良好なのでまた3年後くらいが楽しみだったりするのだ。

考えのまとめ

本書で伝えられていたことについて、私は違うアプローチで似たような結果を生み出すような気がしている。長期的に続ければ続けるほど強くなっていくビジネスを目指しているので、卒業していったメンバーが数年後社会に大きな貢献ができるようになり、彼らと私たちが一緒に仕事したり、私たちが育てるメンバーの目指すべき背中になってくれることをとても期待している。

そういう未来への期待を実現する上でも、一人一人の受講者をなるべく望みを実現する形で送り出してやりたいと願っている*2

本書が示しているゴールを実現するには、会社は社員に嫌われてはならない。使い潰す駒のように扱う文化では実現し得ない。この点に関して私が目指している文化とかなり近いので、枝葉は違えど目指す世界が似ているように感じた。

おしまいに

経営を志す人に読んで欲しい本の筆頭かもしれない。本書には目指すべき組織文化のイメージが明瞭に描かれており、その組織の強靭さは推察に難くない為である。紛れもなく「いい会社」ができるであろうことが気持ちよくイメージできる。私はこういう会社を目指す経営者が増えて欲しいと願っているし、自身の会社が(アプローチが一致しなくとも)同様な会社になっていくことを思い描いている為だ。

ここのところ本を買っても読みきれなかったり、そもそも買うことを躊躇してしまうことが多い中で、本書はかなり私に近い思想を持って書かれていた為か、抵抗なく読み進めることができた。また、多読の方が良書と紹介されている本はやはり読んでおいて損は無さそうだ。

*1:ちなみにところどころ Siri に音読してもらってた。寝る前に読み聞かせてもらいながら眠りに落ちたこと何度か。体験的には意外によくてオススメです

*2:もちろんパーフェクトは難しいけれど、諦めはしないことが大切なのではなかろうか

別の業界からプログラマーへ転身する際の就活のこと

f:id:ms2sato:20181214181719j:plain

はじめに

最近のトレーニングの相談では「ITの業界ではないところからプログラマーになりたい」というものがちょいちょいあります。この人たちは最終目標が就職活動に成功することなので、実力をある程度上げた後「就職活動」という形になると思うんですね。そういう場合は度々これから書くような事を伝えています。

私のところのWEB等では就職に関するところはあまり表立って書いていません。実際には知り合いの会社さんに紹介するようなこともありますが、紹介することが目的ではなくて「マッチしそうな両者がいた時に声かけする」という事が多いです。成果責任を作ると「マッチしそうな」のウェイトが小さくなると思うので、今の所はあえて責任を持たないスタンスを取っています*1

経験年数と若さの壁

大抵の場合ですが、プログラマーの就職活動は"全く同じ能力を持っている人を並べた時"には若い方が有利になる事が多いと思います。プログラマーは頭が柔らかい方が良さそうとか、体力がある方が良さそうとか、あくまでイメージで「若い方が」と結論されてしまうのかなと感じます。士業のような職業なら年齢によって権威が増したりするので違うかもしれないと以前誰かに聞いた事があります。

とすると、新卒のような若い人と同じ土俵にいるのはあまり得策では無いですよね。同じように必死に頑張っても負けてしまうわけです。 実際には「完全に同じ」という状況があるわけでは無いのですが、「確からしさ」は感じられると思います。

代わりに何を武器にするのか

例えばこういうことかなぁというところで話をしたりします。その人に必ず合致することは無いですが、何かの助けになるかなというところです。実際にこれが行えて明確な結果が出た例を私があまり持てていないので、もし合致する人がいたら知らせていただけたりすると嬉しいです。

概ね「過去の経験からプログラミング以外にも役に立てる」と見せられる方が有利になりそうです。

既に持っている業界経験

すごく雑なたとえですが「飲食業界にいた方が飲食を扱うシステムを開発する会社にアプローチする」だと相性が良かったりすると思うんですよね。特に業務知識を体験で獲得している人は既にかなりの優位にいると思います。この時うまくいくと「生々しい業務知識を現場へ提供する」ということで役に立ちながら技術を学習して追いついていくという事が成り立つと思います。

これはその人を雇い入れる動機としては十分あるのではないでしょうか。

別の業務経験

ディレクションやマーケティングのような他の業務経験であったとしても「全てにおいて何もできないわけではなく、何か役に立てる部分もある」という事であれば価値は高まると思います。

前職の業務からは抜け出したくてプログラマーを目指している場合には、どれくらいの期間、どのようなステップでそれを離れていくかは事前にある程度詰めておかないと想定通りにならないかもしれません。

社会人としての能力

実は実際に仕事を始めると「仕事の進め方」のようなことや「質問の機微」のような「プログラミング以外の能力」も結構なウェイトを占めます。既に社会人としての経験を持っているなら、テキストでのコミュニケーションの内容や対面の会話での立ち居振る舞いや受け答えの中にも、一緒に仕事をする上でのやりやすさを感じてもらえるポイントはあると思います。

誰の紹介か

間に誰かが存在していたりする場合には「どんな人からの紹介であるか」は結構重要ではないでしょうか。特に「この人の紹介であれば間違いない」という実績を持っているような人と関係性を作れるのであればそれを活かすことは大事だと思います。

ただ、そういう誰かにうまくたどり着くのが難しい、というのもありますけれども。

もしも育ててくれたところが太鼓判を押してくれるのであれば、それを頼みに進めるのもありますね。私の場合には受け入れ先も受講生もうまくいきそうだと想像できないとなかなかホイホイ紹介できない気がしています*2

別の視点ですが、私が人を見る場合

私はちょっと変わったタイプなので、一般的な会社経営者の目線とは違うかもしれませんが参考にどうぞ。あまり詳しく書き過ぎないのは「情報があるということは逆手に取れる」ということなので察してください。

  • 自社の求める文化・能力に合いそうか
  • どんな経緯で私に出会っているのか、お互いのことを掴めている感
  • 言葉のキャッチボールのシックリ感、納得感
  • どれくらいコード書けるか
    • なにか書いたコード見せて欲しい(参考
    • プログラミング以外の能力でアピールできないなら、最低でも弊社のチーム開発トレーニング ができるくらいにはこなせて欲しいですね
  • どんな待遇・立場・給与などを望むか

あとは「とりあえず業務委託で付き合ってみる」はやりやすい手かなと思います。いきなり従業員にするのはちょっと気になる場合も、業務委託ならハードルが低いです。

余談ですが、最近の話

いくつか企業の面接をしている人がいるのですが、その方に最近アドバイスしたことの一つは「前の面接で言われたことや、気になった事、知らなかった事を調べてみたりするのはどうか?」というような事ですね。何回かの面接のうちにその人が成長できる事を相手に伝えられたらいいなぁと思っています。少なくとも私なら評価しそうです。

*1:このあたりはまた別の機会に色々書きたいですが本題から外れるので今日は置いときます

*2:受け入れてくれた先の会社さんともその後もお付き合いしたいのですから、誰でもねじ込めば良いというわけではないでしょう

「我慢」はし過ぎるな。麻痺するから。

はじめに

www.bengo4.com

痛ましい事件だと思いました。ここから思ったことと似たようなことをあるところで人と話していたのですが、そのことも絡めて書いておきます。

「痛みは体のサイン」

最近私がこの言葉を発したのは、プログラミングする際の姿勢の話とか、椅子の話とかだったのですが、体にも心にも同じようなことが言えるのではないかと思うのでそこから始めます。

多分何か身体に無理がかかった時に「痛み」が発生するのではないでしょうか。つまりその時は「何か気をつけないといけない!」と体が発信してくれていると考えられます。よくない姿勢であったり、体に合っていない椅子に座り続けた時などにこのサインは起こるのでしょう。

そういう時、私たちはいくつかの対応策を考えて行うことができます。たとえば

  • 基本的な姿勢を変える
  • 休憩時間を入れるようにする
  • 椅子・机など設備を変える

のようなことですよね。

我慢できる

実は痛みに関して人間は他にも対応策を持っています。「我慢」という行為です。ある程度痛みがあるにせよ「痛みに耐える」ということができる仕組みになっています。通常は一瞬や短時間なら耐えながら物事を行うと思います。

本来この「耐える」というのは「いきなり活動不能にならずに、上記のような対応策を取る時間を稼げるような『バッファ』として体が発信している」とも考えることができそうです。痛みをこらえながら病院に行くようなことを考えていただければ想像しやすいでしょうか。

我慢し過ぎ

我慢強い人、我慢できない人など、人には色々と我慢耐性の度合いがある様子に思います。通常のイメージで考えると我慢強い人の方が頼りになり、物事を達成しやすいような性質として捉えられていると思いますし、確かにそういう傾向は強いと思いますが、私は時折不安になる時があります。

我慢するにも限度があるので、本来対応策を取るべきだったのに取らずに進んでしまうと、どこかで「我慢の限界」は訪れるはずで、治るはずなのに治らない大きな傷になったりするのではないでしょうか。

身体と心

そして身体だけではなくて、心にもおなじようなことが起こると思います。最初は我慢できたことかもしれませんが、ずっと我慢し続けている間に心に大きな傷を作ってしまうことがあります。昔私が現場で一緒だった知り合いでも、そういう方がいらっしゃいます。我慢強さが仇になってしまうということではないでしょうか。

真面目だったりひたむきだったりする人が、或る日突然折れてしまうことはあると思うのです。

私の会社は真剣に仕事に取り組みたい人ばかりなこともあり、結構気を配っている「つもり」ではあります*1。勤怠がゆるくても別のところで大きなストレスを受ける可能性もありますからね。

逃げてもよい

聞いたところによると、我慢が慢性化すると「通常」がどういう状態かわからなくなってしまうらしいです。

下手するとある程度痛みを我慢していないと「ちゃんとやっていないのでは無いかと不安になる」とか「刺激が足らない」とか思うそうです。個人的には過度の我慢は避けて、痛みとして感じられるうちにある程度距離を置いていくのは必要だと思うし、やって良いと思います。

また、わからなくなった時に誰でも良いので第三者に相談するのは良いことでしょう。会社のことを会社に全然関係ない人に相談したり、公的な機関に頼ってみたり、なんでもいいから「その環境の外に」いる人の客観的な意見を聞いてみるのは良さそうです。

ただ、第三者で適切な意見を言えるかと言うと、それは結構難しいことなのでなかなか対応に苦慮するところでもありますね。私も実際に適切な対応が取れる自信がありません。相手が他社ならまず介入は難しい筈です。

我慢しないのは怠け者?

「我慢しないことが単なる怠け者とどう違うのか」と聞かれれば「従業員においては決められた時間内を真剣にやってくれていれば(我慢などしなくても)怠けてないのでは無いか?」というのが今の私の見解です*2。ただ、仕事って別に怠けててもいいんですよ。どんなに気持ちが入っていなくても望まれた成果さえ出してくれれば会社というチームは存続できるからです。

ただし、会社にどんなメンバーを望むのかは文化によって違います。例えば弊社の場合には怠け者は居心地悪いだろうから来ない方が幸せでしょうね。

おしまいに

一定の我慢が必要なことはもちろんありますが、過度な我慢を長期的に続けるのは避けて欲しいなという意見でした。もしもそんな状況になりかけている人がいたら心が麻痺してしまう前に距離を置いて欲しいものです。

皆さんの心と身体の健康を祈りつつこのエントリを終わります。

f:id:ms2sato:20181018190807j:plain

*1:こういうことは、こちらがそのつもりでも相手にはそうで無い場合があると思うので、あくまで「つもり」止まりです。多分大丈夫だろうと思ってやっています

*2:経営者はよくわかりません。やりたくてやっている事業だし、それに関して怠ける怠けないという基準がそもそもうまく当てはまらない気がします

Googleが抱える問題(と、私が思っていること)

はじめに

qiita.com

からのこれ

anond.hatelabo.jp

この話自体については私は以下のような意見です。この記事は別の切り口で書いておきたいです。

問題は書き手側にあるのではなく、Googleにある

「ゴミ記事」かどうかを判定してフィルタリングするのはGoogleとそのユーザーの責務です。

他の記事でも書かれていましたが、私もこの意見には賛成です。そして、だからこそ気になっていることがあります。

私たちの仕事は検索をして適切な情報に辿り着くこともスキルの一つに数えられます。つまり検索が一般人よりも上手なはずの専門職なんだと理解しています。そういう私たちの仲間ですら「適切な情報が手に入らない」と考えているとすると、専門職ではない一般の人からすると「もはやどうやっても適切な情報にたどり着けないことがあるのではないか」という事です。

少し前に WELQ の記事に関して大きく問題になったことを思い出した人もいるのではないでしょうか。それによって改善もなされたと記憶はしています。ですが同様の問題がずっと続いている様に感じています。以下のような記事でも結果的に変わっていないというような論調で終わっていました。

seo-lpo-consultant.com

最近の他の例

medit.tech

ノーベル賞の話に関連して出てきていた記事ですが、検索ワードによっては虚偽と誤解を与えかねない情報で溢れていると指摘されています。私は対象となっているワードを検索した結果を見ましたが、正直申し上げてどれが虚偽や誤解を与えかねないのかわかりませんでした。もし当事者になってしまったら、検索の上位のものは間違い無いのだろうと思ってしまうはずです。

技術記事については私たちは一次情報へ当たることが比較的容易で、ソースコードを読んだり実際に試したりすることで虚偽は判断できます。上記の様な自分で試すこと自体が困難であったり、不可逆なことに関して玉石混交の中から選別するのは大変困難だと考えています。

同様の話は、以下のようなところにも見受けられます。

megalodon.jp

megalodon.jp

プログラミングスクールについてです。どうやら最近はアフィリエイトの記事が大量に出回ってしまった為、自身に合うプログラミングスクールを検索で探すことが大変困難になっているそうです。プログラミングのスクールは一般的に高額なので、一度試してみようというやり方で虚偽を判断することが大変難しいことの一つだと考えます。

これは想像ですが、違約金を高めに設定すれば受け始めてから良く無いと思っても、抜けられない問題があると思います。

フォークソノミーとタクソノミー

もう死語になってしまいましたが、Web2.0 時代を見てきた私にとってこの課題はフォークソノミー・タクソノミーという言葉を思い出させます。

用語解説辞典|【公式】NTTPC

ザックリ伝えると以下の様な感じでしょうか。

  • タクソノミー: Googleの検索などのように機械的に分類され、分類の結果に一般ユーザーが関与できないもの
  • フォークソノミー: はてなブックマークのように人がタグやコメントで分類し、分類の結果に一般ユーザーが関与するもの

今タクソノミー的なGoogleの検索結果があまり有益な結果を運んでこないとすれば、フォークソノミー的なアプローチを混ぜた別のあり方を模索したくなります。

私のやってみたいこと(妄想)

プログラマー向けは別のアプローチもありますが、一般向けならGoogleのSearchAPIを使って検索結果を出し、その結果をフィルタできるシステムを作ってみたいですね。たとえば以下の様なフィルタを用意します。

  • 正規表現で特定のURLやドメインを含むサイトを弾く
  • 特定のURLに対して + or - の信憑性評価ができて、多くの人がどのように捉えているかがわかる
  • ユーザーに対して特定の専門分野への特異性の重み付けをつけられる(たとえばガンに詳しい医師の方が + をつけるガン関係の記事は有用であると考えられる思います)

誰でもフィルタをつくれますが、フィルタはフォークしていくらでも複製可能かつ全て内容がオープンにされており、透明性の高いものとして機能するようにします。ソースコードもオープンで良いと思います。この仕組みは作為性が疑われると崩壊するからです。

他にも妄想はありますが妄想で埋めても微妙なのでこれくらいで。

おしまいに

Googleは毎日利用させていただいている素晴らしい検索エンジンだと思っています。ただ、それを逆手にとって自分の利する形を作っている者がいるという現状の様子です。個人的にはこういう課題は人が必死に何かをするようなことではなくて、そのシステムの改善が必要ではないかと考えます。

ちょっと時間できたら色々作ってみたいものです。

本当はこういうものをビジネスに昇華できればもっと多くの時間をつぎ込めるのでしょうが、皆にとって利益のあるものを作ろうとする時、その結果会社や個人にお金が入る形を考えると公平性が失われるのでは無いかと考えてしまうところがあります。いい手は無いものか。

f:id:ms2sato:20181011124316j:plain

燃え尽きない定年退職エントリに寄せて

はじめに

d.hatena.ne.jp

最近週一くらいで更新しているのですが、今週も色々とキャッチーな話題はあったかもしれないけれど*1、このエントリーへの言及は今しかできない気がするのでしたいなと思ってキーを叩きます。

私は著者とは2000年代のデブサミでのご縁で一回飲み会で同席したことがあるくらいです。なので特別濃厚な何かがあったりするわけではありません*2。あの頃鼻息荒かった私が42才オッサンになるのだから、当時Miracle Linuxにいらっしゃった吉岡さんが定年退職もなさいますよね。時間が経ったのだなと思います。拝読していたらMiracle Linuxにいらっしゃった時期が今の私と同じくらいの年齢だったので、あの頃とこれからに思いを巡らせるなどしてしまいました。

私の心に残ったことを何点か触れさせてください

「私たちには既にわからなくなってしまった過去のこと」を記してもらえること自体に価値を感じました。DECでの開発手法を拝読して、クールな開発手法は時代が変わってもそれ程変わらないのではないかと感じます。「デイリービルド」など、名前は聞いたことあったけれど...というものがCIとなって当たり前になっているのも再発見した気持ちでした。

ちょうど私が現場に出た頃はPCがシステム開発の当たり前になった頃で、いわゆる「オープン化」の流れのようなものがありました。 この言葉は私の実感としては薄い言葉で、少し年かさの先輩が話してくれたような内容から「へーそうなんだ」という形で記憶しています。どうやらその頃に、開発のスタンダードというものがゴソッと代わり、PCが現場に入ること前提で色々と作るようになったらしいです。

私も少し後に出てきたJavaのことを「おもちゃ言語だな」などと言っていたら、あれよあれよと言う間に業務システム開発のスタンダードになったのですから、おもちゃは侮れないなと振り返って思います。かく言う私も一時期はJavaのフレームワークを作る仕事を何本かやらせてもらえて、現場は徹夜上等のとんでもない働き方だったとは思いますが、それなりに魅力的な内容に携われる時代でもあったのでしょう。

当時は30過ぎてプログラムを書いているのなんか頭がおかしいと言う風潮が日本にはあった、

30までの若い人材は激務で使い倒されて、それを乗り越えられるようなコード書きにはマネージメントをさせるという流れが当時は特に強かったと思います。この言葉からもそれが伺えます。

Netscapeのことは本当に驚きました。元記事で明言されていませんでしたが、この話はFirefoxが誕生する前身の話なんですよね。MosaicというWEBブラウザがあり、Netscapeが生まれ、後発のIEとの競争の末、オープンソースにするという決断をする。下記の記事が詳しいかもしれません。

tech.nikkeibp.co.jp

「オープンソースという魔法の粉を振りかければすべてがうまくいくわけではない」

という言葉の通り、衰退していくことになったのは残念でなりません。でもその後もFirefoxとして今も私たちが利用するブラウザとして残っているのは、OSS化の功績であるようにも感じました。

システム開発の仕方が安定していない時代

少し脱線します。今多くの人たちはPC向けのシステム開発は基本的にはブラウザ上で動くものを作るのだと思っているかもしれませんが、以前は専用のクライアントソフトを開発する*3いわゆる「クラ・サバ」があったり、WEBブラウザ上のJSがAjaxやプロトタイプ志向オブジェクト指向で再発見される前で非力であるというような背景がありました。

その為「今後のシステム開発はどのように進めていくべきなのか」というところが大きな話題だったりしたんです。「配布の容易さ」という面で有利なWEBであるけれども、「操作の快適さ」という面ではクライアントソフトには叶わないという、今のスマホアプリの開発と同じようなことを「PC上の開発をどうするか」というテーマで行なっていました。

その中で両者のいいとこ取りをしようという リッチクライアント/RIA というポジションが現れます。典型的な仕組みの一つとしてはブラウザにプラグインを入れて、そのプラグイン経由で当時のWEBよりもリッチなUIを提供するというような考え方です。

thinkit.co.jp

私はそういう中で、リッチクライアントを推進している会社に関わっていて、自分自身も理想の作り方を有志のメンバーと模索していました*4

そして2009年〜今

デブサミのコミュニティ枠*5でLTさせてもらったのが2009年だったようです。多分ほぼ初LTでこの大舞台だった気がします。

発表者が事前に集まって顔合わせした時に吉岡さんとお目にかかったのでした。昔過ぎて記憶がおぼろげですが、楽しそうに話すナイスミドルだったという印象は強く残っています。その後はイベントに参加した時などお話しされているのを一方的に見かけているだけになってしまいました(ビビリィなんで自分から話しかけるの苦手でごめんなさい)。

そうして10年近くの時がたっている中でも、ずっとコード書きとして生きていきたいなと改めて思った矢先に、冒頭のエントリを拝見して胸が熱くなってしまいました。私も35歳定年説などなんぼのもんじゃと思ってやっています。そのあたりは下記エントリへ。

ms2sato.circlearound.co.jp

おしまいに

ずっと現場でIT技術を扱い、定年などものともせずに一生成長を続けられるような素晴らしいロールモデルだと感じました。私も後進を育てながらそんな風に生きていきたいです。そして区切りまでには胸が熱くなるような何かを発信できたらなと願っています。

遠くからですがご活躍を応援しています!

f:id:ms2sato:20181004185528j:plain

*1:毎度のごとく「あれがダメこれがダメ」って言っているよね。もうお腹いっぱいだよ

*2:おそらく吉岡さんの記憶に私はいないでしょう。なのでひっそりエントリ書こうかなと

*3:スマホのネイティブアプリのイメージが近いかも

*4:まさかまだWEBページがあるとは。懐かしいけど気恥ずかしくもある

*5:当時はそういうのがあって、デブサミは開発者コミュニティがかなり自由にブースを出したりできたんです。最近は違う様子かもしれませんが

好奇心を持ってコード書いたりしたいんだ!

f:id:ms2sato:20180927140032j:plain

はじめに

「あーこれそうだよなー」と感じて、その他のことも色々と考えてしまったので記しておこうかと。

「プログラミングが楽しいと感じて、それを仕事にしていく」という流れはとっても良いと思っています。私は仕事の選び方を「お金を稼ぐ手段」という考え方よりも「生き甲斐」のようなところに置いているので、大金儲けできるけれど退屈な仕事よりは、お金は程々とか多少少なくても熱中できる仕事を選びたがっています。

プログラマーに限らず世の中「仕事は仕事、プライベートはプライベート」と割り切った考え方の方は数多くいると思いますし、それは特に否定しようとは思いませんが、私自身の人生は「生き甲斐たる仕事」を中心に今まで進んできていますし、それがプライベートも侵食している状態がずっと続いていると思います。

ただ、それを他人に押し付ける必要は無いとも思っています。

仕事でのコードの書き方

あくまで私や私のチームのメンバーはそうなっているだろうという話ですが、仕事では以下のような点から様々な意味で保守的に振舞っています。

  • 顧客が望むことが最優先であり、私たちの望みが仕事の中で果たされることは二の次である。
  • 納期があり、間に合わせようと仕事をしている。
  • 自分たちの書いたコードは自分たちが去った後も残っていき、別の人が扱う(ずっと関われそうなら別の考え方もありますが)。

これってどうなるかと言うと「なるべく失敗しない選択をして、冒険せずにゴールにたどり着くこと」が至上命題であり、私たちがチャレンジをすることは減るという結果になりますよね。これが嫌なのか?と言われたらそんなに嫌なことではありません。安定して結果を出すの、すごく大事なことだと思っているんです。ただね...というのがこの話の続きになります。

これまでの流れや顧客の要望によって技術選定は狭まります。弊社はRailsを扱うことが多いのでRailsから積極的に離れることは今現在はありません。jQuery以上の何かを顧客が望んでいることも無いので、jQueryのコードを書きます。

人がスイッチすることを可能にしたいなら同じ技術を皆が扱える方がやりやすいですし、やり込んでいる技術の方が単価も適切に設定できるという経営側の事情もあります。

保守的のストレスと、プライベートでの開発

「顧客が喜ぶ」をモチベーションに仕事ができる人は保守的でも十分かもしれませんが、私はそれだけのタイプでは無いので、これはそれなりにストレスを溜めて進んでいるのだと最近気づきました。20代の頃にあった「今日もあのコードの続き書きたい!」という目覚め方をしていなかったですし「もっとこのコードの続き書きたかったのに!」という気持ちで寝付いてもいませんでした。

私はプライベートでは言語や環境も興味あるものを選びたいですし、設計が気に入らなかったらリファクタリングしまくってみたいです。納期とか気にせずに全力投球したいだけです。この事に頭で考えた理屈なんて無いです(後付けでいくらでもメリットは出せますがそういうことじゃない)。そうやりたいだけなんですよ。

最近golangとvue.jsとappengineで個人のサービスを作り始めたら楽しくて仕方ないです*1。こういうワクワクする感じも必要だったんだと改めて気づきました。メンバーもそれぞれ自分のサービスを作るようになっていて、その話を聞くのも楽しいですし、相談受けてアドバイスしたりするのも楽しい*2

さて、私たちは「勉強」や「努力」をしているのでしょうか?あまりそういう風に思っていない気がします。もちろん業務で言い渡してもいませんので「仕事」でも無いでしょう。好きなもの作って楽しんでやっていればいいんですよ。

これはきっと文化みたいなものだと思うので、こういうことできる人は弊社にマッチすると思うし、できない人は離れていくと思います。それでいいんです。合う人と集まっていろいろやったら楽しいですよ。きっと。

老いることと向き合う

ただ、自分がいつまでもこの知的好奇心を持ち続けることができるのかと自問自答するとイエスとは言えない自分もいるのだ。

これ、実はずっと不安でした。26歳の私は「劇的な成長もきっとできないし、淡々とやっていくだけなんだ。」と思っていました。 42歳の私は「あんまりそういうこと気にせず、全力投球のコード書いてればいいんじゃない?」と思っています。結局自分の本質的なところは変わってはおらず、ほじくり返せば一番感じやすい自分の核に出会える気がします。

会社作ってここ数年はいろいろと自分に決め事を作り戒めていて、ほじくり返して解放することを避けていました。でも、今の方がいいなぁ(笑)今の自分なら死ぬまで全力投球できる何かを探して続けられる気がします。もちろんコードを書くことだけじゃない楽しみも全力でやりたいです。若手を鍛えて自分よりも若くて凄い人をザクザク誕生させられたら、10年後とかメチャクチャ楽しいと思っています。

おしまいに

最近読んだブログの中にもすごく良い言葉があって首がもげるかと思いました。フツフツと湧いてくる好奇心を失わずに今後も生きたいです。楽しんでいるだけなのに、成長できるなんて一石二鳥過ぎてお釣りがいっぱいです。

成長が鈍化している人は好奇心を失っている。

若いうちの苦労は買ってでもしろとか言うおっさんがムカつく - 毎日がもふもふ

「知らないことを知る」というのもまた楽しいことだし、「難しいことを工夫して結果を出す」のもやはり楽しいことの一つなんだと思います。今の所「工夫して新しい何かを作り出す」が私の心を最も刺激してくれるのだと感じています。いつか変わるかもしれないけれど自分自身の変化にも興味を持っているので、それも楽しみです。

[PR] 一緒にもくもく開発するイベントやるんですよ。良かったら一緒にどうですか?

そんな僕らと好奇心を満たしませんか? もうすぐ満席ですけどまだ入れるので埋まったら枠広げますよ! techdrive.connpass.com

*1:この件はまたどこかで書きたいです

*2:誤解が無いように書いておきますが、仮にこのサービスを毎日作っていることが仕事になったとしたら、遠くない将来私はこの事に保守性を感じ始めるんです。k8sも使いたいしElixirだってやってみたい。WebAssemblyをベースにして新しい言語とか作ってみたい。

IT技術者の勤める会社の分類、こんな感じで合ってます?

f:id:ms2sato:20180914090239j:plain

はじめに

ms2sato.circlearound.co.jp

前にこんなエントリ書いてたんですけど、結構ギリギリまで「言語で分けるか業界で分けるか」とか迷ってたんです。その当時はとりあえず言語軸で分けてみた書き方にしました。

最近「SES」「自社開発」を比べている言説が結構多いように見受けられますが「この分け方ってザックリし過ぎじゃないですか?」って思ったので自分なりの表現をしてみたいと思います。例のごとく私は統計を取ったわけでも確かな情報を元に書いているわけでもなく、見聞きしたことと自分の経験から書いています。というわけで「そうじゃねぇよ、こうだよ」というのがあったらどんどん出してもらえる方が、私もハッピーになれるのでよろしくお願いします。

前提・注意など

零細な会社や例外な会社

物事には必ず例外があると思うので、類型っぽくまとめることができたとしても「そうでないもの」は大抵あると思います。特に零細な会社は社長の力が強いので「分類としては何かに属しているかもしれないけれど、その実そんなことはない」という事がよく起こるのではないでしょうか。通常の倫理が働かずにとんでもないブラックとかも混ざっている可能性はあります。零細は良くも悪くも社長次第かと。

「パターンで考えすぎるの危険もありますよ」ってことで一つ。結局一社一社違う事やっているので、最終的には自分で何かを見極める必要があるはずです。

お金と余裕

もう一つ前提を。会社経営の余裕は結果としてキャッシュの話になると思います。余裕のなさは以下のようなところの反映されるはずです。もちろん「余裕はあってもやらない・やれない」という文化的なものもあると理解しておくと良さそうです*1

  • 新しい事業に時間やお金を投入する事ができない
  • 新人をゆっくり育てる事ができない
  • はやく帰る事ができない

そしてもちろん例外はあって、どんなにキャッシュに余裕があっても「もっとひたすら儲けたい」という考え方をする社長なら、結局余裕は無いわけですね。

自社開発系

自分の会社で開発できる会社を書いてみます。

スタートアップ

小規模・零細

基本的に調達をして、ビジネスが大きくスケールするのを目指しているのがこの界隈です。なので事業が小さいうちは全く余裕がありません。スピード優先で顧客を獲得していかなければキャッシュが無くなって会社は倒産しますし、VCの期待に応えられなければ次の調達が無いかもしれません。そういう事情から「もっと働け、死ぬほど働け。」になりがちです*2

また、人数が少ないということは多様な業務を要求される可能性もあり、プログラマーとして雇われたけれどプログラミングだけではない様々な雑用をしているようなケースもあるでしょう。高い給金よりも、ストックオプションや向かっているビジョンような「会社の将来」をモチベーションにして動く事が多いです。会社制度も整っていないことが多いです。

親切に何かを教えてもらえるような事を待つ人には向きません。誰にも教わらなくても自分で工夫して成果を出そうとするタイプの方がマッチしています。いい意味でギラギラしたエネルギーが必要な分野ではないでしょうか。

大規模・メガ

様々な苦難を乗り越えて安定を手に入れたスタートアップは、自分たちの事業から黒字を生み出してある程度の余裕を作っていきます。既に中心になる事業で会社が運営できている状態なので、さまざまなことに投資をしやすくなっているでしょう。

知り合いに聞いている感じだと、良い意味でスタートアップらしさを失っていなかったり、創業者がそれを失わないようにアクションしたりする様子で、余裕はあるけれど切磋琢磨する環境を大事にされている様子が伺えます。

持ち帰り受託

基本的に受託の会社は小規模なスタートアップに比べれば余裕を作りやすいと言えます。シンプルに「依頼を受けて見積もりをし、作成して納品をする」というオーダーベースの製造の商売なので、見積もりを大きく間違えるような事が無ければ利益を出しやすいです。上手にやっている会社なら社内で仕事を教えながらうまく伸ばしてくれると思います。

ここで紹介するのはお客さんから取ってきた仕事を社内に持って帰ってきて開発しているタイプの会社です。古式ゆかしいやりかただと思っていたのですが、ひょっとして今はSESとかの方が増えているのでしょうか?(ちょっとこの辺よくわかりません)お客さんがITわからない会社なら一次請けとして全てを決めてハンドルできるポジションです。逆にITわかる会社に対して二次請け的にうまく協力していくスタイルもあります。

弊社は以下二つの両方をお客さんに合わせてやったりします。どちらかというと準委任にしてしまうのが多かったのですが、最近は請負もバランス良くいれていこうとしています。

請負型

「こういう仕様のものをいつまでに納品で、いくら」と決まっているやつですね。マルッと全部引き受けるので責任も大きいですが自由もあります。新規の開発になる事が多いので、利用する開発の言語や環境の提案もしやすいですよね。新規の開発の経験的には一番増やせる業態ではないでしょうか。ちなみにこれで新規を作った上で保守で月額費用をいただいていく、というのが以前結構あったスタイルかと思います(ちなみに私が過去関係した会社では「保守はつまらないから作りしかやらない」という集団もいたりして、結構色々なスタイルがあるのかもしれません)。

保守まで持っているような会社さんだと、最初は簡単なバグ対応やログ管理から始まって、徐々に新規開発のメンバーへステップアップできるような環境を作れる会社もありそうです。

期限が決まっているのに納期直前にお客さんからの仕様変更を受けて大変な目に合うとか、営業がホイホイ「やるやる」って言ってきて社内リソースが全く足らずに大変な目にあうとか、過去あったりしましたね。そういう会社は慢性的にそうなるので、注意ですよね。社内のエンジニアさんと腹割って話せないと回避できない感じしますけど。

準委任型

「能力は貸すよ。完成は保証しないよ。一時間おいくらだよ。」のようなやつです。手は貸すけれども、完成を保証しないスタイルですね。稼働量の調整がしやすいので、請負型にあった納期直前に大変!みたいなのは基本的には(契約上基本的には、です)無いものです。逆に必死になって早く終わらせてもあまり実入りがよく無いとも言えます。ただし、長期的に考えると価格に見合ったスピードや品質は大事になるので「手を抜ける」というわけではありません。

完成は保証しないのだけれども、相手側の都合によって結果的に急かされるとかは発生します。ただ、長い時間稼働するならそれは請求できるものになるので「もっと長時間働け」という圧力は会社によってはあるのかもしれません。

ある程度開発の進んだコードを途中から見ることも多いです。「まず読み込んでいく」ことが必要ですし、技術的負債のようなものに向き合わなければならないシーンも多いです。ただ、新規案件ばかりやっていると「とにかくはやく仕上がって一旦出せれば良いや」という思考に陥りがちなのに対して、こちらは既に動いているものをいかにより良く変容させるかが大事になるので、別の意味での成長ができます*3

弊社の場合にはトレーニングをやっている都合上、あまりに納期納期で追い詰められるとトレーニングの品質に影響してしまうので、この準委任型を中心に受託を構成しています。

新規事業型

既に別の事業で安定されている企業が、新しい領域としてインターネットのシステム開発をしている場合があります。あまり表に出なかったりしますが、私はこの界隈の話も何本か聞いたことはあって、環境がとても良いケースがあるのではないかと推察しています。パターンとしては以下くらいがありそうなんですけどね。

新規事業を短期で立ち上げないといけない追い詰められ型

「試しにやってみよう」という形で始まっていたりするとかなり予算を絞っているケースがあるようです。しかも短期間で、のような条件付きだったりするようです。

仕事としては面白いものがあるかもしれませんが、短期間で成果を出さないと維持できないようなところだと、そういう一定の追い詰められ環境に耐性がないと難しいかなと感じたりします。こちらのタイプだと即戦力求めるので力ある人をとにかく取りに行く気がします。もしくはマルッと社外に委託するかでしょうか。

将来に備えて別事業を求める分岐型

本業とシナジーのあるようなWEBサービスをやるなどして、会社の行く末に長期的に寄与する目的でシステム開発を始めているケースを伺ったことがあります。上記の追いつめられている感じがあまりなく、安定して開発することができたりする様子です。

最近聞いた話ですとエンジニアとしては給金が少なくなってしまう様子ですが、いわゆる労働の条件が良かったりするので*4、求めているものの本質がお金ではない方とか、子供のいらっしゃらない方など、ライフスタイルによってはとてもマッチしそうだと思いました。

ただ、エンジニア組織としての成熟がどの程度かというところがあり、成長できる文化があるかとか、良い上司がいるかどうかなどは実際に確かめていかないと難しいかもしれませんね。

社外系

派遣・SES

私は派遣社員の経験はあるのですが、SESは自社でも個人でも経験が無いです。社外に出て働くという切り口でザックリ書きますね。

基本的に自社への帰属意識は薄れます。日々一緒にいるのは派遣先のプロジェクトの人たちなので、その人たち次第で随分環境は変わると思います。

もしも能力がまだ足らない場合だとできる誰かと一緒に現場に配属されることがあるようですが、この一緒に派遣された人が育てることに意識を持っている方だととてもハッピーです。そうで無い場合にはかなり自力で伸びていくことを望まれるでしょう。

何より私がこの働き方のメリットとして感じているのは「様々な現場」を短期間に見て回れる可能性の高いことです。派遣の時期にはいわゆる大企業の二次請け三次請け、もちろん一次請けの会社も見ることができました。その中でいくつもの世界を見ることができたことは自分にとっては大きなプラスになっています。

私の頃はかなり昔の話なので、この界隈が大きく変わっている可能性は感じています。

おしまいに

一旦ザザッとこんな感じかと思うので、業界で職を求めている皆々様にあられましては色々と調査した上でご検討いただければ幸いです。冒頭にも書きましたが不足点のツッコミや誤りについてのご意見など期待しています。私の目的は「概ねこういう感じじゃないか?」と掴めるような情報が得られるようにすること、その一点です。

*1:例えば、新人をゆっくり育てるようなことは現場がそういう文化を持っていなければなかなかできないです

*2:でも、そういうことが好きで世の中を変えるようなアクションの為に今の激務に耐えられる人がいる界隈ではないでしょうか

*3:個人的にはこちらの感覚は大切にしています

*4:本業が別途進めている働き方に合わせて内容が決められているからかと推察しています