どうも、こじです。
フリーランスエンジニアになって、今月で1ヶ月経ちました。
この1ヶ月で思ったこと・実際にあったことを話そうと思います。
興味があればご覧ください。
では、どうぞ。
フリーランス初日
僕は2017年まで会社員をしていて、2018年1月4日からフリーランスエンジニアとして、ソーシャルゲーム案件に参画しました。
働き方としては、客先常駐フルタイム型のフリーランスです。
新年かつ新しい環境ということもあり、心機一転頑張ろう と言う気持ちの中、多少緊張したのを覚えています。
- フリーランスとしてやっていけるだろうか?
- 実務はどんな感じなんだろうか?
- 参画するチームに変な人や嫌な人はいないだろうか?
- 仕事や雰囲気に馴染めるだろうか?
- 炎上してなければいいな・・・
ありきたりかもしれませんが、こういう感情がありました。
フリーランスでの参画は、顔見知りもいない、同じ所属の人もいない、という1人での参画だからです。
もちろんフリーランスとして最初の案件だったからというのも大きいでしょう。
会社員の頃はたとえプロジェクトが変わっても、先輩や後輩など、同じ組織に属している人がいるという安心感がありました。
しかし、フリーランスとしての参画は、同じエージェントから複数人が参画しているということもありますが、基本的には1人で現場に飛び込んでいくという形が多いのではないかと思います。
つまり、後ろ盾は無く、自分の実力で現場の評価を得ていかなければいけないということです。
僕は自信を持てる経歴ではなかったので不安はありましたが、やると決めたからにはやるしかありません。
さて、当日の流れをざっくりお話しすると
- エージェントの営業さんと駅で待ち合わせて、客先に訪問
- 同日に新規入場する人と一緒に、客先のガイダンスを受ける
- それぞれ配属先に参画
- チームに挨拶と環境構築
という、わりとしっかりした入場の説明をしていただき、この時点で「かなりしっかりしてる会社だな」と思いました。
前職での入場はめちゃくちゃあっさりしていたからです。
ちなみに、オフィスはオシャレですし、職場に活気がありました。
作業環境も契約形態に関わらず、デスクと外付けモニター、スペックがそれなりに良いPCが用意されていたのです。
前職の業務系とは大違いです。
前職の現場は長机にギュウギュウで座らされて外付けモニターも無く、スーツに首輪(ネクタイ)つけてみたいな感じで本当に酷かったですから・・・
エンジニアに限らず、働きやすい環境を作ってるんだなということを思いました。
参画初日に思ったことはこんな感じです。
数日から1~2週間頃
この時期に僕がやった作業概要です。
- 初日~3日目の午前中くらいまで、環境構築
- チームについてと仕事の進め方等の説明
- 既存システムの改修タスク
初日~3日目の午前中くらいまで、環境構築
環境構築はエンジニアが現場に入ってからの一番最初のタスクですね。
現場ごとの作業環境に合わせて使用する技術要素は変わってきますが、僕が入った現場では下記を使用していました。
サーバーサイド:Ruby・Ruby on Rails
DB:MySQL
バージョン管理:Git・Github
ちなみに、僕は全て業務で使用したことはありません。
全て独学で触った程度です。
チームについてと仕事の進め方等の説明
僕は、ソーシャルゲームのサーバーサイドエンジニアチームの運用・配信担当として参画しました。
業務内容としては、既存機能の保守改修・サーバー保守運用・データ調査と作成等・日々のリリース物配信などが業務となるという説明を聞き、徐々に業務に携わることになります。
現場の開発手法はアジャイル開発の手法の一つ、スクラム開発を採用していました。
ここのスクラム開発では日々朝会を行い、当日やる作業や問題などをチーム全体に共有し、各々作業を進めていきます。
前職の SIer では、ウォーターフォール開発手法を用いていたので、スクラム開発はもちろんアジャイル開発自体未経験ですし、ソーシャルゲームの業務・他職種の方と関わりながら仕事をするのも未経験です。
既存システムの改修タスク
環境構築と様々な説明が終わった後、最初のタスクは既存機能の改修でした。
僕は運用・配信担当としての参画でしたので、ゆくゆくは開発にも携わりたいということをお伝えしていたのですが、こんなにすぐ実装の機会をいただけるとは思っていませんでした。
ですが、ここで自分の実力不足を痛感します。
それは下記の理由からです。
- そもそも開発経験が不足してること
- Ruby と Rails のコードに慣れていなかったこと
- Ruby や Rails のコードが短く書かれていて、解読にとても時間がかかったこと
僕が独学で勉強した時は、技術書にあるような基礎的な書き方で学んでいたので、短縮した書き方を全然勉強していませんでした。
さらにいえば、Rails 特有のデータ構造とデータの意味と関連性にも苦しみ、デバックモードや Active Record が使いこなせずなど大変苦労しました・・・
独学で自分が全て把握した状態のコードやデータとは異なり、関連ソースや膨大な業務データは解読に時間がかかりましたし、さらに自分の実力不足・勉強不足もあいまって、作業に時間がかかってしまいました。
これは少し落ち込みましたが、自分の実力を把握できたことはとても良かったと思っています。
思い上がらずにすみましたし、謙虚に吸収していこうと思えましたから。
参画〜1ヶ月経過の感想
うん、面白い
前職の SIer でやっていた業務系SE なんかよりも数倍は面白いです。
一応言いますが、僕にとってはですからね?
なぜ面白いと思うのかというと、仕事に関わる人のほとんどが主体的に動いていると感じたからです。
お互いに敬意を払いつつ、ゴールに向かって仕事していくという感じがすごいします。
一人一人がリーダーシップを持ったチームの仕事は、高いパフォーマンスを発揮できるのだと実感しました。
上手く言えなくて申し訳ないんですが、活気あるチームで仕事をしているって感じです。
例えるなら、学園祭とかで店を出すときの打ち合わせとか、実際にお店を回している時みたいな感じですかね?
あー、、、上手く言葉にできない・・・
ちょっと語彙力と説明能力が足りないので、リーダーシップについての記事でとても勉強になる記事をここで紹介しておきます。
こちらも是非:なんで全員にリーダーシップを求めるの?
他に面白いと思ったことは
ソシャゲの内容が業務知識みたいなことや、お金が循環していること笑
https://twitter.com/koji_aibaka/status/959379800681979904
そして、業界が狭いと思ったことですね・・・
運用・配信タスクは結構しんどい
僕は前職で業務系Webシステムの保守運用を経験しているので、こちらについては違和感なく業務に入ることができました。
もちろん、覚えることはたくさんありますが、運用系業務については大丈夫だと思っています。
問題は配信業務で、この業務が実際にやってみるとかなり大変でした。
僕が参画した案件の配信業務は、企画・プランナー・デザイナーさん達各職種が用意した成果物を、Git で管理し、最終的に本番環境にリリースするのが主なタスクです。
担当になったソシャゲは、平日のほぼ毎日なんらかの配信物がありました。
配信担当として、
- 公開日に合わせて配信する各配信物を Github のプルリクから集める
- 各配信物の責任者に配信物の最終確認依頼
- データの整合性が取れているか運用配信担当者が確認する
- 全てがOKなら動作確認用環境に配信
- 動作確認用環境で動作確認を行い、本番環境リリース前確認担当に確認依頼
- 最終確認もOKなら本番環境に配信
このようなことを配信物がある日に毎回行わなければならず、かつ運用業務をこなしながら配信も行うわけです。
正直、めちゃくちゃ大変です。
属人化が進んでいるので仕事が出来る人の負担が大きく、またその人しか分からないことも多くあるため、その人に仕事が集中していて、ノウハウの共有や仕組み化、資料整備が出来る時間が無いという状況でした。
おそらくですが、この改善が出来るようにすることが僕が取り組まなければならないタスクなのでしょう。
じゃないと、仕事が楽になりませんし、残業なんてしたくないですから。
僕が参画した意図や狙いはここにあると推測しているので、頑張りたいと思います。
こちらも合わせてご覧ください
今の所フリーランスの働き方自体はいい感じ
会社員からフリーランスになったからといって、劇的な変化があったわけではありません。
僕は客先常駐型フルタイムフリーランスなので、生活リズム自体は会社員と同じですから。
僕が感じるメリットは
- やりたいことや仕事を選べる
- 会社員特有の行事や施策等制約の一切が無くなり、自分のやりたいことに集中できるようになった
- 自分でキャリアを積み上げていける
- 会社員としての収入と比べて、収入が上がる
デメリットは
- 今まで会社がやっていた、主にお金周りを自分でやらなければ行けなくなったことなどの役所手続き系・・・
などでしょうか。
今の所概ね満足していますが、役所手続き系だけは本当にめんどくさいです。
平日の日中しかやってないのに、Web で手続きが完結できないなんて、本当にこういうところがお役所のダメなところですよね。
あとは、紙の書類が必要なことや手続きが異常に遅いこととか。
まとめ
いかがでしたでしょうか。
なんだこんなもんか と、思った方もいるかもしれません。
そうなんです、僕もそう思いました。
でも考えてみれば、雇用する側も正社員を雇うよりフリーランスを雇う方が、使えない人材を切り捨てられる分リスクが低いんですよね。
ですが、客先常駐型フリーランスエンジニアの仕事内容自体は会社員とほぼ変わりませんし、会社員として普通に働けていた方なら全く問題なく仕事をすることができると思います。
業界業務経験が3年以上ある方ならまず間違いなくフリーランスエンジニアになることができるでしょう。
だって、業界業務経験2年と6ヶ月かつ Ruby 実務未経験の僕ですら、フリーランスエンジニアとして参画できたんですから。
変わるのは、今まで会社がやってくれていたことを基本的にすべて自分でやるようになるだけです。
手続き等で必要になること・やり方等はまた別の記事でお話します。
フリーランスになるための準備はもちろんしてきましたので、僕がやってきたことに興味がある方はこちらをご覧ください。