エンジニアの業務内容は、クライアントが求める要件を分析してどのようなシステムを必要としているかを知ることから始まります。ヒアリングを徹底的に行って、要件を定義します。その定義を元にしてシステムで何を構成すれば良いのかを明確にするのが基本設計です。その基本設計をさらに詳細にして、プログラミングのための設計図を作ります。その設計図を元にしてプログラマーがコードを書くわけです。エンジニアはその間は管理に徹することになります。プログラマーのメンバー全てに注意を払って、モチベーションを高め最高のパフォーマンスを得られるようにします。またクライアントから様々な追加の要望が出た場合にも対応することが必要です。様々なタスクが発生するために、漏れがないようにタスク管理も必要となります。タスク管理はスケジュール管理とは異なり、優先順位を決めて仕事に取り組むためのツールです。最優先とすべきことは何かを判断して、緊急ではないけれど重要なことに時間を割くことになります。これは、今すぐには必要ではないものの、先に片付けておかなければ後で問題が起きるようなことに注力するためのものです。タスクを早急に手をつける必要があるものとそうではないものとに振り分ける必要があります。このように仕事を上手く仕分けることによって、効率良く業務をこなせると共に問題の発生などを未然に防ぐことができるわけです。仕事を上手く振り分けることも、エンジニアの大事な仕事です。