エンジニアとして働いた一年

NO IMAGE

時間がたつのは早いもので、某ベンチャー企業でwebアプリケーション開発のエンジニアとして長期インターンを初めてもうすぐ一年が経ちます。

 

年末という事もあり、この一年のインターンでの振り返りをしようと思います。

 

約一年前、長期インターンを始めたころの私はwebアプリ開発の経験はほぼ皆無に等しく(webに興味を持ち、Ruby on Railsで超苦戦しながらも閲覧ランキング機能付きブログサイトを作ってた程度の本当に初心者でした。)

入社してからは勉強の毎日でした。初めて触れるPHP、聞いたことのないフレームワーク、テンプレートエンジン。そしてタスクの分担やプランナーやQAとの連携を取って行うチーム開発。何もかもが初めての事ばかりでした。

 

特にインターン先はまだ新しくオフィスを展開したてだったようで、研修・教育の制度もなく、先輩社員や先輩のインターン生は大変優しく気軽に聞ける環境ではあるものの初めから仕事を振られてサーバーサイドからフロントの修正や機能追加・本番環境へのマージなどを行っていきました。実際にリリースされているサービスのコードをこんな新人の自分が修正したのを本番環境に移してもいいのかと最初は凄く驚きました笑

 

もちろん最初は軽く説明を受けて、軽めの仕事を与えられたものの、業務としてプログラミングするということの慣れなさに苦戦し、何とかついていった感じでした。幸い、働き始めが春休みでしたので、平日はほぼ毎日働いて帰ってからも少し勉強し、2か月ぐらいたった頃にはだいぶ慣れて、勝手が分かってきた感じで業務が行えるようになりました。

  

インターン先の嬉しいところの一つに、社員とインターン生とで業務内容の垣根がほとんどないことがあります。開発に関しては、実際に展開しているサービスの新しい仕様の開発や本番環境への反映など、様々なことをやらせてもらうことができました。自分が実装した部分がしっかりと上手く動いているのを確認できたとき、非常に嬉しかった覚えがあります。自分はまだまだ未熟でしたが、詰め込みで働いたおかげで短期間で沢山のことを学び、覚え、多少まともに出来るようになってきたと思って頂けたのか、どんどんいろんなことをやらせてもらえました。そうして春も過ぎたころ、先輩のインターン生が研究や院試で忙しくなり徐々に辞めていき、インターン生がかなり少なくなり、自分はメインに開発を行う一員になっていきました。 

 

ここからも沢山の学びがありました。自分は一つにプラットフォームのメイン開発者として任されたので、まず新しい機能のリリース予定日に間に合うように工数管理をしないといけない。そのために開発の優先順位を決めたり、重要度が高くないものは場合によっては実装を見送るという選択を取ったり、沢山あるタスクの分担で些細なことでも漏れを出さない様にタスク管理シートを自作したり。様々な経験を得られました。特に大変なのが工数管理でした。自分がこの新しい仕様を実装するのにどれくらいかかるのか、このバグを修正するのにどれくらいかかるのかを見積もるのは非常に難しいです。速く終わることもあればかなり時間を使ってしまったり想定通りにはなかなか上手くいきません。ちなみに今でもあまり上手く出来ていません…笑

コード書く、読むといっただけでなくそういったところも考えるようになっていきました。それからしばらくして、新たに社員の方やインターン生も増えてきたころ、社員の方とその頃話していた、難しい機能でも実装できるように実装力をもっとつけていきたいという自分の希望が通り、重い機能の開発を行う別のプラットフォームで機能追加の開発タスクばかりを沢山振って頂けることになります。

どういうテーブルの設計が良いのか、どういう処理を書くのが良いのか、汎用性があるのか、既存部分を変更する際には他に影響は出ないかなど考え、時間もかかりすぎないように気を付けたりもして頑張っているのが今になります。

 

この一年本当にびっくりするほど変化があり、そして成長した一年だったと感じています。インターン先そして何より社員の方には本当に感謝しかありません。エンジニアとして働けて本当に楽しいだけでなく、色々な事をやらせてもらえているのは本当にありがたいことでした。 

 

今では歴の長さでいうと、先輩が大分やめていったので今ではインターン生の中で2番目に長い人になりましたが、まだまだ未熟な自分が多少頼りに思ってもらえるようになれたのは嬉しい事です。それからエンジニアとしてもっと成長するための話を聞きました。

 

・まずは自分の苦手、弱みを把握することが大事。

・またエンジニアとしての「自分の強み」を見つけていくと良い。

 

自分が苦手だと思う事、足りないと感じる部分を明確にできると改善しようとしていけるから、力もつくしミスすることも減っていくと。確かに、と思いますね。これはもうエンジニアに限らず人として成長するのに必要なことですね。失敗したときに分析したり原因を究明したりはするものの、なかなか普段から意識的にそういうことを念頭に置き続けることはあまりないのでふと忘れたときに似たようなミスをしてしまうことは意外とあります。ですので、常に苦手、弱みを把握し、心に留めておくというのは大事なことだなと。

それから「自分の強み」というのは、自分の得意なことはしっかりと磨いていくということでした。その社員の方は、自身の強みは「他の社員に比べて開発速度は決して早くはないけど、誰よりも丁寧な実装をしている」ことと仰っておられて、誰にも負けないと思えるような部分を自分の中で作り磨いていくとエンジニアとしてもっと成長できると言っておられました。

 

誰にも負けない部分があると自信を持って言えるのは凄くカッコいいなと思います。新年からはこの二つをとりあえずしっかりと自分の中に持ち、エンジニアとしてもっと力を付けていけるように頑張っていきます。

とにかくまずは、最近やってる重い仕様のタスクを、見積もった時間通りに実装しきれるように頑張りたいですね。

また最近、知人のリモート制のweb制作会社の立ち上げのメンバーとして働くことにもなったので、web開発の技術・実装力をもっともっと高めていきたいと思います。(もうすぐ大学も4年で研究があるので頑張って両立させたい…!)