副業に120%の力で取り組む理由
はじめまして。フロントエンドエンジニアの林 恭央(@www_REM_zzz)と申します。
とはいえ、実際には色々なプロジェクトを異動しながらサーバーサイドもDBもと手広く実装をする環境にいて、直近だとサーバーサイドエンジニアに近い動きをしています。やっていることを一言で説明するのが難しいので、気になった方はSNSなどでぜひお声がけください!
さて今回は、もともとはフロントエンドが苦手だった僕が、フロントエンドの副業をするようになった経緯をお話できればと思います。
フロントエンドへの苦手意識を克服する
直接のきっかけは、異動でモダンフロントエンドへの対応が必須になったことです。もともとフロントエンドには苦手意識を持っていたのですが、以前のプロジェクトでは完全にサーバーサイドのみだったため、満足に勉強できていない状態でした。
本業でプロジェクトに入ってタスクをこなす中で「Reactをもっとスキルアップしたい!」と思っていたところ、知り合いのスタートアップの方からお誘いいただき、副業を始めることにしました。
個人としての評価を高める
本業は広告業界なのですが、肩書きで勝負が決することが多いなと感じています。
いくら優れたコピーライターやマーケターがいても、無名だったり人数が少ない会社に属しているとコンペに勝てない状況を見て、個人の能力と肩書きの両方がないとバリューを出すのが難しいのだなと思いました。
またインフルエンサーマーケティングにも関わっているので、これからは個人の名前とスキルで仕事をする時代なんだと思うようにもなりました。
そして、インフルエンサーが「好き」に基づく影響力や知識で仕事を得るように、副業でスキルを高めて、自分の好きな技術で仕事を得られるようになりたいと思うようになりました。
時に週30時間に及ぶ副業で得たもの、得られなかったもの
一時期は週に30時間、本業とは別に時間を取っていたこともありました。
単純に関わっていたプロジェクトが面白かったのと、Reactの最新技術をなんとしても自分のものにしたいと思ったためです。
でも、当然ながら無理をしたので長くは続きませんでした(笑)。
▲ 副業で得た報酬は開発環境への投資に
実際に経験したReactの案件
- 稼働期間:4ヶ月
- 稼働時間:週30時間
- 業務内容:React+Rails開発
- メンバー:フルタイムエンジニア2人+自分
美容系のサービスのウェブアプリケーションの開発で、初めての環境だったのとサービスが面白いと思ったのでかなり力を入れて取り組みました。
CI環境を作り直したり、TS化したりと、やることが盛りだくさんで、勉強とエラーに追われる日々でした。現場の社員エンジニアの方が優秀だったので、毎日その方の書いたコードを読み漁っていました。
ただ、流石に週に30時間も副業で働くと休む暇がなく、しかも睡眠時間を削っていたのでボロボロになりました。でも、とても楽しかったです。
事業目線で技術を捉える力、経験
事業やユーザー数、市場規模などによって気にしないといけないことは異なります。それを実際に動いているサービスベースで技術の使いどころや知らなかった規約などを学べたほか、事業的にどう技術を選定するかやバージョン管理なども知ることができました。
それによって「これは自分の担当サービスでも起きるな」とか逆に「自分の担当サービスで起きた問題が先回りできそうだな」と思考を巡らせることができるようになったと思います。
また、自分が普段書いているReactのコンポーネントの実装で「こういうユースケースがあってデザイナー的にはこうです」といったレビューをもらったことがあり、自分の手癖にも気づきました。
コードを読む力、速さ
GoodFIRSTIssuesがある場合は問題ないのですが、初めて入るプロジェクトでは問題の発生箇所や全体の構成、規約など気にすることが多いです。
最初は地道にコードを読んだり、(フロントエンドだと特に)自分がユーザーとなってサービスを利用したりして、競合はこんなことができるのかと調査もします。
そのため、最初の2ヶ月くらいは稼働時間以外でもサービスのことや利用されてる技術のことを考えて動くので、時間をかけることを意識しています。
コードレビューに入れてもらうことで、コードを読む機会が必然的に増えました。
結果として課題の発見スピードや、コードの全体感を掴んでやりたいことを実現するまでのイメージを固める時間が短くなりました。
量をこなすことが速さへとつながり、本業にも活かされたのはとてもいい経験でした。
エンジニアとしての危機感
普段接しないタイプのエンジニアと一緒になったときに、ユーザーの視点から考えてサービスを回遊したり、副業メンバーのためにコミュニケーションに工夫をしていたりするのを見て、とても衝撃を受けました。
単にバリューを出せばいいわけではなくて、仲間として迎え入れられる喜びと、サービスに対する誇り・こだわりを間近で見られたことで、仕事の仕方や新卒や中途の方への振る舞いが変わった気がします。
コミッターのような深い専門知識の習得には向かない
副業を続けてきた結果、事業を作る上での技術的な知識と思考の仕方が身につきました。
しかし、当然ながらコミッターのようにフレームワークの再深部に迫り改善をするような言語やフレームワークの深い専門性は身につきませんでした。
これは単に問題に立ち向かった数ではなく、問題の質だと思っています。100万人が使うサービスの課題ならば、より専門的なフレームワークの再深部に迫るような改善が必要かもしれません。
しかし、1万人が使うサービスではなかなかそういうった問題は起きないので、触れる機会がないのです。
>> [新着] Reactの副業・転職の求人を見てみる! お気に入りの求人を見つけて応募しよう!
Reactで副業案件を獲得するにあたって意識していること
副業案件を獲得するにあたって意識していることは主に2つあります。
見られる努力を欠かさない
どんなに技術が優れていたり、良い解決策を持っていたりしたとしても、発見されないとチャンスはやって来ません。だから、自分から発見される努力をすることが大事だと思っています。
自分も始めのうちは冗談半分で「登壇駆動開発」などと言って登壇の機会をもらい、そこに向けてReactやTypeScriptの勉強方法や最新のTipsをキャッチアップしていました。
SNSについては特に意識していませんが、二つのメリットがあると思っています。
一つは、コミッターやトップレベルのエンジニアの考えてることにライトに触れることができることです。自分が抱える問題を解決する糸口になるコメントがあったり、思考をアップデートするきっかけになります。
もう一つは、自分が応援したいサービスの中で働いている人とつながることです。最近はエンジニアやPMの方がサービス名を出してSNSで活動されているので、そこで自分が何ができるか認知してもらったり、単純に応援したいという気持ちを表明できるチャンスがあります。
勉強会で登壇したらすごいエンジニアの皆さんにフォローもらえて嬉しい。
頑張ってアウトプット出してこ
— れむ (@www_REM_zzz) May 28, 2019
基本は楽しく使えばいいと思うのですが、つながりが多いほうが舞い込んでくるチャンスも多いと思っているので大事にしています。
(フルスタックの場合は特に)企業側の稼働イメージを確認する
最初にどういうスタイルで開発していくのか、どのような成果を望むのかをすり合わせる必要があるという普通の話ですね。
フリーランスで働いたことがある方なら普通の話なんだと思うのですが、正社員として働いていると忘れがちというか、あらためてこういう期待値の調整をすることって少なくて、初めての時は特に失敗が多いと思います。
僕自身も期待値のすり合わせがうまくいかず少し苦労しました。熱意があっても期待値調整で失敗してしまうのは、雇う側も働く側も双方に損なのでしっかりと行いたいものです。
フロントエンドを開発していく中で、「このAPIのレスポンスが遅いな」とか「ここの問題はもしかしたらサーバーサイドで解決したほうがいいのでは?」と思ってソースコードを見ることがありますが、その時に手が足りないとなし崩し的にサーバーサイドまで守備範囲が広がることがあります。
このこと自体は悪くないですが、自分の稼働時間の兼ね合いで抱え込みすぎな場合はきちんと断ることも大切です。
できる人がやるのは素晴らしいですが、優先順位と自分の熱意を天秤にかけて少しでも稼働時間がきついなら、フロントエンドに開発を絞ったり、重たいものはフルタイムのエンジニアさんに変わってもらう必要があります。
磨き合い、盗むことで、市場価値を高めていきたい
日本のエンジニアはComputer Scienceの学位を持ってる人のほうが少数で、世界と比較したときにレベルが低いみたいな話をどこかで見ました。
僕自身、文系の大学からエンジニアになったので、Computer Scienceの深い理解がないことがコンプレックスでした。この先のキャリアを考えた時に、生き残っていけるかという不安がないといえば嘘になります。
そんな中でプロゲーマーの方が、「生き残りのために一人で努力して秘伝のタレ的な技術を溜め込むのをやめた。仲間と一緒に努力して情報共有をしお互いの技を盗みあったほうが安定して成長できるようになった。」と著書で書いているのをみてハッとしました。
今まで一人でモクモクと努力を積み上げることこそエンジニアとしてあるべき姿だと思っていましたが、より高いパフォーマンスを発揮したり、技術への理解を深めることが生き残りにつながるとしたら、このまま一人で努力していてもだめだと思ったのです。
そこで勉強会に登壇したり、本業と副業を行き来して、人の良いところや考え方を徹底的に盗んで自分のものとして、他の場所で還元することを意識するようになりました。それが結果として市場価値の向上につながると思うのです。
これからも色々な現場に関わりながら技術を磨き、より高みを目指したいと思います。