📚

エンジニア2年目になって学んだこと

に公開

エンジニア2年目になって学んだこと

どうも、Flutterエンジニア2年目のピヨ助です。

この記事では、自分がエンジニアになってから「これは大事だな」と感じたこと、日々の仕事の中で学んだことをまとめてみました!

ざっくり経歴

まずは軽く自分の経歴を。

  • 大学でプログラミングの基礎を勉強
  • Flutterでアプリを個人開発したり、技術記事を書いたり
  • そのアウトプットをもとに就職
  • Flutterエンジニアとしてキャリアスタート🏃‍♂️

こんな感じで、最初からFlutterメインでやってきました。

正直、バリバリ競プロやってた!とか、他言語も触れます!ってタイプじゃなくて、
「Flutterにハマって、アプリ開発って楽しい🤪」って感じでここまで来たタイプです。

AIのコード、説明できないなら使うな!

ChatGPTとかでコード書いてもらうの、めちゃくちゃ便利ですよね。
自分も入社したての時はバンバン使ってました。というか、使いすぎてました。

で、ある日こんなことが起きました。


🥸(上司)「このコード書いてくれたの君?ちょっと説明してもらっていい?」
🤪(自分)「えーと、コメントに書いてる通りで……(内心:動作確認で動いたし…)」
🥸(上司)「……やり直し。理解してないコードは使わないで。」


🔥「説明できないコード = 理解してないコード」

これ、めちゃくちゃ危ないです。

たとえば、自分の書いたコードで重大なバグが起きたときに
「え、これAIが書いたんで」って言い訳できますか?絶対ダメですよね。

もちろんAIは便利だし、自分も今でも普通に使ってます。
でも、生成されたコードは理解できるコードしか採用しない
人に説明できないコードは使わない。これが大事です。

AIがすごいからコードの勉強なんてそんなしなくていいや🤪
絶対ダメです。
コードの書き方を学んでおくと、AIへの指示(プロンプト)の質も上がって回答の精度も高くなります。

✍️ AIが書いたコードを「使う」のと「理解して使う」のは全然違う!

入社したてのメンティーの時にやってました。今思い返すと恐ろしい💀

他の人が関わるタスクは、最優先で!

タスクをいくつか振られたとき、
「どれからやろう…とりあえず簡単そうなやつから手をつけよ!」
ってなりがちじゃないですか?

あなたならどんな進め方でタスクを消化していきますでしょうか?


💡 他の人が関わるタスクは、なるべく最優先で進めたほうがいい!


たとえば、こんなタスクありません?

  • 先方に確認が必要そうなやつ
  • バックエンドの人に調査をお願いしないと進まないやつ
  • バグの起因がアプリじゃなくて、そもそも別のチームの問題かも…?ってやつ

こういうのって、自分ひとりで完結できないので、確認とか返事待ちが発生します。
で、ギリギリに依頼するとこうなります↓

「調査お願いしてたやつ、まだ返ってこなくて…それで遅れました🤪」

これ、言われた側はたぶんこう思うんですよね:

「いや、それもっと早く依頼しといてくれよ😡」


だから、タスクもらったらまず最初に
「これ、誰かと連携しないと進まないやつある?」 って視点で見てみるのがおすすめです。

依頼系・確認系を先に片付けておくと、
その間に自分でできるタスクも進められるし、結果的にスムーズに進みます。

🚀 自分だけで完結しないタスクこそ、早めに動いておこう!

これ、地味だけどめちゃくちゃ効きます📚

タスク期限は“逆算”して考えよう!

「このタスク、金曜日までにお願いします〜」
って言われたとき、
「じゃあ金曜に間に合えばOKっしょ!」って思ったこと、ありません?

でも、それだとだいたい間に合わなくなります笑


自分のチームでは、タスク完了の定義が「QA(テスト)通ってOKもらうまで」なんですよね。
だから、動作確認してもらう時間とか、PR(コードレビュー)での修正も含めると…


⏰ 実際の“自分の作業リミット”はもっと早い!


たとえば:

  • 金曜が本当の締切だとしたら
  • 木曜にはQAさんに渡したい(バグあった時にまだ間に合う!)
  • 水曜にはPR出してレビューしてもらいたい(FB対応があるとしたら最低でも水曜の午前くらい!)
  • 月・火の間に相談・調査を終わらせておきたい

こんな感じで逆算スケジュールを頭の中に作って動くようにしてます。


あと、もしタスクをやっていてスケジュール的にキツそうなら、
できるだけ早めにPMやリーダーに相談!

「このペースだと厳しいかもです…」って早めに伝えておくと、
スケジュールの調整も効くし、何より印象が全然違います。

💡ギリギリで「間に合いません🤪」より、
早めに「ちょっと期限だと厳しいかもです」って言える方が100倍信頼される!

スケジュールは、自分だけじゃなくチーム全体に影響するんで、
逆算で動く癖つけとくとめちゃくちゃ楽になりますよ!

リカバリー案って大事!

開発してると「こういうの作ってほしいんだけど〜」って
先方やPMからふわっとした要望をもらうこと、結構あります。

で、その中にはたまに

「え、それ結構むずいな💦」
「技術的には可能だけど、めっちゃ時間かかるぞ…」

ってやつも混ざってるんですよね。


そんなとき、昔の自分はこう言ってました。

「その実装はちょっと難しいです🤪」
「この仕様は厳しいかもです🤪」

これだけだとちょっと残念な印象になります。


💡 大事なのは“代わりにこうならできます!”って伝えること!


たとえば:

  • 「〇〇って仕様は難しそうですが、こういうパターンなら対応できます」
  • 「こっちのUIなら簡単に実装できます、こんな感じです(スクショ付き)」

って感じでリカバリー案(代替案) を出すと、相手もめっちゃ助かります。

「なるほど、じゃあその案でいきましょう!」ってなるし、
もしそれもダメだったとしても、建設的な会話ができます。


🙌 “実装できる or できない”だけじゃなくて、
“どうすれば実装できそうか”をセットで伝える

これができると、信頼してもらえるようになります!

自分もまだまだなんですけど、
「できません」じゃなく「こっちならできます!」って提案できるようになるのを目指してます😤

おわりに 〜まだまだ勉強中だけど、伝えたいこと〜

ここまで読んでいただき、ありがとうございました!

今回書いたことって、正直「当たり前やん」って思う人もいるかもしれません。
でも、実際に現場で働いてみて、その“当たり前”をちゃんとやるのって意外とむずい…!
って感じたことばかりです。


エンジニア2年目の自分が、実際に体験して
「これは大事だな〜」「これはもっと早く知りたかったな〜」って思ったことを
なるべくリアルに、素直に書いてみました。

まだまだ未熟なところも多いですが、
この記事がこれからエンジニアになる人や、1年目の方のヒントになったらめっちゃ嬉しいです!


✅ 最後に大事なことまとめとくと…

  • AIのコードは理解してから使う!
  • 他の人が絡むタスクは即・先に動く!
  • 期限は逆算して動く!
  • 難しい要望にはリカバリー案を出す!

エンジニアって、ずっと学びの連続だけど、
ちょっとずつ「できること」が増えていくのがめっちゃ楽しい仕事だな〜って思ってます。

これからも一緒にがんばっていきましょう!💪🔥

Discussion