プログラマー・SEとして活躍! 
プログラマー・SEとして活躍する~求人・転職・就職、スキルアップ

成功したい人必見!20代未経験でプログラマーに転職するために必要なこと

20代前半や第2新卒の場合に必要なこと

20代前半の人や大学を卒業して一旦就職したものの、やっぱり別の企業で働きたいと思っている第2新卒の人など、未経験でプログラマーに転職しようと考えている人の場合に必要なことは以下のことです。

 人柄
 やる気
 志望動機
 今の会社を辞める理由

「なんだ、そんなことか!」と思われるかもしれません。意外と当たり前の内容のことだと思います。

知っておいて欲しいのは、20代の前半の人はプログラミングの知識やスキル、パソコンが使えるかどうかといったことが重要視されるわけではないということです。

20代前半というのは、60歳まで働いたとしてもまだまだ40年近くもあります。可能性が無限大だと言ってもいいかもしれません。パソコンやプログラミングの技術の習得に1年や2年かかったとしてもまだ20代です。24で転職したとして、プログラムが書けるようになるのに2年かかったとしてもまだ26歳です。若いです。20代後半から活躍してもらって、30代でバリバリ働くことが十分に可能です。つまり、年齢は全く問題になりません。

どちらかというと、一緒に長く働ける人かどうかということが重要になってきます。

そのために、まずは人柄(性格)とやる気、志望動機が大事になります。

人柄について

プログラムを書いてシステムやソフトウェア、ゲームを作っていくという作業は基本的にはチームプレーのことが多いです。そのため、変な人が混じっているととても都合が悪くなります。自分勝手な人や、変な思考パターンの人はとても困ります。約束を守れない人はしなければならないことをやってくれないでしょうし、納期も守れないかもしれません。

人柄はにじみ出るもので、どうしようもないかもしれません。しかし、履歴書などの書類を書く時や面接などでは、前向きなことを伝えるように心がけましょう。ポジティブな面が伝わるようにすれば印象が良くなります。

志望動機とやる気


志望動機もとても大切です。ここにも前向きなことを書いておいて欲しいです。そうすると、やる気も伝えることができます。今勤めている会社の人間関係が悪いから、給料が低いから、などと伝えてしまうと、確実に落とされます。


いかにプログラミングに興味があるか、システムやソフトウェア、ゲームを作ることに興味があってやってみたいか、ということを伝えてください。

プログラムを書くというのはある意味忍耐のいる作業です。うまく動かないところは動くまで直さないといけませんし、原因がわかるまで取り組まなければいけません。また、1つの機能を実現するためには、いくつものステップをクリアしないといけいないことも多く、自分で情報収集したり、勉強したりする必要もあります。

そのときに、あまりやる気がないと、このような作業に取り組むことができません。途中で投げ出したり、他の人に押し付けるようなことになってしまっては大変迷惑です。同僚や顧客にも迷惑がかかってしまいます。

そうならないためにも、「この人はちゃんと仕事をがんばって続けてもらえる人だな」ということが伝わるような志望動機が望まれます。プログラミングやパソコンが好きだし、興味もあるというのは、がんばることができるという1つの指標になります。嫌いなものは続きませんし、すぐにイヤになりますから。

ホームページを作ったことがあったり、プログラムを書いて何かを作った実績があればそれを書いてもらえればいいです。なければ、興味があることを熱意を持って伝えてもらえれば大丈夫です。

また、なんでもいいので、パソコンに関する資格を取ってみるのもアピールするための方法です。プログラマーなどのIT技術者が持っているスタンダードな資格として「基本情報技術者試験」というのがあります。プログラミング未経験の人がこの試験に合格していると、とても熱意が感じられます。

ただ、この試験は少し難易度は上がります。そのため、少し難しいなと思うようであれば、ITパスポート試験などの比較的簡単な資格を取ってみるのも効果的です。

今の会社の退職理由

20代であれば、1つの企業に勤めた勤続年数は短くなります。特に第2新卒であれば、1年くらいで転職してしまう人もいるかもしれませんね。

採用する側として常に気になるのは、「この人はまたすぐに辞めてしまわないいだろうか?」ということです。せっかく時間とお金をかけて雇ったのに、すぐに辞められてしまってはとても困ります。そのために、どうしても聞かなければいけないのが退職理由なのです。

確実に聞かれるので、答えられるように準備しておきましょう。


第2新卒の人や入社して1、2年で転職する人にありがちな退職理由が、「入社してみて、イメージしていたのと違っていた」、「仕事がつまらなかった」というような理由です。このような単純な理由だと、「うちの会社でも同じように思われてしまうかもしれない」と受け取られてしまう可能性が高くなります。

そのようなときは、退職理由をもう少し具体的に詳しく伝えるといいです。

例として2つほどご紹介します。

[退職理由の例1]

「会社に入ってみてパソコンのシステムに携わる人たちと接する機会があり、仕事の役にたつものを作る仕事ってかっこいいと思ったのがきっかけです。社会のためになる物を自分の手で実際に作ってみたいと考えるようになりました。就職活動の時には全く気がつかなかったのが悔やまれるのですが、なるべく早くやり直したいと思い、応募いたしました。」

[退職理由の例2]

「プログラミングができると思ったのですが、実際は営業を担当することになってしまいました。5年くらい経てばプログラミングができるようになるらしいのですが、そうすると30歳近くになってしまって、それでは遅いと思いました。少しでも早くプログラムを書きたかったのです。」

これ以外にももちろんたくさんありますが、共通して言えるのは、なるべく具体的に詳しく伝えてもらえると、採用する側としてはとても安心でき、採用通知が出しやすくなるということです。

20代後半・未経験で転職するために必要なこと


20代後半の方でプログラマーに転職を考えている方にとって必要なことは、20代前半や第2新卒の場合に必要なことと同じですので、すぐ上の「20代前半や第2新卒の場合に必要なこと」の項を参照してください。

基本的には20代後半であっても採用されやすいので安心してくださいね。

ただ、1つだけ20代前半の人と異なる点があります。それは年齢の問題です。

25歳~29歳を20代後半とすると、25歳と29歳では印象が少し変わってきます。というのも、IT業界は基本的に若い人が多いからです。30歳くらいになると主任になる人もチラホラ出てくることもあり、29歳で転職して1年ほどでまだプログラムがあまりかけない状態なのに、同い年の同僚はすでに主任になっているというような状況になると、ちょっと気まずいものを感じるかもしれません。

また、29歳だと採用したくないと判断する企業も増えてきます。若い人が多い企業だと、やはり周りの人間とのバランスが考慮されることもありますし、育成して活躍できるようになるまでに時間がかかると判断されてしまう可能性もあります。

そのため、20代後半の人で、しかも未経験でプログラマーに転職を考えている人は、少しでも早く行動に移した方が良いです。その方が、採用される確率も高くなりますし、入社後も心穏やかに仕事をすることができるようになります。

未経験からプログラマーへ転職するために必要な4つのこと

未経験でも採用される人材とは?

多くの転職サイトの募集要項を見ていると、未経験可と書かれた求人は多くあります。プログラミングという仕事は高度な技術が要求されるのに、本当に未経験でも大丈夫なの?と思うかもしれません。

しかし、誰でも最初は未経験から始めるのも事実です。最初からプログラムが書ける人はこの世には存在しません。みんな少しずつ勉強してできるようになったのです。かくいう私の場合も、28歳プログラミング未経験でこの業界に転職しました。

では、どうして未経験でも採用してもらうことができるのでしょうか?その理由にはいくつかありますが、以下のような条件を満たした人が未経験でも採用されます。

1.やる気のある人や積極的な人
2.継続的にがんばれる人
3.コミュニケーションがきちんととれる人
4.年齢が若い人

未経験なわけですから、当然プログラムを書くという技術を求めることはできません。

プログラムを書くという技術力以外に判断する必要があるのですが、なぜ未経験でもプログラマーとして採用されるか?やプログラマーの採用面接で面接官が見ている9つのポイントなどでも紹介しているように、この4つのポイントがとても大事になります。

特に、プログラミング未経験者はプログラムを書くことができない状態なので、プログラミングという技術を身につけようと一生懸命にがんばれるかどうかといったことであったり、知らないことに対しても自分で調べて解決できる人であるかといったことが大事になってきます。

また、受託開発でも自社開発でもシステムやソフト(アプリ)を作るというお客さんや社内の要望があるわけですから、それを聞いて理解して、形にしていくということが求められます。 これらを満たす条件が上記の1~3に当たります。

私自身もプログラマーの採用面接に立ち会うときには、必ずこの点を見極めようとしています。プログラムを組むことを仕事にするというのは、プログラミングという技術を使って、お客様や社会の役に立つようなシステム・ソフトウェアを構築していくわけです。技術を粘り強く身につけ、磨いていくことができる人物かどうかが重要になるのはお分かりいただけるかと思います。

そして、4の年齢が若い人という条件ですが、これは必ずしも当てはまらないのですが、やはり若い人ほどプログラミングを一通り身につけるまでの時間はたくさんあります。28歳で転職し、仕事を覚えて一通りのことができるようになるまで3年かかったとしても、まだ31歳です。 十分に間に合います。

特にプログラマーは20代や30代前半の人が多いので、30代後半になってくると未経験での転職は厳しくなってきます。 また、若い人ほど将来への可能性で採用してもらえます。今後の伸びしろで判断してもらえるといってもいいです。

転職では実績が大事などといいますが、若い人ほどあまり問題になりません。あまり実績がなくても大丈夫です。

逆に30代に入るなどして年齢が高くなってくると、実績だとかこれまで身につけたことなども判断されるようになってきます。 未経験でプログラマーに転職するなら、プログラマー未経験者の求人探しの始め方のページを参考にして、年をとってしまわないうちに早めの行動をおすすめします。

プログラマーを志望する理由を明確にしよう

未経験で転職するわけですから、現在はプログラマー以外の職についていることになります。そうすると、なぜ今の仕事を辞めてプログラマーになろうとしているのかを、採用する側としては知りたいと思うわけです。単に給料が良さそうだから、なんとなく格好良さそうだからといったイメージだけで応募されても困ってしまいます。志望動機がしっかりとしたものであれば、仕事に対して真面目に取り組んでくれそうだという判断材料になりますが、中途半端な理由では、プログラミング技術を身につけることができず、仕事ができないのではと考えてしまいます。


プログラマーになぜなりたいのか、という志望動機を履歴書や面接でしっかりとアピールすることができるようにしておいて頂きたいと思っています。当然のことですが、転職するにあたって、なぜ今の仕事をやめるのかということも聞かれますので、そのあたりも含めて考えておいてください。


志望動機の例として以前あったのは、「大学でプログラミングの授業を受けたときに、自分が作ったプログラムが動くのに感動した。それが今でも忘れられなくて是非チャレンジしたい。創り出す側の仕事をしたい」といった理由で応募してきた人もいました。その人は採用となりましたが、残念ながら他社にも内定をもらっていたようで、そちらに行かれてしまいました。


また、新卒などの採用ではたいてい未経験者の採用となるのですが、こちらの場合も参考になるかと思いますので、ご紹介したいと思います。
「ホームページを自分で作って公開したときに、実際にネット上で見て動作することが楽しかった。自分の作ったものを人が見て、コメントを残してくれたり反応してくれることがうれしくて、IT業界で多くの人の役に立つものを作ってみたい」といった内容のことを言った人もいました。


これくらい具体的だと、気持ちは本当かもと思います。実際仕事をしていると、自分が作って納めたものをお客さんが喜んでくれると、とてもうれしい気持ちになりますし、それが仕事の原動力となることもあります。このように語ってもらえると、自分が役に立つことを喜び、それを仕事へのエネルギーに変えることができる資質を持った人なんだなということが伝わってきます。

自分の実績や経験をプログラミングへの取り組みと重ね合わせる


しっかりとした志望動機ができあがったら、それを裏付けるようなエピソードや経験、職務事例を考えてください。面接で「やる気は十分です!」「最高のプログラマーになりたいんです」と熱く語られても本当かどうかはわからず、それだけで採用になることはあまりないのではないかと思います。それを立証するような経験など具体的なエピソードがあってはじめて、「この人ならちゃんと仕事をしてくれそうだな」と思えます。


たとえば、何でもいいので資格を持っているのであれば、それを取得するために一生懸命勉強したことを伝え、目的を達成するためにしっかりと取り組むことができる姿勢を伝えるようにしてみてください。IT系の資格を持っていなくてもまったく問題ありません。大切なのは、何かをしようと決めて取り組んで達成できたということが伝えられれば良いです。


仕事においても、今の仕事に対してどのように取り組んでいるのかを伝えましょう。もちろん、しっかりと真面目に努力している姿勢がわかるようにするのがコツです。プログラマーといえども、コミュニケーションスキルは必要ですし、顧客やSEの要求を聞いてそれを形にすることが必要になります。今の会社で顧客や同僚とコミュニケーションをとって仕事をがんばっていたり、お客さんの要望や会社からの要求を聞いて形として反映した経験があれば、そのエピソードを盛り込んでみるといいでしょう。


自分で課題を見つけてそれに取り組み、それを達成・解決できたというエピソードを伝えることができれば最高です。そうすることによって、やったことのないプログラミングでも自分で考えて身につけ、がんばって仕事をしてくれる人だという印象が得られます。



求人に応募するには未経験可と書かれた会社が良い


実際に転職する際には転職サイトを利用することが多いかと思います。 求人案内に「未経験可」という表示が出ていてわかりやすい転職サイトがいくつかあります。 このような案件には、未経験可でも大丈夫な理由が書いてあることもあります。


たとえば、ファインドジョブという転職サイトでは、上の画像にあるようにIT・Web業界で未経験OKの求人を簡単に絞り込むことができます。しかも 未経験者に求める人物像やメッセージなどが具体的に書かれていて、なぜ未経験でも採用しているのか といったことが説明されています。求人案内の一部を抜粋してみると、


・「プロのエンジニアになりたい」という強い意志がある方なら、経験問わず積極的に採用したい
・チャレンジ精神旺盛の方
・真面目に、そして継続的に努力できる方
・社会人経験もIT知識もまったくなかった未経験の先輩たちが、お客さまから愛されて求められる存在となっています。何ごとにも真っ直ぐに努力し、一生懸命に人と向き合える人なら、未経験でも必ず活躍 できると思います。


といった、とても明るい気持ちになる説明を読むことができます。 このように未経験でも応募可能と掲げてある案件であれば、安心して応募することができます。 内定を得られる確率もぐっと上がるでしょう。是非積極的に利用してみてください。


ファインドジョブでの未経験歓迎の求人の検索方法はとても簡単で、下の画像のように「実務経験不問」を選択すればOKです。その上で職種や勤務地を選択すれば、希望する職種で未経験の求人を簡単に探すことが可能です。

WEBプログラマーの仕事内容

WEBプログラマーは、一言で言ってしまうと、インターネット上で利用できるサービスをプログラムを書きながら作っていく仕事です。

たとえばどんなものがあるかというと、インターネット上ではショッピングサイトやアンケートフォーム、データベースの検索、ブログサービスなどが該当します。

ショッピングサイトではユーザーが入力するキーサードによって検索がされ、商品が表示されます。このときは、商品をデータベースから検索するプログラムが動いています。

さらにユーザーがカートに品物を追加して、購入画面で氏名や住所・電話番号、クレジットカード番号などを入力し、発注確定しますよね。この部分では、どんな商品がカートに追加され、金額がいくらかかるか、そしてクレジット決済を行えるような処理を行って、注文が確定されるというプログラムが実行されています。

普段から当たり前のように使っていると、プログラムが動いていることは意識することはあまりないでしょう。しかし、ユーザーの要求に正確に答えるために、綿密に組まれたプログラムが背後で静かにしっかりと動作しているのです。

このようにショッピングサイトの中で多くのプログラムが動いているおかげで、我々ユーザーはあまり意識しなくてもスムーズに買い物ができるようになっています。逆にプログラムが動いていなければ、ネットでショッピングすることなど不可能です。

もちろんショッピングサイト以外にもプログラムが必要とされる場面はたくさんあります。ホテルや飛行機の予約をするサイトもそうですし、本やCDなどを検索するサイトでもプログラムが動いています。

最近ではTwitterやMixiなどのソーシャルネットワーク系のサイトが登場して多くの人が楽しんでいますが、これらのサービスもバリバリプログラムが動いています。

また、多くの人が利用しているブログサービスもそうです。ブログが登場する以前はホームページを作ることはなかなか難しいことでしたが、ブログが作られたことで、ホームページを作って公開することが誰にでも簡単にできるようになりました。ブログサービスでは、レイアウトやデザインの設定が簡単に行えて、コンテンツを簡単にアップできるようにプログラムが組まれているのです。

このようにインターネット上の多くのサービスでプログラムが動いているおかげで、私たちは快適で楽しいネット生活を送ることができるのです。

そう思うと、WEBプログラマーというのはすごく世の中のため人のためになる仕事ですね。とても誇り高い仕事だと思ってもいいのではないでしょうか。

他にも、ある会社だけで使われるWEBシステムを構築したり、研究機関が蓄積したデータなどを公開するためにWEBデータベース公開システムを開発したりするといった仕事などもあります。

たとえば、会社の内部で使用する顧客管理システムをWEBシステムとして作成すれば、普段使い慣れたブラウザを利用してインターネット感覚で顧客情報の登録や検索が行えます。このような会社内部の業務管理をWEBシステムとして作成する仕事は近年とても多いです。

また、大学や研究機関と共同で、インターネット上に研究データを閲覧できるシステムを公開することもあり、そのような場合は科学分野に貢献できているような気分を味わえることもあります。

今はインターネットを使うのが当たり前の時代になっているため、様々なシステムやサービスをWEBシステムとして開発する仕事が増えています。そのため、この分野の需要はとても高くなっているようです。

プログラマーの種類

プログラマーといってもいろいろな種類があります。今見ているようなインターネット上で動くプログラムを構築するWEBプログラマーやゲームを開発するゲームプログラマーなどがあります。


種類によって仕事の内容は当然異なりますし、使用する言語や求められる知識・スキルも変わってきます。求人に応募して就職する際には、どのような形態を希望するのかを明確にしておいたほうが良いでしょう。


このページでは、主なプログラマーの種類と仕事内容、そして使用する言語やスキルなどを紹介したいと思います。

1.WEB系

インターネット上に公開されるプログラムや、会社や組織のLAN環境内でブラウザを使って利用するようなプログラムを開発します。PerlやPHP、Javaなどを使ってプログラムを組むことが多いです。具体的な例としては、ウェブ上で占いを行うようなエンターテインメント系のプログラムであったり、ウェブ上で公開するデータベースの開発、企業や組織の予算や顧客管理データベースの開発などがあります。ネットに公開されているものであれば、検索によって簡単に見つけることができるでしょう。求人案件もとても多いです。

2.ゲーム

プレイステーションやWiiなどのゲームを思い浮かべればわかりやすいと思います。ファイナルファンタジーやドラゴンクエストなどのメジャーなゲームなどもそうですし、パソコンのゲームもそうです。最近では、ネット上でできるオンラインゲームなどもありますし、スマホなどで遊べる携帯ゲームの開発もあります。大きなプログラムではチームを組んで分業で開発することが多いようです。小さなゲーム会社であれば、1人~少人数でゲームの開発に携われるようです。

言語としては、C, C++が主に使われると思いますが、アンドロイド携帯やiPhone、iPadなどの端末で遊べるゲームアプリを開発するのであれば、Object CやJavaなども使われます。

3.組み込み系、制御系

炊飯器やエアコンなどの機械の中にもプログラムが組み込まれていて、ご飯の炊き具合や部屋の温度の調節を行っています。このように家電製品や携帯電話、デジカメなど、機械の中に組み込むプログラムを開発する仕事です。製品ごとにカスタマイズして組み込まれることが多いです。使われるプログラミング言語は、C、C++、アセンブラが主になります。

4.パッケージソフト

ウィルスセキュリティソフトやExcelといった表計算ソフトなど、パソコンにインストールして使うソフトを開発するお仕事です。店頭でソフトが入った箱を購入し、インストールするところを思い浮かべればわかりやすいと思います。パッケージソフトだけを専門に開発している会社もあれば、受託開発の仕事を行いながらパッケージを開発する会社もあります。有名なところでは、Justsystemの一太郎や弥生株式会社の弥生会計などがあります。
使用する言語は多岐に渡り、C,C++、VB、Java、VC++などが使われます。

6.オープン系

Unix・LinuxやWindowsなど複数のコンピューターを使ってシステムを構築する仕事です。クライアント・サーバーシステムとして構築することが多いです。上記のWEB系ともかぶるところがあり、複数のコンピューター間の通信がブラウザを用いて行われることもあります。そのため、求人案内にはWEB・オープン系として募集がかかっているのを見かけることもあります。使用する言語はC、C++、Javaなどですが、ブラウザを用いたシステムを構築する場合には、PHPやPerlなどのウェブ系でよく使われる言語も使用されます。

7.汎用系

オープン系との違いがわかりにくいことがあるのですが、銀行の金融システムなど企業の基幹システム(メインフレーム)に使われることが多いです。データ量が多かったり、安全性や高い信頼性が要求されるような業務で使われます。独自の言語仕様を持っていたり、文字コードを使うこともあります。他のコンピューターシステムとは互換性が無く、閉じた世界を構築します。反対にオープン系ではUnixやWindowsなど標準化された方法で通信できたり、データを利用できるのでオープン系と呼ばれます。言語としては、COBOLなどが使われます。

8.通信系

ネットワーク機器(ルーター、モデム)やテレビ会議、IP電話を使ったシステム開発など、通信に関連したプログラムを開発します。コンピュータ間のデータ送信・受信に関連した部分が主な仕事になります。言語はC・C++やJavaなどが用いられます。組み込み系・制御系ともかぶる部分があり、ネットワーク機器に組み込むプログラムを開発する場合には、両者の知識を身につけることができます。

Pythonプログラマーの仕事内容

数値計算や機械学習、ディープラーニングなどの最先端業務


Pythonの大きな特徴として、数値計算や解析に関するライブラリーが非常に充実しているという点があります。たとえば、NumpyやScipy、Pandas, matoplotlibといった数値計算を高速に実施できるライブラリが有名で、非常によく使われています。また、graph-toolといったグラフ描画のフレームワークも充実しています。さらに、Googleの「TensorFlow」や、「Caffe」、「Scikit-learn」、「Theano」といった機械学習やディープラーニング用のライブラリも充実しています。


同様の分野で、文章の中から有用な情報を抽出するテキストマイニング技術というものもあります。企業が収集したアンケートの中から情報を抽出するために用いられたりするなど、応用分野が広がっています。PythonにはNLTKといったライブラリを利用することができます。


通常、数値計算や解析作業は速い実行速度が求められることが多く、これまではC/C++がその役割を担っていました。しかし、CやC++はコンパイル(パソコンが理解できる形に直してあげること)をする必要があります。、数値計算や解析というのは、一度計算を実行して結果を見てプログラムを修正し、再実行するというプロセスを経ることが多いため、いったんコンパイルする手間を省いて実行できる方が利便性が高いです。


Pythonはその点、コンパイルする必要がありません。しかも、高速に動作し、しかも精度の良い数値計算ライブラリが充実しているとあれば、Pythonが使われるようになるのは自然の流れです。数値解析や機械学習などにPythonが使われれば使われるほど、さらにライブラリや周辺環境が充実していきます。


このような理由があるため、Pythonは数値計算や機械学習、ディープラーニング、ビッグデータの解析などの分野で非常によく利用されるようになっています。


これらの分野は現在最もホットなトレンドでもあります。いわゆるAI(人工知能)の分野では、機械学習やディープラーニングなどの研究がとても盛んです。上場企業や研究開発を行っているような企業などで、ディープラーニングや機械学習を使った開発事例が増えてきています。


また、2017年12月24日発表があったように、政府はAI(人工知能)の分野に1千億円超の予算を確保することが決まるなど、今後ますますこの分野は発展することが予想されます。人工知能の研究や開発が推し進められるため、Pythonの需要も増大していくことでしょう。

WEBアプリケーションの構築


WEBアプリケーションというとJavaやPHPが得意な分野ですが、最近はPythonでの開発も増えてきています。というのも、PythonにはDjangoやBottle、Flask、Tornadoといったフレームワーク(開発が行いやすいように、よく使われるセットが一式そろったもの)が充実して、これらを使うと簡単にウェブアプリケーションを作成することができます。


有名なオンラインサービスもPythonを使って開発されています。例えば以下のものはPythonで開発されています。

・Facebook
・Instagram
・YouTube

どれもメジャーでよく知られたサービスですよね。非常にたくさんのアクセス数があるにもかかわらず、しっかりと安定して運営がされていることからわかるように、十分な実用性があることがわかります。


日本ではまだまだJavaやPHPによるウェブアプリケーション開発が主流を占めていますが、Pythonでの開発も増えてきています。ずいぶん前の話ですが、ウェブアプリケーションといえばPerl(CGI)という時代がありました。しかし、近年ではPerlはずいぶんと下火です。Perlの代わりとしてPHPやRubyが使われるようになったのですが、その流れに新たにPythonを採用する事例が増えてきています。



データサイエンティストにも


上で述べたようにPythonは数値計算や機械学習、ディープラーニング、テキストマイニングなどの分野で強力なツールとなっています。そのため、いわゆるデータサイエンティストと呼ばれる研究者や解析を行う人でPythonを使う人が増えています。


以前であれば、数値計算をする際にはRというまた別の言語を使うことが多かったのですが、最近はPythonがこの牙城を崩すような勢いがあります。まだまだRは広く使われていますが、Pythonも負けず劣らず強力です。

今後、データサイエンティストを目指そうというような人にとっても、Pythonは非常に強い味方となってくれるでしょう。

プログラミングの楽しさ

プログラマーとして仕事ができる楽しさというのは、次の3つの点が大きいと思います。

1.自分が作ったプログラムが人に使ってもらえ、しかもそれが世のため人のためになっていると感じることができる

2.自分が考えたアイデアを目に見える形で実現できる。

3.手に職がつく

世のため人のためになる仕事をしているという楽しさ


プログラマーというプログラムを書くのがお仕事ですが、書いたプログラムは企業などの組織の中で使われるシステムや、インターネット上に公開されて多くの人に使ってもらうシステムとして使われます。


また、WordやExcelといったパソコンにインストールして使用するソフトウェアもプログラミング言語を駆使して作られていますし、エアコンやテレビ、自動車などの機械に組み込まれて機器を制御するために使用されることもあります。他にも、TVゲームやスマホのアプリなどもプログラムでできていますし、いろいろなところでプログラムは使われていて、私たちの生活には欠かすことができない存在になっています。


プログラムを書いてシステムやソフトを作ったり、電気製品の中に組み込まれて多くの人々に使われているのを見ると、自分が世の中の役に立っているということが実感できます。


受託開発で感じる楽しさ

では、普段はどのような形で仕事を進めていってるかをご紹介したいと思います。


私の会社では、ソフトウェアやシステムについて、受託開発と自社開発を行っています。受託開発というのは、お客さんから依頼があり、お客さんのご要望にあわせてプログラムを書き、システムやソフトウェアを開発・納品すると言うスタイルです。


また、自社開発と言うのは、自社でソフトウェアを自ら企画・開発して、それを販売する事を言います。


受託開発ではお客さんから注文を受けて、ご要望に沿ってプログラムを組みます。なかなか大変な部分も確かにあるのですが、お客さんの要望をすべてプログラムに落とし込んだシステムが、実際にお客さんの業務で使われて動いているのは、とても誇らしい気持ちになりますね。「あそこの会社の経理システムは俺が作ったんだ。」、「最近話題になっているあのネットサービスは私のプログラムで動いているんだ。」などという気分を味わえます。


システムの完成後も、保守作業やさらなる機能追加などのご要望を受けて、お客さんと会話をする機会があります。そのときに、「とても便利になった」、「使いやすいよ」といってもらえると、うれしさ倍増です。


やはり、自分の作ったものが人の役に立っていると言うのは、何物にも変えがたい喜びです。


受託開発で作ったシステムがインターネット上に公開されるプログラムの場合、さらにたくさんの人の目に触れ、そして使われることになります。そのような場合にも、「自分の作ったプログラムがたくさんの人に利用されている」という実感を持つことができます。


私の場合だと、友達にスマホでネット上のサイトを見せて、「これ、僕が作ったんだよ。」と自慢してみたりしています。「こんなの作れるなんてすごいねぇ」なんて言ってもらえると、鼻高々!です。


他にもいろいろな楽しさがあります。詳しくは、受託開発の面白さ~3つのポイントでご紹介していますので、ご参考にしてみてください。

自分のアイデアを実現できる楽しさ


また、私の会社では受託開発以外にも自社開発も行っています。


プログラムを書いてソフトウェアやシステムを作るところは同じですが、企画を作るところと宣伝・販売するところも自分たちでやることになります。 企画の段階で自分の考えたアイデアが採用され、プログラミングをして作っていくと言う作業は、とてもクリエイティブな気持ちを味わえます。何しろ自分の考えたアイデアが実現され、世の中の人々に使われるのですから。


さらに自社開発で作った製品を宣伝・販売する場合には、専門の部署があればそこが担当することが多いですが、小さな会社の場合は、宣伝・販売も自分で行うことになるかもしれません。 宣伝・販売方法を考えるのが面倒と思うかもしれませんが、自分が考えて作った製品を少しでも多くの人に買ってもらおうと思うのであれば、勝手に体が動くかもしれませんね。


自分で考えた分、どこがセールスポイントなのか、どういう人に使ってもらいたいのかと言う事が他の人よりもよくわかっていると思います。そのような人が宣伝・販売のために必要な売り文句を考えることは、意外とスムーズにいけるように思います。


こうなると、小さな会社で企画を通して製品開発を行う場合は、企画から開発・宣伝・販売まで、すべてをこなせるチャンスがあります。自分のアイデアを形にして自分の手で売ってみたいと思う人や、物ができて販売にいたるまでにどのような流れになるのか、どんなことが起こるのかということを知りたい人には、このような自社開発のスタイルと言うのは向いているかもしれません。


実際、私も小さなソフトウェア会社で、上記にあるような企画から開発、宣伝・販売まで一人で担当したことがあります。最初はなかなか大変なのですが、やはり自分のアイデアを形にしていくというのは、とても楽しいものでした。1つ売れるごとに、他では味わえないような楽しさ・うれしさを感じることができました。 ソフトウェア開発の3つの面白さのページにもまとめていますので、参考にしてみてください。

プログラミングという武器を手に入れる喜び


私は今の仕事につくまでは、手に職があるとはいえる状況ではありませんでした。


特技もない、スポーツで生きていくこともできない、絵が描けるとか何かが作れるといったこともなく、手先が器用でもない、そんなごくありふれた一般人です。


もし会社という場を離れて給料をもらえなくなったら、一人で生きていくことなどできないような人間でした。与えられた環境でしか生きていくしかことしかできないと、自分に自信が持てない状況が長く続いていました。


しかし、プログラミングを覚えるうちに、いろいろなシステムやソフトを作ることができるようになりました。実際に役に立っているというお声をいただいたり、長きにわたって使い続けてもらっているものも出てきています。


人の役に立つことができる、自分で考えたことがプログラムというツールを使って形にすることができるという自信が少しずつ出てきました。


最近では、面白そうだと思ったアイデアを実際にプログラムを書いて作ってみて、それをインターネット上にアップしてみたりもしています。反応が良かったり、アクセスが増えてくるととてもうれしいものです。


この仕事につく前に感じていた「手に職がない」という自信のなさは今ではだいぶなくなり、いざとなったらプログラムを書いて生きていけるのでは?とも思うようになりました。 プログラミングを身につけることによって、給料をもらうだけでなく、手に職がついたという自信とそこから得られる楽しさが感じられるようになりました。