プログラミングの独学が難しい理由。先生がやっぱりほしい

みな実です。

プログラミングを独学でしたい人は多いです。
でも正直、全く知識が真っさらな状態から独学するには相当頑張る必要があります。

やっぱり、わからないところでつまづいた時の解決方法がわからないし、変にイジったせいで元に戻せない、さらにわからないことが出てきた…と修正が2重、3重になり、心が砕けます。。。

でもその「分からない」を解決することは、エンジニアになってからもよく出てくることです。

そういう意味で必ず忍耐力が必要にはなってきますし、自分で解決できる能力を養うという意味でも重要なことです。

 

試行錯誤しながら頑張るという人は読み進めてください。

 

独学でプログラミングをして、どうしたいのか決める

 

当然のことですが、プログラミングを学んでどうしたいのか目標を決めておきましょう。

中途半端に目標を設定すると、中途半端な達成しかできない可能性が高いです。(体験談)

 

プログラミングをしようと言うからには、
やっぱりそれを仕事にしたいというのが本音だと思います。

ITエンジニアには今はかなりいろんな働き方があります。

そもそも、プログラマーとITエンジニアの違いを知っていますか?

私は最初勉強し始めた時、知らなかったのですが、ITエンジニアの一連の仕事のPG(プログラミング)の作業をする人をプログラマーと言います。

なのでプログラマーもITエンジニアに含まれるんです。

 

実際今はリモートや週3、4で働いてそれなりのお金(30〜50万)を貰っている人もいたり、会社との契約でフリーランスとか、自社開発、ベンチャー、SES企業と色々働き方があります。

起業して自分で個人の仕事や中小企業から仕事を貰っている人もいます。

 

働き方の幅を自由にしたいと思う人や、実力をそのまま評価に繋げたいと思う人にはかなり嬉しい仕事です。

 

ですが、実力が大事になるので、成長し続け、最新の技術を自分にアップデートできる人であることが必須条件です。

 

 

独学のやり方

 

独学するなら必要なもの

  • PC(MacかWindowsどちらでも動画編集できる程度のスペックがいい)
  • ネット環境
  • プログラミングの本かネットの教材

 

独学でやるべきこと

  • 開発環境を構築する(言語によって違う)
  • 基本的なコードを書く
  • 実行する
  • バグを直す
  • プログラムのPDCAを繰り返す
  • 最初は誰かのプログラムをそのまま真似て作る
  • うまくいかなかったことをポートフォリオとしてまとめる
  • 自分のオリジナルを作る
  • 出来上がったらGitHubなどでコード公開する

 

開発環境がなけれはプログラミングができません。
いろんな開発環境の作り方がありますし、使うツールも違うことがあるので、一つ決めて作ってみてください。
プログラムを簡単に実行できるアプリもありますが、ちゃんと開発環境を作って勉強しないと書けても開発が出来ないので行き詰まります。

環境構築が出来たら、基本的なプログラムの書き方を練習します。
プログラム本文は半角英数字しか使えないので「;」「;」の半角か全角かで、プログラムが実行されずつまづいてしまったケースもあります。(コメントは全角でも書けます)

 

一旦一通りの基本的な書き方を覚えたら、真似して実際に同じものを作ってみます。
行き詰ったところや発見したことはポートフォリオ(資産の意味ですが、ここでは作成した証拠となるコードや備忘録的なもの)にまとめます。

纏めるのはブログが良いです。それかGitHubを利用しましょう。

 

まずは学んでおきたいこと

  • HTML
  • CSS
  • JavaScript

これはしっかりやるべきだと思います。

Webでの画面を作る言語と、画面の動きを作る言語なので、必ず覚えましょう。

言語と言っても、画面周りだけ(HTMLとCSS)をコーディングする人はプログラマーではなくて「コーダー」というくらい、どちらかというとプログラムぽくないです。
画面やデザインの設定をある規則的な書き方で表現するというのが正しいものだと思います。

JavaScriptはかなり利用価値が高い言語で、作った画面に動き入れたり、登録ボタンや送信ボタンのような動きが作れます。

JavaScriptを土台にしたフレームワーク(JavaScriptで予め作った形式を簡単に使える仕組み)やGoogle Apps ScriptのようなJavaScriptとよく似た言語でGoogleのアプリを編集できたり、いろんなところで使われているし、基礎になります。

 

学び始める言語

  • PHP(Webアプリ系言語)
  • Ruby(東京で人気のWeb系言語)
  • C#(ゲームやスマホアプリ開発系言語)
  • Java(AndroidアプリとWebアプリ)
  • C・C++(機械・組み込み系)

 

本当のプログラミングはここからです。
環境構築には手間取りますが、そこはどうしても分からなければ質問したり、知っている人に聞けるといいです。
プログラミングを学び始める言語はなんでもいいですが、自分がやりたい分野で主力の言語がいいでしょう。
どれかとりあえず極めておけば、別の言語も学びやすくはなります。

データベース

  • Oracle(大企業でも使っているDBのSQL、資格もある)
  • MySQL(個人開発や小規模アプリケーション)
  • SQLite(スマホアプリ系で利用するDB)

のどちらかをしていれば基本はOK。
向き不向きがあるので、調べてみてください。

データベース(DB)は情報を貯めておく場所です。
大きな図書館をイメージし、その図書館から欲しい情報を引き出すための検索をSQLで行います。
全てSQLを利用することで本の中身を変えたり、本を捨てたり、同じ本を別の部屋に移動することができます。

それらの情報はあらかじめ入れておく情報とアプリの操作で追加される情報など色々溜めこめます。テーブル(excelの表と同じ意味)というカテゴリ分けをすることで、どういう情報はどのテーブルにあるかを分けておきます。

 

やってはいけないこと

 

  • 無料のプログラミングスクールに行く
  • 本を読むだけで満足する
  • とりあえず資格を取る

 

無料のプログラミングスクールの質が悪いこともあるし、卒業した後の仕事の斡旋先が悪いことが大半です。下層のプログラマーもしくはテスターとしてだけやって行く覚悟があるならいいです。

でもコードもろくに書けないテスターを続けていても、会社を辞めざるを得ない時に転職先が見つからなかったり、キャリアとしては積み上がりません。

あと、プログラミング系の資格を取るだけでは本当に仕事が出来るかとは違うので、「ふ〜ん」という程度の評価です。
ですが、基本情報技術者のようなITの基礎の国家資格は取っておくと他のプログラムの資格よりは評価はされます。

基本情報技術者の前に、ITパスポート試験情報セキュリティマネジメント試験など受ける人もいますが、確かに受けている方がいいですが、評価に響くのは基本情報技術者試験からだと思っていいでしょう。

 

作るものから逆算して計画を立てる

 

どっちみち仕事としてプログラミングをしようと思ったら計画性が大事です。

女子は・・・と一概には言えませんが、計画立てるの下手くそな人でも、気にせず計画立てて実行しましょう。

本当に計画を立てて実行したいなら生活習慣から見直した方がいいですが、とりあえず、勉強の計画を立ててみましょう。

 

仕事をしていない場合

仕事をしないで2、3ヶ月ほど勉強する場合。正直3ヶ月で成果を出したいなら、スクールにサポートしてもらった方がいいのですが、独学でやるとした場合は半年くらいは見た方がいいです。

上の「必要なもの」を用意してあることを前提で、

「まず学んでおきたいこと」を実践する

※参考書

これからWebをはじめる人のHTML&CSS、JavaScriptのきほんのきほん 

HTML5&CSS3デザインブック (ステップバイステップ形式でマスターできる)

などをやりましょう。基本の操作を学んで、HTMLとCSSで実際の画面を作るという感じです。

部品を学んで、部品を組み立てて形を作るってイメージです。

 

自分が作りたいものが作れる言語を学ぶ

単純に人気な言語を学ぶのもいいですが、人気は変動しますし、自分が作りたいものを作れる言語を選ばないとせっかく学んだのにすぐ使えないのが辛いです。

私はRubyとC#はあんまりわかりません・・・これから勉強しようと思っていますが。

JavaとPHPは、Webアプリ系ならメジャーな言語です。

それでも、最初の学びでつまづくと諦めてしまうので、
本屋で立ち読みして「内容薄いんじゃないの?」と思うくらい最初は色々書かれていない本を選んで勉強するくらいがいいと思います。

※参考書

Javaの絵本 第3版 Javaが好きになる新しい9つの扉

絵本からどうぞ。ナメてんの?って思うかもしれませんが、絶対段階を踏むべきです。
最初に抱いた苦手意識は引きずりますからね。

スッキリわかるJava入門 第2版 (スッキリシリーズ)

定番教科書ですが、根本的なところからしっかり説明してあるので、
コードの書き方説明→動きます、という単純な説明に「だから??どうやって使うの?」と思う人はこの本のシリーズがおすすめです。

 

やさしいJava 第6版 (「やさしい」シリーズ) 

これも割と定番ですが、特に優しくありません。シンプルで見やすいですが、教えてくれる人がいて、その補足として使うといいかなというレベル。おすすめはしません。

 

PHPの参考書

いきなりはじめるPHP~ワクワク・ドキドキの入門教室

これも結構中身はごちゃついていなくて、案内の通りに進めていけばできます!って感じの本なので、初心者には優しいと思います。本だけど先生に教えてもらっているような形式です。

すでに何かの言語をやったことがある人は
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!
という同じ著者の本をおすすめ。

 

PHPフレームワーク Laravel入門

ある程度作れるようになったら、PHPの場合はフレームワークをやっておいた方がいいでしょう。
PHPはたくさんフレームワークがあるので、比較的メジャーなフレームワークをやったことがあるという人は、採用されやすいです。

スクールなどを利用したいと思っている人

 

独学+スクールで勉強することを検討している人はこちら

女子がSEになるメリットとSEになる方法。システムエンジニアになるには?

女子とは書いていますが、男子もどうぞ。

段階を踏むことが一番大事です。
勉強がうまい人は最初から難問にチャレンジしませんし、ちょっと簡単かも・・・ってくらい基礎から繰り返してレベルを上げていきます。

また勉強法なども書きたいですね。

 

 

作るという体験の楽しさ

 

最初の基礎では「あ、動いた」という程度の快感度ですが、実体になるWEBサイトやアプリが出来ると作る快感がありますよ。

特に、自信ないな・・・、達成感とか感動とかないな・・・と思って過ごしている人は、作ることを実際にやってみて、その感動を味わった方がいいと思います。

正直、粘土とかで何か作る方がすぐ作れるし、子供の頃にやっていると思いますけど、リアルに仕事にも繋がることで、実際に作ることができるとかなり自信度が上がります。

 

ぜひやってみてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です