Labとは、アスタミューゼのエンジニアとデザイナーのブログです。アスタミューゼの事業・サービスを支えている知識と舞台裏の今を発信しています。webアプリケーションエンジニアこんにちはnishikawaです。今年度もあと少しで終了です。花粉が辛い今日この頃ですが、巷では新年度に向けて色んな仕事が舞い込んできているのではないでしょうか。新年度といえば学生が社会人になる時期でもあります。新しい環境下で始まる社会人生活に緊張や不安を抱いている新社会人も中には居ることでしょう。採用側の企業はというと、こちらも色々と緊張していると思います。「えっ?採用側も緊張するの?」と思うかもしれないですが、『新人が会社になじむにはどうしたらいいのか』、『研修はうまく行くのか』等々、心配事は尽きません。nishikawaの上司は新しい人が入る度に最初のコミュニケーションをどうしようか凄く考えています。それは周りにいる同僚も同様で新人の方が初めて出社した日はオフィスにいつも以上の緊張感があります。そんなアスタミューゼの開発部ですが、今年はIT業界での業務経験がない方が入社されました。その方は大学も文系卒でプログラミングとは無縁の経歴だったため、新人を教育するにあたり、研修内容をどうしたらいのかというところが部の一番の悩みでした。そこで、私が提案させていただいたのがジャストシステムさんの開発の方が利用されているJava100本ノックというドキュメントです。これは、Javaを利用する上で必要となる知識や、よく利用するライブラリ、フレームワークについて学習するために作られた問題集です。https://github.com/JustSystems/java-100practicesこの問題集、GitHubに公開されており、初歩的なJavaの操作から言語仕様、コアAPI、ライブラリ、フレームワークととにかく基本を意識した問題が多いのが特徴です。この問題集を今回弊社では試用期間中に最低2巡することを目標にカリキュラムを組み現在実施中です。100本ノックの進め方を記載したいと思います。(現在実施中)とにかく問題を流しでやってみる。読んでも分からないところ、それ以外の箇所での分からないところはOJT指導者に質問する2巡目1巡目で得た知識を踏まえて問題を解くコーディング規約を意識するテストを書く1巡目1巡目はとにかく全体を俯瞰させるためにとにかく問題をやらせています。考えて何も閃かなかったらすぐに解答と解説を読むことを推奨し、その上で分からないことを些細なことでも質問させています。プログラミング経験がないということなので、ターミナルの使い方やbashの話などJavaには全く関係ないことについても質問を受け付け、それに対して実例も見せながら解説しています。1日に解説している時間は2〜3時間程度で、その時間で収まるように新人の方には質問の要点を絞らせ、まとめさせることを強く意識させています。1巡目のねらいは、Javaの全体像の把握と問題・課題の深掘りによる問題解決能力の育成があります。問題を解いてJavaを理解することは重要ですが、それよりも何が分からないのか、分からないのは何が問題になっているからなのかの把握と追求が一番重要だと考えております。2巡目1巡目を踏まえて、今度はJavaを集中して体得するのがねらいです。そのため、2巡目では問題文が求めていることを精査し、それを実現するための手法を考えることに重きを置いています。2巡目ではすべてのコードに対してテストコードを書いてもらおうかと考えています。100本ノックを新人にやらせてみて振り返ってみると色んなものが見えてきました。100本ノックの効果は教える側と教わる側がそれぞれいるときに最も享受できると思います。教える側と教わる側がそれぞれ顔を付き合わせて問題に取り組むことで両者とも知識が深められます。ポイントは問題の意図をちゃんと理解する解答・解説を理解し、コードを1行ずつしっかり追って理解するです。nishikawaも色々と教える上で分からないことに直面する機会が多かったのでとても勉強になりました。良くなかった点プログラミング初心者向けではないJavaを独学で勉強する場合には効果が薄い良くなかった点はこの問題集は初心者向けに作られていないところだと思います。問題自体はある程度Javaもしくは何かのプログラム言語を使ったことがある人を前提にして居る節があるため、本当の初心者がやるには少し辛いと思います。この問題をやる場合はJavaの入門書を事前にある程度やっていることをお勧めします。独学でやる場合理解が中途半端になる可能性があるので注意が必要だと思います。学習全般に言えると思いますが、クロスチェックはある程度必要なので、これも例外ではないと思います。結局どうだったのか?現在、1巡目を行なっていますが、結論から言うとかなりの成果が出ています。新人の方がとても優秀だと言うこともありますが、分からないところへの分析がよくできるようになってきているため質問が問題を解くごとに少なくなっています。問題を解くことに関しては、まだ知識や経験が不足しているため、自力では難しいですが、コードを読んで分からない箇所を自信で調査し独力で理解するという行動ができるようになってきています。以上を踏まえると、申し分ない成果が出ていると思います。今回新しく入った新人の方が優秀だということも多分にあるため、今後も様々な育成をやっていく中でastamuse開発部の育成方法をちゃんと確立できるように試行錯誤していきたいと思います。お久しぶりでございます。Scalaでバックエンドを開発し...2019-04-24アスタミューゼに入社して1年が経ったこんにちは、開発部のomiです。4月といえば、出会いと別れの季...2018-08-01Excelとscalaのケースクラス間で入出力ができるライブラリをgithubに公開しましたscalaでバックエンドを開発しているaxtstar(@axtstart)です。...2018-07-25Java9でDeprecatedになったfinalize()をjava.lang.ref.Clean...はじめまして、お初にお目にかかります。4月に入社したomiと申...2017-10-25技術的負債と戦う指標の取り方と改善の仕方、そして諦め方どうも、えいやです。今回は技術的負債と戦う話をしています。Labとは、アスタミューゼのエンジニアとデザイナーのブログです。アスタミューゼの事業・サービスを支えている知識と舞台裏の今をブログとTwitterで発信しています。@astamuseLabアスタミューゼで働きませんか?アスタミューゼでは現在エンジニア、デザイナーを募集中です。興味のある方はぜひご応募ください。(1)@astamuseLabさんのツイートastamuseサービスサイトastamuse世界中のinnovatorのために、創造活動を可視化し未来を創るためのプラットフォームです。活用や新規事業に役立つ様々な機能を提供します。ビッグデータ分析から情報提供し、あなたの知らない未来を発見するメディアです。reserved.スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。