会社員でもフリーランスでもプロジェクトを選ぶ機会は何度かあると思います。今回はSEやプログラマーがプロジェクト選びに失敗しない方法の一つ紹介します。
求められる知識
ソフトウェアを作る上で求められる知識は以下の2つです。
- 作るために使うツールに関する知識
- 作る対象に関する知識
作るために使うツールに関する知識
1つ目はプログラミングや設計に関する知識が当てはまります。これに関しては特に説明する必要はないでしょう。
作る対象に関する知識
2つ目は業務知識が当てはまります。
これは意外な盲点です。私は設計の勉強をしていて業務知識の大切さに気づいたのですが、それまでは考えた事すら無かったです。知らなかったり、甘くみていたらプロジェクト配属後に後悔するかも知れません。
以下ではこの業務知識の重要さについて説明します。
業務知識とは?
何かをシステム化するためには、システム化する対象を十分に理解する必要があります。例えば以下の様な関係です。
ブログサイト→ブログに関する知識
ゲームサイト→画像処理やファイルのロード、数学、ゲームプログラミングなどに関する知識
株式投資のサイト→株式投資の種類や取引方法、手数料などに関する知識
税金計算系サイト→税金に関する知識
税金の計算システムを作るとします。参画した人は税理士と同等かそれ以上の業務知識を求められてもおかしくありません。業務知識が無かったり、知識が中途半端な場合はバグにつながる恐れがあるからです。
税金の計算システムを作っているプロジェクトに参加すれば、○○taxのような税金に関するクラスが山ほどあって、複数の税金系クラスが関連しているコードが容易に想像できると思います。
コメントにも専門用語が多く使われているでしょう。業務知識がないとコードを読だけでも苦労します。
プロジェクト選びの失敗を避ける
オンラインゲームとか、メディアサイトとか作りたいものが明確で仕事を探す場合はあまり関係ないですが、
業種問わずどこかのプロジェクトに参加して開発する働き方を目指している人(フリーランスや、人材派遣系の社員など)は、参加するプロジェクトを選ぶ時は注意が必要です。
プロジェクトの体制や人間関係は面接時に聞けますが、どうしても面接者の主観が入るため、自分に合っているかどうかは入ってみないと中々分かりません。
しかし、業務知識に関する質問には割とブレなく答えてくれると思うため、「どの様な業務知識が必要か?」は質問すると良いでしょう。
プロジェクトを選ぶ時は開発体制や職場の雰囲気だけでなく「どの様な業務知識が求められるか?」「自分はその業務知識を学ぶ気があるか?」も判断材料にするといいでしょう。
まとめ
私は作る事が好きなので業種はあんまり気にしなくていいかなぁ〜と思ってましたが、設計の勉強をしていて業務知識の大切さに気がつきました。
自分の得意不得意な業種、興味があるない業種を把握して慎重にプロジェクトを選びましょう!
コメントを残す