「ものすごくあいまい」の一言に尽きます。
明確な定義はありませんし、会社によって基準はぜんぜん異なります。ただ一般的に言われている「システムエンジニア」や「プログラマー」について知りたい人向けに書いてみたいと思います。
ここでの話は、受託開発をするSIer(エスアイヤー)の話です。自社サービスの開発を行うエンジニアとは異なります。
プログラマー
プログラムを書いてテストをします。
設計はしない?
プログラミングも設計といえば設計なのですが、そこは置いておいて、一般的にいう「詳細設計書」は書きます。ただ、詳細設計をどこまで細かく書くかはプロジェクトの方針によりますが、複雑な処理を行う箇所は書いたほうがいいでしょう。一般的な処理であれば不要だと思います。設計を詳細にしていくと、それはプログラムそのものだからですね。
複雑な処理を机上で整理し、考え方に間違いがないか確かめるのが詳細設計です。決してプログラム 1ステップ 1ステップを日本語に翻訳したものではありませんので注意してください。
あと、基本設計書を読む必要があります。基本設計書には矛盾や不足している内容などが潜んでいます。そこに早く気づいて指摘する必要があります。
自分のスケジュールを管理します。