エンジニアになって2年半くらいが経過してので私が初めて携わった案件で経験したことを振り返ってみようと思い記事にしてみました。
1. はじめに
私のバックボーンはこちらに書いているので是非読んでみてください。
2. エンジニアとしてのスタート
初めてのプロジェクトには、ベテラン社員2人と私の3人で参画しました。
私が担当したのは、VB.NETを使用した画面開発でした。
VB.NETを勉強したことがなかったので、何もわからない状態で開発作業がスタートしました。
当時は右も左もわからないまま仕事を進めていましたが、今振り返ると「これが炎上案件か、と感じるような状況で」毎日の残業や休日対応が続き、心身ともに限界が近かったように感じます。
チームの中でうまくコミュニケーションが取れていなかったのでそもそも仕様の段階で決まっていないことが多く開発作業も全然進みませんでした。
それによってスケジュールがどんどん遅れていきました。
リリースまでには紆余曲折がありましたが、なんとかリリースにこぎつけることができました。
・当初の大変だったことや不安
登場する用語の意味が全然分からなかったこと
最初はミーティングで飛び交う用語が全く分からず何も理解できませんでした。
業務に関するアドバイスでも分からない用語が出てくるなど本当に大変でした。
TCPやUDPが何かも分からない状況でしたが知らない言葉や単語はその場でメモしてすぐに調べるようにしていました。
また単語帳も作ってすぐ見返せるように工夫していました。
そんな環境で仕事をすることがとても不安だったことを覚えています。
この時は、楽しいよりも不安の方が大きかったです。
プログラミングのスキル不足でコードが書けない
自分のスキル不足で最初は全くコードが書けませんでした。
数十行の処理を書くのに何時間もかかっていました。
それ以前にどういう処理をすればやりたいことが実現できるかも思いつかなかったです。
「日本語で書けないことがプログラムで書けるはずがない」と言われたことは今も鮮明に覚えています。
月80時間の残業
初めての案件でプロジェクトが全然うまく進まず本当に死ぬ気で働きました。
80時間近い残業も3ヶ月ほど続きました。
当時はしんどかったですが今では良い経験だったなと思えます。
これ以降、どんなに大変なプロジェクトでも、自分なら乗り越えられるという自信がつきました。
3. 成長の過程
・スキルの向上
案件を通じてコードを書いていくことでどんどん概念や仕組みを理解が深まり、書きたい処理もスムーズに書けるようになりました。
やはりそこが一番成長を感じた部分でした。
またLinux環境で作業することもあり最初はコマンドも全く分からず画面を見るのも嫌でした。
やらないといけないので聞いたり調べたり失敗もしながら経験していくことで今では何の抵抗もなくLinuxを操作できるようになりました。
具体的には、シェルスクリプトの書き方やパーミッション設定に苦労しましたが、今では問題なく設定できるようになりました。
・業務を通じて得た経験
-
主体的に業務に取り組むこと
-
正しい質問をすること
-
学ぶ姿勢を忘れないこと
主体的に業務に取り組むこと
当初は自分のレベル以上の作業やスキル不足を感じることが多々あると思います。
できないからと受け身になってしまうとより前に進まなくなります。
スキルがなくても調べたり自分で考えたり、質問したりとできることはたくさんあります。
主体的に取り組んで一生懸命仕事していれば周りの人にも伝わってより協力的に助けてくれることも増えました。
正しい質問をすること
誰かに質問をする時に自分の欲しい答えを得るには正しく質問することが大事だと学びました。
自分が分からないことをうまく言語化できる前に質問をすると相手に全く伝わらないということを経験しました。
分からないから焦って質問するのではなく一旦相手に伝えるため何をどう話せば良いのかを考えてから相談することでスムーズなコニュニケーションを取れるようになりました。
学ぶ姿勢を忘れないこと
この業界では、ずっと学習をし続けなければならないとよく言われます。
技術の進歩もそうですが、業務で必要な知識やプログラミングスキルを身につけるには、常に学ぶ姿勢を持っていなければならないと思いました。
業務中で得られることには限界があるので、業務外の時間の使い方も考えるようになりました。
まとめ
振り返ってみると、苦労したと感じることの方が多いですが、この時期しか経験できないこともたくさんありました。
いろいろな経験や学習がエンジニアとして成長するには欠かせないと思うので、これからも頑張っていこうと思います。