エンジニアとして、プログラミングを上達させるには?
鹿児島にある siNka School でプログラミング講師を担当している吉本です。
なぜプログラミングを上達させるのか。
それは、やればやった分だけ成果が出てくるのがプログラマーの世界だからです。
転職するにしろ、起業するにしろ頑張った分だけ、自分に跳ね返ってきます。
プログラミングを効率よく学ぶためのコツを今回は解説していきます。
読者の方に分かりやすく、僕の簡単なプログラマーとしての経歴と経験をふまえながら。
コツについて結論から言ってしまうと、
「時間の許す限り、Progateにコードを打ち込もう」
です。
35歳で、プログラマーへの転職
なぜプログラマーになったかというと、プログラミングすることが楽しくなった、ハマったからです。
下手くそだったんですけど、興味はあったし
自分で言うのもなんなんですが、35歳という年齢でプログラマーへ転職したことは結構挑戦的なことだったんです。
前職は、株式会社ACG「あおぞらケアグループ」という鹿児島の介護の会社に在籍していました。介護業界の中でもITに力をいれて社内の業務フローを棚卸しして、介護の仕事をシステム化されている会社です。社内のITスキルの高い人材を育成するため福岡のプログラミングスクールG'sアカデミーに通わせるプロジェクトに選抜していただき、毎週末福岡まで通っていました。
「G'sアカデミー」は、
「世界に通用するGeekになろう」をコンセプトに起業家を日々育成されています。
合計半年通ってました。3ヶ月プログラミングを学んで、3ヶ月卒業制作を行い「GGA」でプレゼンを行います。
GGAとは?
毎回常に100名以上にご参加いただき、
大好評を博しているジーズアカデミーのデモデー「GLOBAL GEEK AUDITION」。
GGAは、単なる卒業制作の発表にとどまることなく、投資先スタートアップを探す投資家や、
エンジニア採用をする採用担当者とのマッチングの場として、
多くの関係者に熱い期待を集めてきました。
そして開校から6年で、起業数70社・資金調達の総額は80億円を突破しました。
すべてはこのイベントがスタート地点となっています。
Fukuoka Dev3期生として入校したメンバーと、週末に切磋琢磨しながらプログラミングの技術を習得していきました。
僕はACGの社内システム化の方を優先させていただいたので、GGAでは発表しませんでした。
GGAで発表予定だったプロダクト「CURA(介護事務所の業務改善システム)」は前職在籍中に無事にデプロイし、サービスを開始。無事に軌道に乗せることができました。
熱量の高い、起業家志望・転職組と一緒に学ぶことができてとても素晴らしい経験をさせていただきました。
プログラマーへの転職はなぜ挑戦的だったのか?
なぜ転職が挑戦的だったのかという話に戻します。
当時35歳の未経験エンジニアだった自分に任される仕事は、選べる選択肢があまりなかったんです。
実装経験を積みたいのですが、経験者の方が早いし正確なので、そちらに仕事は流れます。
年齢的に若い子と比べると伸び代が圧倒的に足りないのと、プログラマーとしての経験値がとにかく低かった。
情報最先端の東京にいるわけでもなく、鹿児島という地方での転職です。
(悲観的なものではなく現実的に俯瞰して自分のことについて話をしています。)
あなただったら、どちらを選ぶか真剣に考えてみてください。
あなたは社員にプログラミングを学ばせて、社内のITを促進させたいと考えている経営者さんです。
65歳を定年として残りの在籍日数で考えてみてください。
35歳のエンジニアと、大学を卒業したての22歳のエンジニアだったら、あなたはどちらに経験を積ませたいと思いますか?
答えは後者ですね。
経営者としての立場で考えた時に、会社としては若い子に教えた方が、それだけ伸び代がたくさんあるので実践と経験の機会を与えたくなるじゃないですか。投資する価値があるので。
なので、早いうちからプログラミングを学んでおくということに価値があります。
という価値観で勝負しないといけません。
純粋にプログラマーとして勝負したかった僕は、実力勝負に出るしかありません。前職でプログラミングを学び始めた35歳の未経験エンジニアが存在意義と仕事をもらうためには、とにかくプログラミングスキルを爆上げするしかなかったんです。
上達するためにはひたすらコードを打ち込んで、死に物狂いで技術力のレベル上げに励みました。
実装経験を積みたかった僕は、とにかく実力勝負という土俵に自ら上がって、自分を追い込む必要があった訳です。
とはいえ、プログラミングを学ぶのに適齢期はありません。
何歳からでもスタートできます。
80代でプログラミングを始めた85歳の現役プログラマーもいます。
プログラマーは、実力が本当に評価される世界なので、学ぼうとする本人のやる気次第でどれだけでも成長できますし、頑張れば頑張った分だけ評価もされやすいです。
参考記事
「学びに年齢は関係ない」最高齢プログラマー、若宮正子さん
siNka School は大学生から社会人まで受け入れてますので、鹿児島でプログラミングを始めてみたいという方は無料相談もしていますので、ぜひ問い合わせください。
ひたすら、黙々とコードを打ち込む。
話を戻して、コードをひたすら打ち込む。
これはなぜかというと、
コードを身体で覚えるという意味合いがあります。
プログラマーとしてのお仕事
1. 発注者の要望通り、どうやって効率よくプログラミングコードを正確にどれだけ打ち込めるか?
もちろんお仕事なので、期限(デッドライン)があります。
期限までに要望通りに開発するというのが、プログラマーのお仕事。
2. プロジェクトによって複数言語を使う可能性が出てきます。
言語を一個だけ覚えても、プロジェクトへの参画は難しいと思います。
WEB系エンジニアだったら、ライブラリー・フレームワークを除くメジャーな言語をまとめると、
フロント系 | バックエンド系 |
---|---|
・HTML | ・Ruby |
・CSS(Sass) | ・PHP |
・JavaScript | ・Python |
・Go |
の構成になります。
これらを踏まえ前提条件をまとめると、下記の2点になります。
- 仕事なので期限厳守
- 複数言語を取り扱う。
とした時に、体形的に頭で覚えてしまうのも大事なんですが、身体が覚えたことって感覚だけ取り戻すと複数言語の切り替えが早いんですね。
身体が覚えているので、調べる回数が減って効率的にプログラミングを実装していくことができるようになります。
もちろん、自分で調べながら進めていくのがエンジニアとしての醍醐味でもあるんですが、覚えていることで調べずに圧倒的に早く実装できた方が楽じゃないですか?
ということで、僕がやっていたことをおさらいすると基礎となるプログラミング技術はProgateを使って、もくもくとコードを書いて底上げしていました。
なぜProgateなの?
ここは、非常に重要です。
Progateのご紹介をさせていただくと、
初心者から、創れる人を生み出す
初心者でも独学で、挫折せずに学べること。
そして、本物のスキルが身につき 「創れる」ようになること。
プログラミングで夢を叶えたい人が、本当に夢を叶えられるように、
私たちはこんな思いをProgateに込めています。
プログラミングの世界へ踏み出すあなたを、私たちがサポートします。
よく、プログラミングを学ぶのは挫折すると言われています。
ポイントは、
開発環境を一から自分で構築して、考えないといけないことが山ほど出てくる
んです。
ここで、脳が思考停止してしまい挫折を経験してしまいます。
僕も、29歳の時に一度挑戦しましたが、WordPressでWEBサイトを1から全て構築しようとした時に挫折しました経験があります。考えないといけないことが多すぎて、夢でうなされました。
その点、Progateは開発環境を構築せずにスタートできるのでプログラミングの勉強だけに集中することができ、挫折することなく最後までやり切れるのが特徴です。
極限状態に追い込んでみよう
なんとなく進めるのではなく、目的を持って学習をするとその分捗るというものです。
プログラマーになったあなたを想像してみてください。
上司から仕様書とデザインを渡されて、
「このタスクは3日で完了させてください。」
つまり、あなたは3日以内にそのタスクを完了させないといけません。
途中でも言いましたが、プログラマーとしてのあなたのお仕事にはデッドライン(=期限)があります。
正確に、タスクを早く終わらせられるプログラミングエンジニアは非常に優秀だと周りからも評価されます。
なので、それをイメージしながら学習を進めていきましょう。
目標 タスクをどれだけ早く、正確に終わらせられるか?
Progateのオススメする進め方は、1章を3周くらいまわります。
周 | 進め方 |
---|---|
1周目 | スライドを読んで、ヒントや答えをみながらサクッと通る |
2周目 | 今度はスライドを飛ばしてで、やってみる。(※ここで自分が1周目に覚えられていなかったことが分かります。) |
3周目以降 | スライド飛ばしてタイムアタック(章によっては20分切れる) |
をひたすらやってました。
タイムアタックするのは、
- どれだけ自分が覚えているのかを実践できるのか?
- 時間を意識して、極限状態に追い込んでコードを書く
という目的があります。
Progateショートカット
種類 | Windows | Mac |
---|---|---|
「スライド開閉」 | Alt + S | Option + S |
「出来た!」 | Enter |
バスケット漫画「SLAM DANK」の桜木のドリブル練習と同じく、
基礎をしっかりと固めましょう。
数をこなしたら、必然的にProgateのレベルが200は簡単に超えます。
と、同時に自分のプログラミングスキルもグッと上がります。
地道なんですが、これをやり続けることが大事です。
僕は定期的に、いまだに使う言語のタイムアタックやっています。
siNka Schoolではこういったプログラミングの勉強法と、カリキュラムを順序立ててデザイン・設計しているので安心して学ぶことができます。
また、Schoolには講師以外に現役エンジニアも常駐しているので、分からないことやプログラマーとしての経験談をすぐに聞ける環境があります。
以上、プログラミングを上達させるには?の紹介でした。
Discussion