案件・エージェント

Go言語未経験のフリーランスエンジニアが案件獲得までにしたこと

軽く自己紹介

エンジニア歴7年。

仕事では、ずっとRuby on RailsとReact(Next.js), Vue.jsをやっていました。メインはサーバーサイド。
あとは個人的に、Python, Objective-C, Swiftは触ったことがあるといった感じ。

なぜGo言語の案件を狙ったのか

  • 静的型付け言語の経験を積みたかった
  • バックエンドの言語でRuby以外の経験を積みたかった
  • 現在注目されており、多くの新規サービスでも採用されている
  • 新しい言語なので経験豊富な人が少なく、未経験でも狙いやすい

ずっとRubyをやってきましたが、新規サービスでRubyが採用されることが減っていると感じています。(求人情報からも感じられます)

またRubyは日本語の情報も多いので初心者でも始めやすく、駆け出しのRubyエンジニアが増えています。彼ら・彼女らが数年経験すれば一人前のRubyエンジニアになり、そうなるとフリーランスとしての案件も減っていくという危機感がありました。(多くのスクールはRubyをメインに教えている)

そこで、特性の異なる静的型付け言語で注目されているGo言語を習得することに!

実際に、レバテックが発表している【2020年7月発表】プログラミング言語別求人案件ランキングでもその傾向が見られるので、ある程度正しい考えだったと思います。

未経験からGo言語案件獲得までにしたこと

1. A Tour of Go でざっくり言語仕様把握

A Tour of Goは公式が提供しているGo言語の学習教材です。日本語版もあり、実際にコードを書きながらGo言語の仕様を理解できます。

まずはA Tour of Goを一通りやってざっくりGo言語を理解しました。

2. 書籍でGo言語の言語仕様とWeb APIの実装方法を学ぶ

公式ドキュメントを読もうと思いましたが面倒だったので、Go言語に付いて詳しく学べる「プログラミング言語Go」を読みました。
練習問題もあり、参照型、ポインタ、チャネル、ゴルーチン、スライスといったGo言語の特徴を理解するのに役立ったと思います。

 

プログラミング言語Goを終えたら、Webアプリケーションの作成を学ぶために「Go言語によるWebアプリケーション開発」を読みました。特定のフレームワークに依存せず、Webアプリケーションを作成していくという内容なので良かったです。

 

Go言語にはRubyにおけるRailsやPythonにおけるDjangoといった絶対的なフレームワークが無いので、フレームワークなしで実装して理解を深めた方が良いと思います。(獲得した案件で何が使われているかわかないですから)

3. ポートフォリオ作成

書籍で勉強した後は、ポートフォリオ作成。

フリーランスエンジニアが未経験言語の案件を獲得する方法」でも書いた通り、実務経験が無い言語の案件を取る場合、ポートフォリオは必須です。

何もないと企業側も判断できないですから!

  • シンタックスハイライトするcatコマンド
  • サンプル画像(jpeg, png)を作成するコマンド
  • TODOアプリケーションのAPI
  • URL短縮サービスのAPI

凝ったものを作るのは大変なので、シンプルなものを量産しました。
個人的にはコマンドラインツールを実装するのがオススメ。

ポイント

  • 既存のlinuxコマンドと同じ動きをするものをGo言語で実装するだけでもポートフォリオになるので、特にアイデアがなくても大丈夫
  • 特別な環境構築不要(Go言語を書くことのみに集中できる)
  • homebrewに公開すれば、やった感を得られる

 

4. Go言語の実務経験が無くても良い案件を探す

最後に、案件探し。

自分で案件探し。自分だけだと不安なので、保険としてエージェント2社にも案件探しを依頼。

WantedlyやForkwell、Greenなどの求人サイトで業務委託可能なものを探して連絡して、無事案件獲得!!

未経験言語ですがエージェントを介していないので、単価を下げずに済みました。

 

-案件・エージェント

© 2021 フリエン生活 Powered by AFFINGER5