たのしい駆動開発

たのしいアウトプットの場所

ツラさ楽しさインターン

4年次の夏休みにいわゆる内定インターンとか言われるやつに行ってきました。

インターンでやったこととか

SREチームに配属され、CTOの下でひたすらPythonのコードをガリガリーって書いてました。
初日は初めての大規模かつオブジェクト指向のコード、インフラ周りをみて、ああ...これはすごい...わけわかんないとなってました😇
2週間目頃にはバグ修正のプルリクを5つほど出し、mergeまで行くことができました。 いやぁ、1年前全てがわからなくて死ぬ思いをしていたときとは大違いです。少しは成長したなあと実感しました。

ssabcire.hatenablog.com

3週間目以降はこういう機能欲しいよね!ってビジネス側から降ってきた機能を私一人で設計から実装まで行い、デプロイしました。
これが結構たいへんで、自分の実力なら4日でできそう!と思ったにも関わらず、9日もかかりました。
理由としては、実装は4日目である程度できていたのですが、仕様をきちんと把握してなくて設計の手戻りが発生したり、これは別のところに切り出したほうがいいよねとか、もっと良いかんじのコード書けるよねというレビューを多くもらい、ひたすら良くしていった結果倍以上の時間がかかりました。
(まだ時間かかりそう?と言われてひたすら謝って完成日を伸ばしてもらってたのは本当に申し訳無さと感謝しかないです...)
あとこれは血と涙の結晶の証です。(自分がクソコードを書きまくった結果こうなりました)

f:id:ssabcire:20190922201104p:plain

あとは会社のテックブログを書いたり、

tech.zeals.co.jp

会社の初CMが発表されたり、

www.youtube.com

会社のチャットコマウスくんに自分の記事を紹介されたり。

とても多くのことをインターンで経験しました。




楽しかったこと

はい。やったことだけ書いてても面白くないですよね。タイトルを回収していきましょう。

自分が書いたコードが実際に反映される喜び

これは紙一重でもありますね。バグ修正PRで自分の書いたコードがApproveをもらい、本番環境に初デプロイするときはすごくドキドキで、恐怖と喜びが入り混じっていました。実際に動いてバグ通知が全然来なかったときはすごく肩の荷が降りたのを覚えています。

いろいろな人と行くランチや飲み会

あまり話したことがない人と話したり質問したりできるチャンスの時間です。業務でわからなかったけどそこまですぐ聞く必要もないことを聞いたり、会社の課題感だったりをたくさん聞きました。 そのおかげで、会社をもっと良くしていきたいよね、日本をぶちあげたいよねという気持ちが強くなりました。
あと五反田はそれなりにランチが安く、1000円以内で済ませられるところが多くて貧乏学生には良かったです

辛かったこと

やはり私といえば失敗したり辛かった話でアクセス数を稼いでいる節があるので、ここからがこの記事の本題といっても過言ではないでしょう。

コードを書くことしかできなけりゃ業務委託でもいい。新卒じゃなくていい

お、さっそくそれは無いやろってマサカリ飛び間違い無しの煽り度の高い文が来ましたね。
あと、業務委託をディスっているわけではないです。自社に来る業務委託のエンジニアはすごい方ばかりでした。
ではなぜこんな煽りがちな文のでしょうか?それはインターン開始5日目くらいにCTOと1on1をしたときの出来事です。
色々はなした中の最後で、会社でイケてないな、と感じたところはあった?と言われたとき、私はすぐに答えることができず、新卒で入るなら会社を良くしていくことを期待されてる人物なんだから、それが出来ないなら業務委託でもいいのでは?と言われました。
その言葉に私はすごく凹み、新卒で会社を良くしていくぞと決めていたのにゆるふわでインターンを過ごしていたと後悔し、普段から疑問を持つ、課題感を探す癖をつけなければ、と決意しました。
そこから、会社やチームでこうしたいよね、といった部分を提案してみたり、自分から手を上げて挑戦してみたりしました。

自分のHOTFIX修正で炎上案件が発生した

悲しいですね。すごく悲しいです。これが起きた原因として、

  • バグ修正の方向性を決める際にビジネス側と相談せず、自分一人で決めていた
  • ただバグが治ればいいくらいの考えだったので、エンドユーザーが最高のUXになるか?という視点を持っていなかった

ため発生しました。普段から視座を高くして開発をしていかないといけない、という身を持って実感させられた出来事でした...

SQL知識が少ないせいで無駄なメソッドを作りまくって時間を無駄にした

メソッドつくってひたすらに条件式を書いていたのですが、テーブルを結合させればいい、というレビューをもらったときはすごく自分の無力感で辛かったです...
もっと知識があればこんなことにはならなかったのに...

新規機能開発で自ら切ったタスク期間の倍PRのマージに時間がかかった

自分の実装力だとこのくらいだよね〜と思って新規機能を実装できる期間を決めたのですが、レビュー後の修正や動作確認で発覚した問題の修正などで、決めた日の2倍かかりました。
これも完全に自分の未熟な部分で起こったので、これから改善していかないと...

所感とまとめ

約一ヶ月間でしたが、多くの人と話したり会社の成長を追ったり開発だったりなどすごく楽しかった半面、自分の未熟さに日々直面して辛い、という感じでした。
あとは、自分がだめだったところを日々改善して、技術力も身につけられればさらに貢献できるから頑張るぞ!!という気持ちがとても強くなりましたね。
最後にどうでもいい話ですが、20卒エンジニアは私一人しかいないので同期エンジニアがほしいです!うちの会社に応募してください😇