私のプログラミング勉強法
あくまで私の考えですが…
英語が出来れば簡単なプログラミングは出来ます
算数と英語が出来れば、少し高度なプログラミングが出来ます。
数学と英語が出来れば、SEの素質がかなりあります。
英語の要領でプログラミングを覚えました
基本的に私の考え方では英語多少出来ればプログラミングが出来ると思っています。(※英語不得意で出来る人もたくさん居ると思いますが英語が出来れば簡単なプログラミングは出来るはずです。)
私は帰国子女でTOEICはリスニングで7~8割取得し、文法は壊滅的で学生時代はTOEICで500点いかなかったくらいです。
英語に対して苦手意識はありませんが、細かい文法は確かに理解できていないと感じています。
500点をネットで調べると英語が不得意と出てきましたが、学校のテストでは割と高得点でした(卒業した高校の偏差値は今ネットで見ると44~48みたいです)
就労継続支援では「賢い学校卒業してるんやね!」とか言われましたが、偏差値60越えの学校に行った友人も居たので、そんな見方もあるんだなぁっとびっくりしたのを覚えています。
ただし、町で外国人と話して道案内とか、商品案内なんかは平気で出来ていました。
民泊業の仕事でも電話応対で外国と話をしたりしてました。
プログラミングをやってい思ったのは英語と似ているなという感覚でした。
まず英語は単語を覚えます。プログラミングもコンピューター語(大概英語で構成されている)を覚えます。
次に文法を覚えます。
英語だとSVOとか学生時代にやったのを覚えている人も多いはずです。
プログラミングは色んな言語があり、言語ごとに文法は異なります。
私も初心者向けの言語のVBAを初めて学習した時はチンプンカンプンでしたが、英語と同じ要領で意味も分からず①簡単なコードを手打ちで書き写して②動かして③メカニズムを理解する。という流れを繰り返しました。
独学で一番参考にしたサイトと実際の勉強法
エクセルの神髄のHPの練習問題でいきなり考えもせずソースコードを見て、①簡単なコードを手打ちで書き写して②動かして③メカニズムを理解するを繰り返すうちに簡単なコードだと読めるようになりました。
エクセルの神髄 https://excel-ubara.com/excelvba9/
エクセルの神髄のページは丁寧なマクロについての解説があるのですが、そういったものを一切無視してまずは練習問題の回答をいきなり見て、①コードを手打ちで書き写して②動かして③メカニズムを理解する。
を只管繰り返しました。
後は、見たことない単語をネットやエクセルの神髄のHPで調べて少しづつ覚えていった感じです。
業務でも初期の方は割とカタコトのVBAで走らせて仕事を処理していました。
真面目なSEの方には怒られそうですが、最初は動けばとりあえずOKというスタンスでした。
私たちは広辞苑の隅から隅までの言葉を知っているわけではありませんが、日本語で意思の疎通が出来ています。
プログラミングもコンピューターとの意思の疎通で、シンプルな事をやってもらうだけならカタコトで事足ります。
今は、メンテナンスのしやすさや出来るだけシンプルなコードにしたり、プロシージャを分割したりオリジナルで考えたコードを書いたりと、どんどんスキルアップはしていっています。
始めのうちはプロシージャの分割(コードの分割)も有用性がわからなかったりしましたが、仕事で複雑なVBAの依頼が来て勉強するたびに理解が深まって中級者や上級者の言っている意味が分かってきました。
また、VBAを覚えたての初期のころはネット検索で自分が作りたいプログラムを作成して公開している人のコードを真似る事が多かったのですが、近ごろは地頭で考えてコードを書くことが多くなりました。
恐らく、大量のコードを真似る事で、量が質に転化したのだと思います。
このため、初心者の時期は、色んなコードを真似てやりたい事を実現していけばいずれ、地頭で考えられるようになっていくと思われます。
後は、高度なプログラミングだと算数・数学の考え方や論理的な考え方がかなり必要だと思います。
一方で、私は現状、仕事でVBAを10人くらいに教えているのですが、ついてこれているのは3人くらいだけです。
VBAプログラミングにもやはり適性のようなものがあるのかもしれません。
私自身、自分の事をそんなに頭が良いとは思っていません。
このため、昔はそれをカバーするために本をたくさん読んでいました。
しかし、哲学者の池田晶子さんやショーペンハウエルはただの多読は馬鹿になるからしっかりと自分の頭で考えろと、うつ病後に読んだ本に衝撃を受け、考え始めたのを覚えています。
24歳くらいの時だったと思います。
あとは、割と仕事が出来る友人と同じ時期に話したときに
「自己啓発本とか俺は役に立たないと思っている」と言われたのも衝撃でした。
それからは多読というより、必要な時に本を読んで、よく考える、考察するようになりました。
最初はうまく考えれなかったりもしましたが、YOUTUBEで水平思考問題なんかの動画を見て考察力を深めたりしました。
あとはTVゲームなどでもすぐに攻略サイトを見ずに効率よい方法や戦法など自分でじっくりと考えるようにしました。
私自身、大学は一応、理系の大学を卒業しています。偏差値は高校とほぼ同じです。
ですが、実は数学はどちらかというと分野によっては苦手でした。高校の時は基本的に赤点スレスレの40点ぐらいでした。
展開図とか一部の幾何学はそこそこ点が取れてた気がしますが、他は割と苦手だった気がします。
ただ、最近プログラミングをしていると算数(数学でなく算数)のセンスみないなものが自分に足りてないと思い、数学を面白く解説してくれる本をあらためて読もうと思っています。
また、VBAは50時間もあれば習得できると言われています。
私も会社の昼休みや会社終了後に30~1時間の勉強を1~2ヶ月して書けるようになりました。
最初は自分で作業を効率化できるかもしれないと提案したものの、
意図した通りに動いてくれるかかなり不安で心臓がバクバクしてかなり緊張していました。
シンプルな内容だったので問題なく動きましたが、社内SEでも自分が作ったプログラミングをかみ砕いて説明したりするコミュニケーション能力は必須だと思います。
今現在でも大体は作りたいものがあると、ネットのブログなどで似たようなものを紹介している人が居るので、
そのプログラミングコードを参考にして、自分の仕事の環境に合わせて改良して使うことが多いです。
どう探しても似た案件が出てこないときは自分で試行錯誤してエラーとデバッグと闘いながらなんとか作ったりしています。
大変で疲れる事も多いですが、仕事で苦労していた同僚や上司が喜んでくれたり、解決できた時の喜びはなかなか楽しいものがあります。
ユーザーインターフェースが悪かったりバグが出て、注意されてへこむこともありますが、概ね楽しく仕事しています。
私はコマンドプロンプトとい言語を一番最初に覚えて次にVBAを覚えたのですが、どちらも初心者入門にぴったりだと思います。
コメント
コメントを投稿