ややめも

アプリ作りたい女子大学院生のめも💁‍♀️

技術メモ
日記
つくったもの
就活の話

プログラミングを始めて1年の私が参加した情報系のイベント

はじめに

情報系を勉強する女子大生 Advent Calendar 2017の22日目の記事です。

こんにちは!情報系の学部に所属している大学4年生です。 大学では情報系の授業はいくつかありましたが、興味を持てず、もちろんプログラミングなんてできるようになりませんでした。 そんな私も3年生の秋にはとうとう情報系の研究室(現在は主に医療情報処理を担当)に配属されることとなり、

「このままじゃあかん・・・・自分で色々やってみよう!」

と一念発起し、昨年の冬から独学でプログラミングを勉強するようになりました。

自分でコードを書き始めて大体1年経つかたたないか位ですが、この1年の間に

  • ACM-ICPC 2017 国内インターネット予選
  • JPHACKS 仙台予選
  • JPHACKS AwardDay進出
  • 某社1dayインターンシップ(RubyによるWebアプリの開発体験)
  • Study Session @ Indeed Tokyo(Pythonのコードレビュー)

などに参加してきました。

情報系を勉強する女子大生 Advent Calendar 20174日目の記事を書いてくださった@belle0224さんも述べていますが、私も

「勉強するとは言っても、何をしていいかわからない・・・・」 「イベントに参加するほどの自信がない・・・」

という学生でした。

前置きが長くなりましたが、 私のような初心者・自信のない方にもイベントに参加したい!!!と思ってもらえるように、 プログラミングが全然できなかった私が一年間で参加してきたイベントについて紹介していこうと思います。

イベントに参加する前までにやったこと(昨年冬~6月)

初めはプログラミングに関する知識が0に等しかったので、

  • C++を使って競技プログラミング(Atcoder)の簡単な問題を解く
  • Pythonで寿司打の自動化プログラムを作成
  • opencvを用いて、インターネットから集めた画像の綺麗な線画を生成する(そのあとPAINTSCHAINERで自動着色して遊んでいた)

をするなど、完全に遊んでいました。 言語の勉強を目的にするのではなく、作りたいものを作ろうとしたおかげで、楽しく習得することができていたと思います。

また、4月からは正式に研究室に配属されたので、JavaとPython3を用いて研究用の画像処理のプログラムをひたすら作成していました。(ここで画像処理での遊びが活きました)

ACM-ICPC 2017 国内インターネット予選(7月)

この頃は教授の許可を得て、他の研究室の蟻本を解くゼミに参加し、基本的なアルゴリズムを学びました。 おかげで優秀な同期や先輩たちとも関わることができ、勇気を出して頼んでみてよかったです。(今では麻雀仲間です)

この流れで、通称ICPCと呼ばれる大学対抗の競技プログラミングの国内予選に参加しました。 私のチームは予選敗退してしまいましたが、友人と先輩のチームが本選出場を決め、非常に盛り上がりました。

ここで学んだアルゴリズムの基本的な所が、のちに研究やコードテストにて活躍しました。

JPHACKS(10月~11月)

JPHACKSとは日本最大級の学生向けハックイベントです。 10月半ばごろに、M2の先輩2人と同期3人でチームを組み、仙台予選に参加しました。

私自身はハッカソンもWebアプリ開発もほぼ初体験だったのですが、優秀なチームメイトのおかげで本選に出場することができました。 できる人がいると初心者でも気持ち的に参加しやすいと思います。 初体験とはいえども、もちろん10月初旬ごろはjavascriptとフロント開発に関する知識を急いで勉強しまくった記憶があります。JPHACKSでは二日間で睡眠時間を捧げて、力技でプロダクトを完成させなくてはいけないので、一気にパワーがついた気がしました。

また、本選のAwardDayでは予選を勝ち抜いた15チームが作成したプロダクトについて発表を行いました。 どのチームもプロダクトの完成度・技術力が凄いのはもちろんですが、自分のプロダクトの良さを伝えるためのプレゼンが非常にうまくて、大きな刺激になりました。

ちなみに私たちは目的地までの経路上の飲食店を検索できるアプリケーションNagaraMeshiを開発しました。 https://github.com/jphacks/SD_1705 (実際のソースコードはprivateリポジトリに保存してあります)

Cookpad1dayインターンシップ(12月)

Rubyを用いたWebアプリケーションの開発体験のインターンに参加しました。 1日でRubyの文法を教わり、更にWebアプリケーションフレームワークSinatraを用いたWebアプリ開発を体験できました。 初心者にも優しい内容だったので、情報系のイベントに不安がある方はこのような1dayインターンシップに友人と応募してみると良いかもしれません。

Study Session @ Indeed Tokyo(12月)

Study Session @Indeed Tokyo に参加しました。 Indeedさんでは世界No.1の求人検索エンジンIndeedを提供しています。 世界の中でもトップレベルの技術者を国籍関係なく採用しており、実際に社内に入ってみると本当に国際色豊かでした。

本イベントではWeb上でプログラミングテストを行い、テストを通過すると社員さんから自身の書いたコードのレビューをしてもらえます。

プログラミングテストでは、非競プロerの私は計算量を減らす面で苦戦しましたが、競プロerであれば解けると思います。 実際参加している方の様子をみると、競技プログラミングをやっている方が多いように感じました。

Study Session当日は、言語ごとにグループになり、 チームメンバーのコードにレビューをもらったものを凄腕のエンジニアの方に解説していただきました。 仕事でコードを書いている方に自分のコードを見てもらうという、非常に貴重な体験ができます。 更に質問タイムには、エンジニアの方から技術力がアップしたきっかけを聞くことができ、今後のモチベーションアップへも繋がりました。

これまで何度か開催されているイベントのようなので、是非チェックしてみてください!

最後に

初心者でありながらも、このようなことを1年間で行ってきました。 時間に流されて言われた通りなんとなく研究して卒業・・・という生活も悪くはないかもしれませんが、 私は少し勇気を出して積極的にイベントに参加したり、なんでもやってみることで、知人も増え、刺激をもらい、色んな企業を知る機会を貰い、勉強する面白さも知ることができました。 自信がなくてイベントへの参加を躊躇っている方も、ぜひ一歩踏み出して素敵な情報系ライフを一緒に送りましょう!

余談

情報系にかぶれてしまった私はこんなツイートでバズりました。