CodeGym /Java Blog /ランダム /私は生徒たちに多くの扉を開くようなことを教えています。CodeGym University のメンター、Milan...
John Squirrels
レベル 41
San Francisco

私は生徒たちに多くの扉を開くようなことを教えています。CodeGym University のメンター、Milan Vucic 氏へのインタビュー

ランダム グループに公開済み
CodeGym University の「Java Fundamentals」 コースのメンターの 1 人であり、 「初心者のための Android アプリ開発」 コースの著者および講師であるMilan Vucic を紹介します。彼は Android 開発者として 8 年間働いた経験があり、Java と Android の指導に数年間携わってきました。このテキストでは、彼は自身の職業的背景と指導について語り、初心者が犯し得る最大の間違いを明らかにし、開発者になる際の CodeGym ユーザーへのアドバイスを行っています。

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

私はセルビア出身です。子供のころ引っ越しが多かったので、8年間で小学校を5つ転校しました。そのため、私は率直に物を言うことができ、新しい教授に対しても非常に受け入れやすくなりました。かつて素晴らしい数学の教授がいたので、数学の競技を始め、セルビアの全国大会で3位を獲得しました。その後、私は数学文法学校に通いました。そこでは、数学、物理学、プログラミングに関する世界的なコンテストに参加できる優秀な生徒を訓練していました。私はそれらの学問がとても好きでした。そのため、高校時代に、Pascal、C、C# などの多くの言語と、データベース用の SQL を少し学びました。また、私は生涯ゲーマーであり、ゲーム作成に大きな可能性を感じていました。

開発者になるまでの学習過程はどのようなものでしたか?

私が本格的にプログラミングを始めたのは大学時代でした。私はベオグラードで最高の工学系大学の一つに入学し、そこで 2 年間勉強しています。当時の私は、研修プログラムの各科目で比較的高い成績を収めていました。そして、私と友人はアプリを作成してインターンシップに応募することにしました(2015年のことです)。幸いなことに、私たちの「ホームプロジェクト」のおかげで研修生のポジションを獲得することができ、私たちは企業で働き始めました。そこでのプロジェクトの主な言語は PHP でしたが、これまで試したことはありませんでした。しかし、経営陣は私たちに PHP フレームワークを学ぶために 2 週間の時間を与えてくれたので、私は YouTube チュートリアルを見たり、グーグルで調べたりして学習しました。私も PHP 言語に慣れるために、PHP でコードを書いていました。最終的に、私たちはチームに加わり、その会社に 1 年間在籍しました。その後、別の仕事に就き、そこで Python プログラミングを行い、その後 Android に切り替えました。最初の数年間は圧倒的で挑戦的で、仕事と新しい知識でいっぱいでした。しかし、徐々に自信がついてきました。ある時点で、ついに本物のプログラマーになれたと思いました。

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

最初の会社は素晴らしかったです。私はそこの文化が大好きでした。私は彼らの研究開発チームのメンバーです。私たちは、学生が大学での勉強を整理するのに役立つアプリの開発に取り組んでいました。このアプリでは、どの部屋が空いているか、どの部屋が埋まっているか、そして講義のスケジュールを確認できるフレンドリーな UI が備わっています。私が働いた 2 番目の会社は、プログラミングに関しては地域で最高の会社でした。そこではとても楽しかったです。さまざまな種類のアプリを作成していました。私の場合、ほとんどの時間は医療アプリに取り組んでいました。そして過去 3 年半、私はユーザーにポーカー プレイ アプリを提供する会社で働いてきました。そこで、さらにたくさんの Android のことを学びました。

あなたの観点から見て、Android 開発 (および一般) における Java の将来はどうなるのでしょうか?

私は主に Java でコードを書いてきました。Java は私のお気に入りの言語です。私が使用したすべての言語の中で、Java は最も美しく、とてもフレンドリーなので学ぶのが簡単です。Java はすでに多くのプロジェクトで使用されています。もちろん、それには未来があります。Android から Web アプリ、バックエンドからフロントエンド、デスクトップに至るまで、Java ではほぼすべてのものを作成できます。しかし、たとえ Java に未来がなく、Java で書かれたすべてのプロジェクトが停止したと想像したとしても (そんなことはあり得ません)、Java はプログラミングに慣れるのに優れた言語であることに変わりはありません。Java を知っていれば、Python や C# を比較的早く学ぶことができます。最初に複雑な (または醜い) 言語を学習する場合、プログラミングは好きになれません。もし最初から PHP や C++ を学んでいたら、プログラミングはまったく好きにならなかったかもしれません。それらは習得するのが簡単ではありません。

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

先ほども述べたように、私の教授の多くは素晴らしい仕事をしていました。私は彼らの刺激的な指導のおかげで、私が彼らの専門分野に習熟し、さらに知識を深めようという意欲を高めることができました。したがって、当然のことながら、私がかなりの経験を積んだ開発者になったとき、正しいやり方を知っているので、その知識を誰かに伝える必要があると感じました。これが私がCodementorで働き始めた理由です。私は少なくとも 10 人の定期的な生徒と、多数の 1 回限り (またはそれ程度) のセッションを受講し、コンピューターの電源の入れ方を知らない生徒を、簡単な Java または Android アプリのコーディング方法を理解するまで指導しました。ライブ デバッグ セッションも行ったことがあります。Codementor ユーザーには、メンターとの約束を予約してデバッグのサポートを受けるオプションがあります。これらのセッション中に、私はバグを修正し、特定の時点で正確に何を(そしてどの目的で)行っていたのかを説明しました。この経験は私の指導スタイルに大きな影響を与えました。Android コース の生徒には、どんなトピックでも説明に積極的に関わってもらいたいと思っています。彼らがコードを書いて解決策に取り組んでいる間、私は彼らに思考プロセス全体をガイドします。それが何かを適切に習得する唯一の方法であるため、有意義な学習アプローチを採用する必要があります。

独自の Android コースを立ち上げるというアイデアはどのようにして思いついたのですか?

ただただ衝撃を受けました。CodeGym には Android コースがないことは知っていたので、それを作ってもらえると提案したところ、快諾していただきました。私は資料の準備を始めましたが、私の頭は常に別の次元で働いていました。時々、道を歩きながら携帯電話を手に取り、コースのために何か書き留めることもありました。当時は、このアプリとこのアプリを作成して、この知識分野や Android の概念をカバーしたらどうなるだろうか?など、たくさんのアイデアがありました。コースのコンテンツを作成したり、アプリをコーディングしたりするのは楽しかったです。Android コースの作成は私にとって素晴らしい経験であり、さらに改善したいと考えています。ライブセッションでは、特に働き始めてからの最初の3~4年間の職業上の経験について多くのことを話します。それは彼らにとって多くの扉を開くことになると思います。私は彼らに Java や Android を教えるだけでなく、企業内での物事の仕組みや実際のプログラムの設計方法についても教えています。

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

最大の間違いは、学ぶことをやめて、プログラミングは頭の外にあると考えることです。7 年間の実務経験を経た今でもバグを作成しています。それらの一部は、学生にデバッグ方法を教えるために意図的に行われています。バグの中にはライブコーディング中に発生するものもありますが、学生たちは私が初めてそれらを修正する方法を見ることができます。学習者と比べて私が唯一違うのは、バグをより早く見つけて修正できる可能性が高いということです。

プログラミングの知識や経験がある学生とコーディングの初心者の主な違いは何ですか?

あなたが水泳をしていて、あまり身体活動をしていない人を知っている場合、どのような身体競技でも誰がより優れた成績を収める可能性が高いでしょうか? あなたは答えを知っています。プログラミングについても同様です。コンピューターやテクノロジーに関するこれまでの経験が役に立ちます。あなたがコンピューターゲーマーであれば、コンピューターをまったく使用したことがない人よりもプログラミングを学ぶのは簡単です。技術系の新人は、最も重要な道を歩むことになるだろう。あなたは英語をよく知っていますか?Instant Plus では、多くの素材を利用できますが、そのほとんどは無料です (Youtube、StackOverflow など)。誰がより早く学ぶでしょうか? もちろん、すでにコンピューターで何千時間も費やしており、テクノロジーが一般的にどのように機能するかを知っている人です。ただし、テクノロジーに関する十分な経験がないからといって落胆する必要はありません。開発者になることもできます。もっと時間が必要なだけです。

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

テクノロジーを探索する

テクノロジーは私たちの生活を楽にしてくれます。ランダムにボタンをクリックしたり、作業環境を探索したりすることで、非常に多くのことを学びました。何かを見たら、それがどのように機能するのか知りたいと思いませんか? それをクリックしてください!

恐怖を忘れてください

皆さんへの私の最大のアドバイスは、怖がらないことです。誰もがバグや間違いを犯します。グーグルで検索してたくさん調べれば、最終的には解決策が見つかります。

学習に時間を投資する

私たちが授業でやっていることが戦いの半分です。個別にもっと時間を投資する必要があります。授業の合間にやればやるほど、より多くのことを学ぶことができますよね? 授業の間に何もしなければ、(私の講義を見て)ある程度の知識はあるでしょうが、自主的に何かを作ることはできません。Java Fundamentals コースまたは Android コースでトレーニングしている場合は、少なくとも私たちが協力して取り組んでいるのと同じくらいの時間を自分自身で取り組むことに投資してください。私と一緒に過ごす時間が週に 3 時間半だとしましょう。それなら、週に少なくとも 3 ~ 4 時間は自分でやるべきです。自分でコードを書いて知識を定着させ、将来の議論のために潜在的な質問を考え出すことが重要です。授業でも Slack チャットでも、遠慮せずに質問してください。永続的なバグの場合は、前のグループで行ったように、ライブ デバッグ セッションを実行することもできます。学習は双方向であり、このコースを楽しく実りある経験にするかどうかは私たち全員にかかっています。 「私は生徒たちに多くの扉を開くようなことを教えています。」 CodeGym University のメンター、Milan Vucic へのインタビュー - 1
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION