一年間、週一でElixirの実績を積んでみて


①初めに

・Elixirを学び始めた背景や動機

僕のElixirとの出会いは2020年の4月終わりpiacereさんこと、森さんに出会って月一の『Elixirの芽をめでる会』の司会を務めるところから始まります。
Elixirを使った新しい技術に触れている内に『魅力や可能性に惹かれ』て、アルケミストの道を牛歩ながら進むことにしました。

・Elixirを使用することになったバイトの概要

2022年の9月、僕は個人的な理由で東京に引っ越してきました。
そして、丁度東京でElixirのバイトを募集しているところがあって
運命に思い、応募しリモート面接を受けたところ無事採用されました。

それが黒田さんが開発している『Teamgenik』との出会いです。
https://coregenik.com/ja/teamgenik
かれこれ1年間お世話になっています。

TeamgenikはElixir/Phoenix LiveViewを採用したWebプラットフォームです。
フロントエンドもバックエンドもElixirをフルに生かして開発されています!

②Elixirの基本と特徴

piacereさんの記事を見るのが速い気がしますので一読を!
https://qiita.com/piacerex/items/09876caa1e17169ec5e1

③バイトでの実践経験

・具体的にどのようなタスクに取り組んだか

最初の月はリファクタリングが主で、gettextを調整しローカライズ等をやっていました。
業務に慣れていくにつれて、Webデザイン(tailwind,daisyui,alpinejs)をするようになったり、GenServerでデータベース回りを組んだりしました。

・遭遇した課題や問題、そしてそれらをどのように解決したか

やはり、最初の頃はGitコマンドの操作に苦戦しました。
業務の手順をTextにまとめて、流れを手に覚えさせました。
それでも、コンフリクト起こした際のマージやリベースはまだ苦手です。
次にDockerの知識も必要だったので、ネットで調べて覚えました。

Elixirで分からないことがあれば、先ず自分で調べて黒田さんに自分なりの考えを述べて、教えてもらいました。
でも結局はElixirのDocumentに書かれてある事が正ですので、読み込んで解決します。

④得られたスキルと知識

・Git
技術者なら言わずもがなですが、Gitがないとチーム開発が出来ないので必須
・Docker
Web技術者なら必須な知識です。環境を同じにして動かしてくれるのは神。
・Elixir/Phoenix LiveViewによる高速な開発
リアルタイムでコンパイルしコード修正したら即時反映されるのは神機能。
gettextで各種の言語設定ができるのは凄くよくできたフレームワーク
・Tailwind、daisyui、alpinejsによるフロントエンド開発
CSSをあまり気にすることなくHTMLだけ出かけるのはとてもいい機能。
・GenServerによるデータベースの流れ
アプリケーション立ち上げ時からのPIDから、データベース間のやり取りが凄くやりやすい。

⑤終わりに

個人的ではありますが、Elixirはとても良い言語でみんなにお勧めします。
Elixirを書いていて、もし自分のコードが間違っていた場合、何処が間違っているか教えてくれ、プロセスがきちんと止まってくれます。
エラーを読めば大抵のことは分かります。

また、Elixirは汎用性が凄く高いです。
ブラウザ、デスクトップアプリ、iOSアプリ、Androidアプリとクロスプラットフォームに対応しているので、ここで得たElixir知識は今後ほかにやりたい事ができても応用が利くと思います。

是非、Elixirの実績を積んでいきましょう!


この記事が気に入ったらサポートをしてみませんか?