読者です 読者をやめる 読者になる 読者になる

歩いたら休め

If the implementation is easy to explain, it may be a good idea.

【雑記】会社に入ってわからんかったこと

社内のゆるふわ技術勉強会で発表することになったので、 最初は「入社2年目の新卒エンジニアが困ったこと」という内容にするつもりだったのですが、 愚痴っぽい内容になりすぎたのでやめました。

といってももったいないので、(一応)匿名ブログに書いておきます。

私のいる会社では、 「こういうことを成し遂げたいからITやWEBを使って実現する」 という自律的な考え方の人が多く、 「そのために必要なチャンスは用意するから、好きなようにやってね♥」 という感じの事業システムが用意されています。

しかし、自分自身はそうではなく 「求められているのは要するにこれだよね?と提案して作るプロセスが楽しかった」 というふわっとした理由でエンジニアになってしまいました。 ぶっちゃけ会社の思想に合ってなくて、 「うわー面白い文化だなー」とか「ふざけんなよ!」とか 好悪半々くらい感じながら日々過ごしています。

そんな日々を通して感じたことをここに書いておきます。

社長の言ってることがわからん

毎月社長が登壇し、 「こういう新しいチャレンジをやろうとしてるぜ!」 「売上とか営業利益が〇〇で、ここの領域が調子いいぜ!」 ということを熱っぽく語ってくれる場があります。

しかし、新卒のアホなエンジニアにはそもそも事業の知識がありません。 正直、「何かすごいことを言ってるんだな」「数字が読めないから何が良くなってるのかわかんねー」 と思ってました。

これは、事業ドメインの本を4~5冊程度読んだら解決しました。 ついでに、競合のIRのRSSが更新したら、いい感じに通知するプログラムも書いて、 「あ、あっちはこういうことやってんだ!」って知って勉強しています。

kiito.hatenablog.com

いい感じにドメイン領域のニュースを集めるアカウントも作りました。

ただ、同期の優秀な人はやはりすごくて、 社内の様々な場所で勉強する機会を作って、 自分が見ているよりもはるかに幅広いドメイン知識を身につけています。 例えば、「このマーケットの市況が良くて、自社の売上もそこに乗れている」 というところまで把握しているようです。

何を作ってるのかわからん

実際に配属されて、最初の部署では、PHPでWebサイトの開発に携わりました。しかし、

  • 「いいもの作りたい」と漠然と考えるが、何を基準に考えればいいか判断できなかった
  • 明らかに失敗した施策でも、「新しいユーザーにリーチできたから…」みたいな話を後出しで言われる

という状況で、ひたすら細かい改修をやっているけど、 何の役に立っているのか分からない・納得出来ないまま開発しており、 ストレスを感じてました。

完全に愚痴なんですが、そういうことを疑問に思っていると周りに質問すると、 「これはユーザーのためだからガンバッテ!」 みたいなことを熱っぽく語ってくれるのはいいのですが、 「いや、自分が疑問に思ってるのは、本当に役に立ってるのか、リーチするのかって点なんだけど…」 と悶々としていました。

また、(古くからあるサービスなので)レガシーな部分が多くあって、 「開発体制やコードもどこかイケてない」と感じていたのですが、 自分の技術や知識が足りず、どこがイケてないのか説明できないのも 悔しく感じてました。

これは、すぐに独立したシステムを作る部署に異動されて解決しました。 今は「マーケッターのサポートツールを作る」「彼らが喜べばOK」という 単純明快なルールがあるので気が楽です。

技術がわからん

私は、入社時点でPythonしか書けなかったし、 技術的な知識もほとんどありませんでした。 (今もちゃんとしてるとは言いがたいです。)

しかし、新卒の技術研修は微妙だったし、 周囲の先輩に聞いても「え?そんなこと当たり前でしょ?」みたいな顔で話が通じないので、 当たり前の部分から自分で勉強する必要がありました。 (話が通じなかったのは、 自分が「配列」を「リスト」、「連想配列」を「辞書」って言ってたせいかもしれないですが…)

これは「新卒エンジニア向け」って書いてる記事にあったり、 同期の強いRubyエンジニアの言ってる本をひたすら読んで対処しました。

kiito.hatenablog.com

ただ、プログラミングや座学的な部分は自分ひとりでも学びやすい (それなりにまともなコードは書けるようになった)のですが、 運用のノウハウとかエラーが起きてた場合の対処等は、個人では学びづらいです。 (と言うと、先のRubyエンジニアからは「甘えるな」って言われそうなのですが…)

どうやって身につけていこうか悩んでます。

どうやったら活躍できるのかわからん

入社時は漠然と「データ分析者の説明でよく出てくる三角形 (ビジネス理解・技術・数学)の技術の部分に近い仕事に関わりたい」 と思っていたのですが、あんまり需要・関われる場がなさそうです。

そもそも「ビッグデータ」って言われるほどデカいデータもあまりないし、 むしろいろいろな事業をまたいだ統一感の無いデータ (元々DBも集計のために設計されたものでないので仕方ないですが…)を集計すること自体が大変でした。

ただし、そのおかげで『SQLアンチパターン』や『バッドデータハンドブック』を涙を流しながら読めるようになりました。

SQLアンチパターン

SQLアンチパターン

バッドデータハンドブック ―データにまつわる問題への19の処方箋

バッドデータハンドブック ―データにまつわる問題への19の処方箋

ところで、会社で周囲を見渡すと、エンジニアの中では 「1~10まで自分で実装して責任持てるエンジニア」か 「ビジネスや企画側とすり合わせできる人」のどちらかが活躍している印象です。

ただ、前者の技術にかける偏執的な情熱にもかなわないし、 後者のように人と話すり合わせるのは得意じゃないので、 自分が活躍できるイメージは持てていません。

後輩が怖い

ものすごく優秀な後輩がいて、 ちゃんと数学的な素養を持った上でデータ分析できる人なので心強いです。 (しかも、ちゃんと目的にブレずにコミットしています。)

自分や同期が数ヶ月かけて学んだことも一瞬で吸収するし、 自分がなんとなーく過ごしてきた他部署での研修中でも、 「今日はこんなデータ見つけたぜ」みたいな日報を毎日送ってきます。

今は彼にぴったりな仕事ができてるし、 ひとまず、自分や同期が(特にデータの集計周りで)踏んだ地雷はあらかじめ説明し、 ラッパーになるプログラムやドキュメントも用意しておいたので、 あとは勝手に活躍してくれると思います。