スポンサードリンク


今からプログラミングを学ぶ方におすすめ!入門は丁寧に、基礎の反復練習が重要な理由!

    プログラミング入門 おすすめ

     パソコンを使い始めたのはいつから?

    今やご家庭に1台あるのが当たり前となっているパソコンですが、私がパソコンを使い始めた当時はまだあまり普及していませんでした。

    私は幼少期からパソコンを触れる機会が多く、かれこれパソコン歴はざっと20年くらいになります。

    私と同い年の方達と比べてみても、パソコンを使ってきた経験はたぶん長い方だと思います。

     

    保育園に入園する前はWindowsのペイントでお絵描きしたり、ソリティアなどのゲームで遊んだり、小学6年生の頃には自前のパソコンを手に入れ、色々弄ってOSを破損させてしまったり、ゲームなどだけではなくエクセルの勉強をしたり、中学生に上がってからはホームページ制作に興味を持ってHTMLやCSSの勉強をしたりしていました。

    パソコン学習 幼少期

    そんな経験を幼い頃からできたのも祖父のおかげで、パソコンが祖父の家に置いてあったこと、幼い私にパソコンを使わせてくれたこと、そして私自身がパソコンに興味を持つきっかけをくれたこと。

    そんなこんなでプログラマという職に憧れたのが、中学生の頃のこと。

    今でも懐かしい思い出ですが、あの頃があって今の自分があるのかなと思っています。

     

    実は最近、自分の昔のことを振り返る機会が多く、しみじみパソコンという世界にドップリ浸かってきたんだな、と。

    もちろん後悔もないし、今の自分に満足はしているので、あとは自分が信じる道に真っ直ぐ進めるように努力するのみでしょう。

    このようなことを考え始めたのも、今まで勤めてきた会社を1月末に退職し、起業に向けての道筋や勉強などの準備を計画していかなければならなくなったからですね。

    これからの人生の選択を迫られている時期ということもあるのでしょうが、過去を振り返るってなんだが「私もそろそろ歳なのでしょうか?」。

    中身はまだ20代の若造ですけどね・・・。

     

    ちなみに私は現在パソコン・プログラミング教室の非常勤講師をやっています。かっこいい表現をすれば「フリーランス」とも言います!(大層なものではないですけどね・・・)

    こうして仕事ができるのも取得した資格やわずかだけど業務経験があることが評価されたというのもあります。

     

    まだまだ私も勉強しなくてはならないことがたくさんあり、
    やりたいこと、目指したいことに向かうことができるように取り組んでいかねばなりません!

     

    さて今回は、今現時点まで歩んできたパソコン人生の中で過去の過ちについて語っていきたいと思います。

    特にこれからプログラミングを学ばれる方やIT業界を希望される方は是非ご覧下さい。

     

    本記事は二部構成です

    「私のプログラミング経験とIT業界への道」から始まり、

     

     失態編:「学習したはずのプログラミング知識が通用しない苦い経験

    実際に私がやらかした実務での過ちを語っていく内容です。

    壁にぶつかって奮闘した出来事を元にどうやって切り抜けたかを紹介していきます。自分語りが多めの話なので余裕のある方、興味のある方は是非。

     

     教訓編:「プログラミングをこれから学習される方に読んでほしい

    プログラミング学習においてやるべきではないこと、勉強した方が良い内容など、これから学習される方に伝えたい要点をご紹介していきます。

     

    私のプログラミング経験とIT業界への道

    私が本格的にプログラミングの学習をし始めたのは、専門学校の頃からですね。

    パソコンを触れている期間の割には年数的にみると、意外とプログラミング経験は浅かったりします。

    それでも興味があり、好きなことだからこそ覚えは速い方で吸収量もそこそこだったと思います。

    JavaやC言語、ウェブプログラミング、データベース、情報処理の基礎知識などなど多岐にわたり学びました。

    プログラミング 学習方法

    専門学校ではパソコンの技能だけでなく、大切な友人もでき直接会う機会こそ今では減ったものの、Skypeで関わっていたりして楽しんでいます。

    また、2年数ヶ月ほどアルバイトも続けることができ、バイト先の人や環境にも恵まれ、「バイトの廃人」というレベルで若干暴走気味ではあったもの、専門学校時代は私にとって黄金期でした。

     

    他の友人たちが就職が決まる中、私もメーカー系のIT職に入社が決まりました。

    ここまでは非常に順調でした!

     

     

    学習したはずのプログラミング知識が通用しない苦い経験

    入社年の後期に社内で立ち上げたポータルサイトのシステム基盤の開発が本格的に始まりました。

    この業務システムの基盤はJava言語が主体で構築されており、
    開発元のツールや専用APIなどの標準機能に加え、別売りされている製品、そして各社が独自開発したシステムを基盤に載せて動作させるという仕組みのものです。

     

    私が当時担当したのは、ベンダーさんに開発依頼したシステムの一部の機能の開発補助というお仕事で、要件に合わせてJava言語で部分的にコーディングするというものでした。

     

    私はというと、Java経験者という募集要項に惹かれ入社し、思い描いていた業務が目の前までやってきたということもあって、内心は「遂に私の出番だ!Javaなら経験してるし独壇場!さあ来い!」みたいに自分を過信し酔っていました。

     

    そして実際に業務は始まった。

    結果は言うまでもなく、学生の頃に勉強したはずの、得意だったはずのJavaが全然わからない

    プログラミング 知識不足

    あれだけあった自信もすぐに崩れ去って、何をして良いのかわからなければ、何が分からないのかそれすらも分からないという状況に陥ってしまい、初めてのJavaでの業務ははっきり言って死にました・・・。

    正しくお手上げ状態というやつですね。

    結局のところ主体で開発していたベンダーさんの助けを借りながら、何をしているのか意味不明のまま業務は終わってしまい、そしてシステムがリリースされました・・・。

     

     さて今回何がいけなかったのでしょうか?
    • Javaの知識が不足していたこと?
    • 事前にベンダーさんに内容の確認をとるべきだった?

    もちろんそれもあるとは思います。

    「できなかった」という事実の根本的な原因だったはずです。

     

    しかしながら当時を振り返ってみても、業務システム開発が未経験の私がいきなりこなせるレベルの内容ではありませんでした。

    つまり、この落とし穴にハマるのは避けようがなかったことでしょう。

     

     

    なら最もやってはならないことはなんだったかというと・・・、

     

    それは「自分を過信してしまうこと」だったのです。

    プログラミング 過信

     

    自分には出来るという根拠もない自信のことですね。

    当時の私は大して経験もないくせに変にエリート意識があったのだと思います。

     

    今回の記事で最も伝えたい内容がこの「過信」についてです。

    後述でも触れていきますので、皆さんもこの過信について考えていきましょう。

     

    悔しい思いをした私はJavaの基礎を復習することに

    今回の業務を終えた私は、この調子で今後Java開発ができるのか疑問に思っていました。

    よくよく考えてみると、業務システム云々の前に、学生の頃に学習した知識を「真の意味で理解できていない」ことがはっきりわかったのです。

     

    負けず嫌いの性格の私にとって、悔しいという気持ちで終わりたくないと思い、もう一度Javaの基礎を一から勉強しなおしました。

    特に文法は重点的に、バカにされがちな初歩的な部分も含め最初から学習していましたね。

    概念部分はなんとなくでもいいから雰囲気に慣れて、基礎を徹底しました。

     

    そのおかげか錆びついていたJavaの基礎が少しずつではあるけど、理解が深まり始め、良い意味での自信というのか「楽しい」というあの頃(初めてパソコンを触れたときの感動・専門学校時代で勉強したときの感覚など)の気持ちが蘇ったのです。

    ここで私はあることに気が付いたのです。

     

    過信した時点で人の成長は止まってしまう」ということを・・・。

    そしてなによりも一番大切なことは「楽しい」「面白い」と思う感情、即ち、やる気の変わるものです。

    探究心を突き詰める上では絶対に必要なことだと思います。

     

    期限間近のオラクルJavaのBronze試験に挑戦

    ついでに言うと、専門学校の卒業間近で購入したオラクル試験のバウチャーチケットが一枚ありまして、受験期限が目前に迫っていました。

    期限内にオラクルのJavaのBronze試験を受けられますが、なんと期日がその年の2月末まで・・・。

    ちなみにこの時点で1月半ばくらいだったと思います。

     

    そういえば専門学校時代に少しだけ資格を取得したけど、Javaの資格持ってないんだよな・・・、と思った私はこの入社年度の2月末の受験(ギリギリ)を目標に、OCJP-Bronze SE7を取得するべく試験対策を始めました。

    Bronzeは一番下位の試験制度で、しかも自宅で受けることができるという意味でも、あんまり価値のない資格だったりしますが、それでもJavaを学習している今にはウッテツケということもあり受験しました。

    結果は合格。

    OCJP-Bronze 認定キット

    でも点数は高くはなく、まだまだ勉強が足らないことを痛感。資格を取得したという点では励みにはなりましたよ!

     

    業務システム基盤と仕組み・概念を改めて勉強だ!

    資格試験に合格後はさらにJavaを勉強したいという意欲が湧き、
    あの苦戦して何もできなかった業務システムの仕組みを改めて勉強することにしました。

    というのも社内でシステム化する案件がいくつかあり、
    それらに対応できるようにもその時期までに開発ができるように準備を進めていく必要がありました。

    時期にして2015年の3月、4月あたりだったと思います。

     

    前回お手上げだった業務システムのソースコードを解析して、
    どんな仕様でどのように動くのか半ば実験感覚で弄りまくり、理解できるまでひたすら学習の毎日。

    ようやくこの頃に開発基盤のJavaフレームワークが「SAStruts」「S2JDBC」と知ることになります。

    初めて業務に携わったあの頃はそもそもそんな用語は知らない状況でした・・・。

     

    ちなみに部署内にはJava経験者は他におらず、完全に独学する必要がありました。

    なので、会社と自宅で無我夢中で勉強し、動作の流れ、エラー時の対処法など必死に学習し、これを約2か月間繰り返して反復学習に勤しみました。

    プログラミング 反復練習

    自宅では会社の環境に似せてサーバを仮想マシンで用意し、Try & Errorで実験を繰り返しました。

    無我夢中とはいっても楽しみながらを前提に学習を重ねることに。

     

    それでも、壁にぶち当たることは多々あり、自力で解決できない問題はサポートを受けていたベンダーさんにヒントをもらいながら、少しずつ実力を伸ばしていきました。

    6月あたりには概念やサーバの基盤などある程度理解し、そして更なる気付きをここで感じることになりました。

    言葉で表現するのは難しいのですが、たぶんJavaの標準パッケージ、seasar2などの各種フレームワーク、そして業務システム専用の独自フレームワークの範囲・仕組みの切り分けがイメージ的に捉えることができるようになり、頭の中でそれらの部品を組み立てられるように感じた「ある瞬間」からかな・・・。

     

    そのある瞬間というのが本当に説明できないんですが、ある時いきなり感じられるようになるものだと思います。

    プログラミング 楽しい

    その過程から「感覚的にどのようにコーディングをすれば良いのか」「初めての事柄でもなんとなく仕組みが予想ができる」といった確かな実感を得られるようになりました!

     

    その後のJava開発ではゆとりもだいぶ生まれて、慣れてきたということもあり、
    覚えたことを実践をしてみたり、またどんな機能があるのか調べ、試してみて、「こんなことができるのか~」と楽しんでいる自分と感動している自分がいました。

     

    スポンサードリンク

     

    やっていくうちに、だんだんとプログラム動作の予想もできるようになってきました!

    やってよかった反復練習の大切さ!これに尽きることはありません。

    過信していると・・・反復練習するなんて必要はないという錯覚が生まれてしまいますよね。

     

    さらなる上位のJava資格を取得するために

    2016年の8月には腕試しを兼ねて、まだ会社に在籍していた頃に「OCJP-Silver SE8」の試験を受験し、正答率91%で高得点合格をすることができました。

    OCJP-Silver 認定キット

    この年はJava以外にもたくさんの資格試験に挑戦し、そのほとんどを合格で飾ることができました。

     

    そして2017年1月末に会社を退職し、その後は資格試験の勉強にまっしぐらで、4月末には一番上の「OCJP-Gold SE8」を受験し見事取得に成功しました。

    正答率は82%で同じく一発合格することができました。

    OCJP-Cold 認定キット

     

    もちろんGOLDを取得して終わりではありません。

    学習したことを活かすべく、今度は私自身が個人でシステム開発をするフェイズです。

    というのも将来、独立していくためにも必要な行動選択だからです。

    その過程で今はプログラミング教室の先生をやっているというわけです。

    会社を去った理由についてはここでは触れておかないことにします。

     

     

    ここまで読んでくれた方、お付き合い頂きありがとうございます。

    自分語りばかりが多く、かなり退屈な内容だったかもしれませんね。

     

    でも・・・

     

    ここで私が皆さんに伝えておきたいことは、

    自分を過信しないこと」「反復練習は絶対に必要であること」の2点です。

     

     

    つい最近の出来事ばかりなので、歩んできた人生と書くと、年齢不相応とか言われてしまいそうですね。

    ただ、これらのことを無視してしまうともしかしたら同じ過ちを犯すことになってしまうかもしれません。

    初心忘れるべからず」という言葉の大切さが身に染みて感じる日々の出来事でした。

     

    以上で私の「失態編」は終わりです。

    さて続いては、これからプログラミングの学習をされる方やIT業界に進もうと考えている方に読んで頂きたい内容「教訓編」に入っていきます。

     

    プログラミングをこれから学習される方に読んでほしい

    徹底攻略 Java SE7 Bronze

    アンケート調査かわからないですが、噂によると今の学生のIT業界への志望者がかなり増えているようで、将来プログラマやシステムエンジニアを目指す人達が多くなるかもしれません。

    IT社会というべき今の時代では、年々需要が増してきており、人材の供給に対して需要が追い付かず、人材の不足が問題視されていますよね。IT業界だけではないと思いますが、顕著ではあると思います。

    ITばかりに人材が極端に集中するのも様々な弊害が出てきそうで、
    それについては触れませんが、IT業界を目指される方々は人材不足の穴を埋めてくれる「新たな芽」とも呼べる人たちであり、こうした方が参入することは今のニーズには適うことでしょう。

     

    私が実業務に携わって感じてきたこと、思ったことなどを元に以下に記載していきます。

    私自身もこの想いを忘れないように、備忘録としてまとめます。

     

    入門をバカにしてはいけない理由

    プログラミングを学習されている方は分かると思いますが、初めて言語の勉強をするとき、1冊は入門書を購入しますよね。

    ここで本当に初心者の方ならまだ安心ですが、他の言語をかじったという経験者の方は注意が必要かもしれません。

     

    さて入門書を開いてみると、たいてい書かれているのが「Hello World」を出力してみようという内容です。

    初歩としてはお決まりのパターンですよね。

    初心者の方なら真面目に取り組む内容でも、
    他の言語の経験がある方はもしかしたら読み飛ばしてしまうこともあるかもしれませんね。

    プログラミング入門 Hello World

    「正直バカバカしい内容と思いませんか?」

    こんなもん既にわかってるし、見ただけでわかるわーと内心馬鹿にした気持ちでさらっと流してしまう人もいるでしょう。

     

    そして次に学習する内容として、変数の宣言や型の種類などの章に入るはずです。

    ここでも経験者の方は雰囲気が似ているので、目を通しただけでさらっと次に進んでしまうこともありそうです。

    int型?

    double型?

    ・・・そんなもん知ってるよ、という感じに。

     

    そのように学習される方は「わかる」から読み飛ばしていく、を繰り返していく癖がついていきます。

    次第に理解した気になった状態になってしまうのです。それが過信へと変わればなおさら危険です。

    プログラミング 過信

     

    でもある時から急に全くわからない状況に陥ったりすることもあったりします。

    そして、自分がどの辺りから理解できていないのかわからなくなってしまいます。

     

    途中で躓いて気が付けば良いのですが、中には書籍を1冊終えても特に躓かなかった人は危険です。

    反復練習兼ねて再度学習しなおす方は、壁にぶち当たってもなんとか突破しますが、一度挫折するとそこで諦めてしまう方は次第にやる気がなくなり、「嫌い」になってしまうと思います。

     

    「分からない=面白くない=嫌い」

     

    こうなってしまうと悪循環の一方です。

     

    図星だ、感じた方は学習スタイルを見直してみるのも良いかもしれませんね。

    入門はバカバカしくても順番に真面目に取り組んだ人ほど理解が深まると思います。

    後々自分の首を絞めなくて済みますので、ページを飛ばさずに是非学習してみましょう。

     

    言語仕様の違いを気にし過ぎないように

    プログラミング言語にはその特徴からメリット、デメリット様々です。

    例えばJavaで記述可能なコードでも、C言語では全く違う書き方をしたりしますし、書き方云々の前にそういった仕様・機能がない場合もあったりと、その逆もあり得ます。

    こうした違いがあることで、「Javaではこうだったのに」「C言語ではこれができるけどいいの」などなど言語間の比較だけでなく、中には皮肉交じりに近い文句のような感想を持つ方も過去にいらっしゃいました。

    プログラミング言語 違い

    仕様が違うのは当たり前のことです。

     

    例にすると英会話の勉強をしても、ロシア語を話せないのは当然ですよね。

    こういう人はロシア語に対して、英語と「同じ文法じゃないのかよ」「発音が違うじゃないか」と文句言っているのと同じです。

     

    なので、言語仕様の違いに過剰にならず、それぞれの特徴を楽しみながら覚えていく心構えを持っておくのも大切な心構えです。

    でも得手不得手があると思いますし、慣れは必要になりますけどね・・・。

     

    HTMLの最低限な知識と文法は学習必須?

    クラウドサービスやウェブシステムが普及している今、ウェブ系プログラミングの需要の幅は大きいと言えます。

    開発システムの基盤に依存するプログラミング言語の知識だけでは、
    うまくいかないケースも意外と多く、多岐にわたる技術が必要になったりもします。

     

    特にブラウザ依存のシステムの場合は、HTMLCSSJavaScriptなどの知識は開発の現場で当然のように登場します。

    「Javaだけ出来てもHTML分かりません」、だと開発が滞ってしまうことでしょう。

    ホームページ制作の経験があれば、ほぼ問題なしですが、一度も触れてこなかったという方は、意外と苦戦するかもしれません。

    習得には差ほど時間はかからないものなので、合間に軽く勉強するくらいでも対応はできると思います。

     

    またサーバサイドのプログラムでは、XMLファイルの設定値やパラメータを読み込んで動作させるものも多く、XMLの文法も軽くでいいので触れておきたいところです。

     

    もちろんどういう業種に就くかによって変わってくるので一概に絶対とは言えませんが、HTMLとCSSは最低限勉強されることをおすすめします。

     

    極めたという言葉の使用はご法度?

    極めた」という言葉を使ったり、他人に言ってしまった経験はありませんか?

     

    精神論に近い話に入ってしまいますが、
    自分の得意分野を認められたい、他者よりも上に、という気持ちが先行する時などについつい口走ってしまった、など。

    言わなくても思っているだけでもそれはまずいことです。

    なぜならこの世で自身に対して「極めた」という言葉が出てくるのはほぼあり得ないからです。

     

    というのも

    「極めた」の意味は「これより先はないというところまで行き着く(頂点)」です。

    それはつまり、完全(100%)の状態を指すことになります。

    その分野においてすべてを知り尽くしていることとも言い換えられます。

     

    誰が極めたという基準を推し量るのでしょうか?

    もう察しの方もいるとは思いますが、これって「自分を過信」していることに似ていますよね。

    その時点で自分の成長は止めてしまっていることになってしまうのです。

     

    仮に極めた域まで達した人でも自分から極めたという言葉は使わないと思いますし、そういう方たちはそういった基準を評価するのではなく、日々物事に打ち込んで楽しんでいるはずです。

    だから自分に対して極めたという言葉を使うのはご法度だと思います。

    この世界に100%の物事なんて基本ないはずなので。

     

    人生は日々勉強だと言われますが、正しくそうなんだろうなと感じますね。

    技術だけではなく、精神的にも磨いていくことが最も重要なことではないか、と。

    最近そのことが自分でもわかってきたような気がします。

     

    ここまで記事にしたことはあくまで私が現在に至るまで感じたこと、見てきたこと、そして私が日頃持っておかないといけないと思う心構えです。

    これらが参考になれば、と書いてみました。

     

    長文失礼致しました。もしかしたら途中の文章表現がおかしい箇所や意味が分かりにくい箇所があるかもしれません。

    この記事を読んで頂け方、是非ご感想を頂けると嬉しいです。

      The following two tabs change content below.
      よっき
      パソコンが大好きな青年。職業はプログラマ。 幼少期からパソコンが好きで、趣味がそのまま仕事になりました。 主にウェブ系コンテンツの開発が中心です。 自作PCの魅力に惹かれたのは学生時代の頃で、現在に至ります。 自作PC専門ブログで、お得な情報を紹介しています。 趣味はホームページ制作かな。起業を夢見て奮闘中の毎日!

      スポンサードリンク


      コメントを残す




      *

      このページの先頭へ