はてなサマーインターンは、Webエンジニアとして働くことに興味を持っている学生のためのインターンシップです。2008年から毎年夏に開催されています。Webエンジニアとして必要な技術を身につけるだけにとどまらず、実際にはてなのサービス上で動くコードを書いて機能をリリースする、サービスの改善につながるような基礎技術の研究開発をすることを通じて、はてなの技術や働き方を学べます。
実際のサービスにコミットしてもらうには、社員エンジニアと同等の品質のコードが求められます。このため、カリキュラムの前半で、はてなのWebサービスを開発するために必要な技術を習得するトレーニングを行います。トレーニングは、社員エンジニアがメンターとなり、講義、課題、GitHub Enterpriseを用いたコードレビューを毎日行うなど、密度の濃いプログラムとなっています。
トレーニングが終わると各コースに分かれたカリキュラムを実施します。コースごとのカリキュラムの内容は下記のようになっています。いずれかのコースを選択してお申し込みください。
インターン後半の各コースでの開発に必要な、Webアプリケーション開発の基礎を学びます。
Perl/Scalaの言語仕様やデータベース操作、Webアプリケーションフレームワークの扱い方などについて、講義と課題を組み合わせて学んでいきます。はてなの大規模サービスを支えるインフラに関する講義もあります。
実施期間(5.5日間) | 講義内容 |
---|---|
1日目 | Perl基礎機械学習・自然言語処理・アドテクノロジーコース、iOSアプリ開発実践コース、はてなブログコース Scala基礎クラウドサーバ管理システムコース(Mackerel) |
2日目 | SQL、データベース |
3日目 | HTTP、Webアプリケーションフレームワーク |
4日目 | JavaScript機械学習・自然言語処理・アドテクノロジーコース、はてなブログコース、クラウドサーバ管理システムコース(Mackerel) iOSアプリ開発iOSアプリ開発実践コース |
5日目 | 自由課題 |
6日目(半日) | インフラ講義 |
機械学習について学びます。
はてなで機械学習を実際の機能開発に応用しているエキスパートによる講義に加え、大規模データを用いた実践課題を通して、機械学習の勘所と実データに対する応用の方法を見ていきます。
まずは簡単な二値分類器などを一から実装して、ロジスティック回帰、ニューラルネットワークなどの学習方法の中から最適なものを見つけ、評価関数や特徴のとり方を工夫し、最後には機械学習を用いて大規模データから面白い結果が得られるようなアルゴリズムを仕上げるのが目標です。
実施期間(2.5日間) | 講義内容 |
---|---|
1日目午前 | 座学(機械学習分野の俯瞰、分類問題) |
1日目午後 | 実習(簡単な二値分類器をつくる) |
2日目午前 | 座学(1日目の解説と2日目の実習課題の説明) |
2日目午後 | 実習(より実践的なデータセットを使う) |
3日目午前 | 発表と講評 |
アマゾン ウェブ サービス ジャパン株式会社様より講師を招いてのハンズオンです。
AWSの基本的なサービス、Lambdaなどのmanaged serviceについて概要説明とハンズオンを行い、モバイル系のサービスのデモを実施します。APIGW+Lambda+Cognito+DynamoDBでサーバレスアプリを構築する手順を、実際に手を動かしながら学びます。
実施期間(1日間) | 講義内容 |
---|---|
前半 | サービス紹介(EC2、RDS、ELB、VPC、R53、S3)とハンズオン |
後半 | サービス紹介(APIGW、Lambda、Cognito、DynamoDB)とハンズオン |
自然言語処理や機械学習を用いて記事をまとめる「トピック機能」など、はてなサービスにおいてアルゴリズム技術を活かした機能開発、また企業ブランドを毀損するサイトへの広告掲載を阻止する、アドベリフィケーションサービス「BrandSafe はてな」をはじめとした、はてなのアドテクノロジー関連事業の開発に取り組むコースです。
アプリチームに参加し、iOSアプリ「はてなブログ」の開発に取り組むコースです。このコースでは実際にユーザーが利用する本番環境の開発に加わってもらい、企画からリリースまで一連のフローを体験してもらいます。
「はてなブログ」のiOSアプリはその全てがSwiftによって開発されており、現場レベルでの実践的なSwiftを学習できます。またスクラムを取り入れたチーム開発と、CIサーバを活用して自動化された開発環境下で、最新のスマートフォンアプリ開発を経験できます。
クラウドサーバ管理システムである「Mackerel」の開発に取り組むコースです。システムを構成するサーバの管理や状況の可視化、監視、あるいは、アプリケーションのデプロイなどの、いわゆるDevOpsを支援する新しい機能を考え、Mackerelへの実装に挑戦します。このコースではScalaやGoを用いて開発します。スクラム形式の開発フローも体験できます。また、90週以上連続の毎週リリースを継続しており、インターン生のリリースチャンスも数回あります。
「はてなブログ」の機能開発を通じて、ユーザー向けWebサービスの企画・開発に取り組むコースです。はてなブログ開発チームに参加し、実際と同様の開発フローに基づいて、ユーザーに提供される機能を開発、リリースするまでを体験してもらいます。多くのユーザーを抱えるWebサービスならではの開発に挑戦していただきます。PerlやJavaScriptを用いて開発に取り組みます。
トレーニング課程では、講義と課題を通してWebエンジニアとしての基礎を身につけます。サービス開発課程ではそれらの技術を用いて、はてなブログやMackerelなど、はてなが実際に運用しているサービスの開発に携わってもらいます。詳細については過去のインターンレポートもご覧ください。
※学業などの都合で、事前課題への取り組みが難しかったり、期間の一部に参加できなかったりする場合は相談に応じます。 応募フォームの自由記述欄からお知らせください。事前課題は2,3日程度とりくめば解ける分量です。
株式会社はてな 京都本社(京都市中京区)
※インターンシップの単位認定をサポートいたします。各高専・大学・大学院の教務課に申請書類を確認の上、ご持参下さい
※はてなサマーインターン参加者が株式会社はてなの新卒エンジニア職採用にご応募いただいた際は、1次審査をパスする権利を授与します
最大8名
2016年7月4日(月)正午(日本標準時)
2016年7月4日(月)正午(日本標準時)をもって応募を締め切りました。
多数のご応募ありがとうございます