プログラムを作成するのがプログラマーの仕事というように、システムエンジニアの仕事を単純に捉えることは出来ません。システムエンジニアはプログラミングも含めて、システム開発の一連の工程の全てに関わる仕事なのです。もちろんすべてを初めから一人で取り仕切るなどということは出来ません。しかし特に上流工程に共通する要素として、コミュニケーション能力を求められるという点は大切です。プログラマーが自分の好み通りのプログラムを作成するためであれば、関わるのは自分一人だけなのであり、その間に連絡不足や誤解を生じる余地はないでしょう。せいぜい思い違いや手直しの繰り返しに、苛立つぐらいなものです。しかしこれが仕事としてプロジェクトを進める段になると、幾人もの専門スタッフがチームを組んで完成に向けて動き出します。人が増えれば、それだけ連絡に手間取るものであり、ミスも増えます。そのため相手の立場に立って適切な情報を適切な形で伝える技術が必要になるのです。それはシステムエンジニアにとってのドキュメント作成です。
さてシステムエンジニアが作成しなければならないドキュメントとは、設計書、計画書、提案書、ユーザーマニュアル、そして報告書などです。これらはビジネスパーソンとしてであれば、誰にでも求められるスキルです。そしてこれまでに理系出身者の作成したとおぼしきマニュアルに、きりきり舞いした経験を持っているかもしれません。分かりにくいドキュメントは、説明不足であることが少なくありません。それはドキュメントの作成に時間を取られることを嫌う、エンジニアの都合によるのかもしれません。もちろんエンジニアがシステム開発に掛けられる時間には制約があり、ドキュメント作成に費やす時間を削ってでも、開発そのものに掛ける時間を増やしたいと考えているかもしれません。しかしドキュメントが分かりにくいと、受け取った相手はそれをどのように解釈してよいのか分からず、一々確認しなければならなくなります。常に連絡を取り合える相手であればよいのですが、そうでなければ回答待ちの間中作業がストップしてしまいます。逆に相手の立場を想像して、あらかじめ先手を打つ工夫をしたドキュメント作成を心掛けるのであれば、後々の作業がスムーズになり、その分お互いの役割を果たすことに集中出来るというわけです。そのため上流工程に携わるのは、下流工程をいくらか経験してからの方がより実力を発揮出来るでしょう。未経験からプログラマーとしてプログラミングの作業経験を積むことにより、どのようなドキュメントを作成しておけば、プログラマーが作業をやり易いのかということを想像出来るのです。
数ある書籍の中でも、Webサイト設計におけるドキュメンテーションに特化したものをご紹介します。
「これからのWebサイト設計の新しい教科書 CSSフレームワークでつくるマルチデバイス対応サイトの考え方と実装」|楽天ブックス
コンポーネント設計やマルチデバイス対応の考え方が簡潔にまとめられ、サイト設計の概要を学ぶのにうってつけの一冊です。
フリーランスになっても、インターネットにいつでもどこでも素早くアクセス出来るという大変便利な今の環境は、案件探しに有効です。これまでの営業といえば、人脈から少しずつ仕事の輪を広げるといったものでしたが、ネット上の潜在的なクライアントの数は桁違いです。そこでブログやホームページや専門サイトを上手に活用して、実績をアピールすることは大切です。しかしもっと効率よく仕事を獲得したければ、クラウドソーシングなどを利用したサービスや、求人情報や開発案件の情報を提供してくれる専門のエージェントを利用する手があります。
プログラミングの基礎を学んで、プログラマーとしての現場経験を積むうちに、最初は未経験から始めても、やがて上流工程を担当するようになるでしょう。プログラミングは慣れれば誰でも出来るようになるものですが、その知識を基に上流工程では、更にコミュニケーション能力が求められます。例えばクライアントから直接要求を聞き取って、正確にそれを汲み取った設計や要件定義が出来なければなりませんが、それは理系よりもむしろ文系が得意とするところかもしれません。相手の立場を想像して上手に情報を聞き出す技術や、相手に分かりやすく伝える技術が必要になるのです。
プログラマーを目指してプログラミングの基礎を学ぼうという場合、独学でやり通す覚悟を固めるのは並大抵のものではありません。初心者向けの定評のある書籍も出回っており、ネット上にも情報は溢れていますが、そもそもふさわしい学習環境を整えなければなりません。そして疑問を解消するための検索方法を知らなければ歯が立ちませんし、躓いても自力で起き上がらなければなりません。その点学校に通えば、カリキュラムに沿って無理なく学習出来るように指導してもらえますし、共に頑張る友人も出来て、実践向けではなくても様々な経験も出来ます。