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

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

2018を振り返りつつ、2019年の目標

すでに、年明けてますが、昨年を振り返りつつ、今年の目標を簡単に書いておこうかなと思います。

2018年のサマリー

プライベートな部分とお仕事(エンジニア的な要素)でざっくり振り返ろうと思います。

プライベートな部分

  • 約1年位前から家族のことで色々考えることが続いてて、自分のことではないだけに、どうして良いのかわからないというのが正直な所
  • 上記に加えて、母が昨年7月に突然亡くなり、仕事しつつ、各種手続きを秋位までずっとやっていた
    • 現在は実家(一軒家)の整理中。
    • 大きな問題なければ、2019年4月ごろに売却手続き完了する見込み
  • 2,3年位前から体力維持の目的で水泳してるけど地味に泳ぎが上手になった

プライベートな部分で色々時間を取られることが多く、結果、対外的な活動(自分で企画するイベントとかはもちろん、イベント参加とかも)はほぼ自粛していた感じですね

エンジニア的な要素

開発言語の組み合わせが増えたのが今年最大の変化だったかも。

  • これまで
  • 最近
    • PHP(Laravel)とAngular6
    • Railsの方はフロントエンド側にVue/Vuex使うようになり、年末からVue/Vuex→Nuxtな組み合わせの開発も関わり始めた
    • あと念願の静的型付け言語の開発始めた
      • TypeScript

という感じ。

あと、SRE的な要素とくくっても良い気がするけど、昨年はそっちも結構色々やっていました。

  • 2年近くお手伝いしてるWebサービスで1年以上かけてRails4系の最新版にアップデート出来た
    • サービス自体はRails3系の頃から開始してる&過去にbundle updateを定期的にしてきてない状態だったのですごく大変
    • Rails本体よりも、主要gemのアップデートが大変だった
  • サービス負債の1つであるAWSの構成見直しのためにTerraform使った新規環境構築検証
  • 以前作ったログ分析基盤の改善
    • メール送信のSendGridログを有効活用するためにAWS Kinesis経由で適切に取り込める仕組み構築中
  • (地味だけど)多言語対応してるサービスなのでGDPR対応してた

という感じのことを地味にやってました。

経歴とか実績として書く時に派手な開発じゃないけど、Webサービスを運営していく上で考えないといけないことを昨年は一通りやったかなと思ってます。

エンジニア的な要素のおまけ

  • スプリント計画/振り返りのミーティングのファシリテーター
  • 働く人が外国籍の人が何故か急に増えてきて、英語を使う頻度が激増

という感じのおまけもありました。

2018年のアウトプットを振り返ると?

ブログも書いてないし、Qiitaも書いてないので、対外的なアウトプットは激減したけど、お手伝いしてる開発案件の

  • GitHubのcontributions数
  • QiitaTeamとKibelaへのドキュメント数

はかなりの量になってるし、実際2017年と2018年のGitHubのcontributions数はこんな感じ。

f:id:h5y1m141:20190104093930p:plain
2017年のGitHub

f:id:h5y1m141:20190104093911p:plain
2018年のGitHub

あとは、2年近くお手伝いしてるWebサービスで、長年謎だった機能の全面リニューアル時に

  • これまで謎が多かった業務フローを適宜ヒアリング
  • 聞いた内容+現在の実装をふまえて一旦全部ドキュメントにまとめる

みたいないことをやっていて、他の人にもしっかり共有できるレベルで各種情報がまとまったので、アウトプット自体はそこまで減少してたわけではないなぁというのが実感ですね。

2019年に関して

昨年は、プライベートな部分で色々考えることが多かったけど、色々考えても、なるようにしかならないなぁという気持ちに最近なってきたので、今年は対外的なアウトプットを意識して増やしていこうと思ってます。

ネタは

という感じで色々あるので、年間40(月に3,4つ)を目指して書きます!

1人仕事に限界あって、昨年取り組んだことを振り返る

なんとなくブログを書くモチベーションがなく気づいたら1年近く放置してたのですが、数日前に

「1年前に書いたことを振り返りませんか?」

というはてなからのリマインダーメール(?)が来たので久しぶりに更新します。

約1年前に書いたことを振り返る

1年前に書いたのはこれ↓ですが http://h5y1m141.hatenablog.com/entry/2017/04/17/140327

要点は

  • フリーランスのエンジニアな仕事をしてる人に割とよくあることだと思うけど、目先の仕事に注力してしまってこの先必要な技術習得を疎かにしがち
  • 急がないけど今後自分にとって重要になりそうな技術検証を誰かにやってもらえば良いのでは?
  • お弟子さんとなる人にその辺りを頼む

ということを考えて、実際昨年の今頃にそれをやっていました。

1年経過して今はどうなってる?

2017年1月〜2018年3月までの1年少しの間、お仕事を頼んできましたが、その人とはひとまず2018年3月末までで契約は終了しました。

なぜお弟子さんとの契約終了にしたのか

  • 私:
    • 自分の案件内容を少し入れ替えたい気持ちが昨年末ごろにあった
    • 技術検証をしてもらいたい項目は相変わらず多いんだけど、Docker+αなどインフラのベースの知識を持ってないと説明が多くなりすぎてしまうものが増えてきた
  • お弟子さん:
    • 自分でもやりたい開発領域が割りと明確になってきたタイミングで、ご自身の条件にマッチする案件を自分で見つけられた

ということで、互いにちょうど良いタイミングだったので契約を終了することにしました。

元々この取組を始めるタイミングで意識していたこと

私自身はもちろん、仕事をしてもらう人の両方がwin-winとなるような形にしたかったので

協力してもらう人にとってのメリット これまでの自分の経験を最大限還元しながらフォローしていくので仕事で必要なスキルが身につくようになるかと思います 〜中略〜 仕事をする上で必要となる技術以外のスキル

というスタンスで、やっていました。

お弟子さんとなる人は自分がやりたい仕事を見つけたくなる時期が来るだろうし、そういう時に自分が出来ることはどんな形でも良いので何か支援したいというのが根底にはずっとあります。

Web系のエンジニアな人が仕事を見つける時に、どういうことが出来る・知ってるのかを相手に理解してもらうための手段として

などいくつかあると思っており、いざそういう時(=自分がやりたい仕事を見つけたくなる時期)になった時に、すぐに見せることが出来るものがあることで、自分が思い描くキャリアにつなげやすいかなと思って、定期的にQiitaに記事を書いてもらうようにしてました。

実際、そういう記事が仕事探しに役立ったのかどうかは正直な所わからない 😅 ですが、一緒に仕事をしていた間に身に着けた(身につけてもらった)ことを振り返ることが出来るものとしては十分役に立ったのかなと個人的には思ってます。

今後に向けて

諸事情あって今すぐは無理なのですが、おそらく今年の夏位にはこういう↓感じの人を想定して新たにお弟子さんとなる人を次は見つけたいと思ってます。

技術的な興味・関心事 勤務条件
例えば
  • 平日に1〜3日で1日4時間〜8時間位働ける人
  • 週1回Co-Edoで打ち合わせ(それ以外はリモート)

ズバリこんな人をイメージしてます

  • 業務委託で仕事をしてるけど今後に向けて上記のような技術領域に興味・関心がある人
  • 今は、専業主婦(主夫)で、AM10時〜午後3時か4時くらいまで時間は取れそうな人

参考までに:こういう感じの人はちょっとイメージしてません。

本業を持ってて平日夜や週末時間を利用して副業したい人はちょっと想定していません。

理由は私自身が

  • 基本的に朝型
  • 週末は原則家族との時間を優先してる

で人間関係がまだ確立されてない状況での時差のあるリモートのコミュニケーションは、すごく難しいのは経験済で、この状態だと双方にとってWin-Winにならないかなぁと思ってます。

1人仕事に限界あるので今年から取り組みはじめてること

Co-Edoでエンジニア・webデザイナー飲み会『健康的にお酒を飲んでわいわい交流しよう!』というイベントに参加してきたので、そこでこんなLTしてきました。

元々ブログに書きたいと思っていたネタなので、スライドの内容を補足する形で久しぶりにブログにまとめておこうと思います。

最初に前置き的なこと

スライドでも触れてますが、2014年7月〜フリーランスになったので、気づいたら3年弱経過してました。

1人で仕事やってるので

  • 忙しい時に仕事の依頼が来てやむなく断ってしまう
  • 目先の案件の仕事ばっかりになってしまってこの先必要な技術習得を疎かにしがち

ということが、時々発生してました。

やむなく断ってしまう場合にも出来ることはやっておく

忙しい時に仕事の依頼が来てやむなく断ってしまうという件については、仕事内容、先方の雰囲気などを踏まえて誰か良さそうな人がいないか周りの人に声をかけてみるということをしてます。

手間はかかりはするのですが

  • 仮にうまくマッチングしてくれれば、ひとまず関係性が作れる
  • 将来自分の仕事が空いてしまった時に、そういう関係性ある所を少しでも作っておくことで、そこでの仕事につながるかもしれない

という感じでちょっと先のことを見据えると、こういう一工夫でどうにかなるかなと思ってます(実際ここ最近でこういうマッチングを数件こなしてました)

この先必要な技術習得を疎かにしがちにしてしまう件

これについては、どうにも良い方法が思いつかず、これに関連するようなことをこの1年位ずっとあれこれ考えていた気がします。

解決策を思いついたので、お弟子さんとなる人を見つけた

フリーランスエンジニアをやるのではなく, 開発会社をつくった理由というmediumの記事を年末に読んで、2年位前に書いていたことを改めて思い出してひとまずお弟子さんとなる人を見つけることにしました。

色々縁があって、そういう人を年末に見つけて、年初から実際に仕事をお願いしてます。

頼んでる仕事内容は技術検証っぽいこと

自分が関わってる仕事を再委託は基本的にはやらないようにしようと思ってます。

理由は以下3つ

  • 契約上の問題(案件によっては再委託出来ない場合もあるし)がある
  • 目先の仕事だとどうしても緊急性が問われる場合があるので、そういう内容は頼みづらい
  • ちょっと先を見据えた場合に、自分の中では重要になりそうな領域とか技術要素があるのでそういう検証をしっかりやってもらうほうが結果的に双方プラスになる

実際頼んだこととしては

  • フロントエンドに詳しくない人が脱jQueryに向けてどういうアプローチを踏むとよいかというのか、ある種実験台となってもらってました。
  • ある程度の規模になったRailsベースのアプリケーションを分割する
    • 個人的に作ろうとして途中まで結構頑張って開発していたRailsアプリを使う

ということをやってもらっていました。

技術検証の作業を依頼することを通じて自分も知見が貯まる

  • Slackの分報使ってカジュアルにコミュニケーション
  • 結構細かくフィードバック・コードレビュー
  • 作業意図がうまく伝ってないと感じられた場合にはこんな感じで絵も使って依頼内容を補足
    • f:id:h5y1m141:20170417140317p:plain

という感じのことを日頃行ってるのですが、こういうフィードバックをする過程を通じて自分の中でも知らないこととか、理解が甘いところが明確になり、擬似的な技術検証をしてるのと等しい感じがしてます。

定期的にPRのレビュー(時には細かくサンプルコード書いてあげたりして)しながらやったおかげでJavaScript初心者がriot.jsを使い始めるまでという記事を書いてもらえる程度には理解してもらうようになったかと思ってて、この経験を踏まえて、JavaScript苦手意識ある人のハマり所をリアルタイムに見てきたのでどういうアプローチをすればいいのかという部分もそれなりには知見がたまった気がします

協力して貰う人と私自身とそれぞれにとってwin-winとなるような形

技術検証用のために作った自分のGitHubのプライベートリポジトリでこんなことを↓書いてるのですが、双方にとって今のところwin-win な形でうまく作業ができておりある程度の手応えを得ています。

f:id:h5y1m141:20170417140255p:plain

最後に

気づいたら2年位同じようなことを考えていて、なかなか行動に移せなかったのですが、ようやくはじめの一歩を踏み出せたので、これをゆるく長く継続できるようにしていきたいと思ってます!

※関連して色々考えてることがあるのでそれはまた違いうちに書こうと思います

海外のユーザー向けプロダクト開発~現場のリアルな工夫&ガチな悩みを語る~イベントのモデレーターやってきました

f:id:h5y1m141:20170117203808j:plain

昨日ですが、海外のユーザー向けプロダクト開発~現場のリアルな工夫&ガチな悩みを語る~というイベントのモデレーターしてきました。

今回は自分が企画して・・・というわけではなく、過去に何度かイベントで協力してもらってる和田さんから、縁があってモデレーターやってほしいと頼まれてやってきました

会場は今回登壇いただいた岡根谷さんの協力で、クックパッドさんのオシャレなオフィス(キッチンスペース?)を利用させてもらいました

f:id:h5y1m141:20170117183454j:plain

f:id:h5y1m141:20170117185632j:plain

ポケットメニューさんの話

運営してるポケットコンシェルジュについてサービスの紹介と事例を簡単にお話いただきました。

気になった話

事例の話の中で、Webサイトの中国語対応というのがあったのですが、中国と言っても

  • 中国本土
  • 香港
  • 台湾

という3つの地域では、言語の違いは当然のことながら、個々の地域で

  • 中国本土
    • ほとんどWeChat
  • 香港
    • WhatsAppが主流。若者はFacebookやインスタを使う
  • 台湾
    • LINEが主流

というように、主流のインターネットサービスの違いもあるとのこと。

こういう状況の中で、中国語対応をするというのは中々難しいのかなという印象がありました。

工夫してると思った所

異なる国の人が、地域間でも特性が異なるというような状況を把握するのにどのような工夫があるのかちょっと質問した所、社内で学生のインターン生が数名いるとのこと。

そういう人達がフットワーク軽く、色々情報収集してきてくれるみたいで、社内に、そういう国や地域について詳しい人がいるというのは、ちょっとしたことでも気軽に聞けるという意味では自分たちのサービスのニーズを確認しやすい印象を受けました。

DeNAトラベルさんの話

和田さんは、これまで国内向けのサービスに長年関わっていて、そこでの知見をベースに海外向けのサービスに関わるようになったそうで、その中での苦労や工夫してることについてお話いただきました。

スライドがすでにアップされてるので詳しいことはそちらを

印象に残った話

見えないものを見るという話。

社内の人に協力をしてもらって、インタビューを記録しつつ、ユーザーにとって重要なポイントが何なのか、その行動の背景(コンテキスト)を探る取り組みは面白いなあと感じました。

メールを読むという行為でも、自分と違う国の人がどういう所に着目してるのかを意識して観察してみることで、実は自分たちと同じような行動をしてるという部分があるみたいで、そういうちょっとした気づきが次の施策立案に活かせるような感じがしました。

マーケティングが難しい・・・ということをちょっと話をしてて、具体的にどういう部分が難しいのか質問しようと思ったけど、質問するタイミングを逃したので、聞けなかった^^;

クックパッドさんの話

最後に、岡根谷さんからクックパッドさんでのグローバルに展開してるアプリのリニューアルの話についてお話いただきました。

印象に残った話

リニューアル時に、物理的に遠隔地の人同士で、非同期のコミュニケーションになるみたいな話題も自分の中で似た経験があったのでそこも気になったのですが、それと同じくらいに興味深く感じたのが、国際化対応の話題

グローバルに展開してるアプリが15ヶ国以上で展開されてるようなので、各国の状況はある程度ふまえつつも、そこのニーズを汲みとりしすぎるわけにもいかず、この辺りのさじ加減がすごく難しいように感じました。

絶対的な正解が無いだけに今後もずっと試行錯誤しながら対応していくのかなという印象を受けました。

最後に

3社の事例発表を踏まえて、参加者同士ペアーになってもらって、交流してもらいつつ、発表いただいた人も参加者とも交流して話してもらうような形の運営をしました。

海外のユーザー向けにそもそもサービスをやってる人とか会社はまだまだ多くないだろうけど、その分そういうサービスに関わってる人は各自色々な悩みがあるのかなというのが、発表後の交流してる様子から伺えたので、10名〜15名位で、特定のテーマに絞った形で人があつまってこういう形で交流するのは、やはり面白いなぁと改めて思いました!

第二回JavaScriptステップアップ勉強会を行いました

昨日ですがJavaScriptステップアップ勉強会の2回めを実施しました。

いつも利用させてもらってるCo-Edoではなく、自宅から割りとアクセスしやすい池袋にあるOpen Office Forestさんの場所を利用させてもらいました。

Co-Edo同様にOpen Office Forestさんもアットホームな雰囲気が感じられるのと、最大10名規模での運営をしようと思ってるのでそのイメージからすると調度良い広さで結構好みな空間でした!

f:id:h5y1m141:20160525190033j:plain

ちなみに

  • 前回から引き続き申し込んでくれた方が2名
  • 今回はじめて参加いただいた方が8名

という形で申し込みは最大10名だったのですが、その後に数名キャンセルされたので最終的な予約数は6名。

嬉しいことに実際に参加いただいた方は6名でドタキャン0名でした!

規模の違いがあるので単純比較できないけどこういう勉強会・イベントでドタキャンが出なかったのはとっても嬉しいですね~

前回の反省点を踏まえた今回の対応

前回やった点を踏まえてちょっとした改善あるのでその点の振り返りを簡単にしておきます。

環境構築に関して

前回のエントリ

開催後の反省点

ハンズオンでの最大の問題はやっぱり環境構築っていうのをつくづく実感。

基本的にvagrant upすればOKな状態のVagrantfileを作っておいたのですが、Windows環境でどうもうまくいかないことが当日わかった・・・

こう書いてましたが、環境はCloud9を利用する方針にしました。

元々、Cloud9は知っていて以前ちょっとだけ使ったことがあったのですが、Node.jsの環境をベースに作業をする程度だったらパフォーマンス面で気になることは少ない印象を受けました。

むしろWebブラウザ上で統合開発環境の機能が利用できる意味では、参加者の最初の色々な敷居が下げられそうなのでそちらのメリットを考えるとこちらも念頭に置いた形にしていこうと思ってます。

資料配布

コンテンツを都度増やしてて、PDFにした状態で200ページ近くのボリュームになってるので印刷しようとすると、印刷代も大変なことになるし、印刷物を持って帰る参加者的にもあまり嬉しくないのかなと思い、資料配布はやめることにしました。

その代わりというわけではないのですが、Webブラウザでの閲覧以外のことを考慮して

という形でそれぞれ資料のダウンロード先だけ案内して後は各自の好みのスタイルで閲覧してもらうことにしました。

これが最適かどうかはわからないのですが、無理なく運営をしてく上では今のところこれがベターなのかなと思ってます

参加者巻き込んだコミュニケーション

前回

資料の中で勉強したい箇所が同じ人同士をうまくグループ化&そのグループの中でコミュニケーションが生まれるようなスタイルというのをちょっと目指してみたいので、そんなことが出来るように今後も月に1回位のペースで開催していこうと思ってます。

ということを書いてましたがグループ化するための場作りがそんなに出来なかったものの、席が隣同士になった人で互いに助け合うような感じでちょっとした交流なんかもあったりしたので、今後はそういうのが安定して出来るようにもう少し工夫の余地があるかなと思ってます。

今回追加した内容と今後の追加予定

自分の過去の経験を振り返ると、JavaScriptでのプログラミングの苦手意識が払拭出来ない要因として

  • 非同期処理の概念
  • thisについて

あたりがポイントになるかと思ったので、概念説明を交えつつサンプルコードを書いてもらってその部分について理解を深めてもらうと思ってこんな感じの絵を書きながら情報まとめていきました。

※サブウェイとドトールコーヒーでのオペレーションを例にしながら、同期・非同期処理を対比させた説明の概念図

同期処理イメージ

f:id:h5y1m141:20160526132433p:plain

f:id:h5y1m141:20160526132445p:plain

非同期処理イメージ

f:id:h5y1m141:20160526132457p:plain

f:id:h5y1m141:20160526132509p:plain ただ今回参加された方達は、それ以外の所に興味・関心があったので今回追加した箇所はあまり役に立たたなかったみたいですが今後役に立つ時がくることを祈って都度情報更新していこうと思ってます。

あと、今後の追加予定として最近の仕事を通じて得た成果の1つのChromeDeveloperTools使ったデバッグあたりを少し掘り下げてまとめていこうと思ってます。

この辺りは知っておくと色々便利なことがあるんだけど、着手するのに腰が重くなりがちな気がしてるのでそういう所を丁寧に解説する形でまとめていきたいなぁと思ってます。

ハンズオン形式の勉強会を行ったので事前準備や運営上の工夫をまとめてみました

先日ですが第一回目のJavaScriptステップアップ勉強会を開催しました。

ハンズオン形式勉強会開催は過去に2回やったことがあるのですが、いづれもある会社の方と協力してやる形で今回は告知から当日運営まで全部1人でやったので開催までにやったことを振り返っておこうと思います。

なぜやろうと思ったか?

先日書いたエントリで触れたのですが、以下のが主な理由かなと。

  • PHPRubyなどの言語を利用してWebアプリケーション開発をしてる方の中でなんとなくJavaScript苦手という方の何か手助けをしてみたい
  • 最近やっていた仕事を通じて以下のような情報をひたすら脳に詰め込んでいて、この情報を吐き出したい(※アウトプットしないとこれ以上インプットするのがツライっていうのが本音かも^^;)気持ちが強い
    • フロントエンドの開発をする時に知っておくと便利なツールが色々あることを実感
    • ある程度肥大化したアプリを適切な粒度に分けつつユニットテストを整備することでアプリの設計が意識できるようになる

当日までに行った準備

細かい所含めて色々準備したのでその辺りちょっとまとめておきます。

会場手配

勉強会・イベントで何度も利用させてもらってるCo-Edoでやることにしました。インターネットが使えて適度な広さとなると、Co-Edo以外の選択肢というのはちょっと考えづらいですが、我が家からだとCo-Edoまでちょっと遠く、ふと気になってぐぐったらこういう情報も見つけたので、次回以降開催する時に改めて調べ直してもいいのかな。

告知

過去何度も利用してるDoorkeeper通じてやりました。

自分の身近な人でおそらく参加してくれそうな人がいたのでそういう人に個別にお伝えして全部で4名位申し込みあればいいかなと思っていたら、何故かはわからないけどDoorkeeperによってプロモーション↓されることになったおかげで、その後、申し込みが一気に増えて、一時期キャンセル待ちもそれなりに発生するという嬉しい状況になりました^^

f:id:h5y1m141:20160421081612p:plain

ただ、その後にキャンセルされた方も結構いたので、最終的には全部で5名の参加者で、1人でやるのにちょうど良い規模になったかなと思ってます

原稿を書く

資料のサンプルコード通りにやってもうまく動作しないということが過去経験がありました。

何故そうなる理由としては自分で書いた資料を見て、自分でコードを書いてないからなのかなと思ったので今回は、

  1. 最初にサンプルコードを考えて、動作するものを作り、それは別ディレクトリにまとめておく
  2. 上記とは別のディレクトリで作業することを前提に説明文を書く
  3. 説明文の中で埋め込んだコードが期待するような動作になってるのか自分で手を動かして動作確認

という感じで書くことで回避出来た気がします。

説明の文章自体は、過去にQiitaなどで書いた情報があるのでそれをベースにしてるので、実はそんなに大変ではないのですが強いていうと、JavaScriptに苦手意識がある人にとってどういう所がわかりづらいのかが、自分自身でうまく把握出来てないので、どこまで図解しておくのがいいのかという所でちょっと悩んでしまった所が大変だったかなと思ってます。

作った資料の共有

Markdownで書いた内容をGitBookを使って資料を作っていたのですが、GitBookコマンドラインツールの使い方の情報がとても参考になり、ローカルでビルドしてGithub Pagesを使って以下のように公開することでいつでも閲覧できるようにしておきました

http://h5y1m141.github.io/step-up-javascript/

※サンプルコードと説明の時に利用してる資料一式も以下で公開してます https://github.com/h5y1m141/step-up-javascript

上記のWebは、予習・復習みたな位置づけにしようと思っていて、やはりハンズオンだと、手元に印刷された資料があったほうが作業やりやすいと思ったのでgitbookでPDF/epub出力できるようにする(calibre)を参考にこんな感じ↓でPDFを生成&印刷したものを当日配布。

f:id:h5y1m141:20160421081638p:plain

PDF版の改行位置をちょっと微調整

ちなみにGitbookでpdfとebookを作成するで改行がツライって書いてあって実際そうで自分の場合には

<div style="page-break-before: always"></div>

をうまく使って、これを挿入する箇所で改行させるという地味に面倒な事をやってひとまず対処しました。

資料の印刷

参考情報含めてすでに100ページ超えてる資料になっていたので、2ページを1枚で印刷したとしても50ページx10円→500円っていう状態は流石につらいので、ひとまず当日利用しそうな箇所に絞って30ページ程度にしました。

2ページを1枚で印刷しつつ、5円コピーというサイトで近所で5円コピー出来る所を探して

実施時のポイントと今後の反省点

当日の実施時に心がけたこととか、実施した後の反省点について簡単にまとめておきます

極力個別質問に答える

JavaScriptスキルアップみたいな題名にすると、参加される方の技術的なレベル感や期待感にばらつきがあると思ったので、こんな感じで、ホワイトボードに自己紹介的も兼ねて今回の勉強会に関係なくJavaScriptに関連して聞いてみたいこととか、日頃難しいなと思ってることなんかを書いてもらいました

f:id:h5y1m141:20160421081104j:plain

あとは、レベル感や期待感にばらつきがある状態の中で、講義形式で一律同じペースで話を進めるのはそもそも無理があるかなと思ったので、配布した資料を見ながら各自のペースで実際に作業してもらって、私は、各自の進捗を見ながら、個別質問に答える形にしました。

日頃疑問に思ってることをその場で聞けるような空気にしたいと思っていたので今回みたいな形で運営してそれなりの手応えは掴めた気がします。

開催後の反省点

ハンズオンでの最大の問題はやっぱり環境構築っていうのをつくづく実感。

基本的にvagrant upすればOKな状態のVagrantfileを作っておいたのですが、Windows環境でどうもうまくいかないことが当日わかった・・・

手元にすぐに起動できるWindowsマシンがないので、何故こうなるのかとか、どうすれば回避出来るのかとかが、ちょっと検証出来ないのがちょっとネックだから、仕事の合間にWindows環境を作ることを考えないとダメな気もしてきた。

終わりに

取り上げたいテーマについての原稿がまだ整ってないので今回はテーマを絞りましたが、次回からは、資料の中にある内容ならどこから手を付けてもOKな形にしようと思います。

資料の中で勉強したい箇所が同じ人同士をうまくグループ化&そのグループの中でコミュニケーションが生まれるようなスタイルというのをちょっと目指してみたいので、そんなことが出来るように今後も月に1回位のペースで開催していこうと思ってます。

フリーランスになって1年9ヶ月の振り返り

昨年の月末に1年9ヶ月経過した振り返りをしないといけなかったのでだいぶ遅れたけど、ひとまず振り返りをしておきます。

目次

1つお仕事が終了になったのをきっかけに自分仕事の機会を確保する

昨年の年末に書いたエントリ

またお金に関して言うと、割りと小さい会社さんとの取引があるからこそ、資本政策とかについては知っておく必要があるかなと思ってます。

っていうことを書いていたのですが、まぁこういうのを書いたのは何となくそういう予兆を自分なりに感じていたので、結果その通りの展開になりました^^;

知り合い経由などでお仕事の話を聞けたので、もう1つ入れようかと思ったのですが、

  • 何度か過去書いてるけど1人でやる仕事には限界がある
  • 収益源としては分散しているとは、どこかの会社で、Webサービスに関する開発の仕事をしてるという意味では本質的に分散してるといはいえないことにずっともどかしさを感じていた
  • ここ最近ずっとフロントエンド側の地道な作業をしてて、これまで理解が曖昧だった所をちょっと深く理解出来てきたのでこの辺りの知見を活かした何かをやってみたい
  • 1つに絞った場合の売上で仮に年間ずっと推移したとして、最低限の生活費は確保できそう

というようなこと重なり、3月末までは、昨年から継続してやってるお仕事1つに絞ってみることにしました。

1つに絞ったことで時間的な余裕が出来たので、自分の時間を売切りするスタイルだけではなく、自分から仕掛けて、何か収益をあげる「自分仕事」をどうやって作るのかを考えて、行動に移せる状況を整えることができました。

時間が確保できたことでこれまでやってなかったトークイベントや小規模な勉強会をしてみた

第1回クローラー開発勉強会だったり、1年ぶりにWeb系な人のキャリアカフェでなぜポジションレスな働き方が求められてるのか?をやったりと久しく出来てなかったトークイベントっぽい活動が出来ました。

それ以降のイベント関連のネタとしては

  • 私は男性だけど、Web系の仕事をしてる女性のキャリアみたいなテーマ
  • 仕事柄座ってる時間が長いから体のコンディショニングに関心があり、縁あってちょっと前にフリーランスiOSエンジニア兼ヨガのインストラクターという面白い人と知り合いになったのでその人を招いた何かイベント
  • クローラー開発勉強会の2回目以降を継続的にやるための仕組み作り(前回の参加者の属性が幅広いことに気づいたので、当日に参加者からアイデアを募ってその場でテーマを決めるようなアンカンファレンスのやり方を参考にする方法)

みたいな感じでいくつかあるのですが、4月はちょっと時間的な余裕がないので5月以降にちょっとづつやっていこうと思ってます

今後にむけて

今回のエントリがちょっと遅れたのも4月になって色々動き出してきたのが大きいかなと思ってます

スクールで学んだ人が次のステップに進むためのお手伝い

1つは前職時代&フリーランスになってからもずっと興味を持ってるこういう↓やつに近いことが出来る仕事を来月から入れる予定です。

f:id:h5y1m141:20150124093400p:plain

f:id:h5y1m141:20150124093421p:plain

単に教えるだけとか開発するだけの仕事ではなく両方の素養をうまく組み合わせた形で関わることが出来るのと、時間もそれほど拘束されないので、トータルで見てとても良い案件かなと思ってます

上記に関連して、JavaScriptのステップアップを意識したハンズオントレーニング

このエントリ

WebアプリケーションエンジニアのためのJavaScript中級者講座

自分の周囲の人でJavaScriptに苦手意識あるWebエンジニアな人が一定数いるのでそこの課題解決をしたい

みたいなことを書きましたが、上記のスクールで学んだ人というのはRailsが中心でフロントエンド側はそれほどやってないみたいなので、そのあたりもうまくフォローをしてあげたいと思ってます。

最近やっていた仕事を通じて

  • ChromeDeveloperToolsを使いこなす
    • ブレークポイントの設定とか今までやったことがなかったり、Networkタブに有る機能を活用して擬似的な低回線シュミレーション出来るとか色々知らないことだらけだった
  • JavaScriptでどういう書き方をするとメモリリークを引き起こしてしまうか
  • フロントエンドのアプリを書く上でどういう設計が考えられそうか
  • ある程度肥大化したアプリを、適切な粒度に分けつつ、ユニットテストを整備する方法

という所の理解が深まったので、こういう内容を来月からやる仕事でもうまく還元したいと思ってます。

ただ、どういう内容を最初に教えるのが良いのかちょっとイメージが湧かない部分があるので、まずはその下調べという感じでJavaScriptステップアップ勉強会というのをやってみることにしました。

4名前後位申し込みがあればいいかなと思っていたのですが、自分の予想に反して意外と申し込みがあったのと、これは今後もうまく継続して色々出来そうな予感がしてきたので、割りと気合を入れて資料を作ってます

自分のサービスを立ち上げるためにインスタントチームを使ったらイイ感じの人達と出会えた

っていうことをtweetしてましたが、インスタントチームを使って告知をしたら、おかげさまで申し込みがあって、昨日顔合わせという名の飲み会をしたいのですが、割りと面白いことが出来そうな予感がしてて良い感じのチームが立ち上がった気がしてます

インスタントチームは、開発チームを気軽に立ち上げることができるサービスです。

InstantTeam(インスタントチーム)とは何ですか?

こうして書いてみると、1人でやるには限界があるという問題をどうにかして解消したいと思ってたのですが、ふとしたきっかけで歯車が噛み合ったことで、物事が進み始めた予感がしてます。