元底辺エンジニアが語る、エンジニアとしての生き様、そしてこれからの生き方

生き様140. 技術書一冊写経してもプログラマーにはなれない理由

»

久しぶりに動画を投稿しました

4月1日に、コレざまTVラジオの第7回を公開しました。
今回は、ITエンジニアとDIYのお話を、松本キノコさん(@hyperkinoko)とお話しています。
ちょっと、僕らがイメージするDIYのレベルを超えた、工作の数々が見られます!!

色々とタスクが溜まっている為、今までのように動画投稿ができるわけではなさそうですが…。


写経はプログラング言語学習の基本

【写経】というのは、IT業界のスラングの一種です。
説明や解説の文を読むだけでなく、付属しているサンプルコードを実際に書いて動かしてみることです。

ベテランのITエンジニアであれば、効果的な学習として【写経】を挙げるでしょう。
白栁も、新しい言語や構文をを習得する際には写経から始めます。

世間では「これからITエンジニアになろう」という未経験学習者の「技術書一冊写経した」という声が多く見られます。
同時に「でもITエンジニアにはなれなかった」という声も付いて。

ベテランエンジニアの多くが挙げる効果的な学習方法なのに、何故でしょう?
白栁は「技術書を1冊写経した」だけでITエンジニアになれるとは考えていません。
それはどうしてでしょうか?
「スクールを卒業したけどなんの役にも立たなかった」という話にも繋がります。

毎月第一週の技術ネタとして、今回は【写経】を取り上げます。


技術書一冊写経できるのはすごい!

まず、最初に。
未経験から技術書を一冊写経する事ができる人は、すごい人です。
それだけで、プログラマーも、ITエンジニアも名乗って良いと思います。立派です!!
多くの人が挑んで、そこまでたどり着けずに挫折しています。
その中には、ある程度経験を積んだ人や、ベテランも含まれます。
ただ「やりきった」という事のみで、称賛に値する偉業なのです。

未経験から「技術書を一冊写経して、そして何も得られなかった」という人は、苦痛に耐えられる凄い能力を持っています!
それは素晴らしい才能です。是非、IT業界以外で役立てて頂きたい!と考えます。

ITエンジニア(プログラマー)になることは簡単です。
ちょっとコードを書いて、実行させられれば……。
つまり、画面に「Hello World.」を表示できれば、立派なエンジニアです!
HTMLでも可です。つまり、世界中の誰もがITエンジニアになれます。(※白栁基準)


ITエンジニアで在り続けることの難しさ

このコラムでも、何度か言っていること(つもり)です。
なるのは簡単です。
しかし、「ITエンジニアで在り続ける」ことは、簡単ではありません。
つまり、IT技術を武器に仕事をする、ということは、とても難しいことです。

例えば、
 「バットを振れればプロ野球選手になれるか」
 「ボールを蹴れればプロサッカー選手になれるか」
ということと同じでしょう。

プロスポーツ選手は、苦しいトレーニングを重ねて、試合に臨んでいます。
しかし、トレーニングは辛く苦しいだけでしょうか?
きっと、その中にも楽しみを見出しているから、続けられているはずです。

【写経】も同じです。
一冊写経するなかで、辛く苦しいだけだったら……
きっと、ITエンジニアで有り続けることはできません。
それでも一冊終わらせられる苦痛耐性を、少しでも楽しいと感じられるものに向けましょう。
その方が、きっと幸せになれます。

日本では、何故か「訓練や学習は苦痛に耐えること」という風潮があります。
これがそもそもの間違いだ、と考えています。
楽しんで良いんです。
楽しいからこそ、多少の苦難に向かっていけるんです。


ベテランの写経のしかた

ここまでの前置きが大分長くなりました。
ええ、今までのは前置きです!!

実は、例に挙げた様な未経験学習者がしていない、でもベテランはしている【写経】の先があります。

それは「動いたコードを改造してみる」です。
このコラムの多くを読んでいるベテランITエンジニアの方々には、当たり前過ぎる話です。
当たり前すぎて、説明できていないことを書いていきます。

まず、コードを書きます。
「Hello World.」でも、1+2の計算プログラムでも良いです。
そうしたら、未経験学習者は、それを実行して次へ行きます。
ベテランは、それを変えます。
例えば「こんにちは、世界」にしてみたり、1~10までの計算にしてみたり。

もしかしたら、動かないかもしれません。
動かない時は、動かない理由を考えます。
全角だからダメなのか。1桁同士の計算しかできないのか。
そういう思索と試行を繰り返して、理解を深めていきます。

「写経した」というのは、上辺を1辺なぞっただけです。
文字を書けるようになる為に、たくさんの書き取りをしました。
計算練習として、たくさんの計算問題を解きました。
壊れた時計を分解してみたり、手をボンドでくっつけたり。

考えて繰り返さないものは、身に付かない。
当たり前です。
そんなことができるのであれば、人類皆天才です。


写経が効果的な学習方法であるわけ

ですが、実際に「写経をした」というだけでも素晴らしいことです。
多くの人は、写経もせず「読んで終わり」にしているはずです。

写経は新しいことを学ぶのには、とても効果的な学習方法です。
新しい言語、新しい構文、新しいライブラリやAPI。
ドキュメントを読んで、サンプルを写経しする所から始めます。

世の中には、資料を読んだだけで「わかったつもり」になる人が多いのが現実です。
「身体感覚を伴う学習の効果が高い」という教育論があります。
逆説的に言えば、体感を伴わない学習は、身につきにくい、ということです。
体感というのは、この場合は実際に手を動かしてコードを入力・実行することです。
僕たちは、皆この過程を通過しています。書き取りとか、計算問題とか。

ですから、まずプログラミングを体験したことがない人には、それに向いた技術書を写経すること勧めます。
人によって、何を勧めるかは異なります。絶対の正解はありません。

これは、ITスクールでも同じです。
ITスクールでは、テキストや課題が用意されます。
模範解答や、他の人の回答を丸写しするのではなく、自分で考えコードを入力し実行すること。
これが初学者に向けた、一番の効果的な学習なのです。


術書一冊写経してもプログラマーとして働けない本当の理由

技術書が教えてくれるのは、あくまでも「技術」です。
それは、一冊写経しても、千冊写経しても変わりません。
そして、実際に会社で求められるのは「ビジネス」です。

エディタやIDEの使い方ではなく、Gitの使い方でもありません。
無慈悲に「ビジネスとしての正しさ」を求められます。
それは、絶対に技術書の中にはないものです。

ですから、【写経】をしても、プログラマーとして働けることを保証できません。
ITパスポートや、基本情報技術書試験に合格していても同様です。
こればかりは、社会に出て、現場の慣例に身をさらして慣れていくしか無いのです。
それが悪習であったとしても。

それは、技術書を一冊写経するより、強い苦痛耐性や忍耐力が必要かもしれません。

以上!




お知らせ1:参加イベント宣伝

いよいよ今週末に迫りました。
2022年4月9日(土)に開催される『ふりかえりカンファレンス2020』に、LT枠で登壇します。

内容としては、過去にコレざまで記事にした『生き様109. 大事な事は大体ゲームから教わった~その拾:ポジティブに振り返る~』のLT版となる予定です。

イベントは、1日をかけて、いろいろな角度からふりかえりについて考えたり、触れたりできる場になっています。

若干の参加料が掛かりますが、それ以上の価値のあるイベントだとオススメできます。
是非、御参加下さい。




お知らせ2:主催イベント宣伝

2022年4月22日(金)に久しぶりのオンラインイベントを主催致します。
その名も【超ショート】90秒LT会【2022Spring】です。

前回は仕事の都合でイベントを中止しましたが、もう大丈夫!なはずです。
今回の季節のテーマは「出会い or 別れ」です。
新しい生活を始めて出会うもの、そして長年愛用していたものと別れた話など。
様々な出会いと別れのお話を募集しています。
もちろん、レギュラーテーマも大歓迎です!

現在、登壇参加者・視聴参加者を募集しております。 上記のイベント名が、イベントのConnpassページへのリンクとなっております。
そのページから、参加登録をお願いします。

また、このイベントは3ヶ月ごとの開催を予定しています。
今回ご都合が悪い方は、是非次回、2022年7月開催(予定)のイベントへの参加をご検討下さい。
宜しくお願い致します。


Comment(7)

コメント

匿名

「画面に「Hello World.」を表示できれば、立派なエンジニアです!」
さすがに、これは言い過ぎと思い、投稿させていただきました。
技術書丸々一冊であればまだしも(これもエンジニアというには、、と思いますが)、Hello World.だけだとただの「コンピュータが操作できる人」どと思います。
サッカーボールを蹴れたら、サッカー選手です。と言っているようなものです。
サッカー選手は、(高校でもプロでも)ある一定の知識習得&練習をして、監督に認められ、公式や練習試合に出ることで、"サッカー選手"と名乗れるのではないでしょうか。

ちゃとらん

>「画面に「Hello World.」を表示できれば、立派なエンジニアです!」
>さすがに、これは言い過ぎと思い、投稿させていただきました。
確かに、言いすぎですね。 (^^)…立派とは言えません。


> 「コンピュータが操作できる人」・・・
所が、「Hello World.」を出すには、プログラミングが出来る環境構築が必要です。Windows上で、JavaやPythonの環境を作って、実行できる人って、コンピュータが操作できる(EXCELが使える)人より、少しだけランクが上な気がします。


エンジニアが職業の名称であるなら、「Hello World.」レベルでは名乗れませんが、ボールを蹴ってサッカーやってますとか、釣りやってます(漁師やってますとは言わない)レベルで、プログラミングやってますというのであれば、OKかなと感じています。

匿名

To:ちゃとらん さん
>所が、「Hello World.」を出すには、プログラミングが出来る環境構築が必要です。Windows上>で、JavaやPythonの環境を作って、実行できる人って、コンピュータが操作できる(EXCELが>使える)人より、少しだけランクが上な気がします。
そうですね、0から調べて開発環境を構築できる人は、そこそこのランクはあると思います。
が、技術書を読んで理解せず、その手順通りにやっているだけだとしたら・・・

To:エンジニアカウンセラー白栁隆司 さん
>ここの尺度は、いろいろな意見があって良いと考えています。
>白栁の尺度では、言い過ぎだとは思っていませんので、そう書きました。
>更にいうなら、明確な「ここからがITエンジニア」というライン引きは出来ないと考えています。
はい、いろいろな方のいろいろな尺度があるので、確実なことは言えませんが、当方の尺度だと、エンジニアリングを習得・理解(ここの"習得・理解"というののライン引きが難しそうですが)している人のみが「ITエンジニア」だと思っていましたので、こういう意見もあるのだと、思っていただければ。と。

おたみ

依頼に対して「できない」と断る人は ”エンジニア” ではないそうです(笑)

コメントを投稿する