にわとりになる日まで

ひよこな大学生のブログ

インターン戦記 ~Wantedly編~

どうも、@uzimaru0000 です。

8/19 ~ 9/4 まで Wantedlyインターンに行ってきたのでやってきたことなどを書きたいと思います。

選考の話は こっち に書いてあります。

Wantedly って?

“シゴトでココロオドルひとをふやす” Wantedlyはシゴトでココロオドルひとをふやすために、働くすべての人が共感を通じて「であい/Discover」「つながり/Connect」「つながりを深める/Engage」ためのビジネスSNSを提供しています。

”シゴトでココロオドルひとをふやす” と言うミッションを掲げ

  • 企業とユーザーを結びつけるビジネス SNSWantedly Visit」
  • 名刺をスマホで撮影して簡単に管理が行える 「Wantedly People」

の2つのサービスを開発・運営している企業です。

インターンの内容

www.wantedly.com

僕はWantedly Visitのフロントエンド開発のインターンに参加しました。 完全に就業型インターンで2週間半(ホントは3週間なのですが次のインターンとの兼ね合いで調整してもらいました 🙇 ) メンターさんがインターン生一人ひとりについてくれて、隣で開発できるので困ったときにすぐ相談出来てよかったです。また、その日の最後にメンターさんと振り返りミーティングをして詰まっているところを共有したり、レビューをもらったところを詳しく聞いたりととてもいい環境でインターンを出来たと思います。

やっていた内容としては、UIコンポーネントの開発とVisit の企業側管理画面のリニューアルをしていました。

UIコンポーネントの開発

最初にUIコンポーネントの開発をするタスクをもらいました。

WantedlyのUIコンポーネントの事についてはこちらのスライドが詳しいかも知れません。 speakerdeck.com

内容としては色ありverのコーチマークを作るというものでした。そこだけ聞くと簡単そうですがグラデーションがかかっているので吹き出しの色の設定が難しいと言って めんどくさがり 誰もやっていないタスクでした。 自分としてはReactを初めて触るしReactの知識はそんなに要らなそう + Unityでそういう処理は慣れている(はず)っと思いやらせてもらいました。 実装自体は2日くらいで出来たのですが、テストコードを追加したりレビューの修正をしていたらPRをマージ出来たのは最終日になってしまいました。

他にも前Termのインターン生が実装していて途中だったRangeSliderの実装をしたりしました。

Visit の企業側管理画面のリニューアル

ちょっと前まで募集作成フローのリニューアルをしていたらしいのですが、それも一段落して新しい部分のリニューアルをやりました。コンポーネント内で使っていたInputFormやButtonはUIコンポーネントで定義されているものを使って実装ができるので、すごく良いなーっと思いました。StyleはほとんどStyled-Componentsでレイアウト関係のことを書いただけでした。 8月までにその部分のMVPを完成させるということでそれに少しでも貢献出来たかなーっと思います。 リニューアルは裏側でBFF & GraphQLを使っており*1スキーマ駆動な開発だったのでPropsの型をスキーマから自動生成された型にして開発をしていました。 実際MVPを作るのも繋ぎこみの部分を2日くらいで完成させていたのでスキーマ駆動開発の凄さを知れました。 他にもデザイナーさんが作ったデザイン通りのコンポーネントを作成するという経験が無かったのでとてもいい経験になりました。

その他

他には募集作成フローの細かい修正をしていました。そのうちの1つがちっちゃい箇所だったのですが自分で見つけたところでサービスを良くしている感があってよかったです。

エンジニアが集まって進捗報告をするDeveroper's Meeting や 社内全体で集まって何をやっているか共有するDemoDay などのミーティングやWantedlyは8月で1年が終わり9月から新年度が始まるのでそれのKickoffにも参加させてもらいました(10時に始まることを知らずに遅刻してしまいましたが。。。)

その他ミーティング等にも参加させてもらい、おそらく普通の社員さんと同じような感じで扱ってくれたと思います。

お昼ごはん

他のインターン生の人も書いていますが、 白金台はご飯が高い です。 最初に5万円の給料先払いがあったのですがそれが無かったら普通に死んでました。

f:id:uzimaru0601:20190908175627j:plainf:id:uzimaru0601:20190908175632j:plainf:id:uzimaru0601:20190908175641j:plain
白金台飯

結構チームの人とランチに行く機会が多かったのですが、大体帰ってくると懸垂していました。僕は1回だけやったのですがほとんど出来なかったです。

あと、カレーうどんを食べに行ったときにお店のシステムを(真面目に?)マイクロサービス化しようと話していたりWantedlyのエンジニアは(いい意味で)変な人達だなーっと思いました。

まとめ

まとめると 最高のインターン でした (n=2) React周りのことやUI/UXのことを学べた約3週間だったと思います。 書いたとおり就業型で約3週間だったので会社の雰囲気がわかったし、React初心者でもメンターさんやチームのサポートがあって無事にタスクを終わらせることが出来てとてもいい経験になりました。 今回の経験を活かしてこれからもがんばります 💪

f:id:uzimaru0601:20190908175650j:plain

*1:詳しくはメンターさんが書いたブログ見てください : https://www.wantedly.com/companies/wantedly/post_articles/183567

前インターン戦記

どうも,@uzimaru0000です

タイトル通りインターンが決まるまでのことを書こうかなって思います.(結構書いてる人を見て書きたくなった)

結果としてはこんな感じです

企業名 合否
Wantedly 合格
アカツキ 合格
Pixiv 合格
コロプラ 不合格
mixi 不合格
Fringe81 不合格
VOYAGE GROUP 選考辞退
LINE 選考辞退
はてな 選考辞退

3社も合格したのでわーいって感じです

自己紹介

自分はこんな感じのスペックですよーって感じでサクッと書きます

学部 : 3年
年齢 : 21歳
技術 : Webフロント・Unity

作ってきたものは GitHub を見てください.

選考に至るまで

サポーターズの1on1に参加しました.
3月と4月にあったやつ2つですね

選考を受けた企業さんはほとんどここでお話しして選考応募した感じです.

選考応募を出した基準

僕自身WebフロントとUnityを使って色々開発をしていたりアルバイトをしているのですが,就活をするにあたってどっちをメインでやっていくかはっきりしたほうが良いなーっと思ったので夏のインターンで「Webフロントのインターン」と「Unityのインターン」かつ「1週間以上のインターン」という基準で応募しました.
あとは,1on1で話をした感じ良さそうな企業に応募しました.

選考について

選考辞退した企業については,すでにインターンが決まって予定がいっぱいになってしまったので辞退しました.

Wantedly

フロントエンドでReactを使ってたインターンでモダンなフロントエンド開発をできそうだったので応募しました 事前課題が「Reactを使ってToDoアプリ開発(できればFunctionalComponents + Hooks)」を1週間で作るというもので Reactやったときねーーって感じだったんですがReact HooksにuseReducerというものがあって雰囲気がElmっぽかったのでなんとかできました.

個人的に選考のやり取りをWantedlyのアプリでできたのが体験よかったです(他の企業がメールが多くちょっと神経つかうので)

アカツキ

コーディング試験 + 面接 という流れでした コーディング試験は基本的なことができてれば解けるかなーっという感じでした(アルゴリズムというよりは実装力?) 面接ではVR部での開発経験を話してました.やっぱりチーム開発の経験は大切そう(?)

3週間の実務インターンとGameJamに参加します.GameJamに出る人はよろしくおねがいします🙇

Pixiv

実は最初に梅雨インターンのエントリーをしていたのですが,そちらは結果的には不参加になりました. が,新卒採用の方をお誘いしていただき,やっぱり会社の雰囲気とか実際に入って開発とかをしたいと思ったので「インターンしたいです」っと言ってインターンさせていただくことになりました 🙏

時期としては9月ではなく10月なので夏インターンの人とは合わないかもしれないです.

梅雨インターンをWebフロントで出したのでインターンはWebフロントだと思ったのですがUnityらしいです.

コロプラ

ハッカソンではなく就業型の方にエントリーしました.

Webテスト + 面接 という流れでした. Webテストは3DCGの知識や3Dゲームの知識を試される問題が多かった気がします. 面接が人事の人とだったのでめちゃくちゃ油断していた(油断するな)のですがアルゴリズム・データ構造・3D(ライティング)のことを聞かれてめちゃくちゃ焦りました. ライティングが雰囲気しか理解していなかったのでしっかりと答えれなかったです.もっと勉強しないとなーって感じでした.

mixi

1on1のあと面談をしてエントリーするという感じでした. 面談のときにES出したら多分通ると思うのでーっと言われたのでちょっと気を抜いてました(気を抜くな)

Fringe81

Fringe81の方が大学に来て説明を受けてエントリーしました. 実はこの時点で3社のインターンはきまっていたのですが,FringeといえばElmということでちょっと興味がありエントリーしました. 事前課題としてはReactでアプリ開発だったのですが,Elmでもいいですか!!と言ったらOKでElmでやりました(最高だった) 事前課題は一瞬でOKが出たのですが,面接で落ちてしまいました...

終結

8/19 ~ 9/4 : Wantedly
9/5 ~ 9/20 : アカツキ
10/7 ~ 10/11 : Pixiv
インターンしてます.

この期間中に東京にいるのでご飯いける人行きましょう!!

Gocon 2019 Spring に参加してきた話

どうも、うじまるです

4 / 18にあったGocon 2019 Spring にメルカリのスカラシップ枠で参加してきたのでそのことをまとめたいと思います。

gocon.connpass.com

スカラシップに応募した経緯

締切の数日前にメールでお知らせが来たので、せっかくだし応募だけしておこうという結構軽いノリで応募した。 そしたら、受かった。正直、受かると思ってなかったのでびっくりだった。

Gocon前日

前日にメルペイの社員の方とランチということで前日から東京に行っていた。 「ランチ始まる1時間前にGoogleの社員の人たちも一緒にランチすることになったよ!」っと連絡が来て新幹線で震えていた(Goチームの方が3名居て、Keynoteで発表したKatie Hockmanさんやセッション発表していたMichael Matloobさん、Julie Qiuさんでした)

Go2のGenericsの話などGo言語のことをメインで話した(英語が駄目なので雰囲気でした理解できなかった)

Gocon当日

ためになったセッション

Keynote

github.com

Go Proxyのことについてのお話でした。 正直、この日にGo Proxyのことを知った + 英語で1割くらいしか理解できなかったと思います。(英語能力を高めたい・・・)

Case studies of designing developer friendly libraries

developer friendlyなライブラリについてのお話。

  • 郷に入っては郷に従う というようにGoの慣習に従った設計にする。
  • 拡張性を保つため差し替え可能な設計にする。
    • Functional Optionを初めてしった

この2つはどのライブラリ設計にも共通するなーっと思った。

エラー設計について/Designing Errors

docs.google.com

エラー設計の話。

エラーコードを自分たちで定義してそこをハンドリングするようにする、という部分がなるほどと思った。 実際、どの言語でやってもここは大切だと思うので普段の開発でもやっていこうと思った。

Design considerations for container-based Go applications

speakerdeck.com

コンテナベースのアプリケーション設計の話。

2つのガイドラインに沿って

  • Configuration
  • Logging
  • Monitoring

の設計をどうするかや実装の説明もしていて分かりやすかった。

Fuzzy finder as a Go library

speakerdeck.com

Fuzzy finderのLibraryを作ったという話。

以前、CLIを作ったときに使ったライブラリだったのでアルゴリズムの話を聞いてみたい! っと思い聞きました(それが5割で5割くらいは大学の先輩だったので) 自分でも実際実装して見ようと思いました!

懇親会

美味しかったです!!

最後に

Goを初めてまだ半年ほどでしたがとても勉強になるカンファレンスでした! これからGoの勉強をやっていこうというモチベーションに繋がりました!!

最後にスカラシップで参加させていただいたメルカリさん、運営をしていた方々、スポンサーの方々、本当にありがとうございました!!

平成最後にハッカソンに出た話

どうも、うじまるです。 同じ大学で同じハッカソンに出た人たちが次々とブログを書いているので焦って書き始めてます。

内容

サイバーエージェントさん主催の「平成最後のハッカソン」というハッカソンに参加してきました。 開催期間は4 / 19 ~ 4 / 30 と準備期間に約1週間ある余裕のあるハッカソンでした(余裕があると思ってた)

詳しくはこちらから

www.cyberagent.co.jp

参加に至るまで

2月のサポーターズのイベントでちょこっと話は聞いていて、ふんわり出たいなーくらいに思っていてギリギリ忘れそうな頃にTwitterで告知があり、 id:tjmschk と出るぞーって言って同じ研究室の先輩の id:mt_coff さんに声をかけて参加するかーっとふんわりした感じで参加決定しました。

お題発表

4/19 にお題が発表され 「平成生まれの私たちが、平成を楽しく振り返ることができるサービス/モノ」 ということで各自いろいろアイディアを考えてから、翌週月曜日あたりにオンラインで何を作るかを話し合いました。

で、決まったのが

黒歴史を投稿・共有できるサービス

っということに決まり、僕はFirebaseのあたりをいろいろやる人になりました(なんちゃってサーバーサイド)

制作期間

弊チームのメンバー全員がフロントエンドやるマンだったので二人にUI部分を任せて「FirebaseだしAPIとか作るのとか余裕だからゆっくりやるかー」っと呑気にしていました。

そんな中、悲劇
Firebaseできたーって思ってPR出してフロントの進捗見ようとしたらリモートにブランチがない

どうやらできてなさそう

っということでUIの感じはできていたので徹夜で突貫工事をしました。

このあと、チームの人達がいろいろ実装してくれました 🙇‍♂️

当日

4 / 31 の時点で結構な部分ができていてあとはTwitterでの共有の部分だけだなーっとか思っていて、その部分を実装してました。

完成してからはひたすら黒歴史を晒す作業をしてました。

結果

完成したもののリポジトリはこちらです

github.com

実際に動いているものはこちら

ca-dark-history.firebaseapp.com

結果としては賞を取ることはできませんでしたが、他のグループのクオリティの高い作品を見れて「すげー」ってなってました。

懇親会

お寿司とかお肉とかたくさんたべれてしあわせでした
他校の同年代のエンジニアとあまり交流がなかったので近くの席の人といろんな話をできて楽しかったです。(Elmをやってる人がいなかったのが残念だった)

まとめ

  • 進捗確認は頻繁にやろう
  • 発表をするときはきちんと喋ることを決めよう

っと思いました。

久々のハッカソンでとっても楽しかったです。今回主催・準備をしてくれたサイバーエージェントの方々、チームのメンバー、他の参加者の皆さんありがとうございました!

最後に

夏休みにインターンに参加したいです!!

twitter.com

github.com

B2の春休み

どうも、うじまるです。
もうすぐ4月になり新年度になりますね。
春になるのに会津はまだ寒いです。つらい

ブログも更新していなかったのでB2の春休みのことをまとめてみます。いわゆるポエム

やったこと

  • リクルート Webフロントスピードハッカソン
  • サポーターズ 1on1面談イベント
  • 帰省 & 法事
  • WebHack#21 x Indeed: Elm at large & Data Analytics
  • ディズニーシーに行った

春休み前

春休みに入る前に春休みはどっかにインターンに行って 出稼ぎ & 圧倒的成長だ!! と思ってインターンの応募とかしてみた

応募した企業

落ちた企業

全落ちである。夏休みに続いて2度目 ✌
Pixiv, リクルートは面接に行く前の段階で落ちたので実力不足
サイバーエージェントは面接で落ちたので実力不足
面接が苦手すぎる。誰かやり方教えてください。

one dayのハッカソンに受かったのは嬉しかった。
後輩が落ちたインターンに参加したのでしんどかった(実力不足)

リクルート Webフロントスピードハッカソン

はとバスに進められて応募、無事合格して参加することに。
参加者に同じ大学の先輩が二人いてびっくりした。

結果としては最下位だったけどいろいろ学ぶことができたので良かった。
パフォーマンス・チューニングとかやったこと無かったけど気をつけようって思った。

お昼のお寿司が美味しかった

サポーターズ 1on1面談イベント

2月にサポーターズでやってた企業の話を聞く会みたいなのに参加したときに「出ませんか〜」って誘ってくれたので参加した。

の人事&エンジニアの方と1対1で面談する会、いわゆる逆求人イベントです。
周りがすごい大学(語彙力)とか有名企業にインターンに行ってる人たちばかりで一緒に参加してるのがしんどかった。

このときはなぜかサイバーエージェントと面談がなかったけどたくさんの企業とお話できたのでいい機会だった。
自分が今まで作って来たものとかを見せて結構いい反応だったので嬉しかった。
今の所悩んでる

  • WebエンジニアとUnity(xR)エンジニアのどちらで就活をしていくか
  • どのような基準で就活してるのか

を相談できたので良かった。

まだ、インターンの日程が特に決まってないらしく決まったら教えますーって言われた。
会社見学に来てくださいーっと言われた所もあったので行きたい(地方学生はシュッと東京に行けない)

4 / 14にあるやつにも参加するのでもっといい感じに話したいです。

帰省 & 法事

父と祖母の法事があったので実家に帰省した。
父の3回忌だったらしく「もうそんなに経つのかー」っと思った。意外とすぐ時間は立ってしまうね。

帰省して地元の友人と徹夜でしりとりをするという謎の会をやって楽しかった。
実家は自動飯デプロイなのでめちゃくちゃ楽、最高。

WebHack#21 x Indeed: Elm at large & Data Analytics

実家から会津に変えるついでに参加。
Indeedでやっていて会が全部英語だった(聞き取れないところとかあった)
アイスブレイクで当たってしまい、英語力の無さで中学生みたいな英語で自己紹介した(しんどい)

内容は、FPとElmについてと楽天がElmを使ってどんな感じか(たぶん)とData Analyticsについて(集中力が死んでた)でした。
とっても勉強になりました。英語勉強します。

ディズニーシーに行った

いきました。
久々のディズニーで楽しかったです。
トイストーリーマニアめっちゃ面白かった。ゲーセンにおいてほしい
タワーオブテラーに殺されました。死にました。

楽しかったのでまた行きたいです。

まとめ

なんだかんだで週1で東京行ってた気がする。土日に行ってるときが多くて人多くてしんどかった。
ここに書いてないときはアルバイトしたり、趣味でプログラミングしたり、VRChatしてました。

インターンには行けなかったけどそこそこ充実した春休みだったと思います(思いたい)

B3の夏休みはインターンたくさん行くぞー おー
(まじで面接が苦手すぎるのでどうにかしたい、コツをしえてください)

余談

そういえばブログタイトルが「にわとりになる日まで」なのにTwitterのアイコンがにわとりになっちゃいましたね

Hyper.shがいい感じだった話

hyper.sh はサービス停止してしまったみたいです。。。

この記事は Aizu Advent Calendar 2018 の14日目の投稿です。 13日目はtranscode001さんでした。

どうも、うじまるです

半年前からサーバサイドにも興味が出てきてelixir(挫折した)やらgolang(いい感じ!)をやってます。
今までゲームやフロントエンドしかやってなかったので公開するときはgithub.ioでどうにかなってたのですがサーバサイドそうも行かないです。
そこで、いろいろホスティング先を調べててたどりついたhyper.shのことを書きたいと思います。

https://hyper.shhyper.sh

hyper.shとは?

公式サイトには「Hyper = Serverless Container with Docker UX」と書かれてます。
Dockerの使い勝手のままでサーバレスコンテナを扱えるサービスです。

使い方は簡単でdocker run hogehogeをhyper.sh側で実行させたかったらhyper run hogehogeとするだけでできます。もちろんdocker-composeも扱うことができ複数のコンテナを起動させて連携させることもできます。

なんでhyper.sh

AWSGCPを使ってみたいを思ったのですが、それを扱う勉強をしなければならず中々手が出ませんでした。 またDockerを使いたいと個人的に思っていたのでDockerを使えるホスティングサービスを探しました。 まとめると

  • 手早く扱うことができる
  • Dockerをつかえる

という条件にあっていたのがhyper.shでした。

使い方

まじでdockerとほとんど同じなので説明はいらないような気がします。 強いて言うならばhyper pullはDockerHubに上げてないとできないので一旦docker imageにしたものをDockerHubに上げなければいけません。なので、hyper composeyamlファイルにはbuildが使えずfromしか使えません。

cronも設定できるので定期的にプログラムを実行したい!っと言ったこともできます!!

お値段

流石に無料ではないですが、コンテナ単位での値段ではなくコンテナの起動時間で1秒ごとに料金が発生する仕組みで必要なときに起動させて、要らなくなったら気軽にできます。 コンテナのサイズはS1からL3まであり、一番小さいコンテナだと1ヶ月約$1という値段で扱うことができます。

コンテナ以外にかかる値段で大きいところは以下のとおりです。

  • ストレージ10GBで月$1
  • パブリックIP1つに付き$1

他にもちょこちょこ取られるみたいです。

感想

個人的には結構いいなと思いました! ちょっと使った感じだと、APIサーバ用のコンテナ + DB用のコンテナ + DBのボリューム10GB + パブリックIP で大体$4くらいでした。 herokuなど無料でホスティングできるサービスもありますが、一定時間でsleepになってしまうなど限界があるのでサクッとWebサービスを作ってみたいけどsleepにされたくない!っといった場合は使ってみてはどうでしょうか!?

さらに、1ヶ月間は無料で扱えるのでぜひ触って見てください! https://console.hyper.sh/register/invite/eArOD9doyjTKwBAj40m8ipmRDnBnejcr このURLから登録したら$10もらえるみたいです(僕ももらえるので登録してください)

自作キーボードつくった!

どうも、うじまるです

今回は自作キーボードを作ったのでそれのことを書こうかと思います。
(別にアドベントカレンダー前でブログ更新しとこう的なsomethingじゃないです(じゃなくないです))

作ったもの

作ったものはこちら(デデドン)

Helixというキーボードキットで作りました。

yushakobo.jp

このキーボードキットの特徴というと

というところです。

作った経緯

Twitterで先輩が作っているのを見たり、自作キーボードのツイートを見て前々から作りたいと思っていたのですが
ハンダ付けがしんどそう
これがあって中々手が出ませんでした

が、斯く斯く然々で作るに至りました。

「斯く斯く然々」の部分

意外と作れそうと思った

ハンダ付けが中学生のときに授業でちょっとやったくらいなので出来るか心配 & ダイオードとかちっこいやつ付けるのしんどそうっと思ってたのです。 が、ググってみると「失敗してる人もいるけど意外と行けそう・・・!?」とか思ってしまい、キットをポチる一歩手前に来ました。

発送時期がピッタリだった

Helixキットは中々人気で最初に作ろうと思ったときは予約段階でまだ発送がされてませんでした。
しかし、ポチる一歩手前(11月下旬)のときには「11月下旬発送予定」って書いてあるじゃぁないですか。

ポチりました。

作ってしんどかったところ

作る過程は写真を取らなかったのでありません・・・申し訳ないです
しんどかったポイントは

  • ダイオードつけるのがしんどい
  • キースイッチでブリッジするのがしんどい

この2つです。

ダイオードつけるのしんどい

ちっこくてしんどいです。根気よく64個つけましょう。

キースイッチでブリッジするのがしんどい

ブリッジするとそのキーが使えなくなるので慎重にやりましょう。しくじったらハンダ吸い取り線で吸い取ってもっかいやりましょう。
僕はハンダ吸い取り線がうまく使えなく、一回ブリッジしたのにビビってちょこっとしかハンダを付けなかったら 反応が悪いキーが出てきてしまったのでしっかりつけましょう。

おわり

今回の組み立ては全部AizuGeekDojoでやりました!
必要なものが揃ってるので自作キーボードをやりたい会津大学生は気軽に初めていいと思います!