ネットを見ていると「未経験からプログラマになろう」という講座の広告や、教材の宣伝のサイトをよく目にします。
専門学校や大学で学んだわけでもない場合、さらに年齢が高い場合、「それって本当に可能なの?」と言われると思います。
そこで、私の考えを纏めてみました。
目次
・まず結論。なることは可能だが茨の道。
・まずおおまかに知る。実際に何系をやりたいでしょうか?
・SE(システムエンジニア)/PG(プログラマ)の違いを判ってますか?
・具体的にどうすればいいの?
・どんな働き方したいか
・組織に所属する場合の注意
・フリーになるためには
まず結論。なることは可能だが茨の道。
だれでも最初は未経験で初心者。未経験でもフリーのSE・プログラマになることは可能です。
ただし、いきなりフリーのエンジニアになれることは稀で、まずはどこかの組織に所属して武者修行が必要だと思います。また、年齢が上がれば教えてくれる人も減ってくるので茨の道(プライドを捨ててましょう)。
「論理的な思考が得意な人」「仕組みを考えることが好きな人」「数学が得意な人」さらに「天才」は有利。他の仕事と同じように、やはり知識と経験値がモノを言うので勉強は必ず必要。
まずおおまかに知る。あなたは何系をやりたいか
まず何系に進みたいでしょうか?
A.WEB系(例:会員制サイト、ECサイトの開発等)
B.オープン系(例:パソコン用ソフト開発)
C.汎用系(例:銀行のシステム・航空会社の座席予約システム等)
D.制御系(工場のロボットの制御システム、家電製品に組み込むの電子部品の制御)
この記事では、自分の分野である「A.Web系」を想定して書いていますが、フリーになる場合は恐らく「A.WEB系」、「B.オープン系」しかないと思います。
「C.汎用系」、「D.制御系」は企業に所属してお仕事をするものなので、フリーというのは余りないと思った方が良いと思います。
巷では「ランサーズ」といった、個人で仕事を受注できるサイトもあるようですが、「C.汎用系」、「D.制御系」のような仕事が個人向けにあったとしても、仕事の規模も大きいので組織に所属して仕事をすることになったり、結局は出勤・出向という働き方になるはずです。
SE(システムエンジニア)・PG(プログラマ)の違い判ってますか?
何も知らない人に「プログラミングの仕事」というと、大多数が「それってSEでしょ」なんて、謎の回答が返ってくると思います。テレビやメディアで出てくるイメージで、パソコンに携わる仕事は、何でもかんでもSEにひと括りにされてしまいます。
一部は合っているとも言えますが、やはり間違いです。
【PM(プロジェクトマネジャー)】
システム開発の全体の取りまとめ役。
システム全体の構想決め、顧客との折衝、スケジュール調整、メンバーの面倒を見る。
【SE(システムエンジニア)】
システムの要件を決め、仕様を設計する。仕様書の作成。
実際の開発はプログラマに指示する。場合により、次のプログラマも兼務する。
【PG(プログラマ)】
SEから受けた指示を基に、プログラミングをする。
実際はもう少し細かく分類もできますが、大まかにはこれで合っていると思います。
組織内のキャリアップでは、上の3つのうち下から順に出世していくのが一般的かと思います。
プログラマの経験がないままSEから入る人もいるようですが、コーディング(プログラム)の経験のないSEは、現場を知らないSEとなりますから、いざというときに問題が起きる可能性があります。
日本の社会では、プログラマは「言われたことをこなすだけの、頭を使わない作業」と見られがちで報酬も低く使い捨てという風潮があります。しかしフリーの場合はどうでしょうか。プログラマ・SE・PMをすべて自分でこなすわけで、勿論責任は伴いますが高い報酬を貰うことだって可能なわけです。
具体的にどうすればいいの?未経験からフリーのSE・PGになるには?
<組織に入る場合>
王道だとこんな感じです。
・独学または、学校で勉強する
↓
・「未経験可能」を謳っている企業に入りスキルを磨く
↓
・社内でスキルアップ
↓
・退職してフリーに転身 or 転職
独学だけの場合、スキルアップできる機会にはなかなか恵まれませんが、組織に入ると、スキルの枠を超えた仕事を任されることも多くイヤでもスキルが身につきます。
しかし、未経験可能を謳った企業でも、年齢によっては雇ってもらえない場合があります。その場合は「独学で作ったものを面接で見せてアピール」をしたり、「ベンチャー企業」を狙ったり「アルバイトとして入る」といった方法で間口を広く持つ方法もあるので、決してあきらめる必要はありません。
<やっぱり組織に入らない場合>
「こんなサービスを展開したい」とか「こんなシステムが欲しい」など、革新的なアイデアがある場合は、組織・会社に一切属さずにシステムを作るということも可能かもしれません。
イメージとしては下記のようなステップになるはずです。
・独学で勉強する、学校で勉強している
↓
・システムを作る
↓
・売る・お客さんを捕まえる
組織に所属しない場合、鎖国状態で技術のトレンドが判らない場合があるので、メンターになってくれるエンジニアに気軽に相談できるような環境が必要だと思います。
組織への所属を考える場合の注意
当たり前ですが年齢が上がってくると企業の採用状況が違います。
ポイントは下記の要素です。
・ベンチャーだと受かる可能性が高い。
・正社員を狙わずアルバイトから応募する方が入りやすい。
・自分で勉強するのは当たり前。教えてもらえるのは、お金を払ってスクールに通うときだけ。
・年下に教えてもらうことも厭わないことが大事。
どんな働き方したいか
システムエンジニア・プログラマというと、朝から会社に出勤して、夜は残業または泊まり込み…なんていうのをイメージされる方が多いと思います。実際、そういう会社も多いと思います。(度を超えると、いわゆる社畜ってやつになります…。)
昨年からは、テレワークで在宅勤務可能という会社も増えてきていますが、そうではなく、そもそもフリーの在宅ワークで好きな時に仕事をして、という方法もあると思います。
さて、フリーになれるパターンはどれでしょうか。
恐らく、個人のスキルによって状況が変わってくると思います。
未経験者・スキルが低い→ 企業に雇われて出勤(自社・又は派遣先)
ある程度スキルがある → 企業に雇われて在宅ワーク。打合せでたまに出勤する。
スキルが高い・アイデアマン → 完全在宅。雇われずに自分で仕事も取れる。
あなたがイメージしているのはどれでしょうか?
フリーになるために。技術力以外にもっと重要なこと。
フリーになるには、エンジニアのスキル以外にお客さんが居ないと成立しません。
そのため、
「個人で新規のお客さんを開拓する」
「知り合いのツテを辿ってお客さんを捕まえること」
「組織に所属しているときにお客さんと個人的に繋がっておく」
なども大事だということを覚えておいてください。
ちなみに、組織に所属しているときにお客さんと個人的に繋がってここまで来ました…。では。