見出し画像

Squard, inc.インターン報告②

こんにちは!

スクアード株式会社でインターンをしている早稲田大学の功刀友貴です!

前回のnote初投稿を読んでくれた方、ありがとうございます!コメントしてくれたりSNSから感想を送ってくれた方もいて、インターンの励みになっています!

この記事では3-4週間目で取り組んだことや学んだことをまとめていこうと思います。

「自分が書いたとおりに動いているだけ」

3週間目は、2週間目に取り組み始めたAdobeXDのプラグイン制作を続けました。

↑適当に配置したものを、左のパネルで

こんな感じに等間隔(間隔は必ず8の倍数)に配置できる、などなど。間隔を8の倍数にすることに関連した機能をプラグインに追加しました。

「なぜ8の倍数なのか」を含めoctifyについて、デザイナーの松井さんのnoteに記載されています。


プラグイン制作はAdobe公式のレファレンスを読みながらの作業となったのですが、英語のページに慣れるまでは読むだけでもかなり大変でした。

まず使えそうな機能を探すのが一苦労です。見つけることができても十分に理解できないため、プラグインに組み込むと必ずエラーがでました。

しばらく悩んで解決しないエラーについては、スクアード株式会社CTOの柳澤さんに相談ながら作業をしていたのですが、その中で、

「自分が書いたとおりに動いているだけ」

こんなニュアンスの言葉が何度か出てきました。

自分はエラー内容をよく読まずになんとなくでコードを修正してしまったり、エラーの原因をどこか自分の書いたコード以外に求めてしまっていることが少なくありませんでした。

「自分が書いたとおりに動いているだけ」この言葉を聞くたび、改めて自分が書いたコードと起きたエラーに正面から向き合うことができました。

3週間目の終わりが近づいたころには、エラーが出た際に「昨日なら柳澤さんに相談してたな」と思うことが何度もあり、自分が日々エンジニアとして成長していることを実感しました。

さらに、プラグイン制作の中で柳澤さんから、プログラムのテスト方法とTDD(test- driven development)というテストを先に書いてから機能を実装していく開発方法を教わりました。

今までは目的の機能をどうやって作るのかばかりを考えてきましたが、バグのないように、読みやすく修正しやすいように書くという、より実践的な新たなステップに進めたように感じました。


追加機能が形になると、すぐに松井さんに使ってもらいました。

最初に使ってもらった時を簡単に再現すると、、

↑を間隔を8にして並べ替えようとしたら、、

一番右の青い四角が吹っ飛びました。(修正済み)

他にもバグや、改善点をいくつも教えていただきました。

人の役に立つものを作ることの難しさと、そのためにテストがどれほど重要かを痛感しました。

テストを書くことためには数学的な考え方が必要であり、今まで自分が数学を疎かにしてきてしまったことを後悔しています。同時に大学の勉強へのモチベーションは今までにないほど跳ね上がっています。

プロジェクト「Comune」キックオフ

インターンが4週目に差し掛かったころ、代表の小池さんから「Comune」というプロジェクトの提案をいただきました。

このプロジェクトは、スクラムを組んだアジャイル開発で進められる予定で、デザイナー、マーケター、エンジニアをそれぞれを社内で勉強している、インターンを含む3人が担当します。自分はここにエンジニアとして参加します。

プロジェクトの詳細は現在つめている段階ですので、また別の機会にお話ししできればと思っています。

スクラムを組んでのプロジェクトを主体的に学べるチャンスにとてもワクワクしています。

同時に、Webプログラミングを2月から学び始めた自分が、1人でプロジェクトのエンジニアを担うことに対しての不安も大きいです。

プロジェクトを達成するためには、これまで学んできたフロントエンドだけでなく、サーバー等のバックエンドの開発も必要になります。バックエンドには今までほとんど触れたことがなく、リリースまでをイメージすることすら十分にできていません。

しかし、このプロジェクトを最後までやりきったとき、自分は一つのwebサービスを公開するために必要な知識や技術を一通り身に着けているはずです。

リリース後の自分がエンジニアとしてどれほど成長できているのか。想像するだけで脈が早くなっていくのを感じます。

ゼロから始めるバックエンド

Comuneのキックオフ後、すぐにバックエンドの学習を始めました。

バックエンド学習の入り口として、『Amazon Web services 基礎からのネットワーク&サーバー構築』(通称紫本)という教本を使い、AWSを利用したサーバー構築を学びました。


バックエンドの開発はwebサービスの利用者が普通意識することのない裏側の開発であり、私にとっても未知の世界でした。

サーバーにアクセスして編集するためには、フロントエンド以上にコマンドを使用しなければならず、ターミナルの黒画面と向き合っての作業は最初はなかなか辛い時間でした。

しかし、紫本を進めていくことで、サーバーを構築しながら自分に欠けていた情報技術の基本的な知識が少しずつ身につけることができ、コマンドによる操作にも慣れていくことができました。

コマンドでのPCやサーバーの操作になれてくると、黒画面と向き合っている自分を「エンジニアっぽいな~」と思いながら、少しずつバックエンドの学習を楽しめるようになりました。

紫本を終え、これまで未知の世界だったバックエンドの輪郭をつかむことができた気がします。

ITの情報量は無限

紫本を一読し、webサービス公開に必要な一連の知識を得た気になった私は、Comuneリリースまでの道筋を立てるために、webサービスに必要となりそうな機能の実装方法を勉強し始めました。

しかし、教本通りに手を動かすのとは違い、使用する技術の組み合わせを自分で考えていくことは簡単なことではなく、小池さんやマーケターの菊池さんにシステム設計についての解説とこれから学んでいくべきことをピックアップしていただきました。

アドバイスをもとに学習を続けると、一つを掘り下げていけばどこまでも掘り下げていくことができ、掘り下げていけばほかの技術などの知識も求められ、情報技術を学ぶことの終わりの無さを痛感しました。

Webサービスをリリースするためには、無限の情報量から必要な情報をピックアップして学び、リリースまでのプロセスを一つひとつ解決していかなければならず、改めてプロジェクト達成の厳しさを感じて身が引き締まる思いです。

まとめ

3-4週間目は、Comuneのプロジェクトが動き出したため、これまでのフロントの学習から大きく手を広げバックエンドやシステム自体についても学び始めました。

この2週間にはSNS運用などマーケティングにかかわる話を聞いたり、小池さんとじっくり話す機会があったりと、自分が取り組んでいること以外の学びもたくさんありました。

新しいことを学びきっかけをもらえるという、オフィス内で勉強できることのありがたさを改めて実感した二週間でした。

この記事が参加している募集

最近の学び

この記事が気に入ったらサポートをしてみませんか?