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

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

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

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

「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_と少し前に飲んだ時に教わったのでそこの学びを活かしてやってみました。

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

最後に

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

エンジニア経験無い人を教える&働き先を紹介するまでの話

タイトルで全て言い尽くしましたが、自分がやりたかった

教える(正確にはコーチング)⇔開発する

の両方が相互に作用するような自分がイメージしてたことがようやく実を結びました!

Connecting the dots

1年前に書いたこのエントリで以下のTweet紹介してました

これ知ったのは増井さんの講演を紹介されてる記事なのですがそこで

そして大事なのが、点と点を最短距離でつなげるだけでなく、異なる組み合わせをすることで、新しい全く考えもしなかった物が作れる。それがクリエイティビィティなんです

と書かれました。

当初は、人に教えるという2者間の関係だけだったのですが、そこから、色々な組み合わせができないか模索したことで、今後の予定も含めてちょっと絵↓を描いてみたのですが、ここからさらに世界が広がりそうな気がしてきました

f:id:h5y1m141:20150225062726p:plain

以下、エンジニア経験無い人を教える&働き先を紹介するまでの少し長い話です

エンジニア志望の人との出会い

昨年11月頃にお手伝いしていたスタートアップの会社で私はエンジニアとしてRailsの開発をごくわずかですがやってました。私含めリモートで働いてる方が結構いたので、顔合わせ的な感じで飲み会があったのですが、そのスタートアップの事務方の仕事をしてるエンジニア志望の人と会いました。

その人、当時は日中は日雇いの土方(IT土方ではなく、ガチの土方)の仕事をしつつ、夜はそっちのスタートアップの仕事の事務方の仕事をして空き時間にプログラミングの勉強をしてるというかなりハードな生活をしており、見た感じは温厚そうなどちらかというと草食系な感じなのに、やってることはスゴイなぁと思って、何か役に立てることがあればと思ってひとまずボランティア的に、プログラミングを教えてました。

しばらくはRailsではなくRuby自体について教えていた

本人はRailsチュートリアルを勉強し終えたという段階だったので、本人的にはそのままRailsをもっと学びたいという感じだったのですがプログラミング自体の経験がそれほどない状況の中で、そのまま突き進んでいったとしても少し表面的な理解になりそうな気もしたので、一旦Railsからは外れることにしました

とはいえ、Railsから全然関連性がないものとなると、本人のモチベーションも落ちそう+たまたまその時に自分が関わっていた仕事のからみもあって、ActiveRecordの機能を活用しつつ、クローラー開発について学んでもらうことにしました。

ちょうどその時にRubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例が出て間もなかったことも有り、少し読んだ感じでは参考書籍になりそうな気がしたので、購入して貸し与えてこれを見ながら、クローラー自体について理解してもらいながら、ちょっとづつActiveRecordの機能を取り入れてカスタマイズしてもらうような感じで教えていきました。

クローラー開発でデータ処理というか配列やハッシュ操作についてそれなりに勉強してもらえたのかなと思いつつも、Ruby自体の理解がどこまで深まったのかはちょっと謎ですが(^_^;)まぁそれなりに成果はあったのかなと。

より実践的な学びを得てもらいたいと思い色々画策した時期

そんなことをしばらくやっていて、より実践的な学びを得てもらいたくって、仕事に近い課題をどうにかして与えたいと思いました。

クラウドソーシングを使ったやり方をまずは画策

自分の仕事がちょっと切れていたこともあって、クラウドソーシングの情報をチェックしてたら、クローラー開発の仕事が、数は少ないながらも意外とあって、しかもエントリーしてる側のエンジニアの数も、別のカテゴリ(一般的なWebアプリとかのやつ)に比較するとそこまで多く無さそうで需給バランス良い印象を受けました。

そっちの案件を受注して、自分がメインで作りつつ、その人にサブ的に開発してももらってその分の謝礼を支払うみたいなことを考えていくつかエントリーしたのですが、自分の実績のなさもあって、受注に至らなかったのと、自分が別の案件関わりだしたこともあってクラウドソーシング使って実践的な開発を経験してもらうのは一旦断念

自分の人脈を通じたやり方にシフト

年末に、自分の案件獲得のために割りと色々な人に会っていたのですが、そのうちの1人の人手、Facebook上では互いに面識あるけど、そんなにじっくりと喋ったことがないっていう人と一度お会いすることになりました。

その人は、開発もしてるけど、プログラミングをマンツーマンで割りと濃く教えてる商売もされていたので、何となくですが、自分が教えてる人も引きあわせてもいいかなとおもって3人で飲む機会を作り、話の流れで、その人からスポット的にRailsでの開発の仕事を紹介してもらえることになりました。※ついでに自分もその人の仕事を違う形でお手伝いすることになるんですけどね(^^)v

ただ上記はスポット的な仕事でフルタイムではないので、折角なので、フルタイムで開発の仕事、出来ればRailsの開発の仕事の可能性がないかなぁ〜と思って自分の人脈通じて可能性を探ろう・・とずっと考えていたのですが、自分が常駐してる先で人手が足りないのでみたいな話をされていたのでエンジニアとしての経験はまだないけど自分がずっと教えてる人がいて、しばらくは自分も出来る範囲でフォローするのでアルバイトで採用とかどうでしょうと打診し、双方OKということで、明日から、アルバイトだけど、Railsでの開発についてもらえるようになりました!

※ツッコミはいりそうな気もするので一応書いておくと、有料職業紹介事業の免許持ってないしそっちの方で稼ぐという意識が無いので、今回、人を紹介しても紹介料は一切もらってない

最後にもう一回最初に出した絵の解説

当初は自分と、教える相手の2者間の関係でした。それが、年末に飲み会セッティングしたことで右隣の水色の人との3者の世界が出来上がりました

一方で、自分が常駐してる所で自分はそこで開発の仕事をしてるのですが、一方で人手が足りないということで今回アルバイトとして人を紹介したことで、そこでまた関係が作れました

さらに、そこの常駐してる所の人はどういう風に採用活動をしていいのかという現場視点での苦労だったり、本人は口にしてないけど、チームビルディングとかでも今後苦労するのかなと思っており、その辺りの経験をここ最近ずっとされていて、少し前にこんなことを喋っていた人との場をセッティングしてあげる(ちなみに今日の夜)ことでまた違う世界が描けるのかなーと思ってます。

f:id:h5y1m141:20150225062726p:plain

1人でやれる仕事に限界があるので今後どうするか考えてみた

30歳からのスタートアップを書いてるハッシーこと橋田さんに声をかけられて、先日の水曜日に、エンジニア必見!『エンジニアのキャリアを考える』勉強会 第六弾というトークイベントで、登壇してきました。

f:id:h5y1m141:20150124093329j:plain

こういうのは、自分は運営とか進行で関わることは多々あったのですが登壇するとなるとずいぶん久しぶりな感じでとても新鮮でした。

登壇後に

「ちょっといいですか?」

といって参加された方から多数声をかけてもらって、ちょっとした有名人のような気分が味わえ、普段は運営者側でこういう光景を見ることがよくあったのですが、自分がそういう立場になるとは全く想像してなかったので何か不思議なものですね(^_^;)

内容の方は?

内容的にその場の会場にいた方限定の話題とかがあったので、橋田さんと後日会った時に、記事を書き起こしてるということも聞いたので細かいことは控えますが、現在の自分の心境というか状況で印象に残る話題があったのでそのあたりをちょっと書いておこうと思います

1人でやれる仕事には限界がある

本編の中でも話題にでたのですが、懇親会でお話しされた方とでもこの話題になりフリーランス等で1人で仕事をしていて、1人でやれることに限界があるっていうのは、話には聞いていたのですが実際に自分が今そういう立場になってつくづく実感してるので今回改めてブログに書いておこうと思ってます。

参考までに自分の現在の状況

仕事を入れ過ぎてしまって期待された成果が出せるかわからないし、かといってあまり入れ過ぎないようにしてしまうと今度は予想する売り上げが立たずに・・ということで中々この辺りのコントロールが難しいなぁとこれはずいぶん前から考えてました。

現在はどうかというとこんな感じ

  • 2つ仕事をしてる

    • 1つは週3日(うち2日常駐)でもう1つは週2日(こっちは2日とも常駐)
    • 幸いに両方共、Rails4+AngularJSという構成
    • 2社とも出来れば稼働時間を増やしてほしいと頼まれてる
    • 両方共、業務内容、支払い条件、職場環境は申し分ないのでそれぞれの要望に応えたい
  • 上記と並行して空き時間にプログラミングを教えてる

    • 今後も教える予定の候補者がいたりする

上記に加えて、自分でやりたい商売があってそのためのプロトタイプを作りたい

どう考えても1人でやるには限界ありますね(^_^;)

1人でやれる限界を超えるためにどうやって解決するか

自分の中では家族との時間を確保したいというのがあるので1週間に7日働いて・・・とかは全く考えてないです。

でどうやって解決するかというと1人プログラミングを教えてる人でその人にアルバイト的に仕事をお願いしようと思ってます。

守秘義務の問題あるので、2つ行ってる実案件のコードは見せることは出来ないから、その開発の仕事を直接依頼するのは無理。

でも今後仕事で必要になりそうな機能についてのサンプルアプリ作ってみるとか、自分がちょっと苦手としてる領域(例えばRailsアプリの設計をMVCごとに見直しリファクタリングして連載総まとめ (1/2)の外部構造の見直しのconfig/routes.rbをどう書き換えるかというような話)について、事前に下調べしておくとかは、こちらの依頼内容がしっかりしていれば、仕事として依頼しやすいかと思ってます。

冷静に考えると、これって自分が昔やりたかった新規事業のアイデアに限りなく近いなぁと思ってます

f:id:h5y1m141:20150124093400p:plain

f:id:h5y1m141:20150124093421p:plain

このスライド作ったのがちょうど2年前なのですが、この絵でいうと、自分が教える役とコードレビュー&アドバイザー役としてやるということは当時は全く想像してなかっただけにちょっとビックリもしてますが、割りとこういうのをやりたいとずっと思っていたし、テーマ的に響きそうな人に出会ったら、そういう人には自分の考えを伝えてきてるので、そういう地味な活動が今に繋がってきてるのかなと思ってます

今後に向けて

教えるだけとか、開発するだけっていうのでは、それぞれ専門的な人とか会社がたくさんあるし、そこで勝負するつもりは元々無かったのですが、どうやってやるのかという所でイマイチしっくり来てませんでした

教える(正確にはコーチング)⇔開発する

の両方が相互に作用するような自分がイメージしてたようなビジネスがようやく出来てきそうな気がしてきました!

今更ですが2014年を振り返る&今年の目標

昨年も年が明けてから振り返りをしてましたが、今年も、大分遅れての2014年の振り返りをしつつ、今年の目標に向けて書いておきます

簡単な振り返り

まだ会社員だった頃にこれまでの1万円のビジネスから脱却して10万円のビジネスを目指すために出来そうなことを考えていたし、本厄の今年の目標は「稼ぐチカラ」と「生きるチカラ」を意識すると書いていたりと、振り返ると、フリーランスになる前からこういう意識を持っていたっていうことに改めて気づきました。

  • 本業に関連すること
    • キャリアトークイベント
      • 気づいたら9本やってた
      • このイベント経由で知り合いになった方がわずかですが数名いた
      • 普通に転職媒体とかではきっと出会えなかったと思うのでイベントやっていた効果を感じた
  • 趣味と実益兼ねての技術的な勉強
    • Titaniumの開発はAlloyを取り入れはじめた
    • CraftBeerFanも当初はClassic環境だったけどAlloy使って全面的に書き換えたりしました。
    • ただBackbone.js由来の機能をほとんど使いこなしてないのが大きな反省
    • 技術系のネタは最近Qiitaへの投稿をメインにしつつある
      • 技術面の自分のアピールとしてはQiitaの方がわかりやすい
      • Titaniumの情報もQiitaに集約するトレンドが生まれつつあったのでそれに乗った

フリーランスになってからは定期的に振り返りしていたので割愛

今年の目標

フリーランスになって当初から比べると、状況が大分変わったり、考え方も少し変わったので、今年の目標についてまとめておこうと思います。

エンジニア的な開発に関連する仕事

ベースとなる生活費を稼ぐという意味では、エンジニア的な開発に関連する仕事は当面必要なのでこれは今季も継続してやってきます。

フリーランスを始めた時は、知ってる人の所の仕事が大半だったので、リモートワークを割と必須にしてたのですが、それだとかなり可能性を狭めてしまうので、週2,3日の常駐ならOKというスタンスに変えました。

おかげさまで、フリーランスになる前から面識はあったシェアゼロの中川さんの所で自分の条件にマッチする所をご紹介いただけて、それ以外に、こちらも以前からトークイベントで利用させてもらっていたコワーキングスペースCo-Edoの所で、案件ご紹介いただきました。

※稼働時間がちょっと大変なことになりそうですけどね(^_^;)

上記以外にも登録だけしておいた所もあって、週2,3日程度の常駐OKというスタンスでなら、割と案件獲得をしやすい市況なのかなと思ってます。

譲らない条件面

自分の場合には時間の自由度が高い条件を極力再優先に考えていて、金銭的な部分はその次っていうスタンスで考えてるので、週5日常駐というのはやっぱり抵抗を感じてしまいます。

なぜならば、今すぐではないにしても、将来的に介護の問題が出てくるので、そうなった時に、週5日常駐の仕事しか経験が無かったりすると、どこかの場所に物理的に週5日通うというのがキツい状況になってしまうと思ってるからです。

ひとまず仕事をある程度選べる状況ならば

  • 全日常駐とかは出来れば避けたい。
  • AM6:00頃から仕事をしてる自分のライフスタイルに合わないので出来ればそれを今後も維持したい
  • 週2日+残りはリモートとか、週3日常駐するとしても、午後3時ごろまでとかだとすごく理想だけどこの辺りは互いの話し合いで決められるならそうさせてもらえると良い

みたいなスタンスでいこうと思ってます。

リモートワークについて研究する

前述した通り、将来的に介護の問題っていうのは、色々な人に降り掛かってくると思ってます。そういう状況になった時でも、いつでもどこでも働けるという状況を今のうちから作っておく必要があるかと思ってるので、リモートでのワークスタイルについては自分なりに意識を持って取り組んでみようと思ってます。

私がイメージするリモートでのワークスタイルというのは全部在宅っていう意味合いでは考えていません。その時々の状況に応じて、会社以外の場所でも働ける体制だったり、そういうのを実践するのに必要な考え方というのを言葉の定義としています。

ちなみに、年初からの仕事は両方共リモートワークについての理解がある所なので、働く中でまた違った発見を得られそうな気がしてます。

本業の一環として取り組むこと

すでに実践してることもあるのですが、年末年始に色々活動して種を巻いておいたことが、ここにきてちょっとづつ芽を出しつつある感じです。

非エンジニアな人にプログラミングを教える

これは昨年後半くらいからshiro615さんを教えてるのですが、それとは別件でもう1名教えてます。

shiro615さんは割りと近所なので、互いの予定をふまえて気軽に会いやすいのですが、別件の方はどう考えても物理的に遠すぎるので、リモートで教えてます。

その方はスマフォアプリをベースに自分でサービスを作りたいという方で、今後エンジニアの方を採用するにあたって、技術的なベースをしっかり作っておきたいというのが目標にあったので内容とか進め方は以下のようにやってます

  • 自分が使い慣れててる&オンラインの教材として自分が作ってるものがあったのでTitanium+ACSAlloyでの開発がメイン講座
  • 作りたいイメージが明確だったので、それを作る過程を全てコード書いてもらうことで、理解を深めてもらう
  • GitHubのIssuesにその週の課題を提示。
    • 最初のうちは写経中心だったけど、途中から応用編的なものを考えてもらう感じにしてあまり簡単すぎず適度なカベを設けて学習に取り組んでもらうことでモチベーションを低下させないようにしてる
    • Issuesは1つ1つの課題別に登録をして、その週に取り組むべき課題一覧専用のIssueを登録して・・・という感じでこっちの作業コストはかなりかかるけど、このやり方自体は結構使い回しが効きそうなので、その辺りの検証も兼ねてやっています
  • Skyepで週1日程度のミーティングを行い、振り返りをしてもらって理解度とか、意識の変化とかを出来る範囲でこっちが掴むように心がける

フリーのカメラマンさんの日頃の課題を解決するサービスを作る

七五三などの行事の時などに、家族写真を撮影してもらうために、出張撮影をお願いしたことがあるフリーのカメラマンさんの知り合いがいます。

ふとしたことがきっかけで、そういう人たちの仕事上の共通の課題というか大きな悩み事があるかなと思ってメールで質問したら、自分の予想通りの課題でした!

しかも1人の方と直接お会いして実際にお話を聞いていたら、もっと大きな課題が見つかり、そっちの課題解決のためには、技術的にちょっとチャレンジする要素があるのですが、しっかりと収益の見込みが立てられそうな気がしてるので、フリーのカメラマンさんの日頃の課題を解決するサービスを作ります。

最初は日頃の課題を解決するサービスを作りたいって書いていたけど、ここは言い切ることで自分に言い聞かせることにします(^_^)

大分長くなったけどこんな感じで今季というか今年取り組んでいきます

フリーになって半年経過したのでふりかえり

半年フリーランスをやってみて、ある程度自分の予想通りにコトが運んだなぁと思ってます。

目先の金額を取らずに実績作りだったり面白そうな仕事を選んでやってみたのですが、それはそれでいいのですが、理想だけを追い求めても、日々生きていく上での生活費もしっかり稼がないとダメだしそのあたりのバランスをうまく取らないといけないっていうのを実感した半年ですね。

実はこのエントリを今月前半に半分ほど書いていて寝かせていて結果として長文になったのでざっくりまとめるとこんな感じ

  • これまで手伝っていた所が予算的な都合で終了。
    • 自分のミスで他の仕事を入れてなかったので割りと焦った
    • 消費を減らすのはダメだけど、人に合うような次の仕事に繋がる投資を減らすところまでやっちゃダメっていう大きな反省&教訓を得た
    • (契約取り交わしてないのでまだ安心してないけど)年明けから2つ仕事が決まる
  • 開発っぽいのとは別に本来やりたかった人材育成っぽい所でビジネスの下地ができそう
    • 未経験でWebエンジニアになりたい人にずっと教えてたけど、自分のツテを通じてアルバイト的にエンジニアとしての仕事が出来そう。
    • Webデザイナー・エンジニアな人向けのパーソナルコーチっぽいことが出来そう
  • 自分で稼ぐ仕組みがやっぱり1つは欲しい

これまで手伝っていた所が予算的な都合で終了。

その仕事がエンジニア的な仕事以外の要素も増えつつあって、それはそれで勉強になる部分があったので、ひとまずそちらに専念できるように、他のお仕事を基本的には一旦全てストップさせました。

しばらくそちらに専念していたのですが、予算的な都合で終了してしまいました。

自分のミスで他の仕事を入れてなかったので割りと焦った

自分が会社をやめた時に、1つの所に収入を頼るのが不安って書いていたのに、その状況に自ら追い込んでしまったというなんとも情けないことに・・(T_T)

今月上旬位にそんな状況になって、まぁ次の仕事もある程度可能性あるかなと思ったのですが、思っていたほどなくって凄く焦りました。

ただ、前職の経験上、一年の中で11月後半から12月の中旬位までの時期って一番人も求人も動かない時期なので、その時期に仕事がないのはある意味当然なんですけど、その時はちょっと冷静な判断ができなかったこともあり焦りました。

消費は減らすけど投資まで削ってはダメ

次の案件が見つかるかどうかちょっと目処が立たないのかなぁという気持ちになったので、ひとまず余計な消費はしないようにと心に誓い無駄な外出とかもしないように決めました。

ただ、外出控えるというのは、人と会うことも控えがちになってしまい、結果として、自分の世界が広がりづらい状況になってるなあというのをどこかで気づきました。

会社を辞めた時にかいたエントリで、個人的には金銭的なことよりも、社会的に孤立するということのほうが怖いって書いたけど、あの状態に陥ってしまいそうで、これじゃイカンなぁと思ったので、まずは

  • エージェント的なことをやってる人とか会社の人と会う
  • ずっと家にいても午後には子供が戻ってきて落ち着いて仕事ができないこともあり不定期だけどコワーキングスペースに行く
  • しばらく手が空いてしまうので、金銭的なことは一旦脇において、知り合いの所の開発をお手伝いするというのを2つほど投げかける
  • なんとなく自分でやってみたいサービスがあったのでそのヒアリング兼ねて人と会うアポを入れる

ということをやりました。

金額的には微々たるものかもしれないけど、当初こういう活動にかかるお金も節約しようという気持ちになったのですが、今考えると、それはまぁ正しい判断じゃなかったですね

とりあえず次の案件は決まる

半年ほどお手伝いしてた所は、単純に開発するだけではなく、運用体制整備したり、仕事で利用していたツールがイマイチ連携とれてない状況だったので、色々な事例を参考にしつつ、GitHubを中心としたワークフローをどうにか整備したり・・・と色々提案しながら仕事を進めていたので、そういうのはは実績として記載しやすかったかなぁと

単純なエンジニアとしてのスキルだと世の中すごい人がいるのは知ってるので、自分にはそういう部分でかなわないと思ってるので、そうじゃない所(現状の課題とか問題を見つけ出して、そこについて、現実的にどういうアプローチならみんなが納得しそうかというのを考えたり行動する)の部分をうまくアピールしながら、ここ半年ほど経験した色々なことをスキルシートに記載していくつか巡ったら、次の案件が決まった感じです

やっぱり実績は大事ですね(^_^;)

開発っぽいのとは別に本来やりたかった人材育成っぽい所でビジネスの下地ができそう

これがここ1,2週間くらいの動きで急に動いた感じなのですが、このエントリでも触れていて、以前からやりたかった何か作る(開発する) ⇔ 教える や、何か作る(開発する) ⇔ 場作り みたいな所に繋がる下地ができそうな気がしてきました。

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

少し前に開発の仕事を手伝っていた所で、エンジニア経験はないが、今後Webエンジニアとしてやっていきたいという20代半ばの人と知り合いました。

その後、不定期に彼に自分がもってる知識で色々教えてるのですが、基礎的なことはある程度は教えられても、期待される成果物があって、それに対応するアウトプットが出せるようなスキルをどこかのタイミングで得ておかないと今後エンジニアとしてやっていくには厳しいのかなと思ってます。

前職で、こういうエンジニアの育成的なことは事業としてやっていたし、競合他社含めて、何らかそういうことは行ってると思うのですが、中々そういう事業が定着しない理由の1つに、相手が期待する成果物をしっかりと提供できるという経験を得ることが出来ないからかなと思ってます。

「そういうスキルを仕事に就く前に期待するのは、そもそも間違ってるんじゃないの?」

という意見もありそうですが、自分の考えとしてはまぁそうではないと思っていて、そのために最大限のフォローをしようと思ってて、教えるというスタンスよりも、まく導くという感じですね。

アウトプットの重要性についてようやくその人なりの気づきがあったようで、少しづついろいろな形で出てきたので、これをちょっとづつ積み重ねていき、その人が興味ある分野の内容を扱うRailsアプリをGitHub通じてコミュニケーションとりながら一緒に開発を進めていく予定です。

それが出来上がったタイミングの前後くらいで、自分のツテ通じてアルバイト先が紹介できそうな目処もたったので、

場作り ⇔ 何か作る(開発する) ⇔ 教えるみたいな関係性の中でビジネスとして行う最初の事例になりそうです。

Webデザイナー・エンジニアな人向けのパーソナルコーチっぽいことが出来そう

前に書いたこれが出来そうな目処がたちました。

実際やるとすると

  • その人がなんとなく考えてる方向性についてキャリアカウンセリングする(これは前職でずっとやっていたこと)
  • 話を踏まえて当面の課題を設定する
  • 課題をオンライン中心で教える(SkypeかGoogleHangoutとか)
  • 現状躓いてるポイントをヒアリングするために物理的に可能なら可能なら直接会う(無理ならSkypeミーティング)
  • 以下繰り返す

という流れかなと。

自分で稼ぐ仕組みがやっぱり1つは欲しい

来月からの仕事が決まったし、上記のパーソナルコーチっぽいこともあるとはいえ、これとは別に自分自身で、自分の分身的に稼いでくれるWebサービスがやっぱり1つ欲しいなぁと実感してます。

具体的には、小さい会社とか個人で活躍してる人が仕事をする上で困ってることを解消するサービスで具体的にはフリーのカメラマンさん。

撮影前後の事務作業が結構煩雑な所があるんじゃないかと思って、家族写真の撮影をお願いしたことがあるフリーのカメラマンさんにメールをしてみた所、そこから得られたフィードバックを見る限り、すっごい大変なことをされていました。

そこの手間を少しでも解消できるようにその人が普段使ってるツールをうまく連携させられるものを作りそのフィードバックを元にして、別の似た人を見つけて、まずは使ってもらえる人とか会社を一定数見つける。基本無料だけどプラスαのサービスで料金をいただくようなことが出来ればと思ってますが、自分の理想としては倉貫さんがブログに書かれてる顧問プログラマーで触れられてるようなプロフェッショナルサービスのようなスタンスで関われる所をどうにかして見つけていきたいなぁと思ってます。

あとは地域の課題を解決するような何か

「こんなことをやりたく、自分は開発側ができるから、パートナーになりそうな人がいたら」と思って以下のようなプランをとある会社に打診したのですが特に返事がないんだけど、折角まとめたアイデアなんでブログに書いておきます


仮)まちの学食

概要

  • 飲食店さんが抱えてるであろう課題:
    • 予約されていたお客様の急なキャンセルで確保していた食材をさばききれず、まかないとして調理しても結局は消費しきれずに、食材ロスにつながってしまう。
  • 塾に子供を通わせてる親御さんが抱えてるであろう課題:
    • 夕食のお弁当まで作るほど時間的・体力的余裕がなく、結果として塾周辺でコンビニやファーストフードで済ませてる。ただ育ち盛りの子供に出来ればしっかりとした食事を提供したい

上記2つの課題に対して、以下のようなサービスを提供

  • 飲食店の店員さん向けに、リアルタイムクーポンのような仕組みを備えたアプリを提供する。
  • そのアプリを通じて、「その日限定」x「まかない」として作った分の料理を格安で食べられる(あるいは持ち帰ることが出来る)クーポンを配信
  • クーポンを受け取る塾に通わせてる親御さんは、飲食店さんが作ったまかないの食事を格安で子供に食べさせることが出来る

PoC実施時の最初のエリア

以下理由で、練馬駅を最初のエリアとして想定してます。

実施におけるリスク要因

  • まかない料理を提供する」という作業自体は、飲食店さんからすると通常の業務の延長線上なので業務負荷はあがらないと思うが、一般的に飲食店さんは新しいことをやりたがらないというのは、事前のヒアリング内容からおおまかに把握しており、こういうコンセプトを受け入れてもらえない可能性が高い
  • 実際に店舗に子供を向かわせることに対することが、親としてすごく抵抗がありそう。