ITオバケのお仕事ブログ

ハイスキルで稼ぐエンジニアを目指す人のためのブログです

プログラミング初心者の『結局何から始めればいいの?』を現役SEが徹底的に解説します。

 

 

どうも、わだっしーです!

 

大手でプロジェクトマネージャーをしている25歳です。

 

今回は初心者がプログラミングを勉強するのに、
迷わず一直線に突き進むための学習プランを紹介したいと思います。

 

プログラミングって結局よくわからないし、
自分なんかにできるのかな?
と思っている人もいるかもしれません。

 

ですが、
プログラミングは頭の良い人だけのスキルじゃないし、
資格もいらないので比較的に簡単に身につくスキルです。

 

 

難しい、挫折した、
というのは勉強する方法が間違っていただけであって、
あなたに能力が無いわけではないのです。

 

勉強法をきちんと押さえて入れば、
間違いなくプログラミングができるようになるので、
今回の記事でプログラミングの勉強の方法を学んでいただければと思います。

 

 

僕の高専生時代は情報工学という、
コンピュータを専門とする学科に通っていたのですが、
誰よりもプログラミングができない学生でした。

 

どれぐらいできなかったかというと、
プログラミングの演習で1人だけ時間内に課題が終わらなくて、
1人寂しく昼の13時から夜の20時まで
プログラムと格闘していたぐらいできませんでした。

 

そんな僕でもプログラミングが出来るようになった勉強法なので、
効果のほどは絶対に保証します。

 

 

ではいきます!

 

プログラミングの勉強をする前にゴール設定をしよう

やる気のある方は本を買ったり、
ネットで調べながら

オラオラオラオラオラ!!!!

とプログラミングの勉強を始めるちゃうかもしれませんが、
ちょっと落ち着きましょう笑

 

プログラミングを効率よく、
挫折しないようにやっていくには、
ゴール設定を絶対にしないとダメです。

 

 

これには

  • 目的がないと面白さがわからずに挫折する
  • 途中で何をやっていい変わらなくなり挫折する

という2つの理由があるからです。

 

 

やる気のあることは非常に素晴らしいことですが、
プログラミングは正しい方法で学ばないと、
挫折する可能性が高いので、
ゴールは絶対に設定すべきです。

 

 

ゴールはなんでもよくて、
例を羅列すると、

などなど。

 

本当になんでもいいです!

 

 

自分がワクワクするものや、
これがあったら自分は楽しく作れそうと思うもの、
作れたら嬉しいなと思うものを設定しましょう。

 

自分が作りたくないものを作っても楽しくはありませんし、
そんな苦行みたいなのを好むなんてただのドMにしか思えません笑

だから、自分が面白いと思うもの、
作ってみたいものを思いのままに
ゴールとして設定しましょう。

 

 

僕が学生の時に掲げたゴールは
Androidアプリを作ってみたい!!』
というもので始まりました。

 

スマホが出たばかりで、
まだどのスマホもしょぼくて、
アプリがガックガクになったりしていた時代の話ですww

 

 

僕はAndroidアプリ作れたらカッコよくね?
とかいう不純な動機でプログラミングの勉強を始めたので、
ゴールなんて本当になんでも良いのです。

 

だから、こんなのは自分にはできないなどとは思わずに、
とりあえず自分の素直な、
『俺はこれが作りたい!!』
っていう気持ちでゴールを設定してほしいなと思います。

 

 

ゴールとなるアプリケーションのジャンルを知ろう

ゴールを設定したら次はちょっとしたお勉強です。

 

 

お勉強とは言ってもここに書いてあることを
3分読めば解決するので、
サクッと読み進めていきましょう!

 

 

アプリケーションにはジャンルがあります。

世の中のアプリケーションを大きくザックリ分けると下記のようになります。

細かく分けることもできますし、
他にもジャンルはあるのですが、
とりあえずはこの4種類を押さえておけば問題ないです。

 

 

自分の作りたいものが
どのジャンルに位置付けられるかを知っておくことで、
今後ネットでプログラミングで調べ物をするときや
本屋に行って書籍を買う時にもメチャクチャ役に立つので、
知っておいて損をすることはないでしょう。

 

僕は最初にこれを知らなかったので、
調べ物にメチャクチャ時間がかかってしまっていたし、
その時間をもっとプログラミングに使えば、
自由に書けるようになるまでの時間はもっと短くなったと思っています。

 

あなたにはこんなことで時間を無駄にして欲しくないし、
調べ物ばかりでプログラミングがつまらないものになったら
めっちゃもったいないので知っておいたほうがお得です。

 

なので、先ほど紹介した4種類のジャンルをサクッと学んでいきましょう。

 

ウェブアプリケーション

これは初心者に一番オススメしたいジャンルで、
世の中で一番使われていると言っても過言ではないアプリケーションです。

 

今僕がパッと思いついただけでもこれだけあります。

これ以外にもウェブアプリケーションは鬼のように世の中に溢れています。

 

 

だから上記に挙げたようなもので、
自分が作りたいものがあれば、
あなたの作りたいアプリケーションは、
ウェブアプリケーションということになります。

 

ウェブアプリケーションのいいところは、
他のアプリケーションのジャンルよりはるかに学習コストが低く、
初心者がもっとも身につけやすいジャンルだからです。

 

しかも、ここでプログラミングの基礎を網羅しておけば、
他のジャンルに転向したいとなっても、
比較的容易にジャンル転向することができるようになるので、
一番最初のプログラミング勉強の対象としてはめっちゃオススメです。

 

 

僕は実際にプライベートで
ウェブアプリケーションを作ったことが何回もあるし、
短期間で作ることが簡単なのでお手軽という意味で、
メチャクチャおすすめですね。

 

ネイティブアプリケーション

全く知らない単語が出てきて混乱したかもしれませんが、
知ってみるとメチャクチャ簡単で、

分かりやすいのは下記になります。

 

iPhoneアプリAndroidアプリとかは分かりやすいと思うので、
説明は不要かと思いますが、
WindowsアプリはMicrosoft Officeとかブラウザとかです。


Mac OS XアプリはQuickTimePlayerとかSiriとかがそうです。

 

これらに共通しているのは、
その端末でしか動かない
というところで、
このジャンルのアプリケーションを
ネイティブアプリケーション
と言います。

 

 

それぞれで使う言語は違いますし、
他の端末で動かすことができないので、
native(=固有の) application(アプリケーション)
というわけです。

 

これはみんながスマホやPCで使っているアプリが該当しているので、
ネイティブ端末のアプリを開発したい人はこのジャンルが該当します。

 

 

ネイティブアプリケーションは
他のジャンルへの応用範囲が狭い代わりに、
その端末のポテンシャルを最大限に活用することができるので、
動かしたときにメチャクチャ楽しいというメリットがあります。

 

僕もAndroidアプリで色々動かしてみて感動したし、
メチャクチャ楽しかったので、
そういう感動を味わいたい方にはオススメですね。

 

スマホゲームやPCゲームもこのジャンルなので、
ゲームを作りたい!!
っていう人にもオススメのジャンルですね。

 

 

あと作れたらなんかカッコいい!
っていうのもメリットですねw

人に見せるときも自分のスマホを見せて、
「これ俺が作ったんだぜ!(ドヤァ」
ってできるのはなかなか快感です。

 

業務アプリケーション

これはあまり馴染みがないものかもしれませんが、
主に企業が使うようなアプリケーションのことです。

 

業務フロー効率化や顧客データの一括管理、決済システム、資材管理システム
などなど。

大規模で使われることが多く、
高い品質が求められるアプリケーションです。

 

 

僕がSEとして開発をしているのは業務アプリケーションで、
数千万〜数億単位でお金が発生する開発をやっています。

 

 

たくさんの人が関わって開発したり、
使う機材がメチャクチャ高額だったりするので、
その分発生するお金も大きくなるという感じです。

 

なので、新しい技術をふんだんに使うというよりかは、
プログラミング言語の深いところまで精通し、
大規模な仕事がしたい人にとってはオススメなジャンルです。

 

 

大規模になればなるほど
品質維持のために設計や試験にたくさんの時間を使うことが多いので、
実際にプログラムを書く作業はメチャクチャ少なかったりします。

 

プログラミングができるようになりたい!
というよりかは
プログラミングで大きな仕事がしたい!

という人にとってはオススメのジャンルですね。

 

 

上流工程になればなるほど高単価になるので、
エンジニアとしてより高みを目指したい人にとっては
挑戦してもいいのかなと思います。

 

組み込みアプリケーション

組み込みアプリケーションは、
家電やロボットなどの
精密機械に搭載するアプリケーションのことです。

 

これは家電メーカーに就職したいとか、
趣味でマシンを作ってみたいという人にとっておすすめです。

 

 

自分が書いたプログラムで掃除機が動いている!!!
とかめっちゃ感動しませんか?

そういう物理的に動くものを作りたい、
電子工作が好きな人にとってはメチャクチャおすすめですね。

 

 

僕は高専の卒業研究の時に、
マイコンを搭載した音楽機材をAndroidアプリで操る
ものを作りました。

 

Andoroiアプリは音楽機材のコントローラーの役割をしていて、
Bluetoothマイコンが搭載された音楽機材を操る
ということをやってました。

 

あれは電子回路の知識が必要だったり、
電気信号の知識も必要だったのですが、
作りたい一心でやっていたのでメチャクチャ楽しかったですね。

 

 

僕みたいにプログラムで、
いろんな機械を動かしてみたい!!
っていう人は挑戦してみてもいいと思います。

 

 

作りたいもののジャンルは分かりましたでしょうか?

作りたいもののジャンルがわかったら、
いよいよ次はどんなことを勉強すればいいか?
という話に入っていきます。

 

ここまで学べば、
自分がどんなことを勉強すればいいかは一目瞭然だし、
何を勉強するかを一気に絞り込むことができます。

 

 

プログラミングを勉強するときは絞ることがメチャクチャ大事で、
短期間で作りたいものが作れるようになるための道筋は、
次の言語選定で8割固まります。

ではでは、またサクサクっとプログラミング言語について見ていきましょう。

 

ジャンル別プログラミング言語の紹介

ジャンル別に勉強すべきプログラミング言語をまとめました。

 

世の中には数百というプログラミング言語があるのですが、
その中でもよく使われているものについて絞って紹介します。

 

それぞれの言語は世の中でどんなものに対して使われているのも紹介するので、
自分のゴールにあった言語を選びましょう。

 

ウェブアプリケーション

ウェブアプリケーションについては、
ちょっと知識を入れないと言語について理解が難しいと思うので、
ちょっとだけ勉強を挟みます。

 

 

ウェブアプリケーションで使われている言語については2種類あるのですが、
クライアントサイドとサーバサイドがあります。

 

とは言ってもよくわからないと思うので、
簡単な表と絵にしてみました。

 

種類 プログラムが動く場所 やること 言語
クライアントサイド スマホ、PC ウェブページを表示する HTML/CSS, Javascript
サーバサイド サーバ データや計算の処理をする PHP, Ruby, Python, JavaScript

 

クライアントサイドとサーバサイドについて簡単に説明していきます。

 

 

ユーザーがPCやスマホでURLやリンクをクリックしたりタップすると、
サーバに
「サーバさんこのサイトのページのデータください!」
という信号が飛びます。

 

するとサーバはウェブページを
ブラウザに表示するためのプログラムを
クライアントに送ります。

 

 

ここで登場したプログラムがクライアントサイドのプログラムです。

表にもありますが、HTML/CSSJavaScriptですね。

 

これを見てみればわかるように、
クライアントサイドだけでもウェブアプリケーションが作れちゃうので、
ぶっちゃけクライアントサイドだけでも成り立っちゃいます。

 

 

でも、クライアントサイドのプログラムでできるのは、
ブラウザにページを表示するだけなので、
これだけじゃちょっとつまらないですよね。

 

ただページを表示するだけだと文字や画像、動画しか載せられないので、
アプリケーションというよりかはページって感じがしますよね。

 

 

そこで登場するのがサーバサイドのプログラムです。

 

サーバサイドのプログラムでできるのは、
データと計算の処理と書いたのですが、
具体的に絵にするとこんな感じ、

 

・ショッピングサイトのカートの合計金額の計算

 

クライアントサイドだけだと、
計算やデータの処理ができないので、

(正確にはクライアントでも計算はできる。便宜上ご了承を)

サーバサイドのプログラムに任せることで、
ユーザー個別のデータを取り出したり、
そのデータをもとに計算をしてクライアントに結果を返すことができます。

 

 

これがサーバサイドのプログラムの特徴で、
具体的にどんな処理ができるのかというと、

  • 会員サイトのログイン、ログアウト
  • ショッピングサイト
  • お問い合わせフォーム
  • 投稿サイト
  • サイト内の検索機能
  • 予約システム

などなどできることがかなり広がります。

 

 

だからクライアントサイドのプログラムだけでなく、
サーバサイドのプログラムも必要になってくるんですね。

 

 

実際、世の中のウェブページはほぼ、
クライアントサイドとサーバサイドの両方が稼働していて、
両方とも必要不可欠な技術になっています。

 

最初から両方ともやろうとすると大変なので、
まずはクライアントサイドからやってみて、
慣れてきたらサーバサイドを勉強するという形がいいと思います。

 

 

で、クライアントサイドとサーバサイドについて理解したところで、
勉強すべき言語について表にまとめました。

さあ、サクッと選んでプログラム書いていきましょう!

 

言語名 タイプ 必要度 難易度 ウェブアプリケーション使用例
HTML クライアントサイド 必須 ☆☆☆☆★ ほぼ全て
CSS クライアントサイド 必須 ☆☆☆★★ ほぼ全て
JavaScript クライアントサイド デザインにこだわりたい人は必要 ☆☆☆★★ あらゆるサービス!
JavaScript サーバサイド サーバサイドから1つ選べばOK ☆☆★★★ アメーバピグLinkedIn
PHP サーバサイド サーバサイドから1つ選べばOK ☆☆★★★ Facebook, このブログ
Ruby サーバサイド サーバサイドから1つ選べばOK ☆☆★★★ Cookpad食べログCrowdworks

 

ネイティブアプリケーション

ネイティブアプリケーションは
ウェブアプリケーションより話すことは少ないです。

 

 

ウェブアプリケーションは言語の選択肢が多いので、
たくさん説明をしてきたのですが、
ネイティブアプリケーションで使っている多くないです。

 

それぞれの端末でできることが決まっているので、
それに合わせて言語を選択することになるので、
迷いも少ないでしょう。

 

 

言語について表にしてみました。

作りたい対象の端末に合わせてサクッと選んでしまいましょう!

 

言語 端末 難易度 用途
Swift iPhone, Mac ☆☆★★★ iPhoneアプリMacアプリ
Java Android ☆☆★★★ Androidアプリ
C# Windows ☆☆★★★ ゲーム、Windowsアプリ
Visual Basic Windows ☆☆★★★ Windowsアプリ
C++ Windows ☆★★★★ ゲーム、Windowsアプリ

 

 

業務アプリケーション

はい。これね。
説明難しいです笑

 

言ってしまえば
「この世のすべての言語が対象になる」
と言うことになります。

 

それというのも
業種、業務にあった言語を選択しなければならない
からです。

 

 

基本的に業務アプリケーションはオーダーメイドで開発するか、
製品としてパッケージングされたものをカスタマイズして開発するのですが、
それぞれによって最適な言語は違いますし、
それを選定するのもシステムエンジニアの腕の見せ所だったりするので、
具体的にどんなものを作るかで選択する言語を変えます。

 

で、実際に作るのはその言語を扱うことができる会社に外注して、
依頼したり自社内で扱える人間をピックアップして作るというのが
基本的な開発の流れになるので、
なんの言語?と言われるとはっきりとしたことは言えないです。

 

 

そもそもウェブ系の言語を使うかもしれないし、
組み込み系の言語を使うかもしれないし、
ネイティブ系の言語を使うかもしれない。

 

それすらも選び抜かれたものが使用されるという感じです。

だからこれと言って特定の言語を勉強しましょうとは言えないです。

 

 

が、強いて1つだけ言語をあげるとすれば
Java
です。

Javaはあらゆるシステムにマッチングしやすく、
プログラマーの求人数としてもめちゃくちゃ多いかつ単価が高めなので、
実力があればメチャクチャ重宝される存在になれます。

 

Javaの高単価案件だけを狙い撃ちする
Javaプログラマーっていうのも職人みたいでカッコいいですし、
稼げるのでいいんじゃないかなって思います。

 

組み込みアプリケーション

組み込みアプリケーションは
組み込み対象のコンピュータによって使う言語が異なります。

 

初心者のうちは仕事で使うというよりかは、
趣味でやってみたいという人にオススメですね。

 

で、実際に作るとなるとどんなことができるかというと、
ぶっちゃけなんでもできますw

などなどなど。。。

 

 

コンピュータが搭載されているようなものは
なんでも作ることができます。

 

これってメチャクチャ夢広がるし、
自分のオリジナルマシンを作ることができるので、
電子工作としては最高の題材ですよね。

 

 

早速、組み込みアプリケーションの言語をまとめました。

 

言語名 難易度 使用例
C ★★★★★ 世の家電全般
C++ ☆★★★★ 世の家電全般
Python ☆☆★★★ Pepper

 

これまでより色々情報が少なくなっていると感じるかもしれませんが、
それというのも
プログラムを搭載する対象のコンピュータによって
使用できる言語が異なります。

 

 

プログラムを搭載するコンピュータは
マイコンマイクロコンピュータ)というのですが、
マイコンは死ぬほどたくさん種類があるので、
ここでの紹介は控えさせてください。。

 

 

僕が高専の卒業研究の時は、
PICというマイコンC言語でプログラムを組み込んで
音楽機材を作っていました。

 

C言語は他の言語に比べて難しいですが、
コンピュータの仕組みを意識しながら作ることになるので、
コンピュータに対してより理解できるようになりましたし、
今もその知識が活きているのでやってよかったなって思ってます。

 

 

言語の勉強はコンピュータのコトバを知ることである。

プログラムはプログラマー、SEにとって、
コンピュータと会話するための言葉です。

 

言葉を知らないことには
コンピュータに対して命令をすることはできないのです。

 

だからまず準備して欲しいのは、
プログラミング言語について知る
ということです。

 

 

勉強方法としてはProgateというサイトがオススメで、
無料で基本的な文法を抑えることができるので、
まずはここからスタートするのがオススメです。

 

僕が学生の時はこういうサービスがなかったので、
本屋に行って本を買い、
それを必死に読み漁るということをやっていたのですが、
Progateのようなサービスがあれば、
そこまで頑張る必要なかったなって思いますw

 

とにかく言語を理解することが最優先です。

 

 

本来であれば、
開発環境の構築なども自分でやらないといけないのですが、
Progateはそんなことも不要にしてしまうので、
マジでオススメです。

 

それで勉強してみて、
もう少し詳しく勉強したいとなれば、
Amazonとかでレビュー評価の高い書籍を購入して勉強したり、
プログラミング教室に通ってみるというのが
非常に効率の良い勉強法だと思います。

 

最初から難易度の高いことに挑戦するより、
こういう無料で簡単に学べるサービスがあるのであれば、
最初はそこから始めた方が理解が早くていいです。

 

 

ただ、注意して欲しいのが、
このサイトだけではプログラミングはできるようにならないです。

 

あくまでも言語の文法とか書き方を知るという使い方をしてください。

 

それ以降はそれなりに自己投資して勉強しないと、
実践するときに何もかけなくてパッパラパーという状態になりかねないので、
そこは気をつけていただければと思います。

 

 

もっと基礎を固めるにはやっぱり入門書や人に習うというのが鉄則ですね。

ここまでここまでくれば言語の超基本は押さえれていると思うので、
スラスラと言語の勉強が進むはずです!

 

人の作ったプログラムをパクる

ある程度、言語について
「こんな感じで書けばプログラムって動くんだ」
というのが掴めてきたら、
実際に実践レベルのプログラムを書いていきましょう。

とは言ってもゼロから書くのではなくて、
『人の書いたプログラムを丸パクリ』
するのがメチャクチャオススメです。

 

ネットや書籍で自分が勉強している言語に関して、
面白そうだと思ったプログラムやアプリケーションを探して、
プロやアマチュアが書いた実際のソースを写経して動かす
ということをやりましょう。

ここでは実践ベースのプログラムを写経した方がより力がつくのでおススメです。

 

 

ネットで無料で拾ってきてもいいのですが、
やっぱり書籍からパクってくる方がプロに近づくのが早いです。

 

当たり前ですが、書籍を作った人はプロですし、
プロの技術をを数千円でパクって自分ものにできるのは、
学習する上では力が身につくスピード感が全然違います。

 

ネットもいいのですが、
素人が書いたソースを真似てしまって、
あまり良くないソースコードが正しいものと判断してしまい、
結果として実務ではあまり使えないコードを書いてしまう可能性があります。

 

なので、初心者こそ書籍やプロに実際に教えてもらったソースを
丸パクリしてそのプログラムの仕組みを理解しながら、
動かすところまで作ることをオススメします。

 

 

最初は丸パクリするだけでも動かない場合があるので、
丸パクリして動かない場合は、
なぜプログラムが動かないのか?
というのを勉強するチャンスです。

 

動かないとイライラしてしまいがちですが、
それこそプログラムの原理原則を学ぶことができるチャンスで、
プログラムがどのようにしたら動くのか?
を学ぶことができます。

 

写経したことによってプログラムが動かない理由は、
パターンが決まっていて、
慣れると
「動かないなぁ。」
となっても秒で問題を解決できるようになります。

 

そう言ったデバッグ能力を鍛えると、
ソースを書くこと自体にミスが減りますし、
実務レベルで必要とされる技術の基礎をが身につくので、
プロを目指すのであればぜひそこまでを目指して欲しいです。

 

 

最終的にはシステムの部分的なプログラムではなくて、
アプリケーション全体のソースコードをネットや書籍から拾ってきて、
写経しましょう。

 

そこまでくればアプリケーションの全体像を掴めるようになりますし、
プログラミングの基礎は身につくでしょう。

 

 

後もうちょっとで、
あなたは実務で使えるレベルのプログラミングスキルを身につけることができるので、
サクッと読み進めてゴールまで突っ走っていきましょう!

 

人からパクったプログラムをアレンジしよう

次のステップは、
『人のプログラムをアレンジする』
ということに取り組みましょう。

 

まずは人が完成させたアプリケーションは、
実際にユーザーが使えるレベルのものをパクります。

 

スマホアプリだったら、
『アプリ自体のソースコード
ウェブアプリだったら、
『クライアントサイド、もしくはクライアントサイドとサーバサイドの両方』
サンプルソースをパクリの対象として扱いましょう。
(組み込みアプリケーションも同様です)

 

 

そして写経して動くところまでいったら、
『人のプログラムをアレンジする』
ということをやるとより実力をつけることができます。

 

 

例えば、スマホアプリだったら、
『特定の条件になったら画面に通知する機能』
をつけるとか、
『ゲームをクリアしたら音がなるようにする』
とかそういった自分が思いついた機能を
自分で考えて実装するということをやります。

 

これを実践するにはこれまで勉強してきた基礎の範囲で、
自分だったらどういう機能を追加したいか?
とか、
自分だったらもっとこういう風に効率よくプログラムを書く
といった自分なりのアレンジをしていきましょう。

 

 

 

プログラミングは頭脳労働です。

 

この段階で頭を使って作業をするということを身につけ、
このプロセスでは脳みそを鍛えていくことを重要視します。

 

人間の脳のポテンシャルってハンパ無くて、
使えば使うほど磨かれていきます。

 

 

だからここに関してはプロを目指す心意気があるのであれば、
絶対に避けて通ることはできないプロセスです。

 

遊びなら思考せずに人のプログラムをパクるだけでいいのですが、
実務で思考がされていないプログラムを出してしまうと、
作ったプログラムによって大きな問題を発生させてしまったり、
問題が起こっても自分では直すことができないという、
本末転倒な結果を引きしまうのでやっちゃダメなことです。

 

 

これは僕が雇っていた外注さんの話ですが、
『ネットのプログラムを丸パクリ』
して実稼働しているプログラムに改修を加えたら、
サービスが停止寸前まで追い込まれました。

 

そして、
その人は自分が書いたプログラムなのに、
自分で直すことができなかったので、
僕が徹夜して直した。

 

という経験があります。

 

 

彼は思考せずに世の中にプログラムを提供しようとしていたので、
僕としてはプロ意識が低いなと感じてしまいました。

 

意識は出来るだけ高く持った方が良くて、
自分の能力を拡張し続ける気持ちがないと、
実務で使った時に死にます笑

 

 

人がなんとかしてくれるとか、
自分はプログラムを書けばいいんだという
低いマインドを持っていると、
あなたの実力は全然身につかないですし、
ユーザーに喜んでもらうこともできません。

 

これは仕事に関わる全ての人に共感できる話だと思いますが、
「テキトーに作られたものを人が使いたいか?」
というのを考えてみて欲しいです。

 

 

プロとアマチュアの違いは、
制作物に
『お金を払うだけの価値があるか』
というところに現れると思っています。

 

つまり、
商売として提供できるだけの価値を提供できるか
にあります。

 

 

プログラミングは対してお金を書けずにパソコン一台でできるので、
あなたの書いたプログラムの羅列から人に価値を与える
ということがイメージしにくいかもしれませんが、
最終的にはあなたの作ったプログラムがユーザの手に届きます。

 

フリーのアプリケーションであれば、
そこまでの意識は必要ないと思いますが、
ビジネスマンとしてやっていきたいのであれば、
お金をもらってプログラムを提供する
ということを意識して欲しいです。

 

僕の場合は、
『環境や立場がそのレベルに導いた』
というのが大きくて、
高い基準が求められる実務環境に身を置いて、
プロのプログラムのパクリとアレンジを繰り返してきたから、
プログラムを書くことでお金をもらえるようになりました。

 

僕は人にプログラムを教えてもらったわけで無く、
プロの書いた膨大な量のプログラムを読んで理解し、パクリ続けてきた
からこのレベルにまで到達しました。

 

 

なので、これを読んでいるあなたが初心者であっても、
ここのレベルにまで到達することができれば、
プログラムだけでご飯を食べることは十分可能です。

 

ゴールから逆算して楽しさと効率を重視しよう

プログラムが書けるようになると、
自分がまるで魔法使いにでもなったかのように
自由自在にコンピュータを動かすことができるようになります。

 

これまで読んできた内容でゴールと勉強方法を見定めて、
あとは一気に突っ走ることで、
プログラミングの能力を手にすることができます。

 

 

一気にやるというのが結構ポイントで、
何ヶ月も地道にやるよりも1ヶ月、2ヶ月にやった方が、
知識の積み重ねやプログラミングに必要な思考力が身につきます。

 

そのほうが出来上がったものが動くことの面白みが早くわかるし、
どんどんプログラミングの魅力にはまっていくことになると思います。

 

自分が作ったプログラムが手元で動くというのは、
感動がありますし、それこそがプログラミングの楽しさです。

 

楽しくやることができれば結果は自然と付いてきます。

 

 

なので、
ゴール設定と逆算、パクって楽しむことが、
一番効率の良いプログラミングの学習法だと思っています。

長期間勉強を重ね続けるのも大変ですよね。

 

一気にやった方が結果的にメチャクチャ楽だし、
速攻でスキルを身につけられるのでオススメです。

 

そういった勉強をすれば実力は右肩上がりに伸びていくので、
一気にプロと同格のレベルに到達することができます。

 

 

ただ、ここに書いた勉強法よりも
もっと早くプログラミングスキルを身につける方法もあります。

 

 

もっと学びを加速させるにはどうしたらよかというと
プログラミング教室に通って手っ取り早くプロから教えてもらう
というのがめっちゃ早いです。

 

プログラミングのプロから学ぶことで、
プロが考えていることをさらっと盗み取ることができるので、
プロの思考そのものをインストールすることができます。

 

プログラミング教室は
ネットで無料で拾ってきた情報や入門書などの書籍よりも
濃いレベルの知識、経験を積むことができ、
実務に必要なことだけにコミットして教えてくれるので、
めちゃくちゃ効率いいなーと思います。

 

 

僕は現場で学んだことが多かったですが、
出来ることならプログラミング教室に通ってから
実務に取り組みたかったなって思います笑

やっぱり実務では独学で通用しないところもあったし、
そういったことを事前に解決できるプログラミング教室は、
最強だなって思いましたね。

 

 

しかも、身につくまでの時間がめっちゃ早い。。

 

 

実務で技術を磨くのと、
プログラミング教室で技術を磨くのでは、
学びの速さは段違いだと思います。

 

技術の深さという点においては実務の方が上ですが、
学びの速さという観点ではプログラミング教室の方が圧倒的です。

 

だから僕はプログラミング教室に通っておけば、
もっと早く実力が身についたなと後悔していますし、
自己投資って大事だなって思いました。

 

 

僕はこのレベルに到達するのに、
数年を要してしまいましたが、
僕なんかよりも圧倒的に早く実力を身につけたいなら、
プログラミング教室はマジでオススメですね。

 

いずれはそういう教材とかも自分で作って、
自分のような失敗をしない人を増やしたいと思うし、
一緒に技術を志す人が増えたら嬉しいなって思います。

 

 

 

最後にまとめになりますが、
プログラミングを勉強するのに大事なのは、
『ゴール設定と学ぶべき対象を決め、プロのプログラムをパクる』
ことです。

 

ゴールを決めれば学ぶ対象で迷うことは無くなりますし、
プロのプログラムをパクることでプロが作ったアプリケーションを
自分の手で再現することができるので楽しくないわけがないのです。

 

プロのアプリケーションを自分の手で再現できると、
「おおおお俺ソフトウェア開発やってるぅぅぅぅぅ!!!!!」
ってなれてマジで楽しいです。

 

 

プログラマーには資格も学歴もいらないです。

実力だけでのし上がれるチャンスのある職業です。

 

フリーランスであれば生産性を高めること、
もしくは
より品質の高いプログラムを書くことで、
高単価の報酬を得ることができます。

 

そこを目指すにはある程度の勉強と実践は必要ですが、
稀少性の高い仕事をすることができるようになります。

 

 

プログラミングスキルを身につけて、
フリーランスで自由な働き方をするっていうのもいいですよね。

 

僕はそういった働き方に憧れを持ちます。

 

会社にいるといくら儲けても報酬には繋がらないし、
拘束時間もフリーランスより圧倒的に長いですから。。

 

 

これってスキルを身につけたら解決できると考えたら、
メチャクチャやる気湧いてこないですか?

そんな感じで最近の僕は燃えています笑

 

 

この記事を読んでプログラミングを勉強する方法に迷わなくなったら嬉しいですし、
同じ道を志す人が増えたら最高だなって思って書きました。

 

長文ながらも一つの価値を提供することができたら幸いです。

 

 

ここまで読んでいただきありがとうございます!
以上、わだっしーでした!

 

 

稼ぐエンジニアの考え方を凝縮した電子書籍をプレゼント中

僕はシステムエンジニアとして
年間6000万円以上売り上げています。

 

 

才能があったわけではないし、
昔から超がつくほど要領が悪いです。

 

 

そんな僕がプログラミングを習得したり、
心から尊敬する先輩や上司から影響を受けて、
エンジニアとして成長することができました。

 

 

酸いもあまいも経験してきましたが、
普通の人よりもたくさん失敗してきて、
それをガソリンにして結果にフォーカスしてきました。

 

 

その経験から
ポンコツでもエンジニアになれる」
と思っているし、
成長して理想の自分を手に入れられると信じています。

 

 

そして、今は同じ道を志す仲間を
1人でも多く増やして、
エキサイティングでより生産性的な社会を
作っていこうと夢見ています。

 

 

そういった理念をもとに、
僕の知識や経験をふんだんに絞り出して、
エンジニアとして成長し、
結果を出すにはどうしたら良いかを
体系的にまとめた電子書籍を作りました。

 

 

僕のストーリーも交えて作っていて、
20分程度でサクッと読める内容なので、
もし興味があれば読んでみてください。

 

→電子書籍『エンジニアという生き方で人生をデザインする。』

 

メールアドレスを入力すれば、受け取れます。

 

最後まで読んでいただきありがとうございました。

 

 

もしこの記事が役に立った!と思われたら
SNS等でシェアしていただけるとすごく喜びます。

誰よりもプログラム書けなかった僕が1ヶ月本気でプログラム勉強してまわりをごぼう抜きした話

f:id:crazywadassy:20200817205501j:plain

 

どうもです!わだっしーです!

 

25歳でSEをしていて、
プロジェクトマネージャーをしています。

また、サービスのグランドデザインもしています。

 

今回は
「勉強することを絞れば、
だれでもプログラムは書けるようになる」
という話をしていきます。

 

僕は元々誰よりもプログラムを書くことができなかった人間です。

 

学生時代は情報工学を専攻していたのですが、
学科内でもビリといっても
過言ではないぐらいプログラムが書けなくて、
たった一人居残りすることが多々ありました。

実習室でただ一人空が真っ暗になるまで
プログラムを書いていたあの頃。

マジで泣きそうな毎日でした。

泣く寸前のところで何とか踏ん張っていました。

 

それが悔しくてたまらなく、
1か月プログラミングを本気で勉強したら、
まわりの人間から教えてほしい
といわれるぐらいプログラムが書けるようになりました。

 

その当時、
なぜ僕がプログラムを書くことが
できるようになったのかを、
今になって振り返ってみると、

「本質をとらえて学ぶ対象を1つに絞ったから」

じゃないかな
と思ったので今回記事にさせていただきました。

 

今回はその当時の話をしながら
どうやってプログラムを勉強をしたのかを
話していきますね。

 

学生時代、僕は誰よりもプログラムを書くことができなかった

僕は高校から5年間通う、
高専という部類の学校に通っていました。

15歳から20歳の時間を過ごした青春の場所です。

 

僕の専攻は情報工学
世の中のITの仕組みについて勉強する学科です。

 

僕は小さいころから
モノ作りに関係する仕事に就きたいと思っていて、
高専に入学した当時は
システムエンジニアになると決めていました。

 

入学してからは
「おっしゃーーーここが高専
システムエンジニアになるためにめっちゃ勉強頑張ろう!!」
とすごく息巻いていました。

 

でも、現実は甘くなくて、
僕はまわりよりも勉強ができませんでした。

 

どれぐらい勉強ができなかったかというと、
40人中38位の成績でしたwwww

要するに後ろから3番目です。

ビリオリンピック銅メダル獲得していました。

 

 

高専に合格するのも正直ギリギリの成績だったし、
入学してからはまわりのレベルの高さに圧倒されてばかりでした。

 

ほえぇぇ、みんな頭いいいいいいいいい。

そんな感じで絶望しながらも
なんとか頑張って進級を重ねていったのですが、
僕はある時に自分自身に死ぬほど絶望したことがありました。

 

それは僕が高専の3年の時の話。

3年になると
本格的にプログラミングの実習が始まったのですが、
僕は死ぬほどプログラムを書くことができませんでした。

 

そのプログラミング実習では、
お題に出されたプログラムを作るというものなのですが、
まわりの同級生は時間内にお題をクリアして、
自習室から退出していたのですが、
僕だけ居残りしていました。

 

居残りのレベルもマジでヤバくて、
どれぐらいヤバかったというと、
みんなは16時に課題を終えて遊んだりしているのに、
僕は20時まで居残りしていました。

 

もうお空も真っ暗で
太陽さんはおねんねです。

しかも、マジで誰も周りにいなくて寂しいんですよw

 

できない自分にも腹が立ちましたし、
何よりめちゃくちゃプログラムに興味があるのに、
全くできないという絶望感。

まわりの学科の人たちは
別にたいしてプログラムに興味がないのに、
しれっと時間内にやることを終わらせて遊んでいるのに対して、
僕はプログラムにめちゃくちゃ興味があるのに
全く動くプログラムを書けない。。

 

毎回泣きそうになりながらプログラムを書いていました。

 

 

なんで動かないんだよぉぉぉぉぉぉぉぉ!!!!!!

ちゃんと書いているでしょ!?!?!?!?!?

 

泣きたいのかキレたいのかよくわからなくなりながら、
毎回20時までプログラムを書き続けていました。

僕は本当にそのレベルで
プログラムを書くことができなかったのです。

 

めちゃくちゃ悔しくて仕方がなくて本気で勉強した

自分の好きな事なのに全くできない。

「俺は病気なのか??」

と本気で思ったこともありました。

 

実習のたびに自分自身を責め、
まわりとの劣等感に苛まれながらプログラムを書くのにも
本当に耐えられない。。。。

 

悔しくて悔しくて
涙を流したこともありました。

 

だからこそ、僕は決めたんです。

あの日のことは一生忘れないと思います。

 

死ぬほど本気でプログラミング勉強してやる!!

こんな悔しい思いはしたくない!!

17歳の秋、今からちょうど6年前です。

 

元々負けず嫌いな性格であったこともあり、
僕はめちゃくちゃプログラミングを勉強しました。

 

学校の授業だけじゃ全然書けるようにならない。
教えてもらっても全然書けないんだもん。
もっと自分で勉強するしかないよね。

 

そう思ったんです。

 

 

それから僕はインターネットで
自分で勉強してプログラムが書けるようになる方法を調べまくりました。

 

インターネットの入門サイトを見たけれども、
なんだかよくわからなんなー

高いお金を払って人に教えてもらうこともできないし、
結局どうすればいいんだ???

 

そんな感じで途方に暮れながらも調べていたところ、
あるサイトでこんなことが書かれているのを見つけました。

入門書だとプログラムの一つ一つの意味がしっかり解説されていて、

演習をこなしていけば基本的なプログラムが書けるようになる。

 

そのサイトを見つけたときはマジで興奮しました。

「それだったら俺にも書けるかもしれない!」

そんな期待感でいっぱいになりました。

 

 

そこからは早くて、
チャリンコを飛ばして本屋に行き、
なけなしのお金を払ってプログラムの入門書を購入しました。

 

そうなると次は学習計画です。

毎週実験があってレポートを週1で
20~30枚手書きで書かないといけないし、
部活動もあるから一日で勉強できるのはせいぜい1~2時間。

 

入門書は500ページあるから30日で割ると、
1日17ページ勉強すれば終わる。

平日で17ページできなかったら休日に巻き返す。

 

そんな計画で
僕のプログラミングの勉強が始まりました。

 

そこからは何としてでも
毎日17ページ理解して進む
ということを徹底して入門書をやりこみました。

 

わからないことがあったらインターネットや書籍で調べ、
理解できるように努める。

 

それでどうしてもわからなかったら
「こういう風に書けばこういう風に動く」
という理解で進めていました。

 

あくまでも学びの質を意識しつつも、
ちゃんと1か月で終わらせる
ということをやりました。

 

当時の僕にとって500ページもある入門書を
1か月でやりきるのはすごく大変でした。

 

プログラミングの勉強を開始できるのが、
日付が回ってからでしかできなかったので、
眠たい目をこすりながら毎日勉強していました。

 

それでも僕は絶対にプログラミングができるようになりたかったので、
たった1か月だと自分に言い聞かせながら、
足りない頭をフル回転させながら勉強しました。

 

今までここまで頭を使ったことがなかったので、
知恵熱が出るときもありましたし、
辛さのあまり逃げ出したくなったこともたくさんありました。

 

でも、それを乗り越えたのも

「プログラムが書けるようになって見返したい!」

ただただその一心でその入門書を1か月勉強し続けました。

 

プログラムは誰でも書くことができるようになる

プログラムの勉強を始めて1か月。

 

入門書に書かれていることをほぼ理解し、
プログラムとはどういうものなのか、
どうやればプログラムは書けるのか
ということを脳内にインストールすることができました。

 

辛いと感じたことはたくさんあったし、
プログラムの意味が理解できないところもあったのですが、
何とか最後までやり切ったこともあり、
その言語の基本的なところは
みそからスラスラと吐き出せるようになりました。

 

その時は自分がプログラムが書ける、
というよりかはやっと終わったという感じが強かったのですが、
改めてプログラミング実習を受講したときに、
自分がプログラムが書けるようになっていることを自覚しました。

 

いつも通りのプログラミング実習。

 

いつも通りお題を出されてプログラムを書こうとすると
脳内からスラスラとプログラムが出てくることに気づきました。

 

「おぉぉぉぉぉぉ俺プログラムかけるぅぅぅぅぅ!!!」

「これ入門書でやったことをそのまま応用することができるぞ!」

 

めちゃくちゃスラスラ進んでマジでビビる。

俺こんなプログラムかけるんだっけ??

 

 

実習中、僕は興奮しっぱなしで
一気にプログラムを書き上げました。

 

しかも周りがお題のプログラムと奮闘しているのに
ササっとお題をクリアしてしまいました。

 

「自分の思ったことをコンピュータに自在にやらせることができる!」

 

まるで魔法を手にしたかのような感覚になり、
プログラムを書くことが楽しくて仕方がなくなりました。

 

それからも僕はプログラミング実習では、
人より早くお題をクリアし続けたのももちろんのこと、
自分でもっと勉強してAndroidアプリを作ったり、
HTML/CSSを勉強して部活のホームページを作ったり、
もっと勉強するようになりました。

 

もうその時には、
今までなんで自分がプログラムを書けなかったのすら、
理解できないぐらいだったし、
プログラムを書くことが楽しくて仕方がなかったです。

 

それに以前は自分がプログラムを教えてもらっていたのに、
今はプログラムを逆に自分が教えているという
逆転現象まで起きました。

 

短期間でこんな簡単にスキルって身に着けられるんだ
って感じた瞬間でした。

 

その結果、学業成績も40人中38位の成績だったのが、
40人中3位まで成績を伸ばすことにも成功しました。

 

「いやいやいや、お前どんだけ変わるねん!!
いままで手を抜いていただけでしょ?」

と同級生に何度言われたかわかりません。

 

別に僕は手を抜いて勉強をしていたわけじゃなかったし、
授業もきっちり受けていました。

 

でも、プログラミンの勉強で意識した
学ぶ戦略を立てたということ、
学習法という本質をつかんだことが、
学業成績にも大きく影響しました。

 

このときに勉強法の本質をつかめたのは大きかったですね。

 

その勉強法は今でも使っていますし、
一生使える勉強法だと思っています。

 

 

ITを専門とする学科なのに、
誰よりもプログラムが書けなかった底辺学生が逆転勝利したのも
勉強をいかに効率よく学びを最大化するかという戦略を
きちんと立てたというのが非常に大きかったです。

 

その当時はこのことを体系立てて
理解して実践していたわけではないのですが、
今思えばそういう戦略を自分で編み出して実践したというのが、
プログラミングができるようになった理由だと考えています。

 

 

学校のカリキュラムだと、
個人の学習スピードが追いつかなかったり、
知識レベルを個別に考えられていないので、
僕のように置いてかれる人が出てきます。

 

学校では網羅的な学習カリキュラムを組まれるので、
個人にあった学習方法だとはいえないのです。

 

 

勉強の本質をしっかりと捉えて、
自分に合った戦略を組み立てて実践するのが、
プログラミングスキル習得の最速パターンです。

 

個人のペースで勉強できるような環境だったり、
どのように勉強を進めるのかを考えるのは、
非常に大事なことだとこの時に学びました。

 

プログラムは誰でも書くことができるようになる

僕は誰よりもプログラムを書くことができませんでした。

 

頭も良くなかったし、
もうプログラムは自分には書けないのだと
諦めそうになったこともありました。

 

でも、僕はシステムエンジニアの仕事に就きたいと思っていたし、
別にたいしてプログラムに興味がない人より、
プログラムをかけないことがすごく悔しかった。

 

その悔しさがプログラミングの勉強の原動力になりました。

 

そして、
勉強法の本質をつかんで戦略的に勉強をしたことによって、
僕は周りの人間よりもプログラムが書ける人間になりました。

 

 

その当時の僕のプログラミングスキルは、
実際の今やっている業務で通用するとは言えないのですが、
それが無かったら僕はプログラムを一生書くことができなかったと思うし、
いまこうやってシステムエンジニアをやっていることもなかったと思います。

 

たとえ、システムエンジニアになったとしても
今よりもっと給料が低かったと思うし、
使えない人間として扱われていたことでしょう。

 

プログラムは一度本質を理解してしまえば、
他の言語を学ぶときも同じ要領で学ぶことができるし、
1か月でプロレベルになることだって可能です。

 

コンピュータの仕組みやサーバーやネットワークの知識があれば、
学習速度はもっと加速し、より深く学べるので、
希少性の高いエンジニアになることができます。

 

 

それこそ今の僕の現状を考えると、
30代でやることが普通の業務を
23歳でやれるレベルになりました。

 

現場で年齢を伝えると

「30歳ぐらいだと思いました。。。」

といわれることが多々あります。

 

そんな風になることができたのも、
17歳の時に自分の能力のなさに絶望して、
プログラミングを勉強したことがルーツだと思っているし、
今もそのときの思いを忘れないようにしています。

 

僕のようなポンコツ人間でも
プログラムが書けるようになったのですから、
これを読んでいるあなたであれば1か月もかからないです。

 

なんたって僕は元々後ろから3番目の成績からのスタートです。

 

頭悪いんです笑

 

僕の経験や知識で教えられることがあれば、
あなたの役になったらと思うし、
プログラミングで飯を食えるだけでなく、
プログラミングで稼げる人間を日本に増やしたいって思っています。

 

プログラマーは資格もいらないし、
ぶっちゃけ、
プログラマーです!
と名乗ればプログラマーに慣れてしまうのが現実です。

 

それで業界全体のレベルを下げていると感じているし、
そのレベルの低い人たちにも仕事を回さないと業界が成り立たないので、
本当に富を手にすべきエンジニアの報酬が少ないという現実があります。

 

 

僕は仕事を通じて、
報酬で報われないエキスパートをたくさん見てきたし、
そういう人が報われる業界にしたいって本気で思っています。

 

だから、僕の活動を通して、
業界のレベルを底上げするようなエンジニアを輩出したいし
技術に本気で取り組む人を増やしたいと心の底から願っています。

 

 

なので、もしあなたがプログラムを書くことに
挫折しているのであれば、
この記事を通して少しでも勇気づけられたらと思うし、
プログラミングができるようになって、
業界の期待の星になってくれたら最高だなと思っています。

 

ここまで読んでいただきありがとうございます!

 

以上、わだっしーでした!

 

稼ぐエンジニアの考え方を凝縮した電子書籍をプレゼント中

僕はシステムエンジニアとして
年間6000万円以上売り上げています。

 

才能があったわけではないし、
昔から超がつくほど要領が悪いです。

 

そんな僕がプログラミングを習得したり、
心から尊敬する先輩や上司から影響を受けて、
エンジニアとして成長することができました。

 

酸いもあまいも経験してきましたが、
普通の人よりもたくさん失敗してきて、
それをガソリンにして結果にフォーカスしてきました。

 

その経験から
ポンコツでもエンジニアになれる」
と思っているし、
成長して理想の自分を手に入れられると信じています。

 

そして、今は同じ道を志す仲間を
1人でも多く増やして、
エキサイティングでより生産性的な社会を
作っていこうと夢見ています。

 

そういった理念をもとに、
僕の知識や経験をふんだんに絞り出して、
エンジニアとして成長し、
結果を出すにはどうしたら良いかを
体系的にまとめた電子書籍を作りました。

 

僕のストーリーも交えて作っていて、
20分程度でサクッと読める内容なので、
もし興味があれば読んでみてください。

→電子書籍『エンジニアという生き方で人生をデザインする。』

 

メールアドレスを入力すれば、受け取れます。

 

最後まで読んでいただきありがとうございました。

 

もしこの記事が役に立った!と思われたら
SNS等でシェアしていただけるとすごく喜びます。

僕はITで社会の生産力を高めて、よりエキサイティングな日本を作りたい。

 

f:id:crazywadassy:20200817054621j:plain

はじめまして、
わだっしーっていいます。

 

僕は小さいころからモノ作りに興味があり、
中学生の時にコンピュータに
興味をもったことがきっかけで、
システムエンジニアとして働いています。

 

得意なのはプログラミング、
インフラ、チームマネジメントです。

 

会社員としての仕事としては、
サービスデザインとプロジェクトマネージャーをやっています。

副業ではアプリ開発の請負と販売をやっています。

 

ありがたいことに
歳が倍以上離れた人を指導したり、
命令して仕事をしてもらったり、
年齢の割には活躍することができています。

 

よく現場では
「30代でやるべき仕事なのに
24歳でできるんだね。。」
といわれることが非常に多いです。

 

結果を出している自信がありますし、
同期にだけは絶対に負けたくないと思いながら、
日々仕事しています。

 

そんな、僕がなぜ情報発信をやっているかというと、
「生産力の高い人材を増やし、
よりエキサイティングな日本を作りたい」

と思っているからです。

 

その理由についてはこれから話すのですが、
僕のことをよく知らないと思うので、
簡単に箇条書きで自己紹介をしていきたいと思います。

 

  • 一部上場企業のメーカエンジニア
  • 現場でリーダー、プロジェクトマネージャー的なことをしています。
  • 入社して1ヶ月で同期のレベルが低いと感じ、会社を辞めたくなる
  • 配属後、実力のなさを突き付けられ、週7終電で本気で仕事に取り組む
  • 小さなシステムをゼロから100まで作ることができるフルスタック
  • 地獄のデスマーチで1年間週7,6終電の生活をして酒乱のゲーム廃人になる
  • ウェブアプリ開発で地獄を見て、7徹を経験する
  • 省エネ主義で現場メンバー全員定時退社をモットー
  • 結果を出せるようになってきたのに、新卒より基本給が安いことに絶望する。
  • 現状を変えるべく、IT副業を始めた結果、本業と副業で月収100万円以上稼げるようになる。
  • 中学時代に中二病をこじらせて1週間でピアノが弾けるようになる
  • 高専時代に中二病をもっとこじらせてギターを始め、入門1ヶ月で速弾きを始める
  • 好きなアーティストはTHE BACK HORN, 9mm Parabellum Bullet, Oresama

 

こんな感じで、
色んな人に話すと必ずクレイジーとか
社畜とか言われます笑

人から褒められるようなこともあれば、
アホなところもあり、
天と地の差が激しいとよく言われます笑

 

誰よりもプログラミングができなかったし、
高専入学当初は後ろから3番目の成績という、
ポンコツ極まりないところから始まっています。

 

そんな僕がポンコツな状態から
どうやってここまで成長してきたのか
をまとめた年表を作ってみました。

 

これを読んで
僕のことを知ってもらえれば嬉しいです!

 

 

わだっしーのクレイジー年表

0歳、北海道室蘭市に生まれる(モー娘。安倍なつみの出身地。別に好きではない)

 

4歳、NHK放送のワクワクさんが大好きで家庭ごみから工作をすることにハマる。祖父といろんなものを作ったのがいい思い出。母からごみを作るなと怒られ、破壊されるが、それを上回る勢いでゴミを量産しまくる。

 

7歳、共働きで兄弟の面倒を見ざるを得なく、妹や弟のおむつを替えたりしながら、学校以外の時間をほとんど家で過ごす。家では数少ないゲームをひたすら周回するという超インドアな小学生時代を過ごす。その中でもカスタムロボというバトルゲームにハマり、極めた結果、誰も僕に勝てなくなって誰も遊んでくれなくなる。

13歳、運動神経が悪いのに野球部に入部する。シャカリキで練習しまくったら10㎏痩せたのと、根性だけで長距離走だけは早くなる。ちなみにポジションは万年9番ライト。3年時まで9番ライトを気合と根性だけで維持し続けるという謎の異名を持つ。部活メンバーには好かれ最高の中学時代を過ごす。

 

15歳、中3の12月時点で高専の合格率が3%。だけれども「どうしても高専に行きたい」と泣きながら受験させてもらえるように担任と親を説得する。それから1か月半はほとんど寝ずに勉強をし続け、高専の合格を勝ち取る。本人を含む誰一人として合格すると思っていなかったので、合格したときは担任と親が感動して泣く。しかし、高専に入学すると、みんな頭よすぎて全然ついていけず、授業を抜け出してゲーセンに通う毎日を過ごす。

 

17歳、学科で一番プログラミングができず、プログラミング演習で他の人は16時で演習を終えているのに、毎回僕だけ20時まで居残りするという屈辱的な経験をする。その悔しさをバネに1ヶ月Javaを本気で勉強したら、学科内で40人中3位の成績をたたき出し、プログラミングの世界にハマる。そこからAndroidアプリ、部活のホームページを作るようになる。

 

20歳高専に入った時点でシステムエンジニアになることを決めていたので、卒業後はそのまま一部上場企業のメーカに就職する。だが、同期のレベルが低いことにショックを受け、会社を辞めることを考え始める。しかし、現場に配属されると価値観は180度変わる。先輩や上司から圧倒的な実力の差を見せつけられ、その人たちにあこがれて死ぬほど仕事に取り組むようになる。

21歳、週7で終電で帰宅していたこともあり、何のために生きているのだろうと自問自答する社畜生活を送る。その時にダークソウルという廃人ゲームにハマり、毎日深夜の2時から4時までゲームをして、7時半に起きて出社するという、あきらかに精神的に狂った生活を送るようになる。その時に体重が10㎏ぐらい増量する。しかし、そんなながらも気づいたらソフト開発だけで売上で6000万を達成する。

22歳、現場でリーダーになり、メンバー7名を抱えることになる。その時に24時間、仕事の電話が鳴りやまないという経験をする。そんな仕事を続けていると、ある日から首から上に激痛を感じるようになる。痛みでまともに声が出せなくなり、寝ることも困難な状態になり、病院通いの生活を余儀なくされる。原因は超長時間のデスクワークとストレス。そこから、時間ありきで働かない方法を必死で考えるようになり、メンバー全員生産性を高めて、全員定時退社を目標にする。そして数ヶ月後、チーム全体の生産性を上げることに成功し、メンバー全員定時退社という結果を成し遂げる。その時の売上は8000万ほど。

23歳、順風満帆なキャリアを歩んでいることを自負していたが、給料が新卒よりも4年目高専卒の給料が低いという現実を知る。いままでの努力や結果がすべて無駄に感じ、絶望する。会社にいることに意味を感じられなくなり、フリーランスになることを決める。同時に同じような境遇の優秀な人材が当たり前のように使いつぶされる現実が許せない、そういう人はいてはいけないという思いも芽生え、生産力の高い人材を育てるためのブログ、SNSを2018年11月から開始する。

・24歳情報発信をしていくうちに、フリーランスという働き方について深く知り、自分は組織で働いた方がより成長でき、より理想を叶えるための力が身に付くと感じ始める。転職活動を始め、数々の企業からスカウトをもらい、自分の持っている実力が社外でも通用することを強く実感。理想を叶えるための行動によりレバレッジをかけて鬼のように行動中。

 

僕は小さいころから、
モノづくりの仕事をすることが夢でした。

 

そのために勉強をしてきたし、
仕事にも真剣に向き合ってきました。

 

人より理解するのが遅かったり、
仕事が出来なかった分、
人より必死に努力してきました。

 

 

だけど、それは会社から見れば
都合のいい人間でしかありませんでした。

 

いくら頑張って結果を出したとしても、
僕の給料として返ってくることは
ありませんでした。

 

これはIT業界に限った話ではないですが、
結果を出した人が報われないという
現実はあってはならないことだと思います。

 

その人の努力や結果は、
本当に尊いものだと思うし、
報酬として返ってくるべきです。

 

そのほうがモチベーションも上がるだろうし、
この業界がもっと盛り上がると思っています。

 

心の底から尊敬できる凄腕エンジニアは、
正しく評価されるべきだし、
優秀な人材を使いつぶすような
社会の構造は絶対に間違っています。

 

僕はそんな社会構造を
本気でぶち壊したいって思っています。

 

やりがいを搾取される構造をぶち壊したい

サラリーマンという働き方が
悪いとは全く思いません。

 

ですが、それを利用しようとする
資本主義の上層は
「エンジニアのロマンある仕事」
を搾取することで、
潤っているのが現実です。

 

気づいたら僕もその餌食になっていました。

 

僕は2015年に新卒で今の会社に入社したのですが、
いまだに新卒の学部卒より基本給が低いです。

 

自分の仕事の価値を低く見積もっても
これからの貢献度を考えても
新卒より仕事の価値が低いとみなされるのは
非常に怒りがこみ上げてきます。

 

俺の仕事の価値は新卒よりも低いのか。。

 

そう思うと何もかもがやるせなくなり、
会社にいることの意義が
すべて失われたように感じました。

 

僕がこれまで過ごした会社人生は
仕事にフルコミットしてきたと
自信を持って言えます。

 

どんな仕事にも真摯に向き合ってきたし、
結果のために全力でした。

 

やりがいもありますし、
もっと成長したいとも思っています。

 

ですが、
このまま会社に貢献し続けることは、
僕にとってデメリットが大きすぎます。

 

それなりの規模の会社に勤めているので、
個人では扱えない大きいお金が動く
仕事が出来るのは正直言ってワクワクします。

 

ですが、それをエサに搾取されるのは、
あまりにもガマンがなりません。

 

企業が大きければ大きいほど
そういった搾取の構造があると思っていて、
大きい仕事をしていると

「俺、めっちゃデカい仕事してる!!」

って自尊心が満たされるんですよね。
(男ってそういうところありますよね笑)

 

そして、実際に出来上がったシステムが
ユーザーが使っているのを見ると
すごい達成感と満足感が得られるんですよね。

 

もう、これは何物にも代えがたい、
仕事をすることの楽しさだと思います。

 

でも、もらえる給料は新入社員以下。。

 

 

これって、
やりがいの搾取
っていうと思うんです。

 

今のIT業界って、
エンジニアの仕事の喜びをエサにすることで、
お偉いさんの懐が潤うシステムなんです。

 

やりがいをあげるから、
お金は別に要らないでしょ?

 

そう言われている気がしてなりません。

 

僕はそういう構造に巻き込まれるのは、
今後絶対に嫌なので、
搾取されない働き方を目指すようになりました。

 

会社員として働いている
エンジニアの9割はやりがいによって
搾取され続けているのが現実です。

 

それってあまりにも悲しすぎるし、
そういった優秀なエンジニアの目を覚まさせたい。

 

そう思ったのが、
このブログを始めたきっかけだったりします。

 

 

プログラミングで成り上がった成功者たちから学べること

世界的に成功しているプログラマーとしては、

あたりが有名なのですが、
彼らに共通していることは何でしょうか。

 

彼らの共通点は、
圧倒的な生産力
です。

 

ここでいう生産力というのは、
質と量を兼ね備えた力になります。

「量をこなす→改善する→量をこなす→・・・」
というサイクルを
異常なスピードでこなすことで、
圧倒的なクオリティのサービス、
圧倒的な量のコンテンツを生み出しています。

 

彼らが今もプログラミングをしている
というわけではないと思いますが、
彼らの思想が強く反映されているから、
世界中で使われるサービスが成り立っていると
僕は考えています。

 

世界中のどんな企業もマネすることができない、
圧倒的な生産力が大きな価値を
生み出すことに成功しているんです。

 

FacebookTwitterinstagramを利用していて、
クオリティ高いか??ここ不便じゃね??
と考えるユーザもいるかと思います。

 

だけどそれって当たり前の話で、
100%のユーザに対して
使いやすいっていうのはありえないです。

 

たとえば、
僕はアンドロイドのスマホが好きなのですが、
人によっては使いづらくて、
アイフォンのほうがいいって人もいます。

 

一方で僕はアイフォンは使いづらくて
あまり好きじゃないんですよね笑

僕の言いたいことが少しは見えてきましたか?

 

 

つまり、100%の人が大満足する
プロダクトやサービスっていうのは、
絶対に存在しないということなのです。

 

人によって好みが違うし、
使いやすいと感じるポイントも
ぜんぜん違ってきます。

 

そう考えると、
世界中には文化も考え方も価値観も
全てが異なるこの世界で、
数億人に使われるサービスって、
とんでもないことだと思いませんか?

 

それを実現することができたのは、
途方もない数の失敗と成功を繰り返して、
「これがより多くのユーザが満足する」
ということを探ってきたからです。

 

とんでもない金額のお金を使って、
挑戦に挑戦を繰り返してきた結果が、
今僕たちが当たり前に使っている
サービスなのです。

 

それを実現できたのは
圧倒的な生産性
だということができるでしょう。

 

Facebookのモットーの1つで、
生産力に言及するものがあって、
「Done is better than perfect.
(完璧を目指すよりまず終わらせろ)」
というのがあり、この考え方は、
僕たち凡人でもマネすることはできます。

 

プログラミングだと特にその考え方が重要で、
まず作りきってから直したほうが
圧倒的に早いんですね。

 

 

とりあえず作って動かしてみる。

 

これが、
プログラマーとして生産力を身に付ける
第一歩となる考え方です。

 

日本人は特に
「完璧に仕事をこなす」
ことを大事にする人が多いです。

 

なので、この考え方を身に付けることで、
他の人と大きく差をつけて
生産力を身に付けることができます。

 

僕はこの考え方をもっと広げていって、
生産力の高いエンジニアが増えたら
面白いなと思っています。

 

IT業界全体の生産性が上がると思うし、
もっとクリエイティブでエキサイティングな
社会になるんじゃないかと思うと、
すっごくワクワクします。

 

あなたもそう思いませんか?

 

ITスキルを磨けば理想に近づくまでのスピードが加速する

プログラミングとかサーバとか、
難しすぎて自分には縁のないこと、
と思っているかもしれません。

 

あるいは、
「わだっしーはもともと、
頭がよかったからできるんじゃないの?」
と思っているかもしれません。

 

でもそれは全力で否定します笑

 

僕は高専のプログラミング実習で
ただ一人20時まで残っているぐらい
プログラミングが出来ませんでした。

 

学科での成績も40人中37位でした。

 

IT業界で仕事をするのは
無理なんじゃないかって思うことも
たくさんありました。

 

でも、正しいスキルの身につけ方、
学習法を研究し、身に着けてきた結果、
強いエンジニアになることが出来ました。

 

 

大好きなモノづくりの世界で仕事がしたい!

 

本気でそう思っていたから
僕は必死になって
プログラミングを勉強しました。

 

仕事もフルコミットして来ました。

 

システムエンジニアとして活躍するために
プログラミング以外の技術についても
積極的に習得してきました。

 

その結果、仕事では誰に対しても
自信をもって自慢できるような
結果も出せるようになりました。

 

その過程で、

  • 論理思考力
  • 圧倒的な生産性
  • コミュニケーション能力
  • エンジニア育成スキル
  • マネジメントスキル

も身に付けることが出来ました。

 

 

僕がエンジニアとしてのスキルを習得したり、
仕事をしてくることで
かけがえのないものをたくさん手に入れました。

 

IT技術、ビジネススキル、仲間、人脈、、、
本当にかけがえのない大切なものです。

 

色んな企業からスカウトが来るようにもなり、
自分の力が本当に価値あるものだと
実感できるようになりました。

 

 

僕がスキルを手にすることで、
一番最初に実感すると思っているのは、
圧倒的な生産性アップです。

 

小さなことであれば、
タイピングスピード。

 

人よりタイピングが速いだけで、
作業スピードに差をつけることができます。

 

普通のエンジニアが100行のプログラムを
1時間で書いていたとしましょう。

 

タイピングスピード早くて、
1時間に500行のプログラムを書けるとしたら、
5倍もの生産性の差がつくのです。

 

大げさな話ではなく、
タイピングスピードって侮れない技術ですよ。

 

もう少し技術的な話をするのであれば、
プログラミングによる業務の自動化です。

 

プログラミングを駆使すれば、
事務的なデータ処理や反復作業は、
フルオートにすることも出来ます。

 

プログラムは反復作業が得意なので、
一度プログラムを書いてしまえば、
人間が働かずとも無限に動き続けます。

 

人間が1時間かけてやっていた
データを整理する作業を
プログラムで自動化してしまえば、
10分もかからずに終わってしまいます。

 

その量が増えれば増えるほど
同じ時間でできる仕事量の差が
どんどん広がるのです。

 

それこそ倍という表現では
表すことができないほどの差がつきます。

 

そう考えるとプログラミングスキルって
生産性という視点で語ると
とんでもない差をつけることができる
異常なスキルだとは思いませんか?

 

 

この異常なスキルを使えば、
人より早く仕事を終わらせて、
余った時間は好きなように
使うことも出来ます。

 

さっさと嫌な仕事を終わらせて、
自分のやりたいことをやってもいいのです。

 

毎日定時ダッシュして、
仲間と飲みに行ってもよいでしょう。

 

自分を磨くために
ジムやヨガに通ってもいいですね。

 

もっと時給を上げるために
勉強に時間を使ってもいいですね。

 

家庭を持たれているのなら、
家族との時間をゆっくりと過ごしても
良いでしょう。

 

 

さらに言えばもっとスキルを高めて、
自分でサービスを立ち上げれば、
一瞬で独立することも可能です。

 

システムの自動化にこだわり、
システムに自分の代わりに働かせて、
不労所得で生活するなんてことも可能です。

 

ITスキルは夢のあるスキルです。

 

高めれば高めるほど
人生の選択肢は無限に広がります。

 

人を変える力があると
本気で思っています。

 

あなたにはそのスキルを手にしてほしいし、
人生を自由自在にデザインするために
身に着けてほしいと思っています。

 

 

ITで面白いサービスを作れる人を増やしたい

ITには人を変える力、
社会を変える力があります。

 

ですが、それを有効活用できている
企業や個人はそんなに多くない
と思っています。

 

IT企業でも
本当に実力のあるエンジニアが
ほとんどいないのが現実です。

 

僕はこれまでの仕事で、
色んなエンジニアを見てきましたが、
本当に優秀なエンジニアというのは
意外と少ないというのが僕の意見です。

 

技術を高め続けていこうという
エンジニアは意外と少ないですし、
ビジネスとして大きく発展させていきたい
というエンジニアも少ないです。

 

 

僕はそれって
ちょっともったいないなと思うのです。

 

高いITスキルを持っているという時点で、
希少性が高い人材になることができます。

 

就職、転職を有利に進めることが出来たり、
フリーランスとして自由な時間を得つつも、
高単価で働くということも可能になるのです。

 

だから、僕は情報発信を通して、
本当の最強エンジニアを育てていきたいって
思っているんです。

 

 

上を目指して上り続ければ、
サービスを立ち上げて運用するだけで、
生計を立てることだってできます。

 

ITでできることって無限大にあります。

例えば、

  • 飲食店に魅力的なウェブサイトを作ってあげて、お客の自動予約システムを作ったり
  • 完全オリジナルのスマホアプリをリリースしてその広告収益だけで生活したり
  • 自宅のセキュリティを高めまくって要塞化してそのシステムをYoutubeにアップして広告収入を得たり
  • スキルを高めてそれを教えるためのサービスをインターネットで展開したり

 

やりたいことや理想とするワークスタイルで
自由に生活してもいいんです。

 

ITスキルにはそれを可能にする
力があるのです。

 

 

ここまでのスキルを身に着けるのも
そこまで難しいことではなくて、
短期間で集中して学び、実践すれば、
長くて1年、早ければ半年、本気になれば1か月で、
必要なスキルを身に着けることができます。

 

そのためにこのブログを作りましたし、
僕の知識、経験を凝縮して、
短期間で習得できるように作りこんでいます。

 

学んで、実践して、
他の人とは圧倒的な生産性の差を身につけ、
希少性の高い人材を目指して
一緒に頑張っていきましょう。

 

ITスキルを武器に理想を叶えましょう。

 

 

それをかなえたら
飯でも食いながらギークな話でもしましょう笑

 

やっぱそういう人と話すギークな話とか、
仕事の話をするのは本当に楽しいです。

 

 

そして最終的には、
一緒に世の中に面白いサービスを展開していく
仲間が増えたらなと思っています。

 

 

今回の話をまとめると、

  • やりがいは搾取されるのではなく結果に結びけられる
  • ITスキルは理想までの距離を一気に縮めるスキル
  • 学ぶ姿勢と、ほんの少しの努力で理想は手に入る
  • 理想をかなえたら一緒に酒を飲みましょう笑

となります。

 

 

ここまでが僕の理念ですが、
ブログだけではなく、
メールマガジンもやっています。

こっちではもっと深いことを話しています。

 

稼ぐエンジニアの考え方を凝縮した電子書籍をプレゼント中

僕はシステムエンジニアとして
年間6000万円以上売り上げています。

 

才能があったわけではないし、
昔から超がつくほど要領が悪いです。

 

そんな僕がプログラミングを習得したり、
心から尊敬する先輩や上司から影響を受けて、
エンジニアとして成長することができました。

 

酸いもあまいも経験してきましたが、
普通の人よりもたくさん失敗してきて、
それをガソリンにして結果にフォーカスしてきました。

 

その経験から
ポンコツでもエンジニアになれる」
と思っているし、
成長して理想の自分を手に入れられると信じています。

 

そして、今は同じ道を志す仲間を
1人でも多く増やして、
エキサイティングでより生産性的な社会を
作っていこうと夢見ています。

 

そういった理念をもとに、
僕の知識や経験をふんだんに絞り出して、
エンジニアとして成長し、
結果を出すにはどうしたら良いかを
体系的にまとめた電子書籍を作りました。

 

僕のストーリーも交えて作っていて、
20分程度でサクッと読める内容なので、
もし興味があれば読んでみてください。

→電子書籍『エンジニアという生き方で人生をデザインする。』

 

メールアドレスを入力すれば、受け取れます。

 

最後まで読んでいただきありがとうございました。

 

もしこの記事が役に立った!と思われたら
SNS等でシェアしていただけるとすごく喜びます。