楽するために苦労する情報系学生

見る専を貫いてきたエンジニア志望の学生が適当に更新するブログです。プログラミングやPC関連について記事を書こうと思っています。

7/9 やりたいことリスト

ブログのネタがなかったので、いまやりたいこと・やらなければいけないことをまとめてみました。

  1. AIを利用した情報システムの分析
    学校の授業の課題。
    複数人でやる課題のため、Slackやクラウドを利用して進めていく予定。
    期限は2週間ぐらいのため、こつこつ進めていく。

  2. 成果物
    現在、時間割とTODOリストを組み合わせたアプリケーションを作成中。
    できればここ数日のうちにHTML、CSS、JSの勉強は最低限終わらせて行きたい。
    その後2週間で成果物を最低限形にしていく予定。
    事前に設定した配列から、時間割とTODOリストを作るところまでは進めたい。
    最終的にはデータベースとの連携させて、Webに公開するのが目標。
    そのためにはデータベース、PHPレンタルサーバーあたりの勉強も必要か。

  3. 資格勉強
    基本情報技術者試験の勉強中。
    次回の試験は10月のため、まだ余裕がある。
    バイトの空き時間や、寝る前の時間で少しずつ勉強していく予定。

  4. 英語
    就職のためにも、大学の単位のためにも勉強する必要がある。
    TOEICを取ろうと思っているが、勉強できていない。
    大学で英語をやってから、既に半年経過しているため危機感を感じている。
    なんか良い教材とか勉強法とかないでしょうか・・・
    高校の教材などを使って復習していく予定。

7/8 プログラマの武器#技育祭

今回まとめさせていただく講演は、成瀬允宣(TwitterID:@nrslib)という方のプログラマ武装化計画です。
ご本人がレポートも書かれているので是非調べて見てほしいです。

プログラマ武装化計画

プログラマとして活躍していくには、どのような武器(技能)を身に着けていくべきかという講演でした。
チャットを積極的に活用していて、とても楽しい講演になっていました。
youtubeなどでの生放送のような感覚でやっていたそうです。

今回は以下の3点を軸にまとめていこうと思います。

  1. 一点集中で専門家になろう!
  2. アウトプットしよう!
  3. 積極的に挑戦しよう!

1.一点集中で専門家になろう!

最近ではI,T,Π,J型等様々な人材が提唱されていますが、まずは広く浅くやる前に一つ極めた技能を持つことを進められていました。
講演では年間500万に相当する技能が3つあっても、給料が1500万にならないわけですね。
同時に3つの技能を活かし切ることは難しいでしょうし、仕方のないことでしょう。
それならば一点集中で1500万の技能が1つあったほうが稼げるとのことでした。
この時点ではI型人材になるのでしょうか。
しかし、一つの技能だけではやはり限界はあるので、ある程度極めた後は別の技能を極めることが進められていました。
そうしてT型やΠ型の人材になっていきましょう。
また、講演中に卍型人材という言葉をアピールされていました。
専門技能を通じ、他の専門家とつながるJ型人材を更に発展させて、あらゆる分野の専門家と繋がる人材とのことです。
Jを90度回転させて4つくっつけると卍に見たことが由来らしいです。
最終的にはここを目指していきたいところですね。

 

2.アウトプットしよう!

これは他でもよく聞く話ではありますが、改めて進められていました。
言語化することで自分の思考を整理できるという感じですね。
しかしこの講演で特に重要だと思ったのは、自分をアピールするためのアウトプットについてです。
GithubTwitter、ブログ、ポートフォリオなんでもいいので、自身の経歴や技能、成果物をアピールしていきましょう。
それらを運用・制作する中で技能も身につきますし、何もしなければ他人は自身の価値を知る機会がないため、積極的にアピールが必要とのことでした。
また、自身の発信によりファンができれば、それは最高の味方・自信になり最強の矛と盾になるそうです。

3.積極的に挑戦しよう!

「自身が解決できない問題はやってこない。少し頑張れば解決できる問題ばかり。」という発言がとても印象に残っています。
間違えや失敗を恐れず、なにかに挑戦する機会があれば、ガンガン手を上げてチャンスを掴んでいきましょう。
ただ、全力で挑んだ結果間違えても、そこから様々なことを学べますが、適当に挑んで間違えても、得られるものはなにもないので注意が必要ですね。
また、一人で何かを制作する機会・経験は非常に大きなものとなるそうです。
他の方の講演でも、実際に就活で自身の制作物を持ち込む人は1~2割しかいないという話がありました。
比較的時間のある大学生のうちに、最低1度はやっておきたいですね。

最後に

この講演からも様々なことを学ぶことが出来ました。
そして、最近始めたブログやTwitterの重要性を改めて認識することが出来ました。
毎日コツコツ続けて行きたいところですね。
制作物については、プロメンの活動で製作中のものがあるので、しばらくはこれに集中していきたいと思いました。

7/6 エンジニアとして成長し続けるには#技育祭

今回まとめる講演については、登壇者の佐藤太一さんがTwitterでスライドを公開しているので是非そちらも御覧ください。
基本的にスライドの順番でまとめていくので、スライドの図などを見るとよりわかりやすくなると思います。

エンジニアの成長に必要なこと

  1. 技術文書から学ぶスキル
  2. コードを書くスキル
  3. コードを読むスキル
  4. 技術文書を書くスキル

どれか一つだけではなく、これらの能力を全て身につけ、ループさせることで継続的に成長させていく。
一つでも欠ければ、適切なインプットもしくはアウトプットができなくなり、成長が止まってしまう可能性がある。
ここからそれぞれについて解説していく。

1.技術文書から学ぶスキル

代表的な技術文書は以下の通り

  1. 仕様書、リファレンス 
  2. 雑誌や書籍
  3. 技術ブログ

1については、初めに一通り目を通すようにする。
ここで、どこに何が書いてあるかを大まかに把握し、バグなどで困った際はすぐに仕様書、リファレンスの該当ページを読み直す癖をつける。
後述するが技術ブログなどインターネットの記事は、成長には適さない場合も多く、仕様書などから理解を深めたほうがプラスになることが多い。
また、技術を深く知るには寄り道が必要である。
ただ順番に読んでいくだけではなく、気になったことや面白いと思ったことについては、別に詳しく調べていくことで深い理解を得ることができるそうだ。

2については読みやすさを重視した上で、目次に目を通してから、読むことが推奨されていた。
ここに惹かれる要素があれば、それは何かしらの学び得られる可能性が高い。
ここでの学びは仕様書やリファレンスを理解する足がかりになる。
また、情報量的には雑誌<書籍、わかりやすさでは書籍<雑誌となっている。
参考文献が載っていると、読み終わった後次の資料を見つけやすくなる。

1、2などの技術文書は無理読まないことがコツである。
見出しや、全体に軽く目を通して半分以上理解できないのであれば、その本に手を出すのは早い可能性が高い。
より簡単な書籍や後述の方法で自身のレベルを上げてから読んでいくほうがよい。
また、近い分野・レベルの本を並行して読むことで、それぞれの本が内容を補足しあい、全体の理解が深くなるそうだ。
必ずしも一冊に集中することがいいわけではないと考えられる。

3については幾つか課題がある。
それは問題を解決するのに役立っても、成長には繋がらない可能性があることだ。
特に手順のみが示されている場合だと、解決はしても原因を理解できない。
これを回避するには注意する点は以下の通りだ。

  1. 課題設定が明確されている
  2. 課題の原因について分析している
  3. 課題解決の手順が明確にされている

闇雲に調べるのではなく、これらに気をつけていくと良質な記事を発見できるようになる。

2.コードを書く

重要なのは足場になる言語を一つ見つけることである。
これについては実際に書いてみる、議論に混ざれそうか、資料は揃っているかという点に注意して見つけると良いそうだ。
おすすめされていた言語は、Python、JS、Go、Kotilin(MacユーザーならSwiftも)、C#、Cである。
個人的にはWebで利用できるJSや、VR・ARに強いC#に興味を持っている。

また、言語とは別に習得が進められていたものとしては、正規表現SQLが挙げられる。
正規表現を理解することで、文字列の自由度が非常に高くなり、SQLを利用することでデータベースを利用できるようになる。
この二つを利用することで高度な情報の管理・検索・分析ができるようになる。

上達させる方法は毎日何らかの課題に挑戦することだ。
同じ仕様のものを何度か繰り返し書き、高いクオリティのコードを書くという方法が紹介されていた。
ここでいう高いクオリティとは、仕様を完全に満たし、再現性や機能追加への柔軟性を十分に持っているということである。

3.コードを読む

アウトプットの10倍のアウトプットが必要である。
他人のコードを読むことが重要であり、Githubなどのオープンソースが利用しやすい。
実際にコードを読む際は、エディタのシンタックスハイライトやブックマーク、タグジャンプを利用すると効率的に読み進めることができる。
また、一度だけ目を通すのではなく、何度も読むことで重要な点を理解できるそうだ。

コードを読む際はディレクトリ、名前空間、抽象度、オブジェクトのライフサイクルに気をつけて読む。
一通り読んだ後はデバックモードを利用すると、より理解を深めることができる。

4.技術文書の書き方

ここでは、書籍の販売などは困難なため、技術ブログの書き方を紹介されていた。
わかったこと・わからなかったことの整理になる上、インターネットの普及により文章を公開する価値が大きく上昇しているという点が大きい。
見出し、段落、文末、なるべく一文は短く、一文で説明しすぎない、参考文献、この辺りに気をつけるべきとのことだった。
また、1の技術ブログで書いたことにも注意が必要。

 

最後に

これでもかなりまとめたつもりなのですが、2000字近い分量になってしまいました。
この内容を一気に生活に取り込むのは、無理そうですが少しずつ組み込んでスキルアップを図っていきたいところですね。
あとこの講演で印象に残っていることとしては、継続するには頑張らないことが重要ということでしょうか。
好きこそ物の上手なれというように、好きなことはいくらでも続きますが、無理に努力して継続してもどこかで折れてしまう可能性が高いですよね。
ある程度余力を持って、ゆるりとやることで長く続くとか。

 

本文とは関係ないお願い

ここまで読んでいただき本当にありがとうございます。
私は最近ブログを初めたのですが、ここ数日非常にブログのアクセスが増えています。
しかし中々技術が追いつかず、クオリティを上げていくにはどうしたらいいかと思っています。
特に今日は急いで書いたため、文体や文脈がおかしい点が多々あったと思います。
お手数かけますが、おかしな点がありましたらご指摘いただけると幸いです。
よろしくお願いします。

7/5 技育祭まとめ 今後どのように活動していくべきか

 

全体感想

技育祭二日目も終わりましたね。
学校で講義を受けているだけでは、触れることのない多くのことを学ぶことが出来ました。
普段どのように業務を行っているのか、今後の展望、就職で注意するべき点はどこか、などなど・・・
このような話は実際に働いている人しかわかりませんし、今後就職していく身には非常に重要なことばかりでした。
簡単ではありますが、以下に特に重要だと思ったことをまとめていこうと思います。

1.IT業界のリアル

今まで私はIT業界に進もうとは考えていても、具体的にどのような業務があるのか調べたことはありませんでした。
幾つかの講演で、業務によるメリット・デメリットを学ぶ事ができました。

  • SI系 (NTT DATA等)
    企業や公共施設向けにシステムを提供している。
    市場規模が大きいため、比較的安定している。
    一方で、使用する技術はCやJava等長く使われている言語であり、社風も硬めなことが多い。
  • Web系 (メルカリ等)
    私達が利用しているサービスを運営しているため、知名度は高め。
    自由度が高く、システムの開発に専念することができる。
    一方で歴史が浅く、まだまだ不安定。
    突然潰れてしまうこともしばしばある。
  • 外資系 (GAFA等)
    企業毎に全く経営理念や方針が違うため、就職するならば事前にしっかりと調べる必要がある。
  • 事業会社 (ユーザー側の企業)
    社内システムの統括が担当。
    SI系と連携して業務を行っていく場合が多い。
  • スタートアップ
    形式は様々。
    非常に優秀な人が多いこともある。
    自身の能力を伸ばすなら、ここが一番か。

また、エンジニアって就職者のなかで1%程度しかいないそうです。
就職時に自身の成果物を持っていく人は、更にその中の20%程度しかいないとか。

 

自惚れるわけには行きませんが、自分が貴重な人材だとわかるだけでもモチベーションは上がりますね。
まずは、10%になれるよう今やっている成果物を頑張っていこうと思いました。

 

2.自己成長するには

ざっくりまとめると

  1. やりたいことやれ
  2. 毎日継続
  3. アウトプット

1についてはそのままですね。
ちょまどさんの講演で出できたヲタ駆動開発というワードはインパクトが有りました。
好きなことをやるのが一番モチベーションになりますしね。

2については継続のアドバイスが有りました。
力を入れて継続すると長続きしないということです。
だらだら軽い気持ちでやることが継続のコツとのことでした。
確かにやらなきゃやらなきゃ・・・という感じで続けるとどこかで折れてしまいますよね・・・

3については様々な方法や考え方がありました。
プログラミングで言うならば、毎日課題を設定しそれを解決するコードを書くなど。
プログラミングはPCさえあれば、ほとんどコストをかけず勉強することが出来ます。
毎日どんどん書いて練習していこうという感じですね。
また、ブログやTwitterポートフォリオで自身の成果をアピールすることも重要とのことでした。

 

最後に

今回は技育祭で学ぶことの出来た内容を簡単に紹介してきました。
まだまだ書きたいことはたくさんあるため、次回以降はより詳細に一つ一つの講演ついてまとめていこうと考えています。

7/3 技育祭2日目の予定

1日目感想

今日は技育祭の一日目であり、各講演と見た上で懇親会に出ました。
どれも非常に良いものであり、今後につなげていきたいと思うことばかりでした。
講演の感想については非常に長くなりそうなので、明日以降のブログで一つ一つ書いていく予定です。

2日目予定

今日のブログでは、明日のどの講演を見に行くかについて書いていこうと思います。

  • 11:10~ RoomA

    変化し、進化し続ける技術者になるために

    〜メルカリ・メルペイCTOの場合〜

    株式会社メルカリ 執行役員CTO

    名村卓

    株式会社メルペイ 取締役CTO

    曾川景介

    今日の講演でも度々紹介されたメルカリのCTOによる講演ですね。
    メルカリはいわゆるメガベンチャーと言われる企業であり、ここ数年フリマアプリやキャッシュレス決済を中心に発展させてきた。
    どちらも非常に競争は激しく、キャッシュレス決済では大企業が率いるPayPayやau PAYなど競争相手となっている。
    このように大企業とも競っているメルカリの技術者から、どのような話を聞くことができるのか楽しみです。

  • 12:20~ RoomA
    ランチLT
    これLTは、今日実際に見るまであまり興味はなかったのですが、様々な企業の方が自由に話すという形式で、テンポよく各企業や技術について学ぶことができました。
    明日も昼食を食べながら見ていこうと思っています。
  • 13:30~ RoomD

    社会人になる前に知っておきたい開発で気をつけるべきこと

    株式会社ビズリーチ

    執行役員/CTO

    外山英幸

    これは確実に今後役に立ちそうだなと思った講演です。
    このような就職後必要とされる知識は、大学だけではなかなか学ぶことのできないものだと思います。
    そのため、今回のようなイベントを通して、事前に学んでいきたいと思っています。
    また、RoomAの人工知能についてやRoomBのLT大会も非常に気になっているので、RoomDの講演が今日見た講演と被る部分のであれば、他の講演を見に行こうと考えています。

  • 14:40~ RoomD

    技術で解決するとは何か

    KADOKAWAグループで実践している基盤提供とデータ分析の事例紹介〜

    株式会社KADOKAWA Connected

    Integrated Data Service部長 塚本圭一郎

    KADOKAWA Cloud Service(KCS)部長 加藤俊弥

    1日目の講演では、自己成長についての講演を中心に聞いてきた。
    そのため2日目では、身につけた技術をどのように活用していくのかという点を中心に見ていきたいと思っている。
    この講演はおそらくサービスの基礎である基盤、運営の方針を決めるデータ分析についてではないかと予想している。
    技育祭全体を見ても似た内容の講演は見当たらないこともあり、非常に気になっている講演の一つです。

  • 15:50~ 
    この時間はどれを見に行くかまだ決めかねている状態です。
    初めの方をいくつか実際に見て決めていこうと思っています。
    気になっているものとしては、デザインについて述べるRoomC、雑談枠ということになっているRoomDでしょうか。
    RoomEもこのイベントを企画したサポーターズの社長による講演であり興味を惹かれますね。
  • 17:00~ RoomC

    プログラミングコンテストのすゝめ

    〜競プロはキャリアであり、趣味でもあり、学びである〜

    AtCoder株式会社

    代表取締役社長

    高橋直大(chokudai)

    プログラミングコンテストは今まで意識したことがなかったので、どのようなものなのか気になっています。
    自身の技術を伸ばすためには、他の人と切磋琢磨するのが一番であり、そのためにコンテストを利用しようという感じなのかと予想しています。
    現在まで、そういったコンテストやコミュニティに参加はしたことはないため、この講演で学んでいきたいと思います。

最後に

明日の講演も楽しみですね。
懇親会が今日の部のみということだけが残念に思えます。
20分だけでは場が温まったところで終わってしまうため、後10分、できれば倍ぐらい時間があるとより実践的な内容や踏み込んだ会話ができたのかなと思ってしまいます。
そんな2日目ですが、最大限学べるように積極的に参加していきたいと思います。

7/3 明日から技育祭!

技育祭について

明日から技育祭というイベントが始まります。
エンジニア志望の学生を集めたオンラインカンファレンスですね。

talent.supporterz.jp

今回は3000人以上の応募者がいるそうです。
様々な有名企業や技術者の講演を聞くことができる上、事前の応募で登壇者や企業とお話する機会もあり、非常に楽しみにしていました。

 

1日目の講演について

様々な講演があり、全てに参加することはできないため、事前にどの講演を見に行くかについては決めていました。以下のよう流れで見ていこうと思っています。

  • 11:10~12:10 RoomB

    新しい言語が出てきても怖くない

    プログラミング言語の基礎知識

    We Are Javascripters / Rust LT

    WebAssembly Night オーガナイザー

    清水智公(@chikoski)

    私がプログラミングを本格的に初めたのは、ここ数ヶ月のことであり、勉強している言語もC,Java,HTML系ぐらいしかありません。
    しかし、今後は大学の講義や研究室、そして個人的な興味から新しくプログラミング言語を学んでいくことでしょう。
    そのため、この講義を受けることで、今後のプログラミング学習のヒントを学びたいですね。

  • 13:30~14:30 RoomC

    (自称)GAFA社員は教えてくれないIT業界のリアル

    イキリデータサイエンティスト

    マスク・ド・アナライズ

    IT業界に進むことはほぼ確定しているため、今のうちから業界について勉強していきたいと思いました。
    おそらくあまり良くないこともあるのでしょう。
    この講演から、早めに知ることで心構えやその回避策を見につけていきたいですね。
    また、RoomAの講演も気になっているため、余裕があればそちらも見に行きたいです。

  • 14:40~15:40
    この時間は何を見に行くかは厳密に決めてません。
    RoomCのGOについての講演は少し気になっているのですが、休憩するのもありかなと思っています。
  • 17:00~18:00 
    この時間は何を見に行くか非常に悩みますね。

    学生エンジニアの生存戦略
    Ruby開発者
    まつもとゆきひろ

    プログラミング楽しい! (Azure 入門)

    Microsoft Cloud Developer Advocate

    千代田まどか(ちょまど)

    特にこの二つが面白そうだなと思っています。
    前者は学生としては非常に気になる内容ですし、Rubyの開発者である「まつもとゆきひろ」さんの講演というだけでも見に行く価値がありそうですね。後者はクラウドの利用について学ぶことができそうです。
    今すぐではなくても、今後クラウドに触れる可能性は高いと考えられるので、Microsoftクラウド部門の方のお話を聞けるというのが、見に行きたい理由です。
    ほか二つも面白そうな講演ですし悩みどころです。

明日(投稿日時によっては今日)の技育祭はこんな感じで見ていこうと思います。
18:00からある懇親会も貴重な機会ですし、積極的に会話に参加していきたいですね。
しかし、今日やる予定だった課題がいくつか終わっていない状態なので、講演が始まる前に片付けないといけませんね。
なかなか忙しい一日になりそうですが、たくさんの事を勉強したいきたいと思います。

7/2 プログラミングの勉強法

本かWebか

本格的にプログラミングの勉強を始めてみたのですが、様々な教材がありどれを利用しようか非常に悩みます。
本、w3schoolsのような無料で勉強できるサイト、Progateやドットインストールなどの有料サービスと様々な選択肢があるんですよね。
初めは無料サイトで勉強していたのですが、英語だけだったり情報が少ないという問題があり、今はKindleで本を購入しそれを参考に勉強しているところです。
有料サービスには抵抗があり、本を購入したのですが、Twitterでは有料サービスを利用する人もよく見かけます。
それで興味を持つようになりました。
かなりわかりやすいと聞きますし、非常に多くの言語や技術を学べるにも関わらず、月額1000円程度と安価だというのは調べていて驚きました。
プログラミング関係の本は1冊2000円以上とかなり高額なんですよね・・・
その分情報は詰まっているでしょうし、内容の信用度も高いとは思いますが、バイトしている学生にはなかなか痛い出費です。
今後PHPやデータベースなどの新しい言語に挑戦する際に本を買うとなるとかなり額になるでしょう。
そのときには有料サービスを利用したほうが安上がりで済むかもしれないですね。
今やっているHTML、JavaScriptが一段落したら、Progateやドットインストールの無料サービスで新しい言語に挑戦してみようと思います。