40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

フリーランスになって特に意識した生活リズムを振り返る

大きな病気、事故をすることなく、日々安定してフリーランスとして活動してきたのですが、来年の自分がどう感じるのか振り替えれるために、自分なりの生活リズムをちょっと振り返っておこうと思います。

前提としてフリーランス前の生活リズムを簡単に紹介

フリーランス以前の生活習慣がベースにあるのでそれを簡単に書くとこんな感じです。

会社員以前から元々朝型の生活習慣

  • 実家が、建築系の仕事(ビルなどの外壁のタイルを貼るタイル屋)をしていたから、AM6:00とかには割りとみんな普通に活動していた
  • 大学卒業後のフリーター時代には、AM4:30頃起床→車で1時間30分ほど移動してサーフィン→その後に仕事みたいなことを週に何度かやっていた時期もある
  • ここ数年はAM7:00には会社近くのスタバで毎日黙々とコードを書いて自分のアプリとか作っていた
  • 行っても1次会程度

    ストレス要因となるものを極力避ける

  • 前職で、キャリアカウンセリングというある意味人生相談に近い側面がある仕事をやっていたので、自分が精神的に安定してないとあういう仕事は大変
  • キャリアカウンセリングの仕事をする前後は、色々な本を読みまくっていて、ストレッサーとかコーピングの概念をその時に知ったので自分なりのストレス要因は把握してる

ベースとして割りと安定した生活を送ってました

フリーランスになってからの生活リズムは

基本的に全く変わってなくって、むしろより濃くなってる感じになってるかもしれません^^

特に日々意識してることは

  • 体調管理
  • ストレス要因となるものを極力避ける
  • リスクマネジメント

の3つでそれぞれ掘り下げてみようかと思います

体調管理

40歳超えてので、体調管理にはすごく気を使ってます。最近お手本にしてるのはプロスポーツ選手の考え方とか取り組みで、やっぱり食事の影響っていうのは結構大きいのかなと感じつつあります。

チョコレートをつまみにIPAのビール飲んだりしていた時期がある位に甘いものが好きなのですが、プロクラブを支える食ストーリー 名古屋グランパス 勝利の食堂を読んでからは甘いものもなるくべく控えるようにしました

といっても、いきなりはやっぱり厳しいかなと思って、上記本でも紹介されていた洋菓子→和菓子に変更するアプローチをたぶん1,2ヶ月位続けていたら、以前と比べるとクリームたっぷりなパンとかは全然食べたいと思わなくなってきました。

湿気が多い日が続いた時に、たぶん内臓の働きが鈍くなるからか、身体が重いというか、変な疲れを感じることがあったのですが、甘いモノを口にする頻度を減らしてからはそういう感覚もちょっと少なくなったような気がします。

ただそういうのが身体に良さそうという思い込みがあるかもしれないので、この辺りはもうちょっと様子を見てみようかと思ってます

ストレス要因となるものを極力避ける

ストレッサーとかコーピングについて最初にちょっと触れましたが、自分にとってのストレス要因は

  • 人混み
  • 電車

なのでそれを可能な限り避けるようにしてます。

リモートワークの割合を増やしているので、2つとも割りと避けられてるのですが、それでも完全に0というわけにはいきません。

例えば仕事の打ち合わせを兼ねた飲み会みたいなものが、月に1回程度は入ることがあったりします。

ストレス要因を避けつつ自分の楽しみも満たすことを行う

自分がお店選びが好きというのもあるのですが、基本的には自分がお店選び〜予約までひと通りするようにしており、そうすることで、なるべく人混みの多い地域とか場所を外してお店選びが出来るかなと。

相手の職場&お住まいとかを考えながら最近だと以下を使ってます

全文に共通するのは美味しいクラフトビールが飲めるというのがポイントかなと^^

f:id:h5y1m141:20150714082712j:plain

リスクマネジメント

病気とか事故とかは、絶対に0にはできないかもしれませんが

  • なるべく人混みを避ける事で、風邪をうつされる可能性が減らせる
  • 外から帰ってきたらうかいと手洗いをする
  • 自分から事故に合いやすい場所を選ばないようにする

というこころがけで、可能性を減らすことは出きるかなと思ってます。

移動は、電車の利用を極力減らして、基本的に自転車にしてます。10年前に書いたこのエントリのantres というフレームのやつを自分でメンテしながらまだ乗ってます

f:id:h5y1m141:20150714082746j:plain

車道を走る割合が多いので万一のことを考えてヘルメットをしてるのですが、自転車はうざったいと思われるからか、車の幅寄せをされたりすることが割りと多かったり、駐車中の車がこちらの存在に気づかずにドアを開けようとすることがあったりして、割りとヒヤッとします。

やはり大通りを走ってる限り、万一の事故に遭遇する確率が上がりそうだし、何より色々気を使って自転車に乗るのがストレスになってくるので最近は、自転車にとって走りやすいルート(バスが通る道と平行している道)を探すようにしてます。

自分が知ってると思っていたエリアでも、そういうルートを走ってると思わぬ発見があったりします。

最後に

上記で取り上げたようなことをあまり気にしすぎて生活するのも身体に良くないことだと思うのですが、自分なりのチェックポイントとして

  • 体調管理
  • ストレス要因となるものを極力避ける
  • リスクマネジメント

みたいなものを持っておくことで比較的安定して生活が過ごせるような気がしてます。

フリーランスになって1年経過したので振り返り

以下のように定期的に振り返ってるのですが、気づいたら1年経過しました。

会社を辞めたのが昨年6月末なので、今月でフリーランスになって1年。正直な感想を書くとあっという間の1年という感じでした。

それなりに忙しいというか働き過ぎな自覚はあるけど自分で全てをコントロール出来る意味では、今のところ自分の性格には合ってるのかなと思ってます。

また家族と過ごす時間を確保しながら、自分が得意なことでしっかりと生きていけるチカラを身につけたいという感じで考えてるので今のところこの働き方は続けていきたいと思ってます

当初の目論見と実際のギャップがあったか?

今月末で退職し今後はフリーランスになることにしましたというエントリでどうやって稼いでいくのかを書いていたので簡単にまとめると

  • 人材系の仕事でやっていたキャリアトークイベントの企画、運営自体で収益をあげる
  • 起業家の人を対象としたスマホWebアプリ開発の方法を教えるトレーニング
  • エンジニアとして働く
  • 仕事探しに悩む人がいたら、最適な人材紹介・転職サイトを促す有料のキャリアカウンセリング

という4つの軸を考えてました。

ダメだったこと

結論先に書くと、キャリアトークイベントの企画、運営自体で収益をあげるのは無理でした。。

プロスポーツチーム、特にJリーグの興行の考え方とかを参考に、イベント自体の参加料+スポンサードみたいなアプローチで考えており、前者についてはイベント自体は過去からずっと有料(といってもほぼ実費程度)でやっていたのでこれはある程度クリアーしてました。

後者のスポンサードしてくれる人とか会社次第という状況だったのですが自分がやりたいトークイベントが割りと小規模(10名〜15名程度)なので、こういう人数でもスポンサードしてくれる人とか会社に対して魅力を感じさせる何かというのがうまく表現できませんでした。

スポンサードのことを考えて、参加人数を増やすというアプローチもあると思うのですが、それは自分がやりたいトークイベントと異なるので、そこの方針を曲げてまでやるのは、ちょっと違うという気持ちがあったので、キャリアトークイベントはひとまず辞めることにしました。

ただどうにかして、収益を上げる方法を見つけたいというのはずっとあるので、何か良い方法が見つかるか、他にやってる仕事の売上が高くなって、無駄に税金を払いそうな状況になるのなら経費扱いでうまいことトークイベントを実施したいと思ってます。

良かったこと

エンジニアとして働きつつ、それを基点に

  • 少し前に書いたような未経験の人を教えて仕事に結びつけてあげる
  • リモートで働く
    • 物理的に通えるような所でもなるべくリモートの比率を入れておく

ということができています。

これは目先のことだけではなくって中期的にも稼ぐチカラのベースになるようなことかなと思うので、この辺りは今後も意識してやっていきたいと思ってます

1年やってみたフリーランスらしさが活かせる領域がわかってきた

数名〜20名以下位の規模の会社さんとのお仕事が大半だったこの1年。

そういう規模でのお仕事をフリーランスという立場で経験してきて見えてきた気がします。

その話をするにあたって少し前に読んだ以下記事を引用します

普通、グラフィックやエンジニアの人がやらない部分まで、敢えてケアすることで、自分の価値になるし、そこを評価してもらえて「また頼もうかな」と次の仕事がつながっていくわけです。自分の役割を限定せず、雑食スキルだからこそできることかなと思います。

特技がなくても「あわせ技」で活躍!フリーランスWEBデザイナー 黒野明子より

他の人がやらないというかやりたがらない所って

  • それを修得するための当面の時間的な余裕がない
  • それを修得することにそもそも意味があると思えない
  • その人にとって技術的な難易度が高いと感じられるので、取り組めない

みたいな要因が2つ以上重なることなのかなと思います。

こういう要素が多ければ多いほど、自分としては、相手の方にとっての問題・課題解決になるわけだし、それがクリアーできることで、上記の記事にあるようなまた頼もうかなみたいな話になるかと思ってます。

※ 実際最近やってる仕事はその流れで依頼が来ました!

次の1年を考えて自分がやらない領域とやる領域を意識する

フリーランスらしさが活かせる領域がわかってきたので、自分がやらない領域と、積極的に取りに行く領域とを決めていきたいと思ってます。

まずはやらない領域

フリーランスで活躍してる人の中で割りと新しい技術を使った案件を狙ってる人もいると思うけど、自分にはあまり向かないような気がしてきました。

もちろん新しい技術は大好きだけど、仕事でそれを採用するとなると後々のこと、つまりは、運用面をつい考えてしまう自分にはあまりそういう領域は向かない気がしてきました。アーリーアダプターにはなれないけど、アーリーマジョリティくらいのポジションが居心地良いのかなと^^;

あとは、大きいプロジェクトとかも向かない気がしてます。

理由としては

  • 技術的にちょっと異なりそう
  • (偏見かもしれないけど)ある程度役割が固定化されそう

という所。エンジニアx人材系という色々経験してる自分のような立場の人間だと中途半端感がありそうで互いにミスマッチかなというのが、元キャリアコンサルタントの自分の見立てです

やる領域

上記書いたようなスキマ仕事なのですが、ここ最近やってること&今後やる予定のことで言うと

  • Rails4でスマフォアプリのバックエンドのWebAPIの開発。(元々クローラー作ってっていう依頼だったのが諸事情あって一旦そっちは保留中だけど、おそらく近いうちにそっちも着手できそう。あとはフロント側の管理画面のテコ入れでJavaScript部分のリファクタリングiOSアプリ開発のコードレビューとか)
  • クラウドソーシングを活用したRailsでの開発プロジェクトのPMっぽい役割+自分も手を動かしてコード書く
  • Webサービスの開発+外部人材の活用方法(含むクラウドソーシング的なアプローチ)

みたいな感じになってます。

上記のような仕事がスキマかどうか微妙な気もしますけどね^^;

最後に

自分が過去経験してきたこと(エンジニアとしての仕事と人材系の仕事)で得たノウハウをどうやって活かすか、あるいは活かせそうかというのをずっと考えてきたことでそれなりにこの1年やってこれたのかなと思ってます。

ただそういうのを考えるのに、日々安定していないと、期待される成果が出せないし、そもそもどうやって仕事を見つけてるのかというのもフリーランスのような立場だと死活問題かと思うので、そのあたりを別エントリでまとめていきたいと思ってます

ITと家事育児のイベントでLTしました

昨日ですがIT × 家事育児 LT大会&交流会!!というイベントでLTしてきました。

イベントを知った時には、参加者枠が割りと埋まっていたのと、こういうイベントは基本的に話す側とか、運営する側に回るほうが良いかなというのが最近の自分のスタンスなんで、LT枠で申し込み、育児を支える技術〜クローラーとかスクレイピングという内容で5分ほど喋ってきました

本当はもう少し違う所を深堀りして話したかった

スライドの前半で自分の娘の成長を振り返る内容について触れており、ここをメインテーマにした話をしようかと当初考えたのですが、イベントの告知文で

IT業界で働くパパ、ママの育児・家事を、テクノロジーを用いてより楽しく、より楽にしていくことを目的

とあったので、クローラーとかスクレイピングというキーワードを入れたのですが、割とこじつけな所があったかなと。

自分が当初考えていた内容を折角なのでブログに書いておこうと思います

子どもの成長・年齢によって欲しい情報がかわる

1,2ヶ月位前のことなんですが、うちの家族写真を撮影してもらったことがあるカメラマンの苺畑さんとちょっとした打ち合わせをしていました。

その打ち合わせの話の流れで、子どもの話になって、うちの娘が来年小学校に入るので現在の小学校事情みたいなことをちょっとお伺いしました

子どもの成長というか年齢によって、欲しい情報が変わってくるのかなとふとその時に気づき、その少し後に今回のイベントを知ったというのもあったので割りとその辺りをメインにしたかったというのが背景にあったりします。

年齢によって欲しい情報が変わるとは具体的にどういうことか

まだ子どもが小さい1歳位までの時期というのは、オムツを交換する場所とかトイレが気になっていた気がします。女性トイレの事情はわからないですが、男性トイレの場合には、赤ちゃんを連れて入るという前提になってないので、男性トイレでそういったオムツ交換とかをするのは正直向いてないですからね。

なので、多目的トイレがある&空いてるかどうかというのが割りと死活問題だったような気がします(もう昔のことなんで忘れてしまいましたが^^;

あとは、出かける時もベビーカーでの移動が前提なので、そういったことを考慮して移動をしてました。

凄くローカルな話をすると、中野坂上の駅には、都営大江戸線東京メトロが使えるのですが、大江戸線東京メトロの連絡通路の途中に20段程度の階段があるのですがエスカレーターしかなかったり、あとは東京メトロの方のホームに向かう所も、当時は階段しかなかったりして、子連れには優しくない駅だったので、自然と中野坂上経由の移動というのは避けるようにしてました。

なのでその頃にほしい情報っていうのは、ベビーカーでの移動の利便性とか移動先でのトイレ事情みたいな情報が欲しかったかなと思ってます

2歳から4歳くらいになると、子どもが歩けるようになってくることもあって安全な遊び場の情報がほしくなってきますし、現在では色々な遊び方の情報がほしくなるし・・・という感じかなと。

自分の家の子どもの年齢+2歳位上の子供がいる人からの情報が色々役立ちそうな気がする

前述したカメラマンさんとの話を通じて、自分が小学校だった時代と比べると色々違う点があることに気づけたので例えば

  • 0〜1歳半くらいのお子さんがいる人には2〜3歳くらいのお子さんが現在いる人
  • 2〜3歳くらいのお子さんがいる人には4歳〜5歳くらいのお子さんがいる人

という感じで、つい最近までリアルにそういう世代の子どもの育児を経験した先輩にあたる人と情報交換することで有益なことが得られるのかなとなんとなく思っていたりします。

最後になりましたが、主催された皆様&会場提供いただいた21cafe様、お疲れ様でした。

子育てのゴールデンタイムの今を大事にする

うちの奥さんがしばらくの間、日曜日に学校に通うことになったという事情も合ってしばらくの間、毎週日曜日に娘と2人で過ごしてます。

最初は、近所の公園でいつものように遊んで・・・と思ったけど毎週日曜日がそんな感じだと、まぁツマンナイだろうし、車のCMにあったモノより思い出じゃないけど、折角のこういう機会なんで、娘が行きたいと思うような場所をピックアップして、遊びに行くようにしてます。

最近の活動を振り返ると後厄のオジサンな自分からすると頑張ってると思う

ここ最近を振り返ると

  • GWまっただ中に渋谷のNHKスタジオに行く
  • 井の頭公園に動物を見に行く→隣駅に移動してローラー滑り台などの遊具がたくさんある公園で遊ぶ
  • (電動アシスト付き自転車ですが)娘を乗せて自転車を30分ほど漕いで交通公園で遊び、その帰りに都内で唯一の牧場見学に行く
  • 別の日に、自転車を30分ほど漕いで植物園&小さい動物公園で遊ぶ

という感じでした

f:id:h5y1m141:20150601081944j:plain

f:id:h5y1m141:20150601081957j:plain

f:id:h5y1m141:20150601082008j:plain

f:id:h5y1m141:20150601082018j:plain

f:id:h5y1m141:20150601082041j:plain

今後の予定としては

  • 大潮周りの日をチェックしながら、大学時代〜20代なかばまでウィンドサーフィン&サーフィンのためによく通っていた鎌倉の一角の和賀江島で磯遊び出来るっぽいのでそこで遊ぶ
  • 大森エリアで遊ぶ(しながわ水族館、平和の森公園フィールドアスレチック、城南島海浜公園)

みたいなプランを立てます

後厄のオジサンな自分からすると、年長さんになったうちの娘と1日遊んで過ごすにはそれなりの体力が必要だというのをすごく実感してて、ここ最近の毎週月曜日はだいたいどこかが筋肉痛になってる確率がとても高かったりします^^;

なぜそこまで頑張るのか

ちょっと長い前置きでしたが、なぜそこまで頑張るのかという理由として、このエントリのタイトルに繋がるのかと。

子育てのゴールデンタイムっていう言葉は自分が考えたフレーズじゃなくって子育てでヘトヘトなパパママへ!実は短い「子育てゴールデンタイム」という記事にかかれていたものなので、そこから引用しました。

でも、そうした大変な時期って、本当に、あと数年なんですよね。大変なことほど、後から振り返ると楽しいというか…。

ということが書かれてたのですが、冷静に考えると、来年小学校だし、小学校に入って、数年もすると、親と一緒に遊ぶっていう機会はたぶん無くなるだろうからそう考えると、本当にあっという間ですね。

まぁ、ゴールデンタイムっていうのがあっという間っていうのはわかったのですが、それでも何故頑張れるのかちょっと振り返ってみました。

成長を感じることが出来るから頑張る

生まれて病院を退院した後に、すぐに家族3人で過ごしてきて、今に至るのですが、例えば月齢半年〜2歳位までの頃のことは、あまり記憶に無かったりします。

でも写真を見ると「あーそういえばこんなことがあったなぁ」っていうのは思いだせるし、そういう過去と比べると、今はずいぶん成長したなぁという実感を得られるのは、父親として出来る範囲で育児と家事に関わってきたからこそなんだと思ってます。

そういう過去の蓄積があるから、子どもの成長とか変化に気づけるわけだからそう考えると頑張れるのかなと。

一人っ子の娘の切なさそうな顔を見て

いつだったか記憶が曖昧なのですが、公園に娘を連れて遊びに行っていつものように(自分も一緒になって)遊具で遊んでいました。

世の中では少子化と言われるけど、意外とうちの近所では2人とか3人兄弟・姉妹みたいな家族が結構多いみたいで、周囲の子どもたちは兄弟・姉妹で仲良く遊んでおり、その姿を眺めていた娘が、なんとなく羨ましいという感じのちょっと切なさそうな表情をしていたように見えました。

私自身は、姉が2人いるのですが、末っ子長男で男1人なんで、なんとなく気持ち的に一人っ子の気持ちがちょっとだけわかる面があり、そういう自分の心境で勘違いしてるだけっちう気もしますけどね^^;

1人よりも2人。2人よりもそれ以上で遊ぶ

いづれにしても、1人で遊ぶよりは、2人で遊んだほうが楽しいし、実際自分も子供と一緒に遊んでると、小難しいことを考える暇もないし、日頃使わないような脳神経が刺激されるような感覚もあってとてもリフレッシュされます。

こっちから知らない子どもに話しかけると最近だと怪しい人扱いされそうだし、そもそも自分からそういうのが積極的に出来るタイプではないのでやらないのですが、 幸いなことに、娘と一緒に遊んでると、かなりの確率で、男女問わず知らない子どもに自分は話しかけられます。

そういうタイミングをうまく掴んで、そういう子をうまく巻き込みつつ、一緒に娘を遊ばせるようにすることで、わずかな時間かもしれないけど、2人ではなく3人とか4人とかの大勢で一緒になって遊べることもできるので、そこは親として自分次第でどうにか出来る事なので、頑張ってやってます!

最後に

なんでこんなことを書こうと思ったのかというと、ちょっと前に、こちらの団体の方から、我が家の家事事情についてのインタビューを受けたのですが、話の流れで育児についてちょっと考えるというか振り返ったので、それをちょっと深堀しておきたくなって書きました。

あとは、仕事でRails2系→4系というちょっとチャレンジングなことをやってて、ちょっと煮詰まり気味なので、書いたというのもあったりします^^;

自分のエピソードを引き出すためのプロダクト/ポートフォリオを作る

お客さんとなる方との打ち合わせで

「xxxはどの程度できますか?」

という質問をされることが多々あるかと思いますし、実際自分もここ1年弱の間にこういう打ち合わせを何度か経験しました。

この辺りでちょっと思う所があるので少しまとめておこうと思います。

出来る・出来ないの質問ではそもそも相手の技術レベルが把握しづらい

前職ではWeb系な人を対象としたキャリアカウンセリング(キャリアコンサルタント)をしてたのですが、経歴、希望を踏まえてお仕事の紹介をするために、相手の技術的なことを把握する必要があったのですが、

  • 「○○の構築は出来ますか?」
  • 「xxの言語は出来ますか?」
  • 「○○の設計経験はありますか?」

というYES/NOの二択になりがちな問いかけは避けてました。

何故かと言うと、双方にとっての出来る・出来ないのレベル感だったり期待値が異なり、こういうのを鵜呑みにしてしまうことで後々互いに不幸になると思ってるからです。 ※これは前々職でのエンジニア時代の自分自身の苦い経験から得た教訓だったりします(^_^;)

YES/NOではなくエピソードを語らせる

ではどうしていたのかというと、仕事でのエピソードを語ってもらうようにしてました。エピソードを語らせるというと何かすごく大げさな印象になりそうですが、質問自体はシンプルで、経歴書の中で気になった箇所とか、個人的な興味とかで、

「○○されていたみたいで、これってxxが大変だったと思うのですがその辺りでどんな苦労されましたか?」 「△△という立場ならではの苦労ってどんなことがあるんでしょうか?」

という感じで質問してました。

ポジションに関係なく、その人の期待値っていうのがあると思うので、そういうのを感じながら仕事をしていれば苦労話はいくつか出ると思ってます。

上記経験があるから、打ち合わせではその仕事ならではのエピソードを語る

自分がフリーランスになって、お客さんとなる方との打ち合わせでは、なるべく相手に響きそうなエピソードを語るようにしています。

「私には特技がない。でも...」女性WEBデザイナーが10年以上フリーランスで活躍してきた秘訣で触れてるようなグレーゾーンの仕事って自分も割りと好きな方だし、これまでのエンジニアとしての経験+前職の人材系の経験を活かす意味でもそういうのは積極的に拾うようにしたい意識もあるので、そういう所が伝わるようなエピソードをなるべく話すようにしてます。

お客さんとなるような方が、比較的規模の小さいベンチャーっぽい所なので、1つのことしか出来ないというよりも、あれもこれも出来る人のほうが重宝されるのかなと思ってます。

自分のエピソードを引き出すためのプロダクト/ポートフォリオ作り

そんな自分ですが、ちょっとしたきっかけで、自分のプロダクトというかポートフォリオというかそんなものを作ってます。

プロダクトとかポートフォリオってなると、何かすごく大変そうな気もしそうですがここ最近仕事で身につけたスキルの習熟度を確認しつつ、自分が好きな商品を集めただけのサイトをRailsで開発(ついでにGitHubで公開)する感じなので、そこまで大したことはやっていません。

過去に関わった仕事を振りる過程を通じて

  • 出来、何がどこまで出来る・出来ないのか自分なりに把握できる
  • 振り返る中で「最近の仕事でやった○○のおかげで、昔はxxで苦労したのも今ならどうってことない」とか「あの仕事の実装は今ならこういう感じでアプローチ出来るんじゃないかな?」という確認や気付きが得られる

ということに繋がってるので、自分のエピソードを引き出すためにプロダクト/ポートフォリオを作っておくのは大事なのかと思ってます

参考までにプロダクト作りを通じて自分を振り返ってみた

上記プロダクトを作りながら、ここ1年弱を振り返ってみるとこんな感じで、40代になった自分としてはそれなりに頑張ってるのかなと。

  • RailsとAngularとの住み分け
    • 管理画面系とかキャンペーン的なサイトはRailsAPI的な役割に徹して実装したら、Rails+Rakeタスク書く人と、フロントエンド側書く人でうまく住み分け出来た。
    • 餅は餅屋じゃないけどJS/CSSの管理はフロントエンド側のエコシステム使った。
  • BDDな開発のやり方にやっと馴染んできた
    • Railsで新規に開発するケースならRSpecでRoutingのスペックを書いて画面遷移の振る舞いをまずは決める。
    • その上でControllerのスペック書いて・・という感じでEveryday Rails - RSpecによるRailsテスト入門で書かれていた外から中へというアプローチについて腹落ちしてる

その際はエンドユーザーがアプリケーションを使ってタスクを完了させる手順を考えてください。これは 外から中へ(outside-in) のテストと呼ばれる一般的なアプローチです。

フリーになって9ヶ月経過したので振り返り

以下のように定期的に振り返ってるので、今回も振り返りまとめようと思ってます。

良かったこと・反省点

まず良かったことですが、前回の振り返りで

未経験でWebエンジニアになりたい人にずっと教えてたけど、自分のツテを通じてアルバイト的にエンジニアとしての仕事が出来そう。

と書きましたがエンジニア経験無い人を教える&働き先を紹介するまでの話で書いたとおり、これ実現できたのが良かったことかと(^_^)

自分が常駐してる所で、毎日ではないですが一緒に働いてて、私がフォローしながらですが成果物となるものをつくり上げることが出来ました

ただ、その過程を通じて見えてきた課題(どちらかというとチームで仕事をする上での心構え的なやつ)もあって、そういうのは仕事に付く前のプログラミングを教えてる段階で気づきを得るようなしかけをいれておくべきだったかなと反省してます。

反省点としては、この3ヶ月間は久しぶりに働き過ぎた感じがして、特に最近2ヶ月は週5.5日稼働にしてしまったことかなと。

稼働を増やしたりしていたので、やりたいことに着手できてない状況になってるのでそのための仕組み作りみたいな所を今後意識してやっていきたいと思ってます。

今後に向けて

4月に入って少し落ち着きつつあって、今後に向けて動きやすくなりつつあるので、まずは自分で稼ぐ仕組みを作る作業にちょっとづつ着手していこうと思ってます。

1人でやれる仕事に限界があるので今後どうするか考えてみたでもちょっと触れてますがやりたいことが色々ある反面、それを実現する手段が確立できてないのでその辺りはフリーランスな人+αでジョブシェアリングできたらとなんとなく妄想してるのでちょっとその点について触れておこうと思います

フリーランスな人+αでジョブシェアリングとは

「ジョブ・シェアリング」とは、通常、フルタイム勤務者1人で担当する職務(ポスト)を2人以上が組になって分担し、評価・処遇もセットで受ける働き方。仕事と育児、介護、勉強などとの両立を可能にするワークシェアリングの一形態で、より多くの人材に雇用機会を与える方法として注目されています。 コトバンクより引用

こんな↑感じに近いことが出来ないかなあと。

なんとなく考えてるのは仕事としては1人分の仕事を受注しつつ以下の様な仕組みが出来ると、働く側もですが、企業の側としてもエンジニア1人分の仕事力を確保できるのかなと思うので、みんなにとって損はないのかと思ってたりします

  • フリーランスの人同士でペアーになるパターン
    • メイン担当の人が最低でも週3日はコミットして基本的にはこの日数は常駐するようにする。
    • 相手のフォロー役となる人がいてその人がメイン担当の人のサポートをする感じにする。メイン担当が当面やらないといけない技術的な調査とか下調べとかを行う。(技術調査みたいな名目でメイン担当からサブ担当に対して業務を発注するようにしてしまう感じかな??)
  • フリーランス+今後エンジニアになりたい人同士でペアーになるパターン
    • メイン担当の人がまずは常駐先で信頼を得る
    • 並行してエンジニアになりたい人を一定期間コーチングする
    • エンジニアになりたい人が週5日フル勤務。メイン担当のフリーランスの人はこの人の技術指導的な立場でコミットするけど常に常駐する体制にはらない。
    • こっちの契約はややこしそう・・・

前者のパターンですが、以前トークイベントに登壇いただいた方からのご紹介でたまたま縁あって、フリーランスRailsエンジニアの方とゴハンを食べに行く機会がありその人も私と割りと近い考えがあったのでこういう人が身近に増えていけば可能性あるかなと

後者についても

  • 今後エンジニアになりたい人は一定数いる
  • そういう人を育てるとか教えたい人も結構いる(これ最近気づいた)
  • 上記のような人たちいるのに着目してる人も少なくとも自分の身近な所(前職の人ではない)で数名いる

という状況なのでこういう人同士がちょっとづつ繋がると面白い展開になるのかなと。

頭数を足し算するだけはチームスキルを正確に反映しない

ちょっと長くなったので先にポイントだけ書きます

  • 1人が経験浅い人が含まれる2名1チームの場合のチームスキルを考える場合に1+1=2ではなく、チームが生み出せるアウトプットx頭数として考えて、(1 x 0.5) x 2= 1という感じな気がする
  • なぜ、2ではなく1になってしまうかは、経験浅い人に対して、技術的な側面に限らないフォローをもう1名がやらないといけないためチームが生み出せるアウトプットが少ない
  • フォローをする側の人間が1名で全部抱えても結局はチームスキルは1のままなのでフォローするアプローチを変えて、ちょっとだけ改善の兆しがみえてきた。

以下それぞれ深堀りしていきます

実際の状況でチームスキルについて考察

エンジニア経験無い人にプログラミングを教えて、アルバイトとして職場を紹介したとこの前書いたのですが、そこで

しばらくは自分も出来る範囲でフォローするのでアルバイトで採用とかどうでしょうと打診し

と書いてるように、現在その人のフォローをしつつ自分の仕事もしています。

諸事情あってスポット的に作る必要のものが出たので、彼が基本作業して足りない所を私がフォローしてという感じで作業を開始しました。

まず仕事力というものを考えてみた

作業開始段階で、頭数として1+1=2名なので、ほぼ2名分のチームスキルとおそらく私含めてみんなそう捉えていたのかなと思います。

ところが、エンジニア経験、正確に言うと社会人としの経験もそこまで多くないので、自分が勝手に名付ける仕事力がまだまだ不足してます。

仕事力は抽象的すぎるのですが、Web系のエンジニアとしての仕事に限ると

  • 技術的な側面
  • 自分が頼まれてるタスク(チケット)をどの程度で完了させることが出来るか作業を見積もれる

という所かなと思ってます。

後者の位置づけが、読み手によって違和感を感じそうなので補足をしておくと、会社規模的には数十名規模で、チームといっても2〜3名規模でニュアンスとしてはひげろぐさんという方が1年位まえに書いた久々にチーム開発したのでメモがすごく伝わるのかなと。

2名チームなのに1名分のチームスキルになってる

上記で書いたエンジニアとしての仕事力というのを、私の仕事力はを1人、フォローしてる人の仕事力を0.5人程度とした場合に単純な足し算だと、

1 + 0.5 = 1.5

というのがこの2名のチームのスキルになるのでしょうけど、この数字ほどにチームとしてのパフォーマンスが出ないなぁと感じてました。

まず2名の力を組み合わせた時のスキルというのを算出するためにそれぞれの仕事力を掛け算してみます。

1 x 0.5 = 0.5

上記の仕事力に対して頭数である2名を掛け算してみます

0.5 x 2 = 1

2人で仕事をしてるのになぜか1名分という数字になりました!数字遊びをしたいわけではないのですがでもこの数字は自分の肌感覚ではかなり正解に近いんですよね(^_^;)

まとめ的にチームスキルの定義を考えてみました

まず

  • 技術的な側面
  • 自分が頼まれてるタスク(チケット)をどの程度で完了させることが出来るか作業を見積もれる

という観点でそれぞれのエンジニアの能力を考えます。

技術的な側面については

みたいな感じで利用する技術領域ごとに以下のような感じで数値化するとより正確になっていくのかなとーこれ書きながらふと思いました。

  • 0.5: 他の人のフォローがないと作業が進められない
  • 1.0: 過去似たものを作ったことがあるので多少調べながら作業が進められる
  • 1.5: この↑レベルよりも作業がすぐに終わるしより保守性とか意識した作業もできる

上記でそれぞれのエンジニアの能力が把握できると思うので、チームが生み出すであろうアウトプット力を算出するため、それぞれのエンジニアの能力を掛け算して、チームが生み出すであろうアウトプット力を得ます。

チームが生み出すであろうアウトプット力が得られたら、それに頭数を掛け算してチームスキルになるのかなと

チームスキル=チームが生み出すであろうアウトプット力 でしょうかね。なんかこういうのは偉い人がまとめてるのかもしれないけどひとまず自分の頭で考えてみたことなのでまとめておきました

なぜ1名分になるのか?

これは当たり前なんでしょうけど、経験浅い人に対して、技術的な側面に限らないフォローを色々やらないといけないから。

Issueの機能を利用して、そこで当面やってほしいことの単位に落としこんで作業をしてもらうようにしていたのですが、こちらの意図が正確に伝わらないケースがあって、そのIssueで期待してること以上のことまで作業してて、そこで行き詰まってしまって思ったような成果が出ないということがありました。

当初はそこが気づけず、時間がかかる背景がわからなかったため、それ以外の未着手のIssue(しかも簡単そうなもの)が溜まっていくため、そこのフォローに時間をさいていたので、自分が本来着手しないといけないことは遅れ気味になるので、そんなことが積み重なると1名分のチームスキルというのもあながち間違ってない気がしてます。

現状課題に対してどうしたか?

フォローをする側の人間が1名で全部抱えても

  • チームが生み出すであろうアウトプット力 →1のまま
  • 頭数→本来2名チームだけど1名で抱えると1になる

なので、1 x 1 = 1となり、結局は1のままになってしまうため、それを続けていっても長期的にはプラスになりません。

なので、フォローするアプローチを変えることにしました。

問題が何かを明確にするための工夫

そこで当面やってほしいことの単位に落としこんで作業をしてもらってるはずが、そのIssueで期待してること以上のことまで作業してて、そこで行き詰まってしまって思ったような成果が出ないというのが自分達のチームにおける課題かなと思ってました。

少なくとも経験少ない人には大丈夫?とか何か困ってない?という質問は避けるようにしてました。

※スタートアップな会社で技術責任者してる知り合いがスタートアップの"カオス"を生き抜く開発術で生産性を阻害するたった1つのありふれた問題で何が問題なのかが分からない以降の話が参考にしてたりします。

これはエンジニアに限らず仕事の経験少ないうちは自分がやってることを人に説明出来ないのでどんなプロセスを経て現在仕事をしてるのかを意識させる仕組みを入れてみたほうがいいのかなと思って90分単位でWIPなプルリクエストを出させるようにしました。

ひとまず、一定の時間軸の中でできることを意識させたり、プルリクを出すという作業を通じて、xxを見てたけどわからないという形でもいいので、少なくとも何らかのアウトプットを出させる意識を持ってもらうようにしました。

劇的な改善っていうのはないのですが少なくとも以前よりもどういうプロセスを経て作業に着手しているのかが見えやすくなってきたので、フォローの質が変わってきたかなと思ってます。

改善策についてせっかくなのでネーミングを考えた

90分という単位に深い意味がないのですが、互いにサッカー好きなのと、現場のリーダーもサッカー好きということもあって何かサッカーにちなんだネーミングを付けてもいいのではと提案して、90分単位でプルリクだすのをゲーゲンプレスとしました。

ネーミング大事っていうのはインフラで実践したチームビルディングそれはサバ天を書いてるume3_と少し前に飲んだ時に教わったのでそこの学びを活かしてやってみました。

ゲーゲンプレスというネーミング通り、経験浅い人には大分ハードな戦術なのでネーミング通りの制度かなぁと思ってます

最後に

最近色々考えることが多くって、ブログにしっかりまとめたいけど、ポイント絞ってまとめるのが難しい。。。