目次
プログラミングとは?
プログラミングとはプログラムを作ることです。
プログラムとはコンピューターに入ってるソフトウェア全般のことを指します。もっと抽象的な言い方をするとコンピューターに対する指令をマニュアルにしたものと言えます。
この命令ですが最終的には1と0の電気信号に変換されます。YesかNoかとイメージしても構いません。それが電子回路を通って、ネットワークを通っていって最終的にメールを送信したりWebページを見ることができています。
プログラミング言語でプログラミング
プログラマーはその1と0を書いているのかというとそうとも流石に0と1を打ち込んではいません…
じゃあ、どうやっているのかと言うとプログラミング言語という人間の言語に近い文法で命令文を書きます。たとえば、Pythonというプログラミング言語でHelloという文字を画面に表示をするという指示は次のようにかけます。
print "Hello"
このように英語のような言語を使ってプログラマーはプログラミングをしています。この命令はプログラムで0 1に変換されて最終的には電気信号に変換されます。
なので、プログラミングと言っても結局は文章を書く作業に近いです。けれど、一般的な文章と異なる点は「厳密性が求められる」ことです。法律の文章よりももっと厳密です。プログラミングを学ぶと私達の言葉はなんて曖昧なんだと思います。
プログラミングを使った仕事
プログラミングを書く人はひとくくりにプログラマーやコーダーと言われたりします。その人達をまとめあげるSEやそのSEをまとめ上げるSierさらにそれらをまとめ上げるコンサルといった具合にIT業界は多層になっています。
今回はプログラミングの話なのでプログラマーの部分について掘りさげてみます。プログラマーといっても多種多様な仕事があるので私なりにわかりやすく紹介してみます。
全部を説明しきれないので一部だけ紹介してみます。もっと興味のある人は「日本の給料&職業図鑑」が詳しいので読んでみてください。
Webエンジニア
WebエンジニアはWebページを作るのが仕事です。ブラウザで見れるサイトだったりスマホアプリの裏で通信を行っているシステムを構築する仕事です。
もっと具体的な説明をすると、URLを受け取ってそれに対応する結果(ページやデータ)を返すプログラムを書いてると思ってください。
また、システムだけを見ているのではなくユーザーどうやったら使いやすいページになるかも考えて設計します。
アプリエンジニア
アプリエンジニアはスマートフォンアプリを作る仕事です。
スマートフォンアプリは何をしているのかというとユーザーの操作に対して適切なURLを発行してWebサーバーに伝えるようなプログラムを書いています。
また、Web同様、ユーザーが操作しやすい画面はどうするのかということを検討しながらアプリを作成したりもします。
Web、アプリデザイナー
また、Webやアプリのデザイナーもプログラミングを利用する仕事の一つです。デザイナーはユーザーとシステムの間にある画面を設計してプログラミングするのが仕事です。ボタンの配置や文字の表示方法などを数値で指定して上手に画面に表示します。
機械学習エンジニア
いわゆる世間ではAIとよばれるものを活用してデータを解析しているエンジニアのことです。ビッグデータの中からユーザーの利益になるような情報を導いてWebやアプリといったサービスに役立てる仕事です。
パッケージソフトウェア開発
パッケージソフトとはPCにインストールして使うソフトのことです。OfficeやWindows、iTunesなどがそれにあたります。
組み込みソフトウェアエンジニア
組み込みソフトウェアとは我々が使ってみる一般的なPCではなく目的に応じた機械のプログラムを書く仕事です。具体的には自販機だったり駅の改札だったり身近なところにあるありとあらゆる機械のプログラムを書く仕事です。
他にも色々…
他にもいろんな切り口でエンジニアと言う仕事を紹介することができますが限りがないのでここまでとさせていただきます。もっと詳しく知りたい場合は先程紹介した職業図鑑を見てみてください。
プログラミングを身に着けるには?
さて、ここまで読んでいただいた皆さんはプログラミングに興味を持たれた方だと思います。
プログラミングってどうやって身に着けるの?
と疑問に持たれた方もいると思います。
大学に通わないとダメ?プログラミングスクール?就職?
などいろいろな手段が思い浮かぶと思います。たしかに、大学で学んだ人もいればプログラミングスクールで学んだ人、新卒で入社したらプログラミングをやることになってできるようになった人など様々です。
プログラミングは独学で身に着ける
しかし、意外なことかもしれませんがプログラマーは独学でプログラミングを身に着けている人が多いです。
大学でプログラミングを学ぶとかはありますが業務レベルまで実力をつけるには独学は必要です。義務教育の英語で英語が喋れるようにならないのと同じイメージです。
最近だとプログラミングスクールに通って身に着ける人もいますが…
大学に通う必要もありませんし、就職しないと身につかないこともありません。
興味があるのであればすぐにやってみてください。
才能次第では 一年以内に仕事
素養さえあれば一年以内に仕事を受けれるぐらいの実力は身につきます。素養といっても天才を指しているわけではなく3割ぐらいの人が持っている素養というイメージです。
最近はプログラミングスクールなどのサービスが充実しているのでお金を出せば以前よりも効率的に学習することも可能になっています。
以前、Twitterで私が紹介しましたがホリエモンこと堀江さんは3ヶ月でも習得できるといっています。
プログラミングって意外と簡単だからやってみましょう。
— 独学プログラマーONO🍣🐈ネットサーフィンの壺✨ (@netsurfing_tubo) July 23, 2019
🇶 38歳、未経験ですがプログラマーになりたいです。
🇦 センス次第だけど普通にオンライン学習で1ヶ月ぐらいでなれるよ。
補足ですが1ヶ月でできなかったらセンスがない訳ではないので焦らず。@takapon_jphttps://t.co/pyuheHX7dP
ちなみに、宣伝ですがわたしはTwitterでプログラミング独学をテーマに発信しています。もし、プログラミングに興味が湧いたらフォローお願いします🙇♂️
プログラミング習得に素養は必要?
プログラミングに素養は必要ですがこれはやってみないことにはわかりません。強いて言うなら高校の頃、現代文が得意な人は向いている印象です。
理由としてはドキュメントを読んで素早く理解してプログラムを書く行為を繰り返すのがプログラミングの仕事の大半の作業だからです。
数学の素養も必要に思われがちですがこれは機械学習エンジニアなどの限られたプログラマーの話だと思います。
厳密に論理を構築するという点では数学の証明を書ける人は得意ですが意外とWeb系には数学嫌いだった文系の人とかもいます。
プログラミングを始めるのに必要なものは?
プログラムを始めるのに必要なものはと言われると最初の段階では最低限のネット環境とPCさえあればOKです。できれば、プログラムを教えてくれる人が近くにいればぐっと独学の成功率は上がりますが…
スマホしか持ってない人はノートPCでも買ってみましょう。もし、新たらしくPCを買うのであればMacにだと良いです。理由は次のとおりです。
あくまで一意見ですがプログラミングをするならMac bookがおすすめです。Airでもぜんぜん大丈夫です。
— 独学プログラマーONO🍣🐈ネットサーフィンの壺✨ (@netsurfing_tubo) July 24, 2019
☑ Linuxのコマンドが使えるようになるから
☑ 環境構築が簡単だから
☑ iOSアプリが作れるようになるから
少し値段が高いのが難点ですが… https://t.co/o6CO8SUVDF
まずは何から始めれば良い?
とりあえず、お手軽にプログラミングを始められるのは無料のプログラミング学習サービスProgateです。
PCの操作に慣れている人はRails チュートリアルから初めて見るのがおすすめです。これも無料でプログラミングが学べる教材で定評があります。わたしも子のチュートリアルでWebを学びました。ここの内容をすべて吸収できれば現場でも通用します。簡単ではありませんが独学で乗り越えられない壁でもありません。
また、以下の記事にプログラミング独学に役立つスライドをまとめています。スライドだとサクッと知識を入れることができるのでおすすめです。
わたしの学生の頃の勉強を方法をまとめると次のような感じです。参考にしてみてください。
学生におすすめのプログラミング独学手順
— 独学プログラマーONO🍣🐈ネットサーフィンの壺✨ (@netsurfing_tubo) July 31, 2019
✅Railsチュートリアルを挫折するところまでやる。
✅Progateでわからないところを学ぶ
✅Railsチュートリアルに再チャレンジ
✅チュートリアルでできたものをアレンジしてアプリを作る
✅インターン、アルバイトに応募する