🧑‍💻

2024年を振り返る

2024/12/02に公開

早いけど仕事おさめでした

JboyことJunichi Hashimotoです。今年ももう終わりますね。長いようで短い。。。。

12月稼働のお仕事決まらず来年の1月からになりそう。

今年は大変な1年だった😅

SESだけどフリーランスの会社で働いていたが生活が苦しくエクセルの仕事ばかりが気に入らず副業と同じ開発をまた本業でやりたくなり所属会社を抜けました😇

上流工程の勉強にはなった。Excelやるだけでは面白くないので副業でも設計書作ったりして実績作りに活かした。Excelも勉強にはなります。

抜けた後は仕事探すが見つからずさあどうするかと悩んでいた😭
そんなときに僕のファンの人でエンジニア5年の人に上場企業のお仕事を紹介してもらった。入ったはいいけど、モバイル案件が開始するはずがなくなってしまいReactのプロジェクトを手伝っていた。

ベトナム人と毎日英会話していた。いい勉強にはなった。バージョン管理にはGitLabを使用しおりPR(プルリクエスト)ではなくMR(マージリクエスト)なるものを出していた。

単価は上がった。上がったのでエージェントと価格交渉できるようになり自分の値段を決められるようになった。

エージェントは現在はレバテックフリーランスを使っております。業界1位で案件数が多くFlutterの案件を多く保有していた。他のエージェントはなぜか少ない???

https://freelance.levtech.jp/project/search/

11月にお仕事見つけたのですが、12月リリースする社内向けのeラーニングシステムの開発を11日稼働で手伝うだけのスポットで入る案件をやりました。

案件では今流行りのCursor Editorを使用したコーディングを体験できたり、タスク管理はBacklogを使用してガントチャートでタスク管理や開発の情報の共有をしておりました。

今は当たり前のようになった生成AIを使用した教育関係の開発に携わることができて良い経験を積めました。

使用した言語・ツール

  • Dart
  • Go
  • AWS
  • OpenAI

logを出すパッケージが必要だったので副業ではLoggerを使用していたのですが、Talkerというパッケージを使用しました。個人的にはこちらが好みですね。logのカラーを変更することもできます。

https://pub.dev/packages/talker

開発中は、RDSのデータを確認する必要があったのでデータベースのクライアントツールでTablePlusを使用しておりました。接続するにはインバウンドルールの許可と踏み台サーバーを経由する必要があったので詰まりました😅
普段は大手で仕事することが多いので、Firebaseを使うことはあまりなくAWSが多かったので自己学習もしていたので自分で設定して接続できた。
手順書がない現場は初めてでしたが😱

https://tableplus.com/

11月に参画した案件はPC持ち込みでテレワークだったのでデスク環境を整えました。いやすでにととのておった笑

  • M3 Mac
  • MX Master 3S
  • Flow100
  • 安いモニター笑
  • 会議用マイク

https://www.logicool.co.jp/ja-jp/products/mice/mx-master-3s.html
https://lofree.co.jp/products/flow100?variant=49683218596071

Flutterのバージョン管理ツールはasdfを使用しました。いつもfvmなので違うのを使いたいと思い試した。ツールの指定はなかった。。。
実はバージョン管理されてなかったり。最新版でやってましたね。

作業内容

AWS Lambdaとの通信をする機能実装を担当しておりました。開発の期間は11日しかないが実装する機能は多くなく期間にも余裕を持たせてくれたのでゆっくり開発できました。

朝は時間に余裕があったので出勤しない時間を自己学習やお散歩に使いました☀️

[解決した課題]

Flutterの経験がないメンバーの技術的なサポートをした。Flutter Webを使用した
フロントエンドの業務を担当。API GateWayを経由してLambdaに、HTTP
POST GETをする処理、OpenAIからのレスポンスを受け取る処理の実装を
担当いたしました。

追加実装のコードは、riverpod generatorを使用しRiverpod v-2に対応。非同期な
処理にはAsyncNotifierを使用。freezed + Notifierで、ViewModelのデザイン
パターンに合わせて機能を設計・実装した。

バックエンドに不具合があり急なAPI仕様書の変更にも迅速に対応した。

以前の自分だとこんなことできなかった😅
Firebaseしか知らなかったしね。副業は途中からSupabaseになったけど。

イベントにも参加した

今年こそは東京でモバイルの大きなイベントに参加してみたいと思い1年に1回しかないイベントにも参加した。すごく楽しかったですね。他にも多数。イベントでは一緒に副業した顔も知らないメンバーと会ったりFlutter仲間の友達と交流ができました。

https://iosdc.jp/2024/
https://2024.droidkaigi.jp/
https://2024.flutterkaigi.jp/

12月は何してるの?

12月は何してるかというと12月1日に友人の女性に愛の告白をして僕があなたを支えますと大袈裟なこと言いました笑

答えは考えますとのこと。。。
果たしてどうなるか。

渋谷にあるスペイン料理のレストランでランチしました。お互いに悩み相談もしたり🍴

他は全部勉強です笑

お店はこちらです。
https://joseluis.jp/

AWSを仕事で使うことが多いが知識はそんなになく専門的に学びたいなと思いCloudTechなるコミュニティに参加することにした。一番高いプラン買いました笑
来年は資格を取りたい。

https://kws-cloud-tech.com/

業務ではサーバレスを使うことが多かったのでLambdaを使いこなせるようになりたい。他にもインフラの構築やIacも覚えたい。案件によって、CDK -> Cloud Fomationころころ変わるので統一してほしいよ笑

https://aws.amazon.com/jp/what-is/iac/

バックエンドの勉強もしてます。業務では、FlaskとNest.jsの経験がございますがポンコツのAPIや俺俺フレームワークだったので大したことはしてないです。

個人学習や副業では、Go、fastapi、Denoを使ってますね。副業ではEdge Functionsを使った開発を経験することができたので貴重な経験を積めた。

他にもデータベースに強くなりたいと思った。本業ではCloud Firestoreを使うことはなく副業で、SwiftUIの案件をやったときマップアプリを開発したときに使ったぐらいですね。

全然Firebase見ない😅
本当に使っているのか。。。。

使ってるけど、僕が入った案件はほぼなかった😅

業務でよく使った技術

コンテナとSQLが多かった。Docker、PostgreSQL、MySQL、Amazon Auroraが多かった。職場ではリードレプリカとか、IAMとかボリュームとかインフラ寄りの専門用語が多かったな😅

あれ私モバイル民のはずだけど。。。。

OpenAPI、Postman、GraphQL現場によって技術がコロコロ変わる😅
追いつくしかない(^^;;

https://swagger.io/specification/

今後の活動

どうなるんだろうね〜
まあ友達と結婚するまで死にたくないので生きます笑
大袈裟だな。

今は、signalsというパッケージに興味があり仲良くしてるFlutterエンジニアと布教活動始めました。RiverpodとProviderに比べるとできない部分もあるが、シンプルなコードで状態管理ができるので可能性を感じております。

https://dartsignals.dev/
aqさんの記事が一番有力

https://zenn.dev/zoome/articles/934a23c014c52b

Goに最近は興味があって勉強してるので11月の案件でも使われていたので、自分も使いこなせるように頑張りたいなーと思っております。FWはEchoが好きですが案件では、Ginが使われていたのでAPIやLambdaの関数でも作ってみようと思いました。APIなら何度か作ったことあるが笑

https://go.dev/

https://gin-gonic.com/ja/
Go 言語のためのフル機能の最速 Web フレームワーク。水晶のようにクリア。

アルゴリズムにも興味があって経験があるPythonでスタックとかヒープとか勉強してました。さあわかるかな。ハッシュとか色々ある。

https://www.amazon.co.jp/新・標準プログラマーズライブラリ-Pythonで学ぶアルゴリズムとデータ構造-徹底理解-黒住-敬之/dp/4297140578/ref=pd_sbs_d_sccl_2_4/356-0215897-4191714?pd_rd_w=lcrDw&content-id=amzn1.sym.dcca1cb7-d8ee-4f71-9db0-310358fcccf4&pf_rd_p=dcca1cb7-d8ee-4f71-9db0-310358fcccf4&pf_rd_r=W7RA4287Z9R71PADY6HS&pd_rd_wg=kK14A&pd_rd_r=c3de7f17-1d29-4ab6-8079-b2b56b9f57d1&pd_rd_i=4297140578&psc=1

Discussion