質問: PCの操作が多少出来る程度で運良く今年から拾ってもらいました。 初日から自社でのSQLの勉強や、3日ほどのVBの研修に行かせてもらったりでほんの少しだけ理解が出来るようにはなりましたが、現在研修の一環で既に組みあがっているC#、WPFのカレンダーのプログラムから設計書を作成するように室長に言われております。 ネットで調べながらプログラム内のコメントを確認しつつ提出しましたが結果は× 「コメントを抜き出しただけの項目が多い」と言われ具体的にどう書けば良いか1つだけでいいので作って見せてください。と何回かお願いしても何故か「メソッド毎に書き出す」や「ステップで確認していって~」など口頭で返ってきます。(おそらく業務に追われているのだと思いますが...) 社長、室長と私だけの職場で他に聞ける人もおらず、検索して出てくるようなページは読みつくしていますがそもそも言葉の意味もよく分からないものが大多数。 自習不足と言われればそれまでですが研修中とはいえ調べものをしてるだけで業務時間が終了してしまうのが拾ってもらった会社に対して申し訳なくて仕方ありません。 しかしながら業務中もほぼ自習のような環境で、日報で内容を提出する程度です。 3月末で研修期間が終わってしまうのでこのまま右も左もよくわからないまま仕事を任されていくのかと思うと日々不安が募ります。 残りの日数で私はどのような勉強(自習)をしながら過ごせば良いのでしょうか。 また、設計書に関しても用語など完全初心者にもわかりやすく書かれているものがもしあれば教えていただきたく思います。
回答: おそらくですが、「コメントを抜き出しただけの項目が多い」から「見本を見せて」になり、それで出てきた「メソッド毎に書き出す」や「ステップで確認していって~」は、冒頭の「コメント抜き出~省略~」と厳密にはつながってない印象があります。 質問主さんは、現在トレーニング中で、完成済みのプロジェクトから本来は先に作られているはずの設計書の作成を要求されています。ということで(お調べ済みかもしれませんが)、Googleなどで以下を検索すると良さそうです。 プログラム開発 設計書とは プログラム開発 工程 プログラム開発 設計書 サンプル 設計書のサンプルを見ると、トレーニング担当者の要求がイメージしやすくなるかもしれません。それは、現在質問主さんが作成した、コメントを抜き出したものとはかけ離れているはずだからです。 ※ 私なりのトレーニング担当者の要求は、"素直に考えて"、設計書が書けるようになること、ではないかと感じます。それにはプログラム開発の工程を理解している必要があります。設計書にも段階があり、初期は「○○すると✕✕の結果がでる」といった概念レベルで、次は具体的な操作を行った結果が示されることが多いです。その次あたりに、クラス名やメソッド名やプロパティ名やグローバルななにがしなどが、先程の操作と紐付かれ、それぞれでどのようなプログラミング作業になるか示されます。 それであっているなら、質問主さんの作業は、メニューやその他の操作上のコマンドを洗い出し、それらの結果を示すシンプルめなものを、まず作成します。次に、今回のプロジェクトをVisual Studioなどで読み込み、メニューのコマンドど結びついたメソッドなどを確認します。それらのメソッド全てがグローバルな関数なら、ほぼ作業は終了に近くなりますが、いずれかのクラス下にあるものなら、そのクラスの概念や意図を設計書に示す必要があります。 ※ もしかしたら、トレーニング担当者は自力で理解するか、今回のようなことを調べられる自力を希望していたかもしれません。そうならば、私の案内は意図したものとは言えない可能性があります。なぜかと言うとここのサイトでは、開発系の回答者が少ないからです。 Microsoftの開発者向けフォーラムでは、ここよりも開発系の質問に活発に回答が見込まれます。 以下のMSDNから、今回でしたらVisual Studio DevelopmentのVisual C#あたりでしょうか。 (今回の内容だと、泣きつく系の質問になると思いますが、、、) ※ 私の部下ではないですが、開発系のトレーニングを受けている新人が、マニュアルを印刷し蛍光ペンで線を引いているだけの作業をしているのを見て、どうしても黙っていられず「開発ツールのインストールして、プロジェクトをコンパイルしたり、デバッグ実行でブレークポイントとかあてたりしたの?」と聞いてしまいました。その新人はツールすらインストールしていなかったです。部外者がこれ以上言うのははばかれたので、「トレーニングの担当と一緒に食事しながら、いまやってる自習方法が正しいか相談したほうが良いです。」とだけ伝えました。もっと手助けすべきだったのではないかと、いまでも考えることがあります。 ※ 質問主さんも、業務時間中に聞くのではなく、食事とか休憩時間や帰宅時の駅まで時間などをねらってコミュニケーションするのも試してみてください。週に最低1回は一緒に昼食することを皆さんで検討ください。 あくまでも私の個人的考えですが、「プログラミングそれ自体は5歳児でも出来る。5歳児では難しいのは、相手をおもんばかったり、自分に要求されることをおもんばかったりすること。そしてそれらの正解を引き出すには相手とのコミュニケーションが必要ということ。」という感じです。 もし質問があれば、返信時(お礼機能)に書き込みください。 以上、参考にならなかったらごめんなさい。あと超長くなってごめんなさい。