プログラミングってなに?プログラミングを勉強する前にプログラミングで何をするか考えよう。

2017年12月22日

 

どうも、
健康診断で肝臓の調子があまりよくなかった
@version1です。

 

 

さて、
昨今プログラミング教育の学校での必修化などなどが
ぼちぼち話題になってきたり、
ITリテラシーがなんちゃらかんちゃらとか
将来のビジネスマンはプログラミングができないと、
これからはITだ
などなど、
時代の流れもあってがよくよくプログラミングという言葉
を耳にします。

 

そんな中、一エンジニアとして思うことは、

で、プログラミングを覚えてどうするの?

 

というところです。

 

ゴールはどこか?必要な知識はなにか?それはどこで学べるのか?

 

 

確かにプログラミングって自分のイメージしたものが
作れたりとかしてすっごい面白いし熱中できることなんですけど、
プログラミングを必修化のニュースや
これまでは営業職だけどプログラミングがやりたいので
転職したいです。というのも聞いたりするのですが

それを聞くたびに

それらのゴールはどこなの?

ということを日々感じております。

(2030年とか2040年頃の社会人が
みんなプログラマーになるわけではないし、
プログラマーだけがシステム開発に関われる仕事でもないし・・)

プログラミングというと
webサイトを作ったり、iPhone・アンドロイドのアプリを
作ったりという所が一般的にイメージ
されるとは思うのですが、
システム開発におけるプログラミングというのは
一部の側面でしかないです。
例えば
「webサイトの構築」を例にとると
覚えないといけない知識や作業はざっと以下のようになります。

  • gitなどのソース管理の知識。デプロイ含む。
  • ローカル開発環境用の仮想環境の知識。
  • IPアドレスやSSHなどネットワークの知識。
  • PHP,Ruby,Javaなどプログラミング言語の文法などの知識。
  • フレームワークに関する知識。
  • HTTPなどwebプロトコルに関する。
  • ローカル開発環境用の仮想環境の知識。
  • sshの接続知識。IPアドレス。ネットワーク
  • プログラミング言語に関する知識。文法など
  • 何か一つのフレームワークに関する知識。
  • httpに関する知識。GET,POST。
  • html,css,javascriptなど画面側の言語。
  • unixコマンド。コンソール操作。

 

 

 

 

 

これらは主に開発面のことだけでほかにも
画面の設計したり、、、集客の方法を考えたり、、
などなど必要な知識はたくさんあります。

おそらく皆さんが考えるプログラミングを勉強したいというのでは、
”プログラミングの文法を勉強したい”ということではないはずです。

 

必要な知識も行動も目的次第

 

 

必要そうな技術を列挙して、
「ゲッ」と思わせてしまったらごめんなさい。
別に驚かせたいわけではありません。
列挙してみるとやることが多く、ひるんでしまうかもしれませんが、
目標を「webサイト構築」に絞ると少なくとも
「プログラミングを勉強したい」というぼんやりとした、
目標を持った状態から抜け出して、
実際の行動に動き出せるのではないでしょうか。

 

私は、「一つのウェブサイトを自分の力で作成し、運営できるようになりたい」

という目標があったので、
今も自分でサイトを開発して公開しています。

サイトのデザインや、サービスとしても
まだまだですが、
別にエンジニアとして就職するだけであれば、
自分のプライベートの時間を使って
プログラミングしているので、
少なくとも「〜したい」のままで止まっているだけではない
だけましだと思っています。

 

「プログラミングを勉強したい」
と考えている人は、
より目標を明確にすると勉強のレベルが一歩先に進むのではないでしょうか?

 

生意気な意見を書いてしまいましたが、
私の感じている所が少しでもみなさんの為になればと思います。
以上です!!