PyCon JP 2024にチームで参加してきました(前編)
こんにちは!LIFULL senior 技術広報チームです。
2024年9月27〜29日に開催された「PyCon JP 2024」に、エンジニアグループ全員で参加してきました。
PyCon JP 2024とは?
では、PyCon JP 2024とはなんでしょうか?公式サイトから引用してみます。
「知識や情報の交換」や「新たな友達やコミュニティとのつながり」は、今のLIFULL seniorにとって大変重要です。
このようなふるまいが自然にできるようになることを目標に、今年からカンファレンスへの参加時間は業務扱いとし、チケット費用も会社負担で参加できるようにしました。
今回の記事では参加したLIFULL seniorのエンジニア4名が、それぞれの視点で書いた参加レポートをご紹介します。
※前編と後編で、2つの記事に分けて公開します。
石川(マネージャー)
自己紹介
はじめまして。LIFULL senior でエンジニアリングマネージャーを担当している石川です。
マネジメント中心に仕事をしておりますが、現在でも開発業務など日々いろいろと対応しております。
PyCon JP 2024 に参加して
ここ数年で、LIFULL senior では少しずつ Python を利用したアプリケーションの開発に取り組んでいます。
スキルアップや新しい技術のキャッチアップなどできればと思い PyCon JP 2024 に参加しました。
Python は世界的にも利用されているプログラミング言語で、セッション自体も英語のセッションが多く、参加者も海外の方が非常に多いカンファレンスでした。
特に、Python は機械学習との親和性も高く、機械学習などのセッションは非常に勉強になりました。
印象的だったセッション
https://2024.pycon.jp/ja/talk/UTWBAL
このセッションは、
なぜ ORM が必要なのか
ORM に何を期待しているのか
Python での利用できるライブラリ
など、ORM に対し興味関心を深め、理解するためのセッションでした。
DB(RDS)を利用したサービスの開発をしている皆さんは、お世話になっている方が多いと思います。
LIFULL senior でも利用しており、DB の migration は非常に助かる機能です。
このセッションでも migration することで、SQLの作成や二重管理の必要がないという特徴について話していました。
また、ORM はプログラム言語の model(オブジェクト)で、SQL を書くことなく DB を操作する点が魅力的だと思います。
直感的なインターフェースにより生 SQL の記述(非常にしんどい)をせずに済むので、開発効率が上がりそうです。
あと、prisma という ORM ツールのお話もありました。
prisma 自体はそこまで知らなかったのですが、TypeScript など様々なプログラム言語で利用できるツールでした。
あらためて、ORM について考えるキッカケになりました。
また、それを扱うツールは色々あると実感しました。
今後の展望
今後は、より LIFULL senior でも Python を利用したアプリケーション開発を進めていきたい、と思えるカンファレンスでした。
機械学習や AI 周りは特に今後成長し、エンジニアの在り方自体もどんどん変わってくると感じました。
そこをキャッチアップできるかどうかで、開発の改善やサービスの価値向上など見込める部分は多いと思います。
もちろん、挑戦することは大変だと思いますが、エンジニアとしてはより良いものを導入し新しくチャレンジしていきたいと思いました。
名和(ガヤ担当)
自己紹介
はじめましてこんにちは、LIFULL senior の名和です。
業務ではPHPを頻度高く扱いますが、並行してバックエンドシステムをPython (Django) に載せ替えるお手伝いをしています。
AWS Lambda等のサーバーレスアーキテクチャの利用も進めており、そちらでもPythonをよく利用しています。
PyCon JP 2024 に参加して
PyCon JP 2024に参加した感想として、まずプログラミングそのものとは関係のないところからお話します。
英語で行われるセッションが多いこと、参加者のバックグラウンドも非常に多様であることから、Pythonコミュニティが実にグローバルなものであることを深く実感しました。
国際的な広がりをもつカンファレンスに参加することで、我々の日々の業務もまた、世界中の最新技術とつながっているという事実をあらためて確認できました。
また、カンファレンスの内容としては、機械学習やAI分野におけるPythonの強みを再認識できたと思います。
過去に参加したカンファレンスではあまり見られなかった、具体的かつ実用的なAI活用事例の紹介が多く、Python環境においてはAI利用が浸透し、活用されていることを肌で実感しました。
機械学習やAI以外の分野においても、同目的のツール間の比較や、ライブラリの実装に関する知識を得ることで、新たな視点が獲得できました。
印象的だったセッション
名前空間について考える(unittest の patchを正しく使うために)
「PyCon JP 2024 に参加して」にAI活用についてを書いておいて、それとは関係のないセッションの紹介をしようと思います。
このセッションは、Pythonの namespace の内部実装を説明し、それをもとに unittest の patch 機能の動作を解説するものでした。
我々も現在、テスト駆動開発(TDD)やテストファーストなアプローチを取り入れつつあり、自動テストを書く中で頻繁に利用しています。
普段から便利に使っている機能であるにもかかわらず、自分はその内部の仕組みについては理解が浅かったため、大変興味深いものでした。
セッションでは、Pythonの namespace が実装者にもアクセス可能な単純な辞書であることがわかりました。
そして、この辞書を書き換えることによって patch が動作しているという仕組みを詳しく解説してくれています。
もっと複雑な機構であると思い込んでいたため、そのシンプルさに驚かされました。
このような内部実装を知ることで、Pythonについてのより深い理解を得たのと同時に、日頃何気なく利用している技術であっても、その背景にある仕組みを知ることの重要性を再認識しました。
今後の展望
普段使用するツールやライブラリの内部実装を理解することは、技術者としての知見を深めるために欠かせないものですが、日々の業務の中ではその優先順位が下がってしまいがちです。
今回のカンファレンスを通じて、そのような学びの時間を意識して確保したいと強く感じました。
また、我々はAPIサーバーやサーバーレスアーキテクチャなどでPythonを活用していますが、Pythonの得意分野をさらに活かして、AI技術の導入を加速させたいと思っています。
特に、カンファレンスで知った具体的なAI活用事例は非常に参考になり、今後の指針となりました。
AIを業務で活用する際、LLMではハルシネーションの問題を避けられないことから、よく「『90%合っていればよい』問題に使うのが良い」と言われるかと思います。
我々のサービス・業務においてどの部分が「90%合っていればよい」のか、今後に検討していきたいと考えています。
以上、前編ではエンジニア2名の参加レポートについて紹介させていただきました。
よろしければ後編もあわせてご覧ください!