現代社会において様々な場面で利用されているコンピュータの起源は、第二次世界大戦後にフォン・ノイマンが開発した、ノイマンマシンといわれています。しかし概念上は、第二次世界大戦中にナチスドイツの暗号製造機エニグマを解読したチューリングが、戦前に引き続き戦後も研究を続けて改良したチューリングマシンも、コンピュータの起源といえるものなのです。そしていずれも開発者は数学者であり、複雑な証明を効率よく進めるために、多くの計算を処理する道具として考案されたものです。このようにコンピュータを開発する上で数学者が活躍し、またその後のパソコンの普及やソフトウェア開発には、アメリカを中心に大学で情報処理を学んだ学生が関わるなど、コンピュータの開発現場には理系出身でなければ勤まらないというイメージがあります。
しかし今では必要とされるシステムの開発ばかりではなく、誰もが使えて便利なサービスの提供が求められています。そして「痒いところに手が届く」ようなサービスの開発には、アイデア勝負という部分も大きいものです。つまり自分や他人のニーズを汲み取って、それを利用しやすく安全なサービスとして提供出来るような、創造性溢れるエンジニアが求められているのです。このような誰もが飛びつくようなアイデアを提案するのに、理系と文系の区別はないでしょう。日本でネットビジネスやネットサービスに乗り出して大きな成果を上げている、楽天やライブドアやMIXIなどの経営者も、文系出身者が占めています。もちろんコンピュータがどのようなことを実現出来るのか、という点を知らなければ、どのようなアイデアが実現可能なのか、判断することが出来ません。しかしそれは必ずしも自分自身が完璧にプログラミング出来るレベルで理解する必要はないのであり、実現可能性を少しでも認められるのであれば、そこから最終的な実現に向けてじっくりと策を練ればよいのです。
「必要は発明の母」とも言われるように、空前のヒットは日常の中のちょっとした不便さにあるかもしれません。そんなものにかかわっている時間も惜しいと考えがちなところを、誰かが最初にわずかな時間を割いて一度プログラミングしておくことによって、その後の労力を大いに節約することになるかもしれません。今では機械化されて大量に生産されていたり、短時間に処理されていたりするものが、味気ないと評されることもあります。しかし機械化によって確実に人の負担は軽減しているのであり、まだまだ実現すれば喜ばれるアイデアが世の中には眠っているのです。
フリーランスになっても、インターネットにいつでもどこでも素早くアクセス出来るという大変便利な今の環境は、案件探しに有効です。これまでの営業といえば、人脈から少しずつ仕事の輪を広げるといったものでしたが、ネット上の潜在的なクライアントの数は桁違いです。そこでブログやホームページや専門サイトを上手に活用して、実績をアピールすることは大切です。しかしもっと効率よく仕事を獲得したければ、クラウドソーシングなどを利用したサービスや、求人情報や開発案件の情報を提供してくれる専門のエージェントを利用する手があります。
プログラミングの基礎を学んで、プログラマーとしての現場経験を積むうちに、最初は未経験から始めても、やがて上流工程を担当するようになるでしょう。プログラミングは慣れれば誰でも出来るようになるものですが、その知識を基に上流工程では、更にコミュニケーション能力が求められます。例えばクライアントから直接要求を聞き取って、正確にそれを汲み取った設計や要件定義が出来なければなりませんが、それは理系よりもむしろ文系が得意とするところかもしれません。相手の立場を想像して上手に情報を聞き出す技術や、相手に分かりやすく伝える技術が必要になるのです。
プログラマーを目指してプログラミングの基礎を学ぼうという場合、独学でやり通す覚悟を固めるのは並大抵のものではありません。初心者向けの定評のある書籍も出回っており、ネット上にも情報は溢れていますが、そもそもふさわしい学習環境を整えなければなりません。そして疑問を解消するための検索方法を知らなければ歯が立ちませんし、躓いても自力で起き上がらなければなりません。その点学校に通えば、カリキュラムに沿って無理なく学習出来るように指導してもらえますし、共に頑張る友人も出来て、実践向けではなくても様々な経験も出来ます。