shunshock!

しゅんそくになりたい開発者です。

ISUCON夏祭りに参加しました!!

ISUCON夏祭りに参加しました!

ISUCON夏祭りに参加しました。各種イベントや夏祭りをテーマにした企業ブースなど活気のあるイベントでパワーをいただきました。

中でもSplunkさんのリアルタイムメトリクスのレースゲームの取得が印象に残りました。レースゲームはハンドルを握るタイプの本格的なもので、面白かったです。レース後にダッシュボードを見せていただき、数値が記録されていることを確認しました。

尚、ゲームは惨敗しました。運転免許証持っているんだけどなぁ。

LT会は社会人の場合5分間超えると強制終了ルールでYAPCのヒリヒリした空気を思い出しました。YAPCといえば、丁度当日に情報が入ってきました。来年は2月10日、広島国際会議場で開催だそうです。ISUCON夏祭りにはYAPC参加者もいて話がはずみました。

私の初挑戦となるISUCON13に向けてモチベーションが上がりました。Go力とインフラ力上げて殴り込みます!

関係者の皆様、楽しい企画を開催していただきありがとうございました。

ISUCONを通じて同期と再会した話

そうそう、イベントで某中高一貫校の友達と再会しました。

彼と出会ったのは2年生でなんだかんだで5年ほど学友をしていました。その後大学は別々(※私は文系)だったので、なんだか感慨深い気持ちになりました。

友達パワー(≒コネ)を借りてtraPの方と2次会で話してきました。学友の頃から優秀なことは知っていましたが、大学でも飛び抜けて活躍してるそうで相変わらず凄いなぁという気持ちになりました。

その時に「彼のようになりたいが中々追いつけない」という話を聞きました。その時はなぁなぁで返答してしまった気がするのですが、振り返れば、目指さない方が良いが回答になるかと思っています。

これは個人の意見ですが、趣味に努力はあんまり勝てないと考えています。人を意識せず、興味の赴くままにやりたいことを楽しむのがいいんじゃないですかね。

参考までに書いておくと、偏差値90超えてた彼は英語を某海外アニメサイトで学んだそうです。

入社エントリ: PR TIMES

この春、東洋大学経営学部を卒業し、株式会社PR TIMESに入社することになりました。

経営学部と聞いてちょっと意外に思った方もいるかもしれません。私は統計の授業やゼミでプログラミング言語を使って分析するという経験からプログラミングに興味を持ちました。その後、趣味でアプリケーション開発をするようになり、エンジニア就職を意識し始めました。

エンジニアになりたいと強く思うようになったのは、学部三年の夏でした。学部三年生の夏にオフラインのインターンに参加し、共同開発をする機会を得ました。オフラインかつチームで開発することは新型コロナウイルス感染症の関係で外に出れなかった私にとって新鮮で楽しかったことを今でも覚えています。その経験がきっかけで本格的にエンジニアを目指し始めました。私は選考を受ける中で、PR TIMESハッカソンに参加し、個人入賞することができました。その後内定通知をいただき、承諾しました。

私が入社するPR TIMESは、Web系の自社開発企業でプレスリリースのプラットフォームを提供している企業です。私が入社した決め手は、ハッカソンに参加していた学生のレベルが高く、一緒に働きたいと感じたからです。また、社内のエンジニアさんが技術好きの方が多く馴染めそうだと思ったことも決め手の一つです。さらに、データ解析の分野では学部時代につけた統計の専門性を活かせると感じました。

私は入社後、サーバーサイドのアプリケーション開発に加えて、社内のデータ分析に携わりたいと考えています。私が学部時代に身に付けた統計の知識を活かし、企業の業績向上に貢献したいと思っています。

入社後は、まずは社内のシステムや技術について学びながら、早期に業務に参加できるように頑張ります。また、自己学習や技術書籍の読書、勉強会への参加などを通じて、スキルアップに努めます。

PHPerKaigiに参加してきました

ABSTRACT

PHPerKaigiというプログラミング言語PHPを使用している方やPHPが好きな方が集まるカンファレンスに参加しました。私が来月入社する予定のPR TIMESではプロダクトにPHPを使用しており、誘っていただいたことがきっかけで参加に至りました。今回のカンファレンスでは登壇はありませんでしたが、登壇の聴講や自己紹介LTなど参加者として楽しむことができました。

 

PHPerKaigiに参加したきっかけ

私は普段データ解析を行なっている関係で、仕事ではPHPをあまり書いていません。ですが、私の所属するPR TIMESではプロダクトにPHPを使用しています。そのような背景からPHPerKaigiに誘っていただき、参加に至りました。

 

EXPERIENCE

PR TIMESはPHPerKaigiのスポンサーで私は二日目の午前9:45からブースに入る予定でした。朝が弱いのでシリアルとバナナを腹に突っ込み9:30を目安に会場入りしました。

 

uzullaさんのトーク

担当時間的に午前のトークはいけないかなと思っていたのですが、同僚の方々の配慮によって10:20からのトークを見に行くことができました。(その節はありがとうございました) 10:20からのトークはTrack Aでuzullaさん、Track Bでsodaiさんでどちらに行くか迷いましたが普段特にお世話になっているuzullaさんのトークに行きました。

fortee.jp

 

PHPを触っていない人からすると、PHPの配列の自由度が高いことにまず驚きました。

PHP の配列は、実際には順番付けられたマップです。マップは型の一種で、 キーに関連付けます。 この型は、さまざまな使い道にあわせて最適化されます。 配列としてだけでなく、リスト (ベクター)、 ハッシュテーブル (マップの実装の一つ)、辞書、コレクション、スタック、 キュー等として使用することが可能です。 PHP の配列には他の PHP 配列を値として保持することができるため、 非常に簡単にツリー構造を表現することが可能です。

引用: PHP

www.php.net

 

トークの内容はPythonにも言えることだなと感じました。Pythonもいわゆる動的型付け言語で「なんとなく書けてしまう」という問題があります。私自身プログラミングを始めた頃、変数に旅をさせて高みへ登らせてデバッグで詰まるということがありました。ちなみに、PythonにもPHPStanと同じようなmypyという静的解析ツールがありますが、ライブラリによっては対応していなかったりするので辛いです。アノテーション書こう...!

 

uzullaさんのトークを聴いていて余談で時間調整していることに気づきました。私自身LT(ライトニングトーク)をした時に、練習で時間が余ったり足りなかったりして困ったことがあったので真似してみようと感じました。

 

昼食

近くのカフェで食べました。チーズとトマトとオリーブオイルを使った料理が好きなので最高でした。

 

郡山さんのトーク

app-state-diagramの紹介と実践例の話を聴講しました。アプリケーションの設計で悩んでいた自分にとって解決策になりそうな内容でした。

alps-asd.github.io

 

懇親会

PHPerKaigiの参加者に以前参加したYAPC::Kyotoの参加者がいたおかげで挨拶がしやすかったです。特にEndoさんにはたくさん紹介していただきありがたかったです! また、Endoさんの他にもLT大会に出場したことを覚えてくださった方が何人もいて本当に嬉しかったです!

 

CONCLUTION

PHPが書いていないのに参加して大丈夫か心配ではありましたが、楽しい時間を過ごせました。4月からはPR TIMESPHPも書くのでお話を思い出しながら可読性の高いコードをかけるPHPerを目指していこうと思います。

 

余談ですが、先日、東洋大学経営学部を卒業しました。統計検定を受験したり、ハッカソンに出たりと忙しい毎日でしたが、充実した四年間だったと思います。卒業式の日、恩師の研究室を訪ねお礼と近況報告をしました。その時にいただいた「驕らず勉強を続けて立派な人になってください」というお言葉を胸にこれからも頑張っていく所存です。

YAPC::Kyoto 2023 ベストLT賞をいただいた話

ABSTRACT

YAPC::Kyoto 2023というカンファレンスに参加しました。カンファレンスやイベントに参加することは横のつながりを得ることや異なる分野の知識の共有をするにあたって重要です。私が所属するPR TIMESでもエンジニアとして成長するために参加・登壇が推奨されています。今回前日祭のスポンサーLTと当日のLT大会に登壇し、後者はベストLT賞に選ばれました。この記事では私の経験をお伝えします。

 

INTRODUCTION / BACKGROUND

カンファレンスとは一般的に規模の大きい会議のことを指しています。今回参加したYAPC::Kyotoはソフトウェアエンジニアリングの領域において国内で有数の規模のカンファレンスになります。(以下公式から引用)

YAPCはYet Another Perl Conferenceの略で、Perlを軸としたITに関わる全ての人のためのカンファレンスです。 Perlだけにとどまらない技術者たちが、好きな技術の話をし交流するカンファレンスで、技術者であれば誰でも楽しめるお祭りです!

 

LT(Lightning Talk / Lightning Talks)とは5分以内という時間制限のあるプレゼンテーションです。YAPCでは時間を過ぎると恒例のドラがなり強制的に終了します。

 

テーマが決まっていれば、テーマに沿ったLTをすることが望ましいです。今回のスポンサーLTでは「something new」、LT大会では「try / catch」 というテーマがありました。

 

PREPARATION

1. トピックの選定

スポンサーLTでは事前に投票することが求められていませんでした。そこで仕事に関わる内容で話したいことをスライドにまとめて自分が話したいことを探っていく方式で決めていきました。その結果「文字コード自然言語処理を使ったアプリケーションに与える影響」を話したいと考えているとわかり、テーマが決まりました。

以前uzullaさんがPR TIMESの社内イベントで講演をしてくださったときに質疑応答でスライドを作った後練習で喋ったものを記録し「自分が本当に話したいこと」を探るというやり方を教えていただきました。この時の体験を参考にしています。

一方でLT大会の方は事前にトピックの提出が求められていました。この話はcatatsuyさんからslackで教えていただいたのですが、一週間ぐらい考えていたと思います。方針としては以下のことを考えていました。

  • 流行を取り入れたい
  • 独自の内容かつ技術的に価値のある内容にしたい

流行を取り入れたかった理由としては私が無名のプログラマだったからです。YAPCのLT大会には名だたるソフトウェアエンジニアが参加するので、聴衆の興味を引くトピックでなければ私の時間が「休憩時間」になってしまうことは容易に想像できました。そこで流行りのChatGPTを使うことを決めました。

しかしながら、流行のトピックは独自性がないとありきたりのつまらない内容になってしまいます。(それこそ「ChatGPTで良い」となってしまう) どうやって独自の視点を入れるか悩んでいたのですが、一週間ぐらいした時に自分の仕事と関連づけてみることを思いつきました。幸い、私がインターンでやっている内容はWebに自然言語処理を実装するためにインフラ基盤を作るという比較的珍しい内容でした。そこでChatGPTに文字コードについて考えさせるという内容で投稿したところアクセプトされました。

 

2. 内容の決定

スポンサーLTの方は、話したい内容から作ったのでそれをそのままスライドにしました。LT大会は前述の要請からトピックを作成した関係上テーマが抽象的になったため、実際の質問文を考えることに苦労しました。

 

3. スライドの作成

スポンサーLTのものはPR TIMESの若手代表という意味合いがあったのでスライドは落ち着いた色・フォントで統一しました。

 

docs.google.com

 

一方で、LT大会の方は個人出場かつ前述した理由から目立ちたかったのでグラデーションを使った現代風のスライドにしました。

YAPC::Kyoto 2023 LT @KRP 「ChatGPTと文字コード」

 

LT大会のスライドのサムネ

 

前日祭のスライドですが、3回書き直しています。こちらはボツになったものの一つです。

ボツになった案のサムネ

 

THE EXPERIENCE

1日目は15:00からスポンサーLTでした、会場入り後にはuzullaさんやcatatsuyさんに挨拶して自分の出番を待っていました。前日祭でしたが、人数が多く、danさんのLT中のツッコミが入るなどして会場の熱気は十分でした。緊張していたことを覚えています。自分で言うのもどうかと思いますが、あまりうまく話せなかったと思います。5分間という制限があり、実際に途中終了する例もあったため早口になり、聴衆の反応を見ながら話すことが全くできていませんでした。そのLTで印象に残ったのはArthurさんでした。節回しや聴衆の心を掴む力がずば抜けて高く、発表中、会場に常に笑いが溢れていました。

転機はその日の懇親会でした。HelpFeel株式会社さん主催の懇親会で過去のLT登壇者や明日の登壇者のお話を聞くことができました。その中で「たとえ失敗したとしてもそのことを明日まで覚えている人はいない。良い発表だけが何十年も人の記憶や心に残っていく」「だから肩の力を抜いて、自然体に話そう」と言う話が心に刺さりました。

2日目の午前は原稿をしていました、1日目のスポンサーLTで分かったのですが、スライドの枚数は15枚~20枚でも一枚あたりの内容をしっかり絞れば十分伝わることが分かったからです。また、内容も少し砕けた部分を増やしました。これも先日のLTから聴衆を惹きつけるのに笑いの要素が有効だと感じたからです。

午後にはこのような投稿をしていますが、実際にはLTの合間や休憩時間などを使って作業しており、最終編集は17:50頃でした。

 

LT大会登壇前、時間が4分になったことを知りました。焦りましたが、元々核となる話以外にPR TIMESでの実践例を1分ほど話す予定だったためそこを削ることにしました。発表の冒頭で「先程、時間が4分と知りました土屋です」と話したのですが、このタイミングで思いつきました。

2日目の発表では聴衆の反応を少しだけ見ながら話せたかなと感じました。100人を超える聴衆の前で落ち着いて話せたことは大きな収穫の一つでした。

 

THE AWARD

ベストトーク賞(あらたまさん)の後にベストLT賞が発表されるのですが、なんと私の名前が表示されていました!

 

素晴らしい数々のLTの中から選んでいただき大変光栄に感じております。

 

REFLECTION

今回の経験を通じて人前でプレゼンテーションを行うことについて認識が大きく変わりました。ですが、まだまだ聴衆の反応を見て話すことに関して半人前であると自覚しています。今後も登壇を続けてuzullaさんのようなスピーカーを目指したいです。

 

CONCLUTION

緊張したYAPC初登壇でしたが、良い結果を得ることができました。まだ正式に決まってはいませんが、来年度はスタッフとより長いトークに応募し、YAPCに貢献したいと考えています。この記事を見てくださっている皆さんも是非YAPCに参加してみてください!

 

謝辞

開催していただいたスタッフの皆様、スポンサーの皆様、参加者の皆様、大変貴重な発表機会をいただきありがとうございました。今回のYAPC参加、登壇にはcatatsuyさん、uzullaさんをはじめとするPR TIMESのチームのおかげです。この場を借りて感謝の気持ちをお伝えさせていただきます。