window.pipedriveLeadboosterConfig={です。 ベース:'leadbooster-chat.pipedrive.com'、 companyId:11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2、 } ;(function () { var w = window もし (w.LeadBooster) {なら console.warn('LeadBooster already exists') } else { w.LeadBooster = { {. q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: 関数 (n) { { this.q.push({ t: 'o', n: n, h: h }) this.q.push({ t: 't', n: n }) }, } } })() ティーチングレール - The Codest
The Codest
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 産業
    • フィンテック&バンキング
    • E-commerce
    • アドテック
    • ヘルステック
    • 製造業
    • 物流
    • 自動車
    • アイオーティー
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
戻る矢印 戻る
2018-11-05
ソフトウェア開発

ティーチングレール

ミハエル・ベゲヨヴィッチ

まず、コースそのものについて少し。コースが始まる前に、受講生には「プレワーク」という課題が与えられた。その課題には、Linuxのインストール、ターミナルを使いこなすこと、HTML、CSS、Gitの基礎などが含まれていた。

計算

それから4ヶ月間、私たちは2週間ごとに集まり、一歩一歩Rubyの素晴らしい世界を発見していった、 ジャバスクリプト また、Devise、Pundit、Sidekiq、CarriewaveのようなRoRアプリケーション用の一般的なツールもある。

また、各生徒にはメンターがつき、生徒のやる気を引き出し、ミーティングの合間に生徒の作品をチェックする役割を担っていた。

攻撃計画

講師として、3年間のRuby on Railsの経験、10年間のプログラミング全般の経験、そしていくつかの問題や練習問題のプレゼンテーションを準備して臨んだ。

以前、Linux管理の短期コースを受講した以外は、教える経験はなかった。受講生の中には、初めてプログラミングに触れる人もいれば、受講前に独学でCやRubyを学ぼうとした人もいる。

私は2つの決意をすることにした。忍耐強くなることと、必要であればすべてを説明することだ(「すでに説明したじゃないか」はなし)。最初の決意は時の試練に耐えたが、2つ目の決意は-明らかに-そうではなかった。毎日Ruby/Railsを使って仕事をしているし、その分野のスキルにはかなり自信がある。毎日Ruby/Railsで仕事をしているし、その分野のスキルにはかなり自信がある。

ノートパソコンの前に2人

挑戦

コースが始まってすぐにはっきりしたことのひとつは、すべてを説明することはできないということだ。物事の仕組みを掘り下げて発見するのが好きな私のような人間にとっては、とても悲しい現実だが、1回のミーティングという限られた時間の中では、教えられることや生徒が覚えていることは限られている。配列がメモリ上で実際にどのように表現されるのか、Deviseがどのように機能するのかを正確に知らなくても、とてもまともなRubyプログラマーになれることがわかった。

レッスンは土曜日と日曜日の午前9時から午後5時まで行われていた。教材を説明するだけでなく、関連する(あるいはそうでない)質問に答えたり、生徒が抱えるさまざまな問題を解決したりする準備が常に必要なのだ。

コーヒーはあなたの味方だが、最も重要なのは前述の忍耐力だ。コーディングをしたことがない人にとっては、プログラマーにとっては当たり前の概念(ループや型、変数など)を学ぶ必要があり、それはすぐにできるものではない。もしあなたがXX年間プログラミングをやっていて、数学が簡単だと考えていて、夜中に既知のプログラミング・パラダイムをすべて列挙できるのであれば、等号のどちらに変数名が入るのかよくわからない人の立場に立つのは難しいかもしれない。しかし、そうすることが重要なのだ。変数、ループ、配列のような基本的な概念はとても自然なものになり、どうしてすぐに理解できない人がいるのか理解するのは難しいが、「私たちプログラマー」にとっては見かけ以上に難しいものなのだ。

さらに、特にコースの最初の方では、これらの概念をよく理解できるように説明することが大変でした。私の考えでは、Rubyを学ばずにRailsを学ぶことは不可能です。確かにRailsには独自のパターンがあり、多くのことは最初に学ぶというより、むしろ覚えてしまうことができます。しかし、良心的なRoR開発者になるためには、RubyやOOP、SQLの適度な理解は必須だと思います。プログラミングを教えることと、Railsを教えることはまったく違います。Railsの場合は、ただ受け入れられたり信じられたりすることを期待できることが多いのですが(コールバックがどのように機能するのか、最初のうちは誰も知る必要はありません - 何ができるのかだけです)、プログラミングの概念はもっと詳しく説明されるべきです。

フォースとの交戦

では、どうすればいいのか?

辛抱強く。

いつも同じことを繰り返しているように思われるかもしれないが、忍耐がいかに大切かはいくら強調してもしきれない。私の最も意欲的な生徒でさえ、あちこちで構文エラーをすることは知られている。それは通常の学習プロセスの一部であり、エラーが何であり、どう修正するかを示す以外に、教師がすべきことはない。やがて、彼らは自分で直すことを学ぶだろうが、それには1つや2つのエラーでは済まないだろう。

もうひとつ注意しなければならないのは、Rubyは見かけほど簡単ではないということだ。もしあなたがC/Java/Pythonの知識を持ってRubyを学び始めたとしたら、おそらくすべてがとてもきれいで素敵でシンプルに見えるでしょう。しかし、よく考えてみてください:

  1. 括弧は何ですか?使うべきか?使ってはいけないのか?
  2. それは何だ? 自己 のこと?時々使わなければならないことがあるんだ(例えば。 attr_writer – self.variable = ...)、しないこともある(attr_reader – 変数)、時にはできないこともある!(private def some_method – self.some_method はエラーを投げる)
  3. ブロック。異なる言語の)経験豊富なプログラマーでさえ、理解するのに予想以上に時間がかかるに違いない。 1TP63注射

単純にエラーを修正するだけでなく、自分の理解を実際に生徒に伝えるという問題がある。そのためには、多くの柔軟性が必要になる。アレイが単に要素の並べ替えられたリストであることに満足する生徒もいた。もっと視覚的なアナロジーを必要とする生徒もいた。例えば、物を置く場所に番号が振られた棚のようなものだ。私は、同じことを異なる方法で何度も説明していることに気づいた!

でも、前にも言ったように、すべてを説明することはできません。私がRailsのリレーションについて説明していたときは、どちらかというと「こうすると、あれもできる、これもできる。そうしたいんだね、すごいね」という感じでした。幸いなことに、誰もこれがどう機能するのか聞いてきませんでした。ジュニア開発者がリフレクションについて知る必要はないと思います。

状況に応じたポジショニング

私たちのコースの形式(隔週末にミーティングがあり、長期休暇がある)のため、週末と週末の間の期間を生徒にとって生産的なものにしなければならなかった。

同僚の何人かは、このコースの学生のメンターになってくれた。メンターの仕事は、週末のミーティングで課された練習問題を確認し、それをこなしながら発生する問題を手助けすることだった。学生たちはSlackを使ってメンターとコミュニケーションをとっていた。

私は2人の教え子の指導者だった。これは今までとはかなり違った教え方であり、落とし穴もたくさんあった。私が少し遅すぎたと気づいたことのひとつは、優秀なプログラマーは自立していなければならないということだ。Slackで常に利用可能であることは、私の時間を奪うだけでなく、そのような自立心を刺激するものでもなかった。

誤解しないでほしい--私が指導者として受けた質問の多くは妥当なものだったし、それに答えることは生徒の知識を広げることだった。しかし、"先生モード "になるのはとても簡単だ。今日の観点からすると、メンターの役割は、概要を説明し、有用なリンクを提供し、解決策を見つけるのに役立つような質問をすることだと思う。時折、説明することもあるかもしれないが、それが大半を占めることはないはずだ。

インテリジェンスの活用

生徒はみな違う。大きな困難のひとつは、コースのペースを生徒全員に最も合うように調整することだった。生徒のバックグラウンドや、新しいアイデアを受け入れやすいかどうかの一般的なレベルが異なるため、ほとんど不可能な作業だった。

私たちの時間枠は9回のミーティング、2日×8時間で0からルビー・ヒーローになるまで144時間だった。この時間内にシラバス全体をこなすことが最重要で、それだけでもかなり速いペースを強いられました。最初の3つのミーティングはすべてRubyについてで、SQLのミーティングが1つ、RoRのミーティングが1つ、その間にJSのミーティングが1つありました。

教師として、私はいつも、自分が紹介する教材の一部を、誰が多かれ少なかれ理解しているかを知る必要があった。理解しているかどうかを尋ねるだけで十分なこともあれば、ちょっとしたテストをすることもあった。例えば、私は生徒全員にルビーの概念について自分なりの定義を送ってくれるように頼んだ。 クラス, 自己, 方法, 変数 などをSlackに書き込む。特に不明な点があれば、もう一度戻って説明するようにしている。

幻想と現実

結論から言うと、教えるということは思っていた以上に難しいことだった。とてもやりがいのある仕事でもある。それにもかかわらず、教えることは大変な仕事であり、その効果は教師だけに依存するものではなく、生徒自身の努力が学習においてより重要なのだ。このため、教えることは、成功も失敗もすべて自分のものにできるプログラミングとは大きく異なる。この違いを忘れてはならない。

物事を説明することで、その物事に対する理解も深まります。このように、教えることはあなたをより良いプログラマーにすることもできるのです。

関連記事

ソフトウェア開発

将来を見据えたウェブ・アプリケーションの構築:The Codestのエキスパート・チームによる洞察

The Codestが、最先端技術を駆使してスケーラブルでインタラクティブなウェブアプリケーションを作成し、あらゆるプラットフォームでシームレスなユーザー体験を提供することにどのように秀でているかをご覧ください。The Codestの専門知識がどのようにデジタルトランスフォーメーションとビジネス...

ザ・コデスト
ソフトウェア開発

ラトビアを拠点とするソフトウェア開発企業トップ10社

ラトビアのトップソフトウェア開発企業とその革新的なソリューションについて、最新記事でご紹介します。ラトビアの技術リーダーたちがあなたのビジネスをどのように向上させるかをご覧ください。

thecodest
エンタープライズ&スケールアップ・ソリューション

Javaソフトウェア開発の要点:アウトソーシングを成功させるためのガイド

outsourcingのJavaソフトウェア開発を成功させるために不可欠なこのガイドを読んで、The Codestで効率性を高め、専門知識にアクセスし、プロジェクトを成功に導きましょう。

thecodest
ソフトウェア開発

ポーランドにおけるアウトソーシングの究極ガイド

ポーランドのoutsourcingの急増は、経済、教育、技術の進歩がITの成長とビジネス・フレンドリーな環境を促進していることによる。

ザ・コデスト
エンタープライズ&スケールアップ・ソリューション

IT監査ツール&テクニック完全ガイド

IT監査は、安全かつ効率的で、コンプライアンスに準拠したシステムを保証します。その重要性については、記事全文をお読みください。

The Codest
ヤクブ・ヤクボヴィッチ CTO & 共同創設者

ナレッジベースを購読して、IT部門の専門知識を常に最新の状態に保ちましょう。

    会社概要

    The Codest - ポーランドに技術拠点を持つ国際的なソフトウェア開発会社。

    イギリス - 本社

    • オフィス 303B, 182-184 High Street North E6 2JA
      イギリス、ロンドン

    ポーランド - ローカル・テック・ハブ

    • ファブリチュナ・オフィスパーク、アレハ
      ポコジュ18、31-564クラクフ
    • ブレイン・エンバシー, コンストルクトースカ
      11, 02-673 Warsaw, Poland

      The Codest

    • ホーム
    • 会社概要
    • サービス
    • Case Studies
    • ノウハウ
    • 採用情報
    • 辞書

      サービス

    • アドバイザリー
    • ソフトウェア開発
    • バックエンド開発
    • フロントエンド開発
    • Staff Augmentation
    • バックエンド開発者
    • クラウドエンジニア
    • データエンジニア
    • その他
    • QAエンジニア

      リソース

    • 外部ソフトウェア開発パートナーとの協力に関する事実と神話
    • 米国から欧州へ:アメリカの新興企業がヨーロッパへの移転を決断する理由
    • テックオフショア開発ハブの比較:テックオフショア ヨーロッパ(ポーランド)、ASEAN(フィリピン)、ユーラシア(トルコ)
    • CTOとCIOの課題は?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • ウェブサイト利用規約

    著作権 © 2025 by The Codest。無断複写・転載を禁じます。

    jaJapanese
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek jaJapanese