はてなリモートインターンシップ2021のカリキュラムを発表します!

はてなリモートインターンシップ2021では、全3週間のうち前半1週間を講義フェーズとして全員が9科目を受講。後半2週間は開発フェーズとして、実際の部署に配属され4コースで実施します。学生の皆さんのご応募をお待ちしています。

一緒に働く人に「次も呼んでもらえる」ような振る舞いを大切に | はてなで働く yigarashi にアンケート [#16]

はてなで働くエンジニアにアンケートシリーズ第16回は、はてなブックマークチームのWebアプリケーションエンジニア、id:yigarashiです。スクラム運営の自律分散化、Embulkを用いたデータ転送の整備などについて話を聞きました。

GraphQL IDE の “GraphiQL” をカスタマイズして、開発ツールとして活用する

GraphiQLは、GraphQL APIの使いやすいGUIクライアントです。Reactで自作コンポーネントを柔軟に追加でき、状態を管理することなく拡張できて便利です。カスタマイズの方法と業務での実例を紹介します。

GitHub ActionsでGoのソースコードをクロスコンパイルするときに、ビルドが失敗する理由とその対策

Mackerelで公開しているGoのプログラムで、CIをGitHub Actionsへ移行した際に32bitバイナリの生成について調べたことを共有します。ビルド制約、システムコール、cgoをそれぞれ使う場合、どのようにワークフローを書けばビルドが通るでしょうか。

新しい技術を追いかけるのが好き | はてなで働く nabe1216 にアンケート [#15]

はてなで働くエンジニアにアンケートシリーズ第12回は、マンガサービスのiOS/Androidアプリエンジニア、id:nabe1216です。イベントではてなに関する話を聞いて入社のきっかけとなったこと、iOS/Androidアプリエンジニアの業務内容などについて話を聞きました…

4月27日(火)に Hatena Engineer Seminar #16 Mackerel チームの技術と働き方編 をオンラインで開催します

4月27日(火)に Hatena Engineer Seminar #16 をオンラインで開催します!Mackerelの仕組みや開発の裏側から、ユーザーを支えるMackerelならではCREの取り組みなど、はてなのエンジニアの業務内容について幅広く知っていただける内容となっています。

はてなリモートインターンシップ2021募集開始!今年はリモートでプロダクト開発も!

「はてなリモートインターンシップ2021」の募集を開始しました。3週間(15日)の全日程をオンラインで開催し、前半でWebサービス開発の技術を学び、後半は開発チームに配属されてサービス開発を実践します。はてなのサービスに興味があり、Webエンジニアとし…

「データドリブンな意思決定」が浸透しつつある | はてなで働く polamjag にアンケート [#14]

はてなで働くエンジニアにアンケートシリーズ第14回は、はてなブログのWebアプリケーションエンジニア、id:polamjagです。「意思決定をデータドリブンにしていきたい」という話などについて聞きました。

エンジニア新人研修の一環で株式会社はてな 社内 ISUCON を開催しました

パフォーマンス問題に対する調査・解決アプローチを学ぶためのエンジニア新人研修プログラムとして、 ISUCON のやり方を採用した社内研修「株式会社はてな 社内 ISUCON 」を開催しました。この内容について紹介します。

はてなリモートインターンシップ2021を開催します!

追記:募集開始しました 「はてなリモートインターンシップ2021申し込み」はこちら 追記ここまで こんにちは、CTO の id:motemen です。はてなは今年も、学生を対象としたエンジニア向けの夏のインターンシップ、「はてなリモートインターンシップ2021」を開…

Pull Requestから社内全チームの開発パフォーマンス指標を可視化し、開発チーム改善に活かそう

開発チームの改善を定量的な指標に基づいて進めるため、GitHubのPull Requestから社内全チームの開発パフォーマンスを表す指標を可視化しました。チーム単位で課題を分析したり、改善できているチームからヒアリングしたりといったことが、これによって可能…

OSSへの貢献をさらに良い形にしたい | はてなで働く itchyny にアンケート [#13]

はてなで働くエンジニアにアンケートシリーズ第13回は、ブックマークチームのWebアプリケーションエンジニア、id:itchynyです。現在の業務内容やテックリードの役割などについて話を聞きました。

Google Cloud の IAM で、開発体制や組織の文化に合わせて検討したこと

はてなでも、サービスごとに技術選択の多様化が進み「Google Cloud 上でサービスを構築する」という選択肢も十分ありえる状態になってきました。性質の異なる複数のサービスを複数の開発チームが展開する際に、開発速度を落とさず安心して Google Cloud を利…

開発合宿でのレコメンドシステム開発をうまく本番導入へ | はてなで働く kouki_dan にアンケート [#12]

はてなで働くエンジニアにアンケートシリーズ第12回は、マンガサービスのiOS/Androidアプリエンジニア、id:kouki_danです。入社したきっかけや現在の業務内容などについて話を聞きました。

【追記あり】 2月〜3月に、はてな2022年新卒エンジニア向け オンライン会社説明会 を実施します!

株式会社はてなでは、2022年卒の方に向けた新卒採用のオンライン説明会を開催します。初回は、2021年2月5日(金)12時(正午)から。3月にかけて複数回開催予定です。ご参加お待ちしています。

データ活用の知見や困り事を共有する「突撃! 隣のダッシュボード」会をやっている話

はてなではチームを横断したデータ活用を推進するため、2020年秋から「突撃! 隣のダッシュボード」という会を開催しています。チーム内にとどまりがちな知見や困り事を共有し、ダッシュボードについて議論を重ねることで、チームを超えたデータ活用の相談が…

Hatena Engineer Seminar #15 をオンラインで開催しました #hatenatech

「Hatena Engineer Seminar #15」を2020年12月23日(水)に開催しました。今回は2020年新卒入社メンバーによる、チーム開発における体制づくり、フロントエンドツールチェーン、タスクの計画とその実施内容などのトークを行いました。この記事では、3つの発…

はてなエンジニア Advent Calendar 2020完走しました!

2020年も無事に「はてなエンジニアAdvent Calendar」を完走できました! はてなブックマークを最も集めた「最多ブックマーク賞」を発表するとともに、全25エントリーを振り返って感想戦をお届けします。年末年始のお供にどうぞお読みください。良いお年を。

異常なオープンネス文化が特徴的 | はてなで働く nabeop にアンケート [#11]

はてなで働くエンジニアにアンケートシリーズ第11回は、システムプラットフォーム部のSRE・id:nabeopです。入社したきっかけや現在の仕事内容などについて話を聞きました。

2022年度 新卒採用を開始しました!

本日、2022年度新卒採用を開始しました。2022年度新卒採用は以下の4職種で採用を行います。 Webアプリケーションエンジニア iOS、Androidアプリエンジニア SRE デザイナー 京都・東京の両拠点での積極採用を行っています。皆さまのご応募をお待ちしています…

TypeScript で querySelector メソッドを使うときに型引数を指定する

こんにちは、エンジニア職の id:nanto_vi です。(この記事は、はてなエンジニア Advent Calendar 2020 の 12 日目の記事です。昨日は id:cohalz さんによる「Webサービスのモニタリングについてのチェックリスト」でした。) 結論 TypeScript で querySelecto…

【オンライン】12月23日(水)に Hatena Engineer Seminar #15 を開催します!

こんにちは、Webアプリケーションエンジニアの id:KGA です。 12月23日(水)に Hatena Engineer Seminar #15 をオンラインで開催します! 今回は2020年4月に新卒入社した3名のエンジニアによるトークをご用意いたしました。チーム開発における体制づくりや…

数字のバラ付きを考慮して意思決定する技術

こんにちは。MackerelチームでCRE(Customer Reliability Engineer)をしているid:syou6162です。主にカスタマーサクセスを支えるデータ基盤の構築や、データ分析を担当しています。 意思決定をする際には不確実性がつきまといますが、不確実性を信頼区間とい…

開発合宿をリモートで実施する工夫

はてなでは、日々の業務を離れた技術の検証やチャレンジの場として定期的に開発合宿を開催していますが、新型コロナウィルス感染症の影響により、これまでのように一つの場所に集まって開催することが難しくなりました。そこでリモートでの開発合宿を2回開催…

リモートワーク下で積極的に音声会話を | はてなで働く hogashi にアンケート [#10]

Hatena Developer Blogの「はてなで働くエンジニアにアンケート」シリーズ、今回ははてなブログチームのWebアプリケーションエンジニア、id:hogashiに話を聞きました。

コンテナ技術とスケールするWebサービス ─ ペットから「ポスト家畜」の時代へ

「コンテナ」をテーマに、いわゆる「ペットから家畜へ」という言葉で語られるWebアプリケーションの実行環境の変遷と、コンテナ技術がもたらした2軸のスケーラビリティについてまとめ、コンテナ技術によって「ポスト家畜」とも呼べる新たな時代が到来したこ…

Mackerelでは計画メンテナンスをどう実施しているか? RedisをElastiCacheに移行した裏側をご紹介

Mackerelでは、Amazon EC2で稼働しているRedisおよびRedis ClusterをすべてAmazon ElastiCache for Redisへ移行しました。最後の移行ではElastiCacheのオンライン移行を利用し、サービスを計画停止して実施しました。この裏側でどのように作業を進めたのかを…

MackerelのCREがカスタマーサクセスをいま学ぶ理由─3年間の試行錯誤をぜんぶ話そう

GoogleがCRE(Customer Reliability Engineer)という職種を提唱し、その後はてなでもCREが誕生して3年。5名のチームに成長したMackerelのCREでは今、カスタマーサクセスの考え方を取り入れようとしています。世界と日本でCREの実践事例や、これからCREを組…

SREはインフラ担当だけでなくチーム全体で取り組んでいくもの | はてなで働く cohalz にアンケート [#9]

Hatena Developer Blogの「はてなで働くエンジニアにアンケート」シリーズ、今回ははてなブログチームのSRE、id:cohalzに話を聞きました。

Rustの知見を深めたい! 開発合宿でmackerel-agentを再実装してみた

活躍分野が広がるRust開発の知見を得るため、ホストの情報をMackerelに送るmackerel-agentをRustで再実装する試みに、3人のはてなエンジニアが開発合宿の3日間で挑戦しました。まだ機能は十分でないものの動作するアプリケーションがRustで実装でき、今後に…

はてなインターンシップをリモートで開催する方法─精神と時のステイホーム

はてなサマーインターンシップ2020は、13年の歴史で初めてオンライン開催となりました。リモートの実施にはコントロールを効かせにくい難しさがありますが、日程・カリキュラム・コミュニケーションそれぞれで影響を検討し、課題を中心とした短期間の開催と…

はてなサマーインターン2020の講義動画と課題を公開しました

2020年のはてなサマーインターンでは、マイクロサービスをテーマとした1週間のカリキュラムを用意しました。その約2時間にわたる講義動画と、講義終了後に取り組んでもらった課題を公開しています。課題に挑戦する方がいましたら、ぜひ #hatenaintern2020 で…

頑張らなくていいチームだからこそ自分の強みを増やしていきたい | はてなで働く do-su-0805 にアンケート [#8]

Hatena Developer Blogの「はてなで働くエンジニアにアンケート」シリーズ、今回はシステムプラットフォーム部のSREであるid:do-su-0805に話を聞きました。

はてなブログのキャッシュ周りをきちんと改善したら、アプリケーションサーバの台数を半分にできた話

はてなブログでは2019年12月から、Varnishを中心としたキャッシュ周りのさまざまな改善を進めてきました。その結果、ブログ記事のキャッシュヒット率が1日平均で8%から58%に向上したり、アプリケーションサーバの台数が以前の半数以下に削減できたりといっ…

サマーインターンをオンラインで開催しました

2020年の「はてなサマーインターン」が、9月11日(金曜日) をもって無事に終了しました。時勢もあって1週間のリモート開催となり、カリキュラムも新たに作り直しました。想定以上のパフォーマンスを発揮してくれた開催中の様子は #hatenaintern2020 のハッ…

Hatena Engineer Seminar #14 〜魔法のiらんど編〜 をオンラインで開催しました #hatenatech

初のオンライン配信となった「Hatena Engineer Seminar #14 〜魔法のiらんど編〜」を7月15日(水)に開催しました。はてなで開発・運用を支援している「魔法のiらんど」リニューアルについて、企画視点での話から、バックエンド/フロントエンドそれぞれの開…

「マンガが快適に読める」を数値化し、SLOをマンガビューワに導入するまで

Webマンガサイトで利用される「GigaViewer」のチームでは、開発速度と信頼性のバランスをとるためSLO(Service Level Objective)を策定しました。マンガビューワで必要な「マンガが快適に読める」などのサービスレベルをどのようにSLI(Service Level Indic…

AWS Purpose-Build Database Week で Mackerel の時系列データベース内での ElastiCache について発表しました

MackerelにおけるAmazon ElastiCacheの利用事例について、はてなエンジニアでMackerel開発チームのastjが、AWSのオンライベント「Purpose-Build Database Week」で8月24日に発表しました。今回はとくにRedis Clusterに焦点を当てており、発表資料と概要を共…

Elasticsearchクラスタを再構築し、無停止で切り替えるベストプラクティス

オンプレミスなElasticsearchクラスタから、AWS上で再構築したAmazon Elasticsearch Serviceのクラスタに切り替える際、無停止であることと切り戻し可能であることを条件として、いくつかの手法を詳細に検討しました。

VSCodeの拡張機能、なに使ってますか? はてなエンジニア世論調査 #2

ソースコードエディタのVSCodeでは、シンタックスハイライトやデバッグなどさまざまな拡張機能を利用できます。はてなのエンジニアは、どんな拡張機能を日々の開発に使っているのでしょうか? インストールしている拡張機能をアンケート調査してみました。

Webアプリケーションのログに関するいくつかの考察

ログを取り扱う最大の目的はデータドリブンな意思決定を支えることであり、大別すると「ビジネス的な要求」と「システムの運用的な要求」が存在します。はてなの技術ワーキンググループでは、ログを用途・目的ごとに分類し、その要求水準について検討しまし…

"壊れにくい"データ基盤を構築するためにMackerelチームで実践していること

幅広い用途で利用される場面が多いデータ基盤では、何より"壊れにくい"ことが重要になります。壊れていない状況を保ち、壊れたら気付けるよう監視するため、Mackerelチームで工夫している取り組みについて、CRE(Customer Reliability Engineer)のsyou6162…

今年も Let's Encrypt への寄付を実施しました

はてなブログでは独自ドメイン機能の HTTPS 配信対応などにおいて Let's Encrypt を活用しています。 はてなブログを独自ドメインで利用する - はてなブログ ヘルプ HTTPSで配信する - はてなブログ ヘルプ はてなでは、独自ドメイン機能の HTTPS 配信対応開…

コーポレートサイトを誰にも気づかれず静的化したときの技術選択について

こんにちは〜。チーフエンジニアのid:cockscombです。 最近、同僚のid:yashigani_wとともに、はてなのコーポレートサイトを静的サイトとして再構築しました。ちょっとした仕事ではありますが、経験によって得られた暗黙知を形式知へ昇華するため、ここに紹介…

【オンライン】Hatena Engineer Seminar #14 〜魔法のiらんど編〜を7月15日(水)に開催します!

こんにちは、Webアプリケーションエンジニアの id:KGA です。Hatena Engineer Seminar #14 〜魔法のiらんど編〜を、7月15日(水)にオンラインで開催します!今回は「魔法のiらんど編」と題しまして、はてなで開発・運用の支援をさせていただいている魔法のiら…

はてなインターン2020の講義を動画で配信します

こんにちは、はてなサマーインターン2020運営委員会です。サマーインターンの募集を先日締め切らせていただきました。 今年は過去最多のご応募をいただきました。 沢山のご応募、誠にありがとうございました!今年はインターンの講義を動画で配信することを…

デプロイ今昔

こんにちは。はてなのアプリケーションエンジニアの id:onk です。 最近、若手エンジニアを中心に、いろいろな技術を見つめ直すワーキンググループをやっています。今回は、その中から「デプロイ」の会で発表されたことをまとめました(なお、私は会のとりま…

AWS と GCP を VPN でつないでみたら、マルチクラウドの夢が広がった話

社内の開発合宿で AWS と GCP を VPN で接続して、実運用に載せた場合の課題や構成を検討しました

はてなで使用しているRenovateの設定プリセットを公開しました

こんにちは。毎年のAppleとGoogleからのお達しのおかげで、開発環境やライブラリのアップデートが大好きな id:ikesyo です。普段はiOS・Androidのモバイルアプリ開発を主にしています。 はてなでは先日、はてな社内で使用しているRenovateの設定プリセットを…

Mackerel のフロントエンド "React化" プロジェクトを支える技術と設計

こんにちは, Mackerel 開発チーム アプリケーションエンジニアの id:susisu です. 現在 Mackerel では, Web コンソール画面の開発に使用しているフレームワークを, これまで使用してきた AngularJS から React へ移行することを中心とした, フロントエンド開…