CodeGym /Java Blog /ランダム /最も難しいのは言語を学ぶことではなく、問題解決に脳を配線することです - CodeGym University の...
John Squirrels
レベル 41
San Francisco

最も難しいのは言語を学ぶことではなく、問題解決に脳を配線することです - CodeGym University のメンターである Edward Izraitel へのインタビュー

ランダム グループに公開済み
CodeGym University の「Java Fundamentals 」コースのメンターである Edward Izraitel を紹介します。彼はカナダ出身の開発者で、自分の仕事に熱心に取り組んでいます。CodeGym に入社する前、彼はプログラミングのメンターになるという考えを長い間抱いていました。このテキストでは、彼は彼の職業的背景と指導、言語を学ぶのに必要な時間、そして勉強の初めに重点を置く必要がある側面について語ります。 最も難しいのは言語を学ぶことではなく、問題解決に向けて脳を配線することです – CodeGym University のメンターである Edward Izraitel へのインタビュー - 1

なぜ開発者になることを選んだのですか?

私はカナダに住んでいますが、イスラエルで生まれ、イスラエルに12年間住んでいます。ほとんどの時間は外でサッカーをしたり、友達と遊んだりして過ごしました。カナダに引っ越したとき、私もビデオゲームが好きになり、カウンターストライクなどのビデオゲームをプレイして育ちました。最終的に、私の好奇心が勝り、これらのゲームの 1 つを作成するのは素晴らしいだろうと思いました。私は高校でコーディングに入門しましたが、この授業は本当に楽しかったです。問題を別の方法で解決することに目が開かれました。それとは別に、兄も私にプログラミングに注意を払うように勧めました。その後、ビデオゲーム制作のコースに登録しました。そこで、学部を決める際に化学工学か開発の二択でしたが、最終的には後者を選びました。最初の2年はとても楽で、3年目で就職を決めました。そのため、より真剣に勉強するようになり、問題へのさまざまなアプローチ方法や使用できるテクノロジーを見つけなければならなかったので、とても楽しいと感じました。開発は日々新しい技術が登場する業界なので、学び方や楽しみ方を知っておくと良いでしょう。

どのような会社で働き、どのプロジェクトに参加しましたか?

大学在学中、オンタリオ州に電力を供給するハイドロ・ワンという会社でインターンシップをする機会を得ました。基本的に私の仕事は、すべてのデバイスに関するすべての情報を保存する必要がある Web サイトを保守することでした。私は他の従業員を支援し、いくつかのスクリプトを開発しました。16 か月のインターンシップ中に、チームで働く方法や、プログラミングの知識を大学のプロジェクトやサイドプロジェクトに応用する方法を学びました。インターンシップを終えて大学を卒業すると、モルガン・スタンレーにScala開発者として就職し、そこで6か月間滞在しました。私たちは Java を使って作業し、より良いコードを書く方法について多くのことを学びました。20 ~ 30 年間コーディングをしている人もいますが、彼らがどのように考えて問題にアプローチしているかを把握し、コードに対するフィードバックを聞くことができて非常に役立ちました。現在、私は Champions Oncology という会社で開発者として働いています。この会社は、アメリカの大手製薬会社のためにがんの研究を行っている会社です。開発者は、会社の Web サイトの保守、新機能の追加などを行っています。現在、JavaScript、Python、PHP、および通常の Web 開発のすべてを使用して作業しています。私にとって、それは楽しいです。仕事はたくさんあり、学習プロセスは進行中です。現在のところ、私は 5 つのプログラミング言語をよく知っています: Python、JavaScript、PHP、Java、C#。私は現在の仕事で最初の 3 つを使用しています。Java 開発はモルガン・スタンレーでのインターンシップの一部であり、学校でプロジェクトに取り組みながら C# に慣れました。私は C と C++ については少し知っていますが、他の人ほどではありません。

新しいプログラミング言語を学ぶにはどのくらい時間がかかりますか?

プログラミングの基礎と特定のプログラミング言語を理解していれば、別のプログラミング言語を学習するのにそれほど時間はかかりません。プログラミング言語の学習で最も難しいのは、構文、使用するクラス、ライブラリです。しかし、真剣に取り組めば、それほど時間はかかりません。すべての言語を習得するには 2 ~ 3 週間かかります。最初の言語を学ぶという点では、個人的には Python をお勧めします。学ぶのがずっと簡単で、自分で何かをより早くできるようになると思います。もちろん、オブジェクト指向プログラミングを理解することも重要です。なぜなら、オブジェクト指向プログラミングを理解すると、コードのセットアップ方法、コードの書き方、さまざまなクラスの接続方法がわかる別の世界に導かれるからです。また、さまざまなアプローチを接続し、基礎レベルから構築する方法も学ぶため、これは非常に重要です。私は主に JavaScript と Python で開発しています – これらはオブジェクト指向プログラミング言語ではありません – ですが、その種類のプログラミングに触れるには、その種類 (Java など) を学習することをお勧めします。

コンピューター サイエンスの学位を取得するのに 4 ~ 5 年を費やす代わりに、オンラインで学習して開発者になれるでしょうか?

確かにそう思いました。もしもう一度同じことをするとしたら、私はおそらく大学で学位を取得せず、代わりに独学で学ぶでしょう。学位は確かに「扉に足を踏み入れる」のに役立ちます。しかし、業界は成長しており、CSの学位を持たない人を受け入れる企業も多くあります。仕事のやり方を知っていれば、学位を持っているかどうかはあまり関係ありません。それが多くの企業が信じていることです。問題の解決方法を知っている限り、違いはありません。学位を取得せずに独学で学ぶことのより難しい点は、従うべき構造が実際にないことです。プログラミングに関する情報はたくさんあり、適切なコンテンツを選択するのは困難です。この場合、オンライン コースに登録すると、通常、これから学習する内容を学習するために必要な構成と手順がオンライン コースで提供されるため、間違いなく役立ちます。特定の言語でコードを記述する方法を理解するのに間違いなく役立ちます。しかし、最も難しいのは言語を学ぶことではなく、問題解決に向けて脳を配線することです。一歩ずつ進んで、何がうまくいっていて何がうまくいっていないのかを理解する必要があります。私の意見では、これが最も時間がかかります。

どの時点でメンターになろうと決めましたか?

私は常に人々を教育し、問題を解決するための特定の方法を教えることが好きでした。私は学生時代に数学、物理学、化学の個別指導をしていましたが、昨年、CodeGym University で指導者としてのオファーを受けました。私はプログラミングがとても好きで、私の視点からプログラミングの方法を人々に教えることができるので、このアイデアはとても楽しかったです。実は私も高校、大学の頃から教育者になろうと考えていたので、その思いはずっと頭の中にありました。私は、新しい概念やアイデアを生徒たちに説明しながら、実世界の例を用いて、自分の教え方を共感できるものだと表現します。私は教え始めてそれほど長くはありませんが、教えている相手とつながりを持ち、特定の問題の実例を見せることは間違いなく役に立つと思います。これは私が教えるときにいつもやっている事です。

コードジム大学では何をするのですか?

ここ CodeGym University で、私は「 Java Fundamentals 」コースのグループを指導しています。私たちは週に 2 回オンライン授業を行っていますが、授業中に生徒が授業以外で質問をすれば、私が答えます。また、追加のサポートを求めるさまざまな生徒との電話にも飛び入り参加しました。時々、カリキュラムから少し離れて、プログラムとは別に知っておくべきことを生徒たちに教えることがあります。私の主な焦点は生徒たちであり、生徒たちが新しいトピックを理解していることを確認し、クラス外での質問にすべて答えられるようにすることです。「Java Fundamentals」コースは、初心者と、Java を学習しようとしているプログラミングの経験を持つ人の両方に適しています。ただし、初心者の場合は、問題解決の考え方を改善することにもっと注意を払う必要があります。一部の人にとって、問題を取り上げてそれを小さな部分に分解するのは最初は難しいことですが、それがプログラミングの考え方です。したがって、Java 言語とは別に、問題解決と批判的思考に移行する必要があります。このコースは、Java プログラミングをより良く理解するのに役立ちます。

学生がプログラミングを学習する際によくある間違いは何ですか?

始めたばかりのとき、コードの書き方がよくわからない人もいます。彼らはこの関数を実行する方法、つまりこのループを作成する方法を知っており、それを実行することができますが、可能な限り最もクリーンな方法でそれを記述する方法を実際には知りません。時間の複雑さは、学習を進める際に学生が注意を払うべきもう 1 つの点です。これにより、コードをより高速かつクリーンに実行できるようになり、作成するコードが少ないほどパフォーマンスが向上するため、余分なコードが必要なくなります。

CodeGym ユーザーにトレーニング目標を達成して開発者になる方法についてアドバイスしていただけますか?

  1. 練習、練習、そして練習。
    そうすることでコーディングと言語を理解できるようになります。練習するとは、コースのタスクを解決し、実際のプロジェクトを作成することを意味します。これにより、創造力と問題解決力が養われます。
  2. ただ好奇心を持ってください。
    自分の人生や他の人の問題について、プログラミングで解決できるものについて考えてみると、より多くのことを学ぶことができます。私が人々に持ってほしいのは主に好奇心です。何かに興味があるなら、行ってそれを理解するか、行ってそれについて話す人を見つけてください。
  3. 仕事における問題解決の準備をします。
    先週、私は 1 つの問題に取り組んでいましたが、今週は実際に機能を追加するのではなく、インフラストラクチャに関するまったく別の問題に取り組んでいます。したがって、あなたが行うことは常に異なります。プログラミングでは、たくさんの問題を解決する必要があります。それが、私がプログラミングを続けて楽しんでいる主な理由です。
最も難しいのは言語を学ぶことではなく、問題解決に向けて脳を配線することです – CodeGym University のメンターである Edward Izraitel へのインタビュー - 2
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION