![見出し画像](https://assets.st-note.com/production/uploads/images/64444542/rectangle_large_type_2_df6cb0bbdbb5de0ee4c532b087b18e28.jpeg?width=1200)
毎週エンジニアメンバーでアルゴリズム問題を解いているよ!
はじめに
こんにちは!株式会社POLでエンジニアをやっている @show_kanamaru です!
POLは「研究者の可能性を最大化するプラットフォームを創造する」をビジョンに、理系学生に特化した採用サービス、および研究開発者・技術者に特化した転職/採用サービスの2サービスを運営しています。
今回はエンジニアメンバーで実施している「アルゴリズム解こう会」について書きたいと思います!
背景
10月から毎週金曜日にエンジニアメンバーで集まってAtCorderなどのアルゴリズム問題を解いています!もちろん強制参加ではなく、参加したい人だけでわいわいやっています!
今月は「探索アルゴリズム月間」として、いろいろな探索アルゴリズムを解いています。
これまで解いた問題は以下!
1週目:全探索
2週目:二分探索
(競プロをやっているメンバーもいますが、こういったアルゴリズム問題をちゃんと解くのは初めてのメンバーもいるので優しめな問題から始めています)
この時間を作ったのは以下の3つが大きな理由です!
①エンジニアとしてレベルアップしたい
②新しい言語を習得したい
③チーム間コミュニケーションを生みたい
それぞれ簡単に説明していきます。
①エンジニアとしてレベルアップしたい
POLにジョインしてから約3年半になり、バックエンドもフロントエンドもある程度書けるようにはなってきましたが、計算量や実行速度を意識したコードはまだまだ書けていないという課題感を持っていました。
動くだけのものを作るのは誰でもできるので、計算量や実行速度も意識できるエンジニアを目指してアルゴリズム問題を解こうと思いました!1人だとなかなか続かない、かつ僕だけではなくチームで技術力を底上げしていきたいので良い機会になっているかなと!
解説やアルゴリズムについて調べるだけで勉強になりますが、競プロをやっているメンバーからのありがたいコメントももらえています!
②新しい言語を習得したい
POLではバックエンドを主にJavaで実装しているのですが、新しいプロジェクトに関してはKotlinやRustなどの新しい言語を使って技術検証しています。今後はJavaから他言語にリプレイスしていく可能性もあるので、Java以外の言語も習得したいと思っていました。
(達人プログラマーでも毎年少なくともひとつの言語を学習するべきと書かれていますよね)
ドキュメントを読んだりするのは今までもやっていたのですが、やっぱり手を動かさないとなかなか定着しないなあと思っていたのでちょうど良い機会でした!
僕はほぼ初めてのKotlinを使ってアルゴリズム問題を解いていますし、PythonやRustを使っているメンバーもいます!みんなアルゴリズム以前に文法調べまくりながら頑張っていますw
③チーム間コミュニケーションを生みたい
POLは9月から創業6年目に入り、チーム体制も大きく変わりました。現在はエンジニアメンバーが3つのチームに分けれており、それぞれのチーム間でのコミュニケーションが生まれにくいことが大きな課題でした。(全員フルリモート勤務ってこともあり、、、)
チーム横断で何か一緒にできることがないかを考え、このアルゴリズム問題をみんなで解く時間を作りました。ただ、これまで2回実施してみて全員問題を解くことに必死になり、なかなかコミュニケーションが生まれませんでした(笑)ここは今後の課題として工夫していきたいと思っています!
(チーム間コミュニケーションこうしてるよ!があればぜひ教えてください!)
これらの理由で「アルゴリズム問題解こう会」を毎週実施しています!勝手に始めた企画ですが、毎週たくさんのエンジニアが参加してくれて嬉しい限り!今後も楽しく継続していきます!!!
おわりに
今回はエンジニアメンバーで実施している「アルゴリズム解こう会」についてまとめました!チーム全体で技術力を底上げし、より良いプロダクトを開発していきたいと思います!
そして、株式会社POLではエンジニア、デザイナー、プロダクトマネージャーを大募集してます!お話しだけでも構いませんのでお気軽にお声がけください!!!