独学で開発スキルを習得したいと考えている人もたくさんいて、実質独学の人も多いです。そこで独学でプログラマーの勉強をするにはどうしたらいいのか紹介します。 その他にも独学で勉強した後、どうしたら […]
言語やテクノロジーに分散投資!特定の技術に固執しないフリーランス戦略
”営業→エンジニア”と異色のキャリアを歩み、快活な印象を与える勝又さん。そんな彼の社会人になってからの趣味はストリートダンスだそうだ。かつてはダンスバトルを中心に活動し、その後も平日のクラブ通いを続けていたという。「深夜までクラブで遊ぶ生活だったので、午後から出社可能な会社さんしか探していませんでした」と言うほどの徹底ぶり。趣味を最優先にして、仕事よりも遊びの時間を大事にしてきた彼が、なぜエンジニアとして評価され続けてきたのか?今回は彼の歩んだキャリアや考え方から、フリーランスエンジニアとして生き残るためのヒントを探っていく。
大学卒業後まずは営業を経験されて、その後プログラミングを学び始めたんですよね。当時エンジニアという仕事はまだメジャーではなかったのでは?
そうですね。まだ就職活動を紙でやる時代でしたから。新卒で最初に営業職としてお世話になった企業さんでは、在籍中から独学でCを学びはじめて、エンジニアとして転職した2社目の企業さんではCOBOLやDelphiを使い、その後VC++、Perl、JavaScriptという感じで徐々に色々な言語を習得していきました。最近だとElixir、Go、Scala、Rust、Kotlin、Typescriptといった辺りの、比較的新しめな言語を実際の業務で使わせて頂いている感じです。
特定の技術を専門分野として突き詰めるというよりは、将来を見据えて有望そうな技術に次々チャレンジしていった結果、色んな企業さんで経験を積ませて頂くことになりました。
でも、技術に関してちゃんと本腰を入れて勉強し始めたのは、大手ソーシャルゲーム会社を退職して、2回目にフリーランスになった時からです。それまでは、仕事よりも趣味優先の時期が長かったこともあり、自分の持っているスキルでより高いお金がもらえる仕事を選ぶという考え方だったんです。
趣味が優先だった頃は、クラブに行って深夜に帰宅し、昼まで寝て、午後から仕事。そんな働き方を許容してくる会社さんしか探していませんでしたし、自分の得意な技術ばかりを使っていたような感じです。キャリアに関しては比較的無頓着でしたね。
でも、再びフリーランスに転身して以降は、そんな生活をしていると周囲に置いていかれてしまうという焦りもあり、遊びよりも勉強に時間を使うようになりました。
得意な技術ばかりを使うのではなく、常に新しい技術を勉強して、勉強した技術を使わせてもらえる案件を請けて、学習したものを現場で実際に使うことで、実務で使えるレベルのスキルとして定着させていくという感じですね。土日はかなりの時間を勉強に使って、すでに持っているスキルに頼らないように意識しています。
数年前は毎日のようにクラブに通っていた自分が、どうしてこんなに真面目に仕事してるのか、ふと疑問に思うときもありますね(笑)
[adinserter block="1"]
とはいえ、遊びに夢中だった当時も、しっかりエンジニアとして評価をされていましたよね?勝又さんは限られた時間でどのように自分のバリューを発揮してこられたんですか?
単純に「要領が良かった」ということもありますが、意識的にやっていたのは、なるべくタスクを細かく分けることですかね。ひとつひとつの作業を細かく分けてアウトプットの頻度をあげることで進捗管理もしやすくなりますし、もしクライアントと認識の齟齬があった場合でも早期に発見できるので軌道修正がしやすいんですよ。
それから、これは営業時代に学んだことでもありますが、ホウレンソウ(報連相)は大事にしていますね。ホウレンソウをしないまま一人で先に進んでしまい、後で手戻り作業を発生させてしまうエンジニアって結構多いですよね。僕はそうならないように、細かく「これでいいですか?」「これで大丈夫ですか?」と常に念押しをするようにしています。
あとは、なにかを選択する時にチェックリストを使うようにしていますね。たとえば、「どのWebフレームワークを使えば良いと思いますか?」とか質問された時に、直感とか手持ちの情報だけで答えるのではなく、なるべく客観的な情報を集めてきて、クライアントから見てもメリット/デメリットを比較できる一覧表を作るんです。そのうえで「こういう理由でこちらを提案します」と述べる。こうすることでクライアント側でも客観的な情報を元に意思決定ができるので、お互いに納得したうえで話を進められることが多いですね。
基礎中の基礎ですが、勤怠はかなりちゃんとしてますね。エンジニアに多いんですが、決まった時間に会社に来れないとか、MTGの時間なのにいないとか、遅刻するのに連絡しないとか、そういったことはあってはならないと思うので。クライアントから見たときに、使い勝手が良いというか、使いやすいエンジニアでありたいなと常々考えてますね。
あと、バリューって結局のところ、最終的に使う人がバリューに感じていないと意味がないですよね。作り手が作りたいものではなくて、使ってもらえるものを作らないと。ここ数年は「リーン開発」「リーンスタートアップ」という言葉が流行ってますけども、エンドユーザにとって価値の低い余計な機能は後回しもしくはバッサリ削って、価値のある機能から作っていく。手応えがなければサービス自体に早い段階で見切りをつける。そういう方式を提案するようにしていますね。
例えば、あるある話ですけども、ITにあまり知見のない経営者の方が新しくサービスを作ろうとすると、夢ばかりが先行してしまうんですよね。サービスの初期段階では不要な機能なども全て盛り込んで発注しようとしてしまうので、開発アドバイザーとして参画している時とかは、本当にその機能が必要かどうか考え直していただけるよう「待った」をかけることが多いですね。
[adinserter block="1"]
フリーランスとしてのお仕事はどのように獲得していますか?
企業さんが業務委託で募集している案件をネットで探して応募する方法がメインですね。LinkedInとかリクナビNEXT等でスカウトはたくさん頂くのですが、ほとんどが正社員募集なので、業務委託案件に関しては基本的に自分で探す必要がありますね。
また、TwitterやFacebook等のSNSで直接呼びかけを行ったりすることもあります。
経営者の方やエンジニアの方とSNS上で繋がりをもっておくと、お声をかけていただけることも結構あるんですよね。残念ながらタイミングがなかなか合わなかったりするんですけど。そういう意味でSNSは貴重なツールではありますね。
極端な話、友達が5000人いる人であれば、仕事にあぶれるなんてことはあり得ないと思うんです。そういった意味では、緩やかでもいいので、知り合い以上友達未満な感じの人たちとの繋がりは大切にしていった方がいいと思いますね。
正直、エンジニアの方から人脈が大事って聞くことはあんまりないですね。
そうかもしれないですね。転職サイト経由・エージェント経由で仕事を獲得するということが前提になっているエンジニアの方が多いと思うんですが、僕はフリーランスをそこそこ長く経験しているので、まだ経験の浅いフリーランスエンジニアの方とは少し考え方が違うかもしれません。僕にとってエージェントさんは最後に頼るところという感じです。
あくまでクライアントとは直接繋がりたい。だから、勉強会とか色々なIT系のイベントには積極的に参加して、名刺を配りまくって、FacebookやTwitter等で繋がらせて頂くことにしています。そういうところでの繋がりがあると無いでは将来的に大きな差が出るというか。いざという時に頼りになったり、そのツテで思わぬ良い求人との出会いがあったりしますから。
あと、一度働いた会社さんでもう一度お世話になれるような状況を作っておくことも大事だと思いますね。「なんか仕事ないっすか?」と気軽に言える関係というか、良好な関係性を作っておくことで次の仕事につながったりもしますしね。
エージェントばかりを利用していると、結局自分の人脈がエージェントからの紹介がきっかけで形成されたものに偏ってくるので、クライアントとの直接契約がやりづらくなります。なので、極力自分でクライアントを開拓して、そこから仕事を広げていきたいと考えてますね。
[adinserter block="1"]
フリーランスエンジニアのメリットはなんだと思いますか?
メリットは、履歴書の職歴を増やさずにいろいろな会社さんで仕事ができることですかね。僕は社員としての転職回数がすごく多いので、いつもそこのツッコミは入りますが、フリーランスとしての経験社数が多くてもほとんど何も言われないのは一種のハックというかマジックだなと思っています。
僕みたいに、若いうちに正社員として会社を多数経験して職歴を増やしてしまうと後で不利になったりするので、若い方で色々な会社さんで経験を積みたい方は、早い段階でフリーランスになって、正社員としての職歴を増やさずに経験を積む方式をお薦めしたいですね。
もちろん、一つの会社さんの中だけでも様々な技術を使える可能性はあるのですが、やっぱり限度があるので、色々な技術に興味があって、それらを実際に仕事で使いたいという人は、フリーランスとして色々な会社さんで仕事をするほうが良いと思います。
他のメリットは、単価が正社員と比べて高いことですね。正社員だと、社内の給与体系とか、あるいは社会保険料とか福利厚生費とかの関係でどうしても給与が低く設定されてしまうのですが、フリーランスはその給与体系外なのと、いつでも契約を打ち切れるというメリットがあるので、解雇要件の厳しい日本企業の正社員よりも単価が高く設定されているケースがほとんどです。
あとは、例えば「3時間外出してきます」という感じで別の案件の打ち合わせが出来たり等、勤務に融通がきく点も大きなメリットですね。最近は副業OKの会社さんも増えてきてますが、正社員だとなかなかそういうのってやりづらいと思うので、「掛け持ちが可能」というのはフリーランスの良いところだと思います。
逆にデメリットはありますか?
僕にとってフリーランスはメリットしかないみたいな感じなんですが、あえて挙げるとするならば、会社さんによって、稀に正社員とフリーランスとの間に見えないカースト制度のようなものが存在することですかね。「あの人は外注さんだから」という感じで壁を作られることは多少なりともあるので、そういうのを気にする人はデメリットに感じるかもしれませんね。
[adinserter block="1"]
フリーランスとしての長いキャリアで培った経験から発せられる言葉にはとても説得力がありますね。後編では、勝又さんが心がける「分散投資」や「キャリア設計」についてお話を伺っていきます。
勝又 健太(KENTA KATSUMATA)
Profile : 大学卒業後、営業職として大手求人広告企業に入社。適性の無さを痛感して独学でプログラミングの勉強をスタートさせる。第二新卒でエンジニア特待生に合格したことを機にエンジニアとしてのキャリアをスタートさせ、CG系ソフトウェア企業や大手家電企業、SIなど数社を経験した後、フリーランスとして独立。その後、大手ソーシャルゲーム会社に正社員として就職するも、再びフリーランスに戻り、現在も業務委託を中心に活動中。
Twitter: https://twitter.com/poly_soft
Youtube: https://www.youtube.com/channel/UC_HLK-ksslL-Z_2wiIZDlMg