DIVE INTO CODE

2019年05月06日
  • #マインド
  • #初学者

Ruby on Railsをスクールで学び尽くすために必要なマインドセット

Aws4 request&x amz signedheaders=host&x amz signature=7bd8cfdfe9e0bec7199382eb68ef1df792ae25bfc071ce3ed82e86530ff05956

必要は発明の母と言います。いくらスクールに通っても、学ぶ目的とマインドを意識していないとスキルを吸収できずに終わってしまいます。これを読めばスクールで学び尽くすために必要なマインドの全体像をつかめるようになります。
ここではDIVE INTO CODEで教えているRubyを習得する前提で話を進めますが、これから初めてプログラミングを学ぼうとされている方ならどなたでも役に立つ話になっています。

【こんな方におすすめ】
・これから初めてプログラミング言語を勉強する方
・プログラミングの仕事は「スキルさえあればいい」と考えている方
・わざわざスクールへ行く必要があるのか、迷っている方

【目次】
1.プロを目指すか趣味にするかでマインドは大きく異なる
2.プロのプログラマーを目指す「プロプロ」の持つべきマインド
 ・セルフマネジメント……自分の中に動機づけし、目的を見出し続ける
 ・組織マネジメント……組織の中で協働するコミュニケーション力
 ・タイムマネジメント……期限を守り、ゴールを理解した上で逆算思考する
3.趣味にする趣味プログラマーの「趣味プロ」マインド

■話し手
DIVE INTO CODE 代表 野呂 浩良(のろ ひろよし)
■聞き手
StartGate 永田 拓也(ながた たくや)

プロを目指すか趣味にするかでマインドは大きく異なる

今日はRuby on Railsをスクール学びつくすために必要なマインドについてお話します。

このテーマ、知りたいです! DIVE INTO CODEもプログラミングスクールですから、関係が深いテーマが来ましたね。

そうなんですよ。非常に重要なテーマでかつ、答えが無い分野だとは思うんですけど、あえて「こういう方向性だ」というのを今日は指し示したいと思います。やっぱり学ぶことは目的次第で結果が変わると思うんですよ。前提として「何を目的にするのか」によって変わるので、そこを明確に分けます。

前提条件ですね。

目的は大きく2つに分けたほうがいいと思います。
1つ目は「仕事にする」目的。
2つ目は「趣味にする」目的。
1つ目の「仕事にする目的」はいわゆるプロを目指しプロになるために学ぶことですよね。プロのプログラマーになるために学ぶので、ここでは「プロプロ」と呼ぶことにします。2つ目は「趣味プロ」。
「趣味プロ」はあっていいと思うんです。たとえばDIYで家のものをつくるとか、ろくろを回して陶芸を体験する、あるいは料理を作るのもそうかもしれません。だってみんなプロの大工さんや陶芸家、料理人になりたいわけではないですよね。

それでもやりますよね。

やりますよね。便利だったり楽しかったり、あるいは日常を豊かにしてくれたり気分転換になるからやる。プロと趣味の両方があっていいので、どちらが目的なのかは明確にしたほうがいいと思います。
DIVE INTO CODEは「仕事にする」に力を入れて運営しています。ただ、プログラミングを趣味にすることもあってもいいと私は思います。なので、それぞれに分けてお話していきます。

プロのプログラマーを目指す「プロプロ」の持つべきマインドとは?

私たちがご支援している「プロプロを目指す場合」を最初はお話していきます。マインドだけでなくスキルも重要ですが、スキルは後からついてきますし、むしろそれを付けるために学ぶのでここではそこまで議論しなくてもいいと思います。
入校前にここまで自習しておいたほうが良い」部分はもちろんあるんですけども、それを言い出すと「やったらやったに越したことはない」という話になってしまいます。ですから、ここではどちらかというと「普遍的に持っておくとスクールを使い倒せる」――そういうものをお伝えしようと思います。

分かりました。

3つあります。
・セルフマネジメント……自分を管理する
・組織マネジメント……相手をマネジメントする
・タイムマネジメント……時間を管理する

これらの3つをマインドとして持っておくと、スクールを使い倒せます。

なるほど。

それぞれお伝えしていきますね。

セルフマネジメント 

いろんなものに取り組むときに重要なのは、自分でちゃんと動機づけをしてなぜやるのかという目的を見出そうとし続けられるかどうかなんですよ。なので、たとえば「テキストに書いてあるこれ、やる意味あるの?」などと考える。あるいは、「これをどういうふうにやればいいのか分からない」ではなくて、「こうやれば良いのでは」と答えを見つけようとしていく。それをやらされている感覚でいることも良くないかもしれないですね。「自分でこれを突破したら、こんなスキルが身に付くんじゃないか」という部分を見出すことです。

はい。

あとは、なかなか理解が進まないと精神的に辛くなる、イライラしちゃう、焦ることもあると思うんです。そういうときも自分で「今これが正念場だ」「今が成長のチャンスだ」「この機会こそが自分を成長させる」と自分の中でモチベートするのが非常に重要ですよね。

確かに。

なので、大変だからといっぱいいっぱいになって追い込まれていくよりは、たとえば「短い時間の中にいかに学ぶかにこだわっていくか」とか、しっかりと自分でイメージを持つとスクールを使い倒せるはずです。

自分の中にエンジンを備えられるかどうか? ですよね。

そうなんです。なんでこういうことを言うかというと、すごく当たり前のようでいて、実はすぐにそうしたマインドを身に付けるのはすごく難しいんですよね。意識しないとできない。

今その話を聞くと「確かにそうだなあ」と思うんですけど、いざ実際につまずく瞬間に直面すると辛いですからね。

そうですね。この姿勢・マインドを持っていないと、どんな情報が入ってきても何を言われても、自分の中に吸収するのが難しくなります

守りの状態というか……。

受け身だからです。それでは記憶に残らないですね。

ただやっただけになっちゃう。

そう。何になるか分からずに、取りあえずやっただけになっちゃう。そうするとスクールを使い倒す道から大きく外れてしまう。むしろ後退しているかもしれません。

なるほど。それは自分1人だけだとなかなか気づかなそうですね。

「プロになる」ってそういうことだと思うんです。ですから、自分で困難にぶち当たったり、職場で難問にぶち当たったりしても、それを突破し解決していくのがエンジニアの仕事ですから。
そこに向き合う姿勢を持ちながら練習していくのがプロプロになるには重要ですよね。だってスクールはその練習期間じゃないですか。練習中に遊びます? だって、もうすぐ荒野に放たれるんですよ?

(笑)確かに!

「これから猛獣と戦うのに、戦い方の訓練を本気でやらないんですか?」って話です。手を抜いたら死んじゃいますよ?

そうですね。

当たり前じゃないですか。

人間、目の前のことが辛いと目の前のことしか見えなくなって、もともとの本来の目的を見失ってしまうときもくると思います。だからこそ、このマインドをちゃんと持ってるかどうかで変わってきますね。

そうです。あえて申し上げているようなマインドを持つことで、就職して職場に入った際の練習になるわけですよ。

なるほど。

これがとても重要な「セルフマネジメント」のマインドセットですね。

組織マネジメント

組織マネジメントとは何か。「組織」というと堅苦しいんですけど、大抵のスクールには同期がいたり、一緒に学ぶ人が他にいるはずですよね。そういう人たちと「いかに学び合いをするか」「自分自身の存在を出していくか」が重要だと思うんですね。特に、講師やメンターは受講生を見ていますし、受講生たちがどういう姿勢で課題に臨んでいるかを感じるわけです。
これってとても重要で、発言を積極的にしている方にはもっと答えてあげたいと思いますし、その中で自分の考えを主張してもらえればスクール側ももっと改善しようと動くかもしれないんですよ。
あとは、お互い関心を持って話すと実は同じところでつまずいているとか、考え方の気づきを得ることもあります。こらえて全て自分でやらなければと一日中考えていたけど、人に聞いたらたったの10分で終わったとか。

うん。仕事でもあり得ますよね。

会社に入ってプロになったときに周りの同僚たちにどう働きかけて、自分の目的を達成するためにどれだけ自分の殻を破れるのか。「自分の殻を破らなければ今まで自分ができたことの範囲までしかできない」ですから。

そうですよね!

そんなマインドでメシ食うんですか? あなた、もうどこでも通用する人なんですか? って話ですよね。人に確認せずに仕事できると思っているんですか?

仕事の基本的な姿勢ですね。

はい。だからプロプロになるには、これがとても重要になってくるんですよ。

ただ、人間どうしてもつまずく瞬間に、自分だけでは分からないと環境のせいにしたりとか、人のせいにしたくなっちゃったりすることもあると思うんですけど。

それは過去、現時点ではそれでもいいと思うんですよ。でもあなたが今見ているのは未来ですよね。これからどうしたいんですか、それでどうするのっていうことですよね。
不平不満を言うのはいいですよ。ただ、それだけだとよくないです。そんなの当たり前のことじゃないですか。不平不満を言って何が変わるのでしょうか? 

今と未来を生きていくわけですからね。

そうです。プロになるというのはそういうことですし、自分で発信をする、周りと上手く協働で切磋琢磨していく、考えを主張していく――自分で振り返りを言葉にして発信できるというのは、その組織の中で活躍するために絶対欠かせないことなんですよ。
特にプログラミングというものを何かワンチャンありそうだとか、可能性を懸けたい人たちって「コミュニケーションができなくてもいい」と考える傾向があるような気がするんです。そういう人たちが好む分野な気がするんです。

ああ〜、なるほど。

それは全然違っていて、エンジニアほどコミュニケーション能力がないとできない仕事はない。いい加減な仕様のままやったら自分が痛い目にあうんですよ。全部それを自分が背負うことになるので、精神的に耐えられなくなっちゃいますよ。

それって、中には自分の確認不足が原因でというパターンもあるんですかね。

あります、普通に。営業職ならごめんなさい! で済むんですけど、システムは途中まで開発してから致命的なミスが発覚したら、最悪全部やり直しですからね。

怖い!

「ごめんなさい」じゃ済まない。

何十時間、何百時間が、もしかしたら水の泡になるかもしれない……。

そうです。

怖い。

それが2つ目の組織マネジメントの話でした。

タイムマネジメント

当たり前のことかもしれないんですけども、期限を守っていくこと。その時までに何が必要なのかをしっかり確認して、課題などの提出期限を守っていく。あらかじめちゃんとゴールを理解した上で進める。「与えられたから課題をやりました」ではなくて、自分で推察をしたり確認したりしていく姿勢があればすごく前に進むと思います。
これらはプロとして活躍していくための練習の機会なんです。でも、なんでも手とり足取り、まるで過保護のお母さんみたいに全部やられたら自分が成長しないですから。それって間逆なんですよ。
だから、自分で使い倒すためにはそういう姿勢やマインドを持って取り組むのがベストです。むしろ「俺のほうができるんだ」と示すくらいのつもりで、メンターや周りの先輩、受講生に立ち向かっていくことが最も重要なことだと私は思います。

それができたら、進化と成長ができそうですね。

ただ一番を取ればいいってことじゃないんです。そういう姿勢を持つ練習をしておかないと、職場に入っても万年ビリケツみたいになっちゃいますよとお伝えしたいです。

うわー怖い。でも、スクールに入ろうと思っている側としては、学びたい意欲もあるから、どうしても受け身な面もあるのかなあって想像したりもするんですけど。

そうですね。それは必ずあると思います。だから、受け身と捉えるよりは、「自分でより吸収しやすい」と捉えたほうがいいですね。

おお!

「教えてくれる」じゃなくて、「気づきをいくらでも与えてくれる」と捉えたほうがいいかもしれないです。自分から取りにいけば取れる。だけど、自分から取りにいかないと取れない。知識ってそうじゃないですか? だって今まで成長したときって、誰か教えてくれましたか?

自分で動いていきましたね。

そうですよね。そのときに、聞ける相手がいるって大事じゃないですか? 先輩の真似をしたり、できる人の真似をしたりとか。

そうですね。

「誰かと一緒につくる」「成功体験を得る」、それこそが「自分の殻を破るとき」ですよ。既定路線では成長はできないですね。なので、非常に厳しいことを言うようですが、プロプロになるためには
・セルフマネジメント
・組織マネジメント
・タイムマネジメント

この3つは欠かせない。逆にこれがあれば絶対にスクールを使い倒せます。もう、しゃぶり尽くせると思います。

おお! もう使い倒して元を取ってほしいですね。十分ペイするくらい稼いでいこうぜ、というくらいの。

そうです。それくらいのほうが、プロプロの場合はいいと思いますね。

趣味にする趣味プログラマーの「趣味プロ」マインド

趣味プロは、今日はそこまで長く話さないんですけど3つあります。
1.楽しく
2.面白く
3.自由に

それだけですね。
趣味なんで、楽しく、どうなるのか発見しながら。いろいろいじって面白がり、課題ではないので自由に好き勝手にへんなものでも作ってみる。スクールの課題からは脱線したへんちくりんなプログラムを自分で作ってみるのもいいですよね。「3の倍数でアホになる」ものとか。

(笑)。

何を入力しても必ずRuby(ルビー)がRudy(ルディー)に直されるとか(笑)。そういう楽しさを感じたほうが絶対面白いんです。

確かにそうですね(笑)! プロプロの人たちもそれくらいの感覚で、やるっていう心持ちも大事ですね。

そうですね。ただ、プロプロの場合は自分の中に期限があると思うんですよね。プロになるのってそんなに生易しいものじゃないので。集中的になっていくためにある程度は仕事で持つべき姿勢に一気に振り切ってやってしまうほうが私は、最短距離だと思いますけど。ただ、遊び心を忘れないっていうのも大事ですよね。

はい。最短経路でやるのも目的によって変えると。ありがとうございました!

まとめ

プログラミングを学ぶ目的は大きくプロプロと趣味プロの2つがあるというお話でした。

仕事にする、プロのプログラマーを目指す「プロプロ」の持つべきマインドは、
1.セルフマネジメント……自分の中に動機づけし、目的を見出し続ける
2.組織マネジメント……組織の中で協働することを前提にした、コミュニケーション力や主体性、提案力
3.タイムマネジメント……期限を守りること。案件のゴールを理解した上で、逆算して進めていく

趣味にする趣味プログラマーの「趣味プロ」のマインドは、
1.楽しく
2.面白く
3.自由に

プロプロと趣味プロ、それぞれによって持つべきマインドは変わってきます。いずれにせよスキルは後からついてくるので、これらの姿勢とマインドを持っておけば大丈夫だと思います。

DIVE INTO CODEのことをもっと知ってみませんか?