フリーランスエンジニアの雄貴です!
2021年も後わずかなので、
今年の活動をまとめていこうと思います。
エンジニア業務やそれ以外の個人事業主としての活動
また個人開発の実績や、それを通しておすすめの教材の紹介など
これからフリーランスのエンジニアとして活動するにあたって役に立つ情報をまとめています。
Youtubeではエンジニアの単価が上がる情報発信しています!
毎週木曜日の21時から、ライブ配信やってますので、気軽にお越しください😁
エンジニア業務
初めてのReactNative
ReactNativeの案件に参画しました。
Reactの経験はあったけどReactNativeの経験はなかったので
参画1ヶ月前はReactNative漬けの毎日でしたね。
udemyでインプットして、ガンガンアプリ作りながら身につけていきました。
で参画した後ですが小規模な開発でチームが私含めて3人のみのチームでした。
初めの設計の部分は3人でやってましたが
その後他のプロジェクトで忙しくなったので
実装、テストはほぼ私1人でやりましたね。
そこまで大きな仕様ではなかったのですが
ReactNativeの情報がググってもなかなか出てこなかったのでそこは大変でした。。
最新技術あるあるですが、現場に知見のある人が少ないパターンはよくあるので
開拓者のつもりでやるのがおすすめです。
まぁなんだかんだで3ヶ月くらいで作り切って無事リリースできたのでよかったです。
その後、サービスを伸ばしていくために様々な技術を検証したり
企画側がユーザーの動向を探りやすくするために、Next.jsで管理画面作ったりと
色々させてもらいました。
こういう働き方をするたびに、自分はスタートアップ向きだよなとよく思います。
後ほどReactNativeでおすすめの教材を紹介しますね。
次の案件へ
ある程度現場が落ち着いてきたので11月ごろに次の案件を探すことにしました。
前の現場ではGraphQLだったりNestJSだったり
効率のいい技術選定を検証していたので
次の現場ではそういった技術スタックの現場がいいなと思ったので、
そういう案件を中心に探しました。
基本的にはNext.js中心に探していて
あくまでフロントエンドエンジニアとして募集をかけていたのですが
基本的にフルスタックを求められるような現場が多かったです。
とはいってもフロントメインの業務ではあるのですが
フロントだけではなく、他の領域の知見もあって興味もある人材が欲しい
と言う現場ばかりでした。
で、色々みていく中で
去年面談を受けたことがある企業様と再度お話しする機会があり
スタートアップ特有の課題や
モダンフロントを取り入れている現場でこれからくるであろう課題がある現場であって
ここを解決させられれば、自分もさらに成長できるなと感じて
そこの案件に決めました。
技術スタックとしては、React, TypeScript, Go, GCP, k8sと
バックエンドやクラウドはあまり経験のないものですが
ReactNative同様未経験のスキルでも
正しいやり方で習得すればやり遂げられると確信しています。
なるはやで成果を出していけるように、現在色々と準備をしているところですね。
個人事業活動
自動収益システムの開発
1月度から約1ヶ月の間で
寝てても稼げる自動収益システムを開発しました。
リリースした当初は1ヶ月で98円しか稼げませんでしたが
機能修正を加えていくことで
半年後には3万円、今月は10万円以上と
右肩あがりに売上が伸びていっています。
今年1番の収穫はこのストック収入のシステムを開発したことですね。
詳細はこちら
MENTA オンライン相談サービス
フリーランスエンジニアとして月90万以上稼げるようになったので
そのノウハウを元にキャリアに悩んでる方の相談サービスとしてMENTAを実施しました。
4月から開始して8月までの4ヶ月間やりましたが
- 未経験からエンジニアを目指している方
- 1年目のエンジニアでこれからキャリアに悩んでる方
- フリーランスの高単価案件の獲得で相談がある方
などなど、様々な方にアドバイスをしてきました。
アドバイスをしてきた方の中で
- 未経験からWebエンジニアへ転職できた
- フリーランスで高単価の案件を獲得できた
などなど、どんどん成果を出したとの報告があって
頑張っている方の後押しができて私自身もやりがいのある活動だったと思います。
今は時間の都合上オンライン相談はやめていますが
ここで話してきたノウハウをメルマガで発信していこうと思ってます。
来年の2月ごろにメルマガは出すことを予定しているので
現在猛スピードで準備しているところです。
よかったら登録してみてください。
Youtube
MENTAを終了した後にYoutubeをはじめました。
チャンネルはこちら
自分の経験や学習方法などを動画コンテンツとして残していけば
自分のコンサルを受けなくても、いつでもみて学んでくれるので
効率がいいなと思ったのがきっかけです。
またコンサルをやる中で、
経験の浅い方や未経験から目指してる方が
現場や今後のことで話を聞いてほしいなど
心の悩みが多いことに気づきました。
そういった方のお悩みを聞く場所もないと感じたので
Youtubeでライブ配信すれば、そこで悩みを吐き出せるのでは?と思い
毎週木曜にライブ配信で悩みなど相談事を聞いてます。
詳細はこちら
スクール講師
9月よりRareTECHというプログラミングスクールで講師業をはじめました。
ReactやTypeScriptなど、フロントエンドの分野の講義を担当しています。
人に教える事業は1年ほどやっていなかったのですが
改めてやってみることで、自分の知識の棚卸しもできるし
学んでいる方がどのような部分に特につまづいているのか?についても知ることができたので
講師をしている自分自身も日々勉強になることが多いです。
お誘いいただいた古里さんには感謝しつつ
ともにRareTECHを盛り上げていける等に尽力しようと思っています。
個人開発の実績
自分自身の技術力向上のために個人開発をした実績をまとめました。
JAMStackを用いた技術ブログ開発
モダンフロントの技術を使って色々検証したく思い
ちょうどいいアウトプットとして
Next.jsを用いたSG構成の技術ブログ開発が適していると感じで
1ヶ月ほどで構築してみました。
詳細はこちら
一度リリースした後に保守性向上のためリファクタリングしたりしました。
GitHubリポジトリには技術構成を、zennには開発の背景や手順などをまとめています。
テストコード化やGitHubActionsによるCIなどいろんなことを取り入れています。
設計方針についてはまとめていないので、来年時間を見つけてまとめていこうと思います。
また、今の技術選定もNext.jsが10系なのでバージョンアップしたり
TailwindやReactHookFormなどの導入など
色々改善できる部分はあるので、定期的に改造していこうかと
また、メルマガが落ち着いたらどんどんこちらのブログにも
技術的なノウハウをどんどん書いていこうと思います。
GraphQLシステムの開発
業務にてGraphQLを検証する機会があったので
自分自身も簡単なGraphQLのシステムを開発してみました。
こちらでは
- ReactNatibe
- Next.js
- Express
の構成で、フロントエンド、バックエンド、スマホアプリで
GraphQLのログイン機能付きTodoリストを構築しています。
ライブラリはApolloを用いていて、
ApolloClientもReactHooks対応をしている最新版です。
またSubscriptionによるリアルタイム更新処理も実装しているので
GraphQLの基本的なことは網羅できているかと
GraphQLのおすすめ教材については後述します。
NestJS
Expressを使っていて
やはり設計面もしっかりやっていきたいと感じて
その辺りに強いNestJSというNode.jsのフレームワークを使えるように訓練しました。
簡単なRESTAPIとGraphQLのアプリを構築
こちらは最低限しか作ってないのでまだまだ実用的ではないですが
これを元に派生させていければいいかなと思ってます。
Go RestAPI
次の案件でGoが使われるということでなるはやでアウトプットしました。
まず教材でサクッとインプットして
RESTAPIの簡単なアプリを作りました。
GoはNestJSのように設定などあらかじめ用意されたものではなく
スクラッチで開発していく感じでコードを書いた量が多かったですが
その分自由度も高いし、何よりコンパイルや処理速度が早いので
性能重視ならGoかなといった印象です。
今回作ったアプリもログイン機能付きにTodoリストのAPIです。
環境構築などもやり方もGitHubリポジトリに記載しているので
これからGoを勉強される方は参考にしてみてください。
おすすめ教材
私が2021年度勉強した中で、捗った教材を紹介します。
TypeScript
TypeScriptの入門書としては一番わかりやすいと思ってます。
TypeScriptの基本文法だけでなく
Node.js, Reactと組み合わせた使い方も説明されているので
アウトプットに繋げやすい教材だと思います。
ただJSの基礎については乗っていないので、別で勉強しましょう。
React
Reactの入門については、以下の記事の初級の教材をやれば、ある程度は慣れます。
ただそれだけだと浅い知識なので
Reactの現場で数ヶ月慣れたあとは、以下の教材で本質的な部分を学ぶのがいいなと思います。
オライリーなので難しく感じそうですが
Reactを学ぶためのJavaScriptの最低限の基礎から説明されているので
少しでもReactを触ったことがあるなら抵抗なく読める教材です。
ReactNative
私が未経験のReactNativeでググってもなかなか情報が取れない中
頑張ってアプリをリリースした後に発売された書籍です。
これ現場に参画する前に発売されていれば、あそこまで苦しい思いをせずに済んだのに。。
と感じるほど、ReactNativeの基礎がわかりやすく説明された
入門書と言いながら、割と実践的な使い方も説明されている書籍です。
これからReactNativeを勉強される方はまずこの書籍から入るのがおすすめです。
Swift
ReactNativeをやっていく中で
やはりiOSやAndroidは各自対応しているSwiftやKotlinの方が
アプリ開発はやりやすいなと感じたので、
まず初めにiOSアプリ開発から学んでいこうと手を出してみました。
Swift言語からやろうと思ったのですが
まずは動くもの作って、全体像から抑えようと思い
こちらの書籍で勉強しました。
アウトプット主体の教材で
簡単なアプリ開発を通してiOSアプリ開発に慣れていけるので
そもそもプログラミングに慣れていない方でもすんなり理解できる内容になっています。
ただ、Swiftの言語仕様は最低限のみなので
別途書籍で補完する必要はあるかなと感じました。
またモバイルアプリ開発の設計パターンも経験がなかったので
こちらの書籍で補完していく必要はあるかなと感じています。
Node.js
Node.jsはJavaScriptをサーバーサイドで動かすためのランタイム環境です。
Node.jsを用いたJavaScriptのバックエンドアプリ開発ですが
まずは入門書としてこちらの書籍から概要をサクッと理解するのがおすすめです。
Node.jsのフレームワークであるExpressも説明されているので
これ一冊で最低限のアプリ開発はできるようになります。
動画教材であればこちら
注意としては上記教材ではTypeScript対応していないことと
ORMに関する内容は詳細でない点です。
Node.jsのORMはSequelizeが有名ですが
これはTypeScript対応がまだ充分ではないので
- TypeORM
- Prisma
が基本的に使われています。
Prismaがzennなどの記事では有名ですが
現場の案件としてはTypeORMが多いと感じています。
NestJS
NestJSはNode.jsのフレームワークです。
Expressではディレクトリ構成やコマンド対応などはなく
またESLint、Prettier、TypeScriptなどのライブラリや設定も手動で準備しないといけませんでした。
NestJSでは自動でその辺りを準備してくれるだけでなく
DIを用いてcontrollerやservice層などモジュールを分割しやすく
結果テストコードを実装しやすいようにしてくれます。
また、RestAPIではSwagger
GraphQLの導入などもサポートしていて
バックエンドフレームワークとして
最速でアプリ開発ができるほど、完成度の高いものだと感じています。
ただ日本語の教材はほとんどなく
勉強するには英語の公式ドキュメントから学ぶしかないですが
このドキュメントだけでもかなりわかりやすく
網羅的に解説されているので、これだけで充分かなと思ってます。
また日本語で動画教材として
NestJSで認証機能を含めた簡単なアプリ開発を解説しているものもあるので
もし公式でつまづいた場合はこちらをおすすめします。
Go
Goの教材ですが、udemyの以下の教材が入門として最適です。
入門から実践的な内容まで豊富なので、これだけで基礎は充分インプットできるかと
またgoのモジュール管理ですが基本的にはgo.modを使う方法が主流です。
教材ではGOPATHで設定しているやり方がまだ多いですが、そこだけ補完して学ぶようにしましょう。
GraphQL
GraphQLに関しては英語教材はかなりあるのですが
日本語の場合だと以下の書籍が今のところ一番詳しいかなと思ってます。
Apolloを用いたバックエンド、フロントエンドのGraphQLシステムの構築を解説しています。
バックエンドに関してはExpressを用いた方法でこちらは現在でも使えるやり方ですが
フロントエンドに関してはReactのClassコンポーネントでの解説なので古いやり方です。
現在のReactHooksを用いた方法は公式ドキュメントを参考にしてやっていくしかないかなと思います。
GitHub Actions
CI/CDを実現する技術です。
Ciercle CIもありますが、GitHubとの親和性が高いので、
今後はGitHub Actionsを勉強していくのがいいかと思ってます。
教材としてはSoftware Designの以下の書籍がわかりやすかったですが、
現在は販売していないとのこと
ただ記事を書いた方が別で書籍を販売されているので
こちらを元に勉強するのがいいかなと思ってます。
Docker, Kubernetes
Dockerに関しては様々な書籍がありますが
入門書として分かりやすい書籍としてはこちらが一番かなと思います。
Linuxに慣れてない方でも分かりやすいように解説されていますし
Docker-composeとKubernetesとの違いなどを説明していて、
全体像を理解しやすくなっています。
またdocker-composeやkubernetesを用いた
簡単なシステム構築の演習もあるので、触りながら慣れていくのも良いと感じました。
ただ書籍でも述べられていますが入門書なので
より実践的なものを学ぶには別の書籍での補完が必須になってきます。
ただ入門として入るならベストなので、
これから勉強する方や
他の書籍でつまづいた方には最適かと。
AWS
AWSに関しては、くろかわさんのAWS Cloud TECHが一番分かりやすいと思います。
内容はプログラマー向けというとりは
クラウドエンジニアを目指す方向けのカリキュラムと感じましたが
フロントエンドやバックエンドエンジニアでも分かりやすい内容になっています。
また買い切りプランもあって、
一度買い切ると後ずっと使い放題という破格のサービスです。
私も5月くらいに永久プランで入りましたが
入った後もカリキュラムはどんどん更新されていくので
「これ買い切ったらずっと最新情報を勉強し放題じゃん。。」
と言えるほど、出血大サービスの内容になってます。
またAWSの資格勉強も演習問題や模擬試験などたくさん用意されています。
無料コースもあるので、まずはお試しでやってみるのがいいかもです。
GCP
次の案件でGCPを使うので最近学び始めました。
基本的にAWSと似てる部分が多いので
AWS Cloud TECHで学んだ内容があればすんなり理解できるなといった印象です。
GCPをとりあえず触ってみるのであれば
こちらの書籍がおすすめ
ただGKEやCloudRUNなど
GCPでよく使っているコンテナ運用の技術などは補完されていないので
各自勉強していく必要があるかと。
私の場合は現場で使う必要があるので学んでいますが
基本的にはAWSの案件が多いので
まずAWS Cloud TECHである程度使えるようにした後に
必要に応じてGCPを学ぶのが挫折せずに勉強していけるかなと思ってます。
GCPはAWSに比べて情報がかなり少ないので
まずは情報が多い分野から勉強するのが効率的ですね。
最後に
以上私の2021年の実績でした。
個人事業活動や個人開発などいろんなことに挑戦した1年でした。
来年は私のフリーランスエンジニアのノウハウを
メルマガで発信していこうと思っているので、そこに注力しつつ
新しい現場ではGKEを用いたコンテナ運用を経験できるので
そこでも成果を出していけるように頑張っていこうと思います。
またYoutubeも8月から始めましたが
今では登録者150人を超えたところです。
動画もまだ20本程度しか上げられてないので
こっちもどんどん成長させていきたいですね。
Youtubeではエンジニアの単価が上がる情報発信しています!
毎週木曜日の21時から、ライブ配信やってますので、気軽にお越しください😁
コメント