feature image

2024年3月24日 | 活動紹介

traPに入ってから最強Webエンジニアになるまで

この記事は新歓ブログリレー2024の17日目の記事です。

こんにちは、21B SysAd班のmehm8128です。
今回は僕がtraPに入って、Webエンジニアとしてサークル内や個人での開発はもちろん、業務での開発や簡単なOSSコントリビューションができるようになった過程を書きます(最強にはなってないですが)。traPのSysAd班やWeb開発が気になっている新入生の皆さんがtraPに入ってからの流れをイメージしてもらえたらと思います。

講習会

traPには色々な講習会があって、新入部員はまずそれらを受講してもらうことになります。
traPの強い人たちが講師・TAをするので、分からないことがあればいつでも質問できるような体制になっています。

プログラミング基礎講習会

プログラミング基礎講習会を開催しました!
traP で現在代表補佐を努めています たけ (たけのひと) です!5/10 〜 5/20 に渡って、5回に分けてプログラミング基礎講習会を開催しました!この記事はその開催記です。 開催概要本講習会は「プログラミング初学者」に向けたもので、基礎的なプログラミングを一から学び、今後各班で活動する上で最低限必要な知識をいくらか知ってもらうことを目的としたものです。100~150分× 5回 (初回は4時間)のカリキュラムで対面で開催しました。講師は私 Takeno_hito と代講で helgevの2人、TAの総参加者数は25人前後、参加した新入部員は(ぴったり)計100人という弊サークルでも一大規模のイベントとなりました。 開催のモチベ去年東工大に入学したたけのひとは、traP に入って講習会に参加しました。参加してまず思ったのは、「講習会のレベルが高い!」ということ。traPがめっちゃすごい(語彙力)サークルである理由が講習会に詰まっていると思えるほどレベルの高い講習会がたくさんあって、自分は講習会を通じて成長することができました。 しかし、同時にもう一つ、「初学者に対

詳細は上の記事をご覧ください。
以前はPython講習会があったのですが、去年からそれを基にアップデートされ、C++を用いてプログラミングの基礎を学ぶような講習会になりました。
(少なくともtraPでの)一般的なWeb開発ではC++を使うわけではないのですが、どのプログラミング言語を使うことになっても通用するような知識を学ぶことができるので、これを一通り身につけることができれば他の言語にも入りやすくなります。
また、プログラミング(Web開発)を始める上で多くの人が躓きがちな環境構築についても資料・質問対応ともにサポートしています。

記事の中に講習会資料へのリンクもあるので、先取りしたい人は眺めて手を動かしてみてもいいかもしれません。
以下のポストのリンクから新歓Discordにも入れるので、質問などあればここからどうぞ!

Git講習会

Gitというバージョン管理システムの講習会です。
知らない人は本当に全く知らないと思いますが(僕も全然知りませんでした)、ソフトウェア開発では一般的なツールで、traPでプログラミングに関係する何かをやりたいと思っている人はほぼ全員受けてもらう講習会です。
僕は最初はこの講習会を受けてもあまり理解できていなかったのですが、実際の開発を進めていく中でどんどん理解していくことができました。

最初に全員に受けてもらうのは基礎編なのですが、発展編の開催記事は↓です。

Git 講習会発展編を開いた話
アドベントカレンダー20日目です!今日の担当は Takeno_hito です。 クリスマスも近いということでアイコンもサンタ帽子を被っているものにしてみました🎅(クリスマス後にはアイコンを戻しちゃうので、普通の帽子を被ってたらごめんなさい)。 今回は Git 講習会の発展編を開きました、という話をします。また、講習会のテキストも公開します。 講習会開催までの経緯現在 traP 内のチームでゲーム製作をしているのですが、チームメンバーが Gitの使い方とかで少し苦戦しているのを見て「これは教える必要がありそうだ」と思って突貫で作りました。今年の春に Git 講習会は実施していたのですが、コミット、プッシュ、ブランチ作成 程度の最低限の知識しか教えられていない事と、GitHub Desktopを使っていて rebase 等を習得できるような感じでもなかったので、ここは traP 全体で受けれる講習会を実施するべきだと考えました。 講習会の目標まず講習会作成時に自分が立てていた目標は以下の3つです。 1. 自分でコンフリクトの解消が正しくできるようになる 2. PR

Webエンジニアになろう講習会

2023年度Webエンジニアになろう講習会 講師ブログ
2023年度Webエンジニアになろう講習会 講師ブログ6 月、7 月に、毎年恒例の「Webエンジニアになろう講習会」(通称「なろう講習会」)を開催しました。このブログは講習会の講師による開催報告・振り返りブログです。 Web エンジニアになろう講習会とは「なろう講習会」は毎年 SysAd 班が主に新入部員に向けて行っている、Web 開発についての講習会です。初心者の状態から SysAd班の活動に取り組むために必要な最低限の知識・能力を身に着けることを目的としています。過去の参加者の記録はこちらからご覧ください。 なろう講習会 - 東京工業大学デジタル創作同好会traP『デジタル創作同好会traP』は、東京工業大学で活動するデジタル創作・プログラミング系サークルです。ゲーム制作を中心に、アプリ、音楽(DTM)、グラフィック(イラスト、3Dモデル、ドット絵、動画)などのクリエイティブ活動の他、競技プログラミング(競プロ)やCTFも行っています。東京工業大学デジタル創作同好会traPtqk [https://trap.

traPで最も有名な(?)講習会です。
Web開発に必要な知識を短期間で詰め込まれます。一昨年までは2週間で全部詰め込まれたのですが、去年からちょっと余裕のある日程になりました(資料のアップデートが間に合わなかったこともあるので今年からまた戻る可能性はあるかも?)。
第二部まで一通り走り切ると、最低限traP内でWeb開発に参加できるような知識が身につきます。

第三部以降はまだ準備中ですが、上の記事内に講習会資料へのリンクがあるので眺めてみてください。

SysAd班への参加

講習会が一通り終わるあたりの時期に班所属があります。是非SysAd班に参加しましょう。今のSysAd班は76人のメンバーで構成され、traPの6つ(4月から7つになります)の班の中で最も人数が多いです。

SysAd班に入るとさらにその中でプロジェクト所属があり、参加したいプロジェクトに参加します。
例えばtraPでメインで使われている、SlackやDiscordのようなサークル内SNSの「traQ」の開発や、Google Formのようにアンケートを立てることができる「anke-to」など、様々なプロジェクトがあります。
所属したプロジェクトでは、やりたいタスクを決めて先輩に色々教えてもらいながらコードを書いていきます。

講習会で勉強しても実際のプロダクトのコードを書かなければなかなか身につかないこともあるので、初心者のうちはとにかくコードをたくさん書くことがおすすめです。また、先輩にどんどん聞くこともおすすめです。もちろん調べて出てくることは自分で調べてほしいのですが、それでも分からないこともあるのでどんどん聞きましょう。traPには「15分調べて分からないことは聞け」という目安があります。15分自分で調べてみて分からないことはその過程や最終的に実現したいことなどをちゃんと述べた上で、先輩にどんどん質問しましょう。

SysAd班 - 東京工業大学デジタル創作同好会traP
『デジタル創作同好会traP』は、東京工業大学で活動するデジタル創作・プログラミング系サークルです。ゲーム制作を中心に、アプリ、音楽(DTM)、グラフィック(イラスト、3Dモデル、ドット絵、動画)などのクリエイティブ活動の他、競技プログラミング(競プロ)やCTFも行っています。

インプット

たくさんインプットしましょう。もちろん最初に書いた講習会以外にも誰かが面白い講習会をやってくれることがあるのでそれを受けてもいいのですが、それだけだと足りません。普段から色々な知識をインプットしましょう。
僕がインプットに使っているのは以下のものです。

Zenn

https://zenn.dev/

はてなブックマーク

https://b.hatena.ne.jp/hotentry/it

X

https://x.com

技術書

#random/tech/frontend

traPブログ

https://trap.jp/

アウトプット

アウトプットしてくれる人たちがいるからインプットができます。積極的にアウトプットもしていきましょう。この新歓ブログリレーもアウトプットの1つです。アウトプットには主に以下のメリットがあると考えています。

僕は過去にもいくつか記事を出しているので気になるものがあれば読んでみてください。

mehm8128 - 東京工業大学デジタル創作同好会traP
21BJC。SysAd班で色々やってます

イベント

様々なエンジニア向けイベントが開催されます。
有名なものだと以下です。

サークル内ハッカソン

traPでは毎年春と冬の2回、サークル内ハッカソンがあります。
Webアプリやゲームなどを作ってみんなで見せ合います。
最近なぜか開催記事が出ていないので自分たちの参加記事を貼っておきます。

2022 春ハッカソン 13班 「I love TikZ」
2022春ハッカソンの参加ブログ記事です。 制作物理工系学生の皆さんであればきっとTeXを使ったことがあると思いますが、そのTeXの描画パッケージにTikZというものがあります。TikZでは図やグラフなどをTeX形式で記述して描画することができますが、書くのがなかなか大変です。そこで今回、描いた絵をTikZの形式に変換してくれるツールを作りました。ツールの名前は「I love TikZ」です。https://hackathon-22spring-13.github.io/client/こちらから使うことができます!左右のツールを使って絵を描いて変換ボタンを押すと、下に変換結果が出てきてコードのコピーやTeXファイルのダウンロードができます。 メンバーチーム名:「I love TikZ」サーバー: chebrinko, myu_928, saiten, tqkクライアント: mehm8128 テーマとの関連I love PDFというPDFのオンラインツールがあり、PDFがI love PDFならTikZはI love TikZなのでは?ということになりました

ISUCON

Webサーバーのパフォーマンスチューニングコンテストです。
去年・一昨年は優勝がtraPのOB、準優勝がtraPの現役の先輩のチームでした。
traPではサークル内ISUCONや、初心者向けのISUCON講習会などが毎年行われています。

部内ISUCON「PISCON」を開催しました!
ISUCONのtraP部内版であるPISCONを開催しました。2023年は2回にわたって開催され、20チーム、30人を超える参加者が専用の環境でISUCONに向けた本番さながらの練習を行いました。

WebSpeedHackathon

Webフロントエンドのパフォーマンスチューニングコンテストです。
すごい重いサイトが渡されて、これを軽くしてくださいってやつです(ISUCONもそうだけどこっちの方が体感で重いことが分かりやすい)。
ちょうど今日と昨日でやっていたので参加していました。

Web Speed Hackathon 2021 miniでほぼ満点を出しました
あけましておめでとうございます!19の翠(sappi_red)です。いつもはSysAd班 [https://trap.jp/sysad/]で部内サービスの開発・保守をしています。 Web Speed Hackathon 2021 miniに参加した(している)ので、今回はそれでほぼ満点を出した話を書きます。このコンテストはWeb パフォーマンス改善を競うものです。イベントの詳細は開催告知記事 [https://developers.cyberagent.co.jp/blog/archives/32747/]をご覧ください。今回のminiは今年の2月に行われたWeb Speed Hackathon 2021をベースにしているようです。 そちらの方にも参加したのですが、そのときに参加記を書いていなかったので、振り返りつつ記録するのにちょうどいい機会なのといくつかできそうなことがあったので、参加してみることにしました。年末には記事を出そうと思っていたのですが、文量が増えて結局終了1日前になってしまいました…。 前回のリポジトリ [https://github.com/sa

その他諸々

connpassというサイトでは色々なイベント情報が掲載されています。
また、traQの #random/event というチャンネルでは様々なイベント情報が流れてきます。是非積極的に参加してみましょう。

ちなみに、traPで過去に受賞歴のある大会はここに一覧されています。
https://trap.jp/sysad/#大会に出る

インターン

インターンシップというと職業体験というイメージがあって、就活か...みたいな感じでtraPに入るまでは全然いいイメージがなかったのですが、Webエンジニアだとちゃんとスキルのある人だと待遇もよくて色々な実務をやらせてくれるので(もちろん企業にもよりますが)、知識や実力がすごいつきます。
traPではインターンは就活の一貫とかではなくて、単純に実務経験を通して力をつけたいと思って参加する人が多いイメージがあります(もちろんB3のサマーインターンとかは就活を意識しますが)。

OSSコントリビューション

OSSとはOpen Source Softwareの略で、Web界隈だと色んなライブラリやフレームワーク、ツールがこれにあたります。例えばWebフロントエンドを開発するときのReactというライブラリがありますが、これはfacebook/reactでソースコードが公開されています。traPで開発しているものもセキュリティ的に問題ないものは基本的に全てソースコードを外部に公開する形にしていて、例えばtraQのフロントエンドだとtraPtitech/traQ_S-UIにあります。traPtitechから他のプロジェクトも閲覧できます。

そして、これらは開発に関わっていない人でも自由にバグ修正や機能追加、バグ報告、機能追加の要望などを出すことができます。バグ修正や機能追加はコードを書いてPull Requestというものを出すことよってソースコードの管理者に「これどうですか」って言ってOKをもらえたら本体のソースコードに反映してもらえます(「ここ直してください」って言われて直すこともあります)。バグ報告や機能追加の要望はIssueというものを出すことによって、議論したり他の人がコードを書いてくれたりすることがあります(明らかに意味のないIssueやPull Requestを出すのは迷惑なのでやめましょう)。
OSSコントリビューションは普段自分たちが使っているライブラリなどにIssueやPull Requestを出してライブラリに貢献することを言います。特にPull Requestは実際にコードを書くので、ライブラリで使われている言語やライブラリのプロジェクト構成などをしっかり理解していることが必要です。ここまでやっている人はtraPの中でもあまりいない印象で、実際の企業でエンジニアをやっている人でもそんなにいないと思います(多くのプロジェクトでは英語でコミュニケーションを取ることも壁なのかもしれませんが)。
Webエンジニアになりたい人たちはここまでできるようになることを1つの目標としてもいいかもしれません。

いかがでしたか?

traPに入ってから最強エンジニアになるまでのイメージを掴んでもらえましたでしょうか。僕が最強じゃないのでこれだけだと最強になれないと思いますが、参考にして自分なりの精進のしかたを見つけていってもらいたいと思います。

最後に僕が今特に足りていないと思っているところを書いて終わります。

明日の担当はo_ER4くんですお楽しみに~

mehm8128 icon
この記事を書いた人
mehm8128

21BJC。SysAd班で色々やってます

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2022年4月7日
traPグラフィック班の活動紹介
annin icon annin
2021年8月12日
CPCTFを支えたWebshell
mazrean icon mazrean
2021年5月19日
CPCTF2021を実現させたスコアサーバー
xxpoxx icon xxpoxx
2021年3月19日
traPグラフィック班の活動紹介
NABE icon NABE
2024年3月22日
traPグラフィック班の活動紹介2024
haru10 icon haru10
2024年4月14日
Spotifyのクライアントを自作しよう
d_etteiu8383 icon d_etteiu8383
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記