インターン

5日間の超短期、スピードインターン! @Wantedly

当時の記録をそのまま転記 やったこと 以前 Wantedly で行われたイベントに参加した関係でご縁が生まれ、Wantedly で短期インターン ( なんと5日間 ) を行うことになりました。 配属されたのは Wantedly feed チームです。5日間このチームで何をやるのかを決めるところからスタートしました。 「何やりたい?」と聞かれて、私は1ユーザーとして Wantedly, 特にフィードにどうなってほしいかを考えました。 そこで私が注目したのは「フィードを長い間投稿していない企業には応募しづらいなあ。」という自分自身の感想です。 フィードを長い間、例えば1年以上更新していないと、 「フィードにあるような魅力的な事柄は1年経った今はもうなくなっているかもしれない」 「そもそも本気で採用活動していないのかも」 などと考えて応募ボタンを押すのを躊躇ってしまうのです。 そこで今回のインターンでは、この意見が多数のユーザーの意見であることをデータからきちんと数字として出し、一定期間フィードを投稿していない企業に対して投稿を勧めるような施策を行うことになりました。 課題に感じたこと データを集計してグラフにする。 実は、私にとって数学の授業以外では初めての経験でした。 集計対象のデータベースは PostgreSQL と BigQuery の二種類ありましたがどちらも今まで目の前にした中では飛び抜けて巨大なもので、欲しい情報を正確に取得するためのクエリの組み立てにかなりの時間を要しました。 さらに、「どのくらいのNがあればデータとして成り立つのか」「どういうグラフを作るのか」「そもそもどうやってグラフにするの」などとかなり基本的かつ根本的な問題に悩まされました。 収穫できたこと 5日間という短期間でしたがなんとかやりきることはできました。 新しい技術、知識に触れることももちろんできました ( 毎日触れすぎてやばかった ) が、収穫できたことの中で一番大きなことは「仕事」で実装するものが出す「数字」に少しでも触れられたことだと思います。 Wantedly の社員の方が仰っていたことをそのまま書かせていただきますが、どんなにきれいなコードで書かれていても、その機能がユーザーにとって良いものでなければ意味はありません。時には膨大な時間と労力を割いて実装した機能が売り上げに全く貢献しないこともあるかもしれません。 「仕事」でコードを書く以上、「数字」がついてこないとどうしようもない。 そんな世界に少しでも触れさせてもらえたことで、これからその世界に入って行こうとしている自分に足りないものは何なのか、これからどうするべきなのかを真剣に考えることができるようになりました。 繰り返しますが、5日間という短期間。けれど、この期間は非常に濃密で、得た経験は貴重なものでした。 このようにまとめると勘違いされてしまうかもしれないと思ったので最後に言っておきます。 私は怖気付いたわけではありません。結果の出せる、やってやれるエンジニアに、必ずなります!

自分らしく働ける場所を探して @CrowdWorks

当時の記録をそのまま転記 やったこと ちょっとしたご縁から、クラウドワークスさんで二週間の短期インターンを行うことになりました。 WoW!me という比較的新しいプロダクトの開発メンバーに加わり、希望通りサーバーサイド ( Rails ) を書かせてもらいました ( 下記 WoW!me URL )。 https://wowme.jp/ 業務内容としては管理画面の機能追加などが主でした。 課題に感じたこと データベースに psql を使っていたのですが Rails チュートリアルでなんとなく使ったっきりだったのでコマンドなど調べる時間が多くなってしまっていました。 収穫できたこと 技術的な面では、単純に Rails, PostgrSQL の力が身についたと思っています。二週間という短期でしたが一緒に開発をしたエンジニアの方々の丁寧なレビューなどのおかげで Rails らしい書き方や、長くウェブサービスを保守するために避けなくてはならない書き方などを学ぶことができました。 また、OAuth を使ったタスクを担当したのですが OAuth を使った開発は初めてだったのでその辺りの知識についても深めることができたと思います。 WoW!me はモデル及びデータベースのテーブルの数が非常に多く、初めて見たときにはとても驚きましたが、ウェブサービスを長く運営し保守していく上で似て非なるものを一緒にしない細かな正規化は重要だと身を以て学びました ( 下記WoW!me のデータモデリングを行ったエンジニアの方のQiita記事 )。 http://qiita.com/suzan2go/items/445e8428a209892b521d ここまで技術的なことについて書いてきましたがこの二週間で私が一番得られたと思っているのは「自分らしく働く」とはどういうことかだと思っています。 クラウドワークスのオフィスでは常に社員の方々の笑顔があって、会社の掲げる「働くを通して人々に笑顔を」という言葉を裏切らない会社だと思いました。 笑顔に溢れた環境でリラックスして仕事ができたのでコーディングする上での効率も良かったと感じています。 また、チーム全員が「さすが俺のプロダクト」と言わんばかりに誇りを持って仕事をしていることがうかがえました。 ユーザーの方をお招きした座談会を催すなどユーザーの意見によく耳を傾けるための施策についても積極的で自分たちのサービスがどのような形で今社会に貢献しているのか、これからどうなる事が望まれているのかが直接的に伝わってとてもやりがいを感じる事ができました。 二週間という短期間でしたがとても楽しかったですし、将来はこんな風に働きたいと心の底から思いました。 クラウドワークスの皆さんのように自分のプロダクトに誇り持って開発ができるエンジニアになれるようにこれからも精進していこうと思います! 就職してから当時を振り返って Ruby や Rails が好きになった 二週間という短い期間のインターンでしたが、この期間の間に Rails が好きになりました。 「それまで好きじゃなかったの?」という問いに答えると、答えは YES です。

初めての実務経験 @Animatelab

当時の記録をそのまま転記 やったこと 動画配信サービスアニメイトチャンネルの開発、保守に携わるエンジニアチームの一員としてアルバイトを始めました。 学校で得たバックエンドの知識を実務経験を通じてさらに伸ばしていきたいと思い、アルバイトに応募しました。 面接などでは自分のサーバーサイドプログラミングの知識について重点的にアピールしたため、サーバーサイドのタスクが多く割り振られることを予想していましたが、少人数のチームであることもあってフロントエンドのSlim, Sass, JS も担当しました。 バックエンドからフロントエンドまで様々なタスクをこなし、ステージングデプロイや本番デプロイも行うようになりました。 課題に感じたこと 学校でのチーム開発などでは自分がバックエンドが得意ということでサーバーサイドを中心に書いており、フロントを他のメンバーに任せることが多かったです。 そのため、フロントエンドに関する圧倒的な知識不足を感じました。 特に、端末によって生じる細かな挙動の違いなどに悩まされました。 これらはある程度は調べて身につく知識だとは思いますが、実務レベルでの対応技術は実際に自分で踏んでみて初めて身につくものだと思いますので、今後もっともっと経験を積んでいきたいです。 「バックエンドのほうが得意、好き、やりたい」という思いは今でも変わりませんが、突然何らかの関係でフロントのタスクを担当することはあると思いますので、その辺りの力も身につけていきたいです。 収穫できたこと GitFlowでの実務レベルでの開発経験を積めたことから、PRの精度が格段に上がったと思います。 Jenkinsを使ったデプロイの経験は初めてのものでしたが、今ではスムーズに行えます。 上司の方からのレビューを通じて自分のコードの書き方の問題点などを認識し、改善につなげることができました。 また、エンジニアとしてディレクター陣に伝えなくてはならないこと、問題はどこにあるのか、などエンジニアとしてのものの考え方についてもさらに学ぶことができました。 今後もさらに経験を積んで、様々な問題を問題の本質を見極めつつ解決することのできるエンジニアに成長していきたいです。 就職してから当時を振り返って。 とにかく必死だった。 なんといってもこれについきます。 なにせ初めての実務経験、初めてのアルバイトです。しかも使用する言語は今まであまり触れていなかった Ruby でした。学校では得意としたサーバーサイドであっても、よく知らない言語、よく知らないフレームワーク ( Rails ) を使うということから自信を持ってタスクに取り組むことが難しかったように思います。 結果として、本当にやりたいサーバーサイドのタスクがあった時に積極的に声をあげることができず、自分の中ではあまり好ましくないフロントエンドのタスクばかり回されるようになってしまいました。 個人的な趣味趣向の問題でフロントエンドはあまり好きではないのですが、気づいた時にはチーム内でのフロント担当になっていました。学校では好きじゃないからと疎かにしてきたフロントエンドの技術ですが、仕事を任されてしまえばやらないわけにはいきません。 今までは極力避けてきた CSS ( Sass ) もゴリゴリ書きました。ブラウザ特有の挙動の違いはもちろん、端末特有の挙動の違いなどにもぶち当たり、フロントエンドの辛さを垣間見たと思っています。 実務経験自体が初めてだったので、毎日必死にタスクをこなしていました。フロントエンドのタスクも、最初は夢中でこなしていたのです。 そもそも何をしに来た? しかし、アルバイトを始めて1ヶ月半ほど経つと、「そもそも、私はここに何をしに来たんだっけ?」などと考える余裕が出てきます。 「お金を稼ぎに来た」 確かにそれもあります。当時の私は一人暮らしを始めたばかりで、楽な暮らしではありませんでした。けど、それだけでしょうか?もちろん違います。 「エンジニアとして成長するために来た」 この要素は大きいでしょう。では、この エンジニアとして成長 というのは、どのようなエンジニアへの成長のことだったのでしょうか。 サーバーサイドを極める コードを書くことを純粋に楽しむ これが目標だったはずなのです。 どうしてこうなった? やりたいことがあって、それを面接でもアピールしてアルバイト採用されたはずなのに、いつの間に目標とやっていることがずれてしまっていたのでしょう。 実際に業務が始まってから、しばらく経つまで自分の目標を見失っていた。 目の前の仕事に必死になっていた。 自分の目標を具体的なレベルまで落とし込めていなかった。 やりたいタスクがあっても「自分がやります」「やりたいです」「やらせてください」という声をあげることができなかった。 職場という環境に不慣れだった。 過度な遠慮をしていた。 上記にあげていることが原因だと思っています。 会社で働くということ。 いろいろとマイナスにも取れることについて書いましたが、もちろんこのアルバイトを通して得られたことはとても大きかったです。