今回は日本の案件をメインとしたベトナムシステム開発会社のNALを事例にして、エンジニアの1日の業務を紹介させていただきます。

各業種ごとに特徴があり、それにより各イベントも様々です。ベトナムシステム開発会社のエンジニアはどのような一日を過ごしているのでしょうか?
今回は日本の案件をメインとしたベトナムシステム開発会社のNALを事例にして、エンジニアの1日の業務を紹介させていただきます。
1。Daily Scrum(デイリー スクラム)
多くのIT会社にとって馴染みのあるイベントです。NALでは一日の業務開始時にDaily Scrumを行い、自分の業務状況をチームに共有することになっています。共有内容には必ず
・昨日の業務報告
・当日の予定
・対面している課題
の3つが含まれます。
Daily Scrum の詳細はこちらで紹介します。

2。Coding (コーディング)
なんといってもITエンジニアのメインの作業はコーディングでしょう。ジュニアエンジニアでも、シニアエンジニアでも一日の大半をコーディングに使います。違いは担当するモジュールの難易度です。
NALでは特に、コーディングする際、開発言語の使いこなしやすさとアルゴリズム両方を求めています。開発言語の取得は割と短期間でできるものですが、アルゴリズムに関してはエンジニアとしてのしっかりしたベースと経験が必要となってきます。そのため上達するには言語を使いこなすだけではなく、アルゴリズムも極めるように心掛けなければなりません。
3。Test (テスト)
テスターに渡す前に、コーディングした後でエンジニアのところで必ずテストをしています。テストは開発エンジニアのメインの作業ではないですが、作業を完遂させる為の欠かせない業務です。
NALではクロスチェック(お互いのモジュールをテストする)形をよく採用しています。第3者の客観的な目線で確認することによってより欠点を見つけやすく、さらに良くする提案もできるようになります。
4。Fix bug (不具合修正)
コーディングする過程で、求めていた仕様と違うものも出てきます。時には不具合ではなく新機能であると冗談でエンジニアが言い出しますが、合意した仕様と違っていればまず不具合です。
不具合はエンジニア自身で発見するものもありますが、テスターが見つける数の方が圧倒的に多いです。不具合を見つけた後に重要度と影響範囲を確認し、優先順位を定めて、修正するのです。
5。Meeting (ミーティング)
ミーティングはマネジャー層にしかないと思われがちですが、NALではエンジニア間のミーティングも多く行っています。すべてが日々行われるわけではないですが、エンジニア間のミーティングは下記のようなものがあります
- 週間レビュー
- 翌週のプランニング
- 新規案件の打ち合わせ
- PO間の情報共有
- OKRミーティング
- クライアントと情報共有

6。Learning (学習)
NALでは学習活動を1日の業務に取り組むようにしています。IT業界は変化が速く、常に学習していかないと変化についていけなくなり、新規案件を扱うことが難しくなります。NALではエンジニアが自己学習できる環境を準備し、精力的に日々励んでもらえる様にしています。
個人の独学だけではなく、グループ活動も行っています。グループ学習により個々のモチベーションを高め、お互いに切磋琢磨できるようしています。
もちろん各自の業務進捗のクオリティー維持が最優先事項ですから、個々の業務に支障をきたさないように学習活動を考慮する必要はあります。
このようにITエンジニアの業務は主にコーディングする事ではありますが、それらが全てではありません。短期、長期ともにより良いシステムを作るにはほかの活動、特に学習活動が必要です。知識と経験を積み、より大きなシステムの設計を担当したり、システムそのものを管理したり、クライアントのビジネスにも多大な貢献が出来るようにもなるからです。