(エンジニアやクリエイターなど、インターネット文化やコンピューターの好きな人達のためのシェアハウス)
ーー仕事についてーー
「Goocus」 という学習サービスのサーバーサイドを Python で書いています。このサービスは iPhone や Android のアプリなどのクライアントと、サーバ上の Web アプリ間で通信をして動作する形になっていますが、その Web アプリの方の開発をしています。具体的にいうと、スマホなどから要求された学習コンテンツを返したり、逆にスマホから学習の状況やユーザーの回答を送ってもらってそれをデータベースに保存したり、またそれを後から管理システムで教育担当の人が確認できるような機能を作っています。
1日の仕事としては、機能の追加やバグ修正などの作業1つ1つをチケットという単位にしてチームメンバーで割り振っていて、この作業を1つ1つすすめていっています。自分の担当のチケットのコードを書いたら誰かにチェックしてもらって、また別のチケットにとりかかる、という感じです。またある程度のチケットが完了したら、確認用のサーバにアップロードしてマネージャなどに確認してもらいます。それで全てOKが出たら本番のサーバにアップロードします。
ーー仕事の楽しい瞬間・大変なことーー
仕事をしていて楽しい瞬間は結構色々あってまとまらないんですけど、ゲームのように何か問題をクリアできると楽しいと思います。例えば厄介なバグをつぶしたとか、遅い処理を高速化したとか、分かりづらいコードをシンプルに書き直したとか、そんなことで楽しいと思います。コードは追加すれば追加するほど複雑さが増すので、その意味でも敵のレベルがどんどん上がっていくゲームのようだなと思います。最初は簡単に追加できる機能も、あとから追加しようとすると色々な部分への影響を考える必要があるため、難しくなっていきます。
仕事で大変なのは正解がないことです。「ユーザーの要望をどのように実現すべきか」は正直なところ、やってみるまで分かりません。関数1つの書き方でさえ、絶対にこれが正解、というものはないと思います(可読性やパフォーマンスなど、様々な要素がからむため)。つねに頭を使って現時点での判断をする必要があるので、そこは大変だと思います。