Progateは素晴らしい。他にもやることがある。山本ゆうごブログスマートフォン用の表示で見る山本ゆうごブログ山本ゆうごの仕事メモ2018-08-26Progateは素晴らしい。他にもやることがある。こちらのエントリ読んで思うところを書いています。Medium自社でもエンジニア採用をしているのですが、Progateやプログラミングスクールを経て、プログラマーになろうとしている人は多くいます。プログラマーになろうとしている人の背中を押してあげるという点では、これらの初心者向けのサービスは本当に素晴らしい。ところがいくつか困ったケースができはじめています。Progeteのみを永遠と続けていて、エディタを触ったことがない自社の採用は「未経験OK」とはしているのですが、プログラミング勉強中の人にはFizzBuzz(のような超シンプルなソース)はその場で書いてもらっています。メールで出題をして、結果をメールで返信してもらいます。Progeteでしか書いてないので、エディタは持ってないのですがいいですか?Progateの問題にないコードは書いたことがないので、実行せずに書いたまま出しますあとは、Progateの中でしか実行してないので、ターミナルそのものを触ってないという人もいます。カレントディレクトリの概念がないとか。いい方はありますが、「黒い画面」で「ファイルをいっぱい繋げていく」というのが、プログラミングの基本です。プログラミング「言語」に引っ張られすぎて、まるで語学習得のようになってないでしょうか。Progateは料理教室みたいなもの料理教室はこの世に必要なものですが、料理教室で「しか」料理をしてないというのはよくない。料理教室だと以下の訓練ができません。料理本をみて、そこから食材を買いに行くというだけでも十分カバーできることはあります。そんなわけでProgeteの外で頑張らなくちゃいけないことProgateは初心者にプログラミング言語を網羅的に教えてくれるのだけれど、それだけだと足りない。タッチタイピングの練習をしよう(まさかのここから)今はスマホネイティブの人も多いので、PCで高速チャットをする機会がない。タッチタイピングができないまま、Progateをやりつづけていたり、合宿系のプログラミングスクールに行ったりする。タイピングスピードが遅いというしんどさだけではなく、画面をみながらタイピングができないということは、Googleの第二キーワードもエディタのコードアシスト機能も使えないということ。キーボード見ちゃダメ。TwitterもPCでやりましょう。Twitterはキーボードのみでほとんどの操作ができます。新規のファイルからソースを書こうファイル名をつけるところからスタート。Proagateみたいに予めファイルが用意されていて、そこを修正するだけなので、ほとんどエラーがでない。実際にはタイピングしているとたくさんのスペルミスがある。requireで指定しているファイル名と、実際のファイル名が違うことなんてベテランでもしょっちゅうある。私はよく「俺たちはファイル製造マシーンだ」といい切ってる。新しいファイルを適切なディレクトリに作るという訓練をたくさんしよう。読む能力を身に着けようどのプログラミング言語も、本屋にいけばテキストがある。テキストだからそれそのものは面白くもなんともない。いずれは、テキストだけで勉強しなくちゃいけなくなるときは来る。プログラミングの楽しさって、「できあがったプログラムが便利だった」というところなので、正直勉強は苦しくても別にいい。殆どのドキュメントには公式ドキュメントがある。公式ドキュメントは最初はとっつきにくいだろうけど、読めるようになろう。読解力というのは人それぞれかなりの差がある。「読むと頭に入らないが質問のキャッチボールでは頭に入る」という人もいる。プログラミングというのは、どこまで行っても読み書きの世界。読み書きの得意な先輩方が作られた業界だから、覆しようがない。適切に質問をする能力が身についているのなら、人間相手ではなく、Googleに聞けばほとんどの答えが載っている。ググり方を身に着けようタッチタイピングができるようになったら、Googleで検索して適切なサイトか適切な情報を引っ張り出す訓練です。Progateは中のテキストが充実しているので、困ったときにスライドにジャンプできます。実際のプログラミングではそのスライドを探し出すところからやらなくてはなりません。適切なワードでググりましょう。ググったら上から順に「これは欲しい情報なのかどうか?」「まともな人が書いてそうか?」などの重み付けをしながら参照します。公式ドキュメントやstackoverflow(英語版)の評価の高い解答などは大事ですね。エラーメッセージの「ちょうどいい部分」をググるというのも大事です。環境構築が大変なら環境構築が楽な言語から手を付けようWebプログラミングといえば、Railsという相場観があるかもしれないが、残念ながらWindowsだとrbenvの段階で辛い。Railsまでいかなくても、単体のRubyなら十分手元で勉強はできる。Webで公開して他人に触ってもらいながら学習を進めるのも効果的。なると、フォルダコピーだけで本番反映が可能なPHPの方が学習からフィードバックまでのサイクルは早い。ロリポップのようなレンタルサーバーでもすぐ動かせる。仕事でエクセルをよく使うのなら、エクセルVBAから始めたって構わない。繰り返しや分岐などは全く変わらない。VBAのエディタはIDEとしても完成度が高い。本当にプログラミング初心者ならVBAから初めて、Web系言語にシフトしても全然遠回りじゃない。手元に自分のサンプルソースをたくさん作ろうどんなリファレンスよりも、自分で書いたコードが一番あとで参照しやすい。できるだけ自分の手元においておこう。Progateを一通りやったら、全く同じ課題を、自分の手元のPC上で書いて、手元のPC上で実行するというのもいい。絶対別の苦労がでてくる。その苦労は仕事でエンジニアになった時には乗り越えなくちゃいけない苦労。手元でたくさんのサンプルファイルを置くのは、「うまいこと動いているバージョン」「動かないバージョン」と複数バージョンを置いて比較をしながら学んでいくことができます。World」と出力するだけのプログラムですが、「いろんな文字列を日付としてパースするサンプル」のようなサンプルソースはベテランになってからも手元でちょこっと作ります。小さくても「手元で動いたプログラム」がリファレンスとしては最高です。自分ひとりが便利なものから始めようプログラミング初心者が作りたいものというと、Railsで作った何かしらのコミュニティサイトを上げる人が多いです。ところがコミュニティサイトはプログラミングだけではなく、Webサーバーのセットアップや管理から、掲示板が荒れした時(もしくは誰も来ない時)のコミュニティ運営まで幅広いスキルが必要になる。PDCAサイクルが一周する時間が長すぎます。手始めにおすすめなのは、自分がよく見るサイトのスクレイピングツール。定期的にWebサイトを巡回して、欲しい情報があれば、そのサマリーを自分あてにメールで送ったりするツール。このレベルなら、Rubyでクラスなんて作らなくてもできちゃう。継承だオーバーライドだインスタンス変数だとか知らなくても、誰かの生活を便利にすることはできる。自分でやり始めて「あれ、修正すると既存機能が壊れやすいなぁ」とか「部分的なテストがしにくいなぁ」みたいな課題感を持ってから、クラスを覚えたって構わない。プログラミングによって人が幸せになるのだというところは実感したほうがいい。その点では、エクセルVBAは職場の人が即幸せになる可能性があるので、入り口としては馬鹿にできない。環境構築もいずれはチャレンジしよう「環境構築だけがクリアできない課題」という言い訳はあるものの、「エラーメッセージが出る→ググる→ちょっと直してみる→前回と比較してみる」というステップはエンジニアの仕事そのものです。「適切な情報源から適切な文書を取り出して読む訓練」ができれば、環境構築もできます。19:05Progateは素晴らしい。他にもやることがある。Tweet関連記事2019-01-20こうしてプログラマーになりましたプログラミングをやってみようと思った時のことを書いておく。...2018-09-04目的別プログラミング言語プログラマー初心者が疑問に思う「どのプログラミング言語をや...2018-02-18オススメのプログラミング学習方法こちらの記事に感化されて書いてみる。「個...2017-10-14僕はいつもこんな感じでざくっとデータをみているCSVがドーンとあったとする。機械が読むということこうしてプログラマーになりましたWeb系のツヨミとツラミ月別アーカイブ参加グループテクノロジーはてなブログをはじめよう!yugo_yamamotoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。