こんにちは。ユーキです。
今回は私がプログラミングを習得した方法について紹介したいと思います。
会社に入るまではほぼプログラミングをしたことがなかった人間がどのようにしてプログラミングをおぼえていったかを紹介します。
前提条件
会社に入るまではほぼプログラミングをしたことがありませんでした。大学も文系で、数学の知識は高校の知識で止まっている状態です。
入社前
入社前に面接で、「ソフトウェア開発に入りたいなら、まず自力で勉強しなさい」と言われたため、本を一冊購入して家でチャレンジすることにしました。
手に取ったのはExcelVBAの入門書でした。まず、入門書を読み、書いてあるコードを自分でも書き、動かしてみます。
正しく動いたら、ちょっと手を加えて、処理がどのように変わるかを確認します。
この作業を繰り返して1冊完了させました。
入社後
フロー図
まず処理を分解する考え方とフロー図の書き方(厳密はフロー図というよりもプログラミングの構造化)を学びました。とある処理のフロー図を書いてみる課題を1,2つこなしました。
所要:1日ぐらい
簡易プログラムの作成
販売管理システムもどき(商品マスタと日々の売上データ登録画面)をAccessで作成。
上司の指導の下、プログラムを作成し、テスト実施までをやりました。
所要:5日ぐらい
Javaの勉強
「独習Java」という本を与えられ、これを最初から最後までやりました。
やり方は、ExcelVBAの入門書のときと同様、説明で記載されているコードから課題のコードまでひたすら書いて、動かして、動かなければ原因を追究し、無事に動けば、理解を深めるため、サンプルコードや課題を少し変更してみて、動かす。
この繰り返しです。1日1回、上司との質問タイムがあって、疑問点はそのときに解消という形でした。
おかげで当時Javaの資格であって、Certified Java Programmer(1.4)を取得できました。
所要:1か月(1日:8H*20日)程度
残りは実務
勉強タイムは以上です。
あとは実務で、知識を増やしていくことになりました。
振り返り
つまるところ、「ひたすら書いて、動かして、動かなければ原因を追究」。これの繰り返しにつきます。ウェブサイトや本のコードや解説を読むと、理解した気になれますが、いざ書いてみると、「あれ?なんだっけ?」となることが多いです。
結局は手を動かして、自分で原因を追究して、初めて自分の身につくものだと思っています。
1つの言語をある程度のところまで習得すると、他言語に応用がきくこともあります。
私も最初の勉強はJavaでしたが、初実務はC#.Netでした。ただ、とくに苦労した記憶はありあません(もともと、JavaとC#は親和性高いです)。
最後
自分の経験からいくと、広く浅くで沢山やるよりも、まずはこれだ!と思う言語を掘り下げていくのが良いと思います。