エンジニア

プログラミング入門!未経験からエンジニアへのステップアップ

プログラミングの勉強って興味あるけど、どうやって始めればいいのか分からない…。プログラミング未経験からエンジニアになるのってやっぱり大変なのかな?

今回はこういったテーマでお話していきます。

僕はプログラミング未経験から新卒で入社した会社で、今も現役のエンジニアをやっています。

そんな「未経験」→「プロのエンジニア」へのシフトを経験した僕が、実体験だからこそ語れる、『プログラミング入門|未経験からエンジニアへのステップアップ』を紹介していきます。

プログラミング未経験からエンジニアとして就職してから、約1年でざっくりこんな感じのスキルが身につきました。

◼️大学3年(就活中)の自分
→プログラミングの経験は高校と大学の必修の授業のみ。(ド文系)

↓↓↓↓↓↓↓

◼️エンジニアとして1年間経験を積んだ自分
→扱える言語:Java/Python/Vue.js/React/SQL/HTML/CSS…
→保有資格:ITパスポート, JavaBronze, JavaSilver, Oracle Master Bronze

これは決して自分のことを「すごいだろ〜」と自慢している訳ではありませんし、そもそも自慢できるほどのものでもありません。

ここで本当にお伝えしたいことは、「プログラミングが未経験でも、1年間だけでも正しいステップで効率よく頑張れば、この程度のスキルは誰でも簡単に身につけることができる」ということです。

ちなみに、今回は資格取得の話ではなくて、実際にプログラミングに入門していくためのステップを紹介していきます。

「資格取得の話も興味がある!」という方は、下記記事にて、詳しい勉強法含め、詳細に解説してありますのでぜひ参考にしてみてください。

さて、それではそろそろ本題に入っていきます。

本記事の対象読者

◼️プログラミングを勉強してみたいけど、何から始めたらいいか分からない
◼️学生時代には特にプログラミングのことを勉強したこともない
◼️なんかかっこいいからプログラミングができるようになりたい

誰でもできる!プログラミングに入門するための3ステップ!

「プログラミングの入門」だからといってそんなに身構える必要はありません。

やるべきことは以下の3ステップです。

  • STEP1:プログラミングを学習する上での事前準備
  • STEP2:手を動かして学習していく
  • STEP3:振り返りをして次の目標を定める

STEP1→STEP2→STEP3と進んだら、あとはひたすらSTEP2とSTEP3をできるだけ短いスパンで繰り返していくだけです。

上記の3ステップですが、ご存知の通り基本中の基本です。

ですが、だからこそ蔑ろにしてはいけません。

本記事では、1つ1つのステップを皆さんが具体的なレベルで実行できるように丁寧に解説していますので、ぜひ最後まで読んでみてください。

ステップ1:プログラミングを学習するための目標を設定する

何はともあれ、まずは目標を設定しましょう。

プログラミング学習は長期戦です。目標をできるだけ明確に設定することは、長期的に勉強のモチベーションを保つ上でかなり大切になってきます。

例えばこんな感じです。

例)
◼️長期目標:エンジニアとして就職/転職する
◼️短期目標:自己紹介Webページを1枚作成する

ここでのポイントは、「長期的な目標と短期的な目標の2つを設定する」というところです。

なぜなら、どちらか一つしか設定していないと学習の途中で挫折してしまう確率がグッと上がってしまうからです。

よくありがちな失敗例としては、「長期的な目標」だけを設定してプログラミング学習を始めてみたものの、途中で目標までの道のりの長さを痛感し、挫折してしまう、というものです。

先ほども述べた通り、プログラミング学習は長期戦です。

そう簡単に1日や2日で身に付くものではありません。しかし、逆に長い目でコツコツと学習を続けていけば、身に付いていくということも確かです。

なので、プログラミング学習を始める最初の地点で、長期的にモチベーションを維持し続けていくために少し工夫しておく必要があるのです。

それが、「長期的な目標と短期的な目標の2つを設定する」ということです。

◼️長期的な目標によって、自分の理想の姿を思い描き
◼️短期的な目標で、日々の学習の成果を実感していく

この両輪を最初にしっかりと設定しておけば、とりあえず、プログラミング入門の第一ステップは完了となります。

プログラミング学習は長期戦。一朝一夕で身に付くものではない。
短期/長期目標の2つを設定することで、モチベーションの長期的な維持につなげる。

※短期的な目標がパッと思い浮かばなかったら、とりあえず「自己紹介Webページを1枚作成する」位が最初のレベル感的にちょうど良いかなと思います。

ステップ2:実際に手を動かしてソースコードを書いていく

目標を定めたら次のステップとして、早速手を動かして実際にガンガンプログラミングをしていきましょう。

「そんなこと言われても、何をどうやってプログラムを書いていけばいいのか分からない!まずは何から始めたらいいの?そもそも何も分からないから、教科書とかでまずは勉強してからの方がいいんじゃない?」

このように思われた方も多いかもしれません。

でも安心してください。一つずつ疑問を解消していきます。上記の疑問を簡単にまとめるとこのような感じでしょうか。

【疑問点まとめ】
・どうやってプログラムを書いていくのか(プログラミングの方法)
・何(どの言語)を勉強したらいいのか(学ぶ対象)
・まずはインプットしてからではないのか(勉強方法)

疑問その1:どうやってプログラムを書いていくのか(プログラミングの方法)

最近はプログラミングを学習するために必要な様々な準備はもはやすることなく、すぐにプログラムを書き始めることができます。

その代表例がProgateです。Googleで「Progate」と検索すればすぐに見つかります。

Progateとは、簡単にいうと実際に自分の手を動かしながらプログラミングを学習するサイトです。しかも無料で始められます。

なので、初心者にはちょっとハードルの高くて面倒臭い環境構築を一切やる必要がないのです。

とりあえず「プログラミングってどんな感じなの?」という感覚を掴むのには非常にうってつけです。

しかもそれでいて、学習コースもちゃんと充実しているので、そこでしっかり学ぶだけでも十分な力を身につけることができます。

疑問その2:何(どの言語)を勉強したらいいのか(学ぶ対象)

僕もそうでしたが、初心者の方でよく迷うのがここです。

「どの言語を学べばいいのか」

結論からいうと、初心者の方は「HTMLとCSS」から勉強し始めるのが吉だと思います。

理由は様々ありますが、簡単にまとめると下記の2つに集約されます。

◼️プログラムが視覚的に分かるので、とっつきやすいから
◼️環境を構築する必要がほとんどないから

そして、HTML/CSSを一通り学んだ後で、「どの言語を勉強しようかな…」と色々調べたり聞いたりして悩んでみるといいと思います。

※ちなみにその次に学ぶとしたら、僕は個人的にJavaScriptがオススメです。

何はともあれ、まだ何も分からない状態なのであれば、まずはProgateのサービスを使ってHTMLとCSSの基礎を学び始めるのがいいのかなと思います。

疑問その3:まずはインプットしてからではないのか(勉強方法)

「学校の勉強と同じように、まずは教科書を読んで色々と覚えるのが先じゃない?」

と思った方、ちょっとお待ちください。

これは僕の持論も入りますが、プログラミング学習において教科書的な本を読むなどのインプットは、特に初期の段階ではさほど重要ではありません

プログラミング学習は、英語のスピーキングやライティングを勉強するのとかなり似ています。

学校の勉強で数年間たくさんの教科書を読み、英単語を覚えた学生のうち、英語でコミュニケーションを取れるほどの能力がある学生は一体どれくらいいるでしょうか。

僕の感覚値ですが、きっとそれは1割にも満たないでしょう。

インプット過多の学習が故に、いざアウトプットするとなると何もできなくなってしまうのです。

プログラミングの能力は「いかにレベルの高いアウトプットが出せるか」というところで問われています。

なので、学校の英語の勉強のようにインプットばかりしているだけでは、自分では大したシステムも組めないのに、口だけはうるさい頭でっかちのエンジニアになってしまいかねません。

そうなってしまっては、せっかくプログラミングを勉強したのにもったいありません。

だからこそ、僕はこうして「とにかく最初は手を動かして勉強した方がいい」と主張しているのです。

また、これに関連してですが、プログラミングをこれから独学で勉強していこうと考えている方は、下記の記事もぜひ参考にしてみてください。

本記事では説明しきれていない、プログラミングのより詳細な勉強法をこちらでは解説してあります。

◯とりあえず最初の勉強に教科書的なものを読む必要はない

◯特にこだわりがないのであれば、Progateを使ってHTMLとCSSの学習からスタートさせればOK

◯Progateでさくっと一通り学んだら、自分で色々とググりながら、自己紹介Webページを作ってみましょう!(とにかく何かしらのアウトプットが大切です。)

ステップ3:アウトプットの振り返り|次なる目標の設定

最後のステップ3としては、自身のアウトプットを振り返り、次なる短期目標を再設定すればOKです。

例えばこんな感じです。

例)
◼️アウトプット:自己紹介のWebページ
◼️振り返り:意外と簡単なWebページなら色々と自分で作れそう。それでも、なんだか自分が作ったページはデザインがイマイチ…。せめてもう少しましなデザインのページ位はささっと作れるようになりたい。

◼️新短期目標:いけてるデザインのWebページを参考にして、自己紹介ページをもっとイケイケなデザインにする

他にも、

  • ページに動きをつける
  • 新しくページを追加して、ボタンを押したら移動できるようにする
  • 表や図形を加えてみる

などなど、自分が興味があって、これならなんとかできそうだぞ、というようなレベル感の目標が設定できればOKです。

1〜2週間でその目標を達成したら、また振り返って目標を再設定し、また1〜2週間位でそれを達成し…ということを半年〜1年続けることができたら、相当な力になります。

Yoshio|Web系エンジニア

プログラミングもブログも、始めた当初は「なんて非効率なことをしてたんだ」と思うことも多々あります。「もっといいやり方はあるのに」とは思いますがそれでも、絶対に何もやらないよりはマシです。とにかく動いてみて、少し経ったら振り返る。こんなことでも1年間続けられたら普通にすごいと思う。

最初は「これってあまり効率的じゃないんじゃないかな…」とか不安に思うかもしれませんが、初心者の頃なんてみんなそんなものです。

その現状を変えようと試行錯誤しながら、それでも長いスパンで継続できる人たちこそがプログラミングが人よりも圧倒的なスピードで成長していきます。

理想の未来を思い浮かべつつも、現実ではコツコツと長期的に頑張っていきましょう。

最後に|プログラミングを学んで得た技術は自分の資産になる

最後までお読みいただいき、ありがとうございます。

プログラミングをコツコツ勉強して身に付いた知識というのは、必ず自分の資産となります。

そうして長い期間をかけてコツコツ築き上げた自分の資産は、気づいたらとても大きなものとなっているでしょう。

「毎日、自分のスキルが身に付かない仕事ばかりで消耗している」
「このまま今の職業でずっとやっていけるのか不安…。」

そんな方こそ、ぜひ今日からでも、プログラミングの学習をスタートしてみてはいかがでしょうか。

「今さら遅いよ…」と思っている方もいるかもしれませんが、「あなたにとって今日が人生で一番若い日」です。

「今更…」なんて言っている人はきっと10年後も同じことを言い、今始めなかったことを後悔してするでしょう。

「思い立ったが吉日」です。ぜひ、新しいことにチャレンジしていってください。

もし、本記事を読んでプログラミング学習を始めてみて、何か分からない事等ありましたら、ぜひ僕のTwitter(Yoshio|Web系エンジニア)のDMにご気軽にご相談ください。

僕自身、新しくプログラミング学習を始める方に少しでも力になれたら、この上なく嬉しく思います。

以上です。