雑記 トゥ ザ フューチャー

odmishienの雑記です。あくまでも”トゥザフューチャー”を意識しています。

文系だからこそプログラミングやったりしませんか

ものすごい意識高そうなタイトルだな!!!
最近大学の後輩がアルバイトのことで悩んでいたので、ふと自分のアルバイト遍歴のことを振り返ってみたのですが、プログラミングを習得してアルバイトエンジニアとして働き始めてからかなり生活が変わったなあと思ったので、書き記します。
プログラミングとか言われると身構えるかもしれませんが、決して意識高い系の話ではなく、割とぐうたら文系学生やってた人間が書いています。
それと"エンジニア"という言葉の定義が色々ありますが、この記事ではいわゆるWeb系のアプリケーションエンジニア全般をイメージして書いています(私がそうなので)。スマホエンジニアもたくさん案件ありそうなので、そっちから始めるのでも良さそうですが特に知見がないので今回は触れません。

大学生のアルバイト

大学生って時間だけはあるけどお金はないので、基本的に皆さんアルバイトをしていると思います。自分の周りだと飲食系が多くて、その次に学習塾の講師とか家庭教師が多いかなあというイメージです。
かくいう私も例に漏れず、学部の3回生までは飲食やったり、学習塾の講師やったり、派遣のイベント設営スタッフやったり、携帯キャリアのプランを説明するスタッフをやったりしてました。
でもどうしても以下のことが気になってました。

  • 割が悪い
  • やっぱり立ち仕事はしんどい
    • 何を甘えてるんだと言われたらそれまでですが、座れるに越したことはない

文系の学部なので特にスキルなどもなく、まあ仕方ないことなのかなと思って半ば諦めていたのですが、プログラミングと出会ってから事情は変わってきました。

プログラミングとの出会い

私がプログラミングというものにちゃんと触れたのは学部の3回生の時でした。大学の講義でPythonの文法をひとさらいするようなものがあって、楽単そうだったので軽い気持ちで取りました。しかしこれが意外と面白くて、自分でも色々勉強してみるかという気になりました。
具体的にどんな風に勉強したかは後述しますが、とにかく半年くらいでなんとなくコピペでプログラムを動かす、みたいなことができるようになりました。
この辺は個人差があるとは思うのですが、1日1時間勉強したりしなかったりくらいで半年かかったのでもっと本腰入れればスピーディに習得できる気もします。
ちなみにプログラミングに入門するにあたって、よく見るのが「文系だからプログラミングとか無理、数学なんも分からんので🖐」という話ですがぶっちゃけ入門レベルだと数学はほとんど出てこないと言っていいです。筆者もド文系で、大学入試の二次試験では数学を受けてませんし、センター試験の数学もボロッボロでした。それでも入門レベルだったら特に困ることはありませんでした。

ひょんなことからアルバイトエンジニアになる

半年かけてやっとコピペなんちゃってプログラミングができるようになった私ですが、もちろんお金はないのでずっとこれまでのアルバイトは続けていました。いくつかアルバイトしてたのですが、その中に学習塾の講師として働いているものがありました。この塾が結構特殊で、なんかすごいベンチャー気質というか、塾長さんが社内で講師や生徒の管理に使える便利アプリケーションを作って使ってみよう!ノウハウが貯まったら別の塾に売り付けよう!みたいな感じのことをやっていました。
ある日私が塾長さんと雑談していて「最近プログラミングかじってて〜」みたいな話をすると「じゃあエンジニアとして働いてみようか」という話になり、トントン拍子でアルバイトエンジニアになりました。
初めは業務時間内に勉強しながら開発してくれたらいいよと言ってもらえて、試行錯誤しつつも働かせてもらいました。
言い方が悪いかもしれませんが、アルバイトのエンジニアって別になんでもできるスーパーエンジニアである必要はなく、ある程度ちゃんとした規模とか風土の整ってる会社なら「勉強ついでに色々やって〜」くらいのところが多いので、割と学びつつ作りつつみたいなことが許されるんだなあと思いました。

それからは京都の某Web会社で1年くらい働いたり、各社のサマーインターンに行って荒稼ぎしたり(全部大学院の授業料になって溶けて消えた)して今に至ります。

エンジニアのアルバイトを始めてよかったこと

  • とにかく割がいい
    • 一応プログラミングができるというのは客観的に見てれっきとしたスキルなのでお給料がある程度良い
  • 座れる
    • 座れます、すごい
  • 業務内でどんどん成長できる
    • 業務で得た知識だったり経験だったりがそのまま自分の能力になっていく
    • つまりどんどん時給アップやより給料のいい会社でアルバイトできる可能性が高くなっていく

文系だからこそチャレンジできる気がする

もちろん個人差や学校によっても差はあると思うので一概には言えないですが、相対的に見て文系の大学生は理系の大学生よりも時間が余っている傾向にあると思います。だからこそ文系の学生にオヌヌメなんです。ちょっくらプログラミングを勉強する時間だって、エンジニアアルバイトとして採用されたあとの働く時間だってある程度確保できる気がします。

大学生活は取捨選択の連続だと思っていて、何を選んで何を捨てるかという話になるのですが、個人的には「文系だけどプログラミングを始めてアルバイトやインターンにありつけた」というのはかなり良い選択だったなと思います。
時間とお金は大切な資産なので費用対効果の良いアルバイトをやるのは理にかなっているなあと思います。おかげさまでヘラヘラと遊ぶ時間を確保しつつ、お金はなんとか足りているという状態をキープできています。ゆくゆく何かしらエンジニアになっていくかどうかは別として、これからの時代において役に立たない知識ではないと思います。

じゃあ結局どう勉強するのか

これが1番気になると思いますが、難しい!自分も結構試行錯誤したのですが、上手くいった勉強法とそこまでハマらなかった勉強法とがあるので、一例として紹介しておきます。

  • まずはプログラミング学習サイトで1つ言語を選んで一周してみる
    • 便利な時代なもんで、無料で良質な学習コンテンツがインターネットには転がっています
    • 私はpaizaラーニングProgateをやってました
    • 最初はPythonでもRubyでもPHPでもいいのでその辺のWebで使えそうかつ調べたらたくさん情報がありそうなメジャーな言語をやっておくと良さそうです(私はPythonから始めました)
  • ある程度チュートリアルが終わったら何か簡単なWebアプリケーションやBotなどを作ってみる
    • これは自分の生活を便利にしたいとかそういう動機があると尚良い気がします
    • そうは言っても便利にしたいことがないとか便利にするには今の能力では無理そうみたいなこともある
    • そんな時はtodoアプリとかよくプログラミングのチュートリアルで作成されているようなものを真似して作るだけでもいい
    • 何かしら作ったものがあれば、グッとアルバイトエンジニアとして採用されやすくなると思います
  • 検索&コピペ力を付けていく
    • プログラミングの世界には公式ドキュメントという(基本的には)英語で書かれたちょー長い説明書みたいなものがある
    • ゆくゆくは読めるようになった方がいい(私もまだちゃんと読めないので反省)
    • そうは言っても挫折しないためには日本語でかつ分かりやすく書かれているものを読みたい
    • 便利な時代なもんで、インターネットには日本語で解説してるサイトがたくさんある(qiitaとかは有名です)
    • どう検索するか(どの技術を使って何がしたいか)を上手くできるようになれば序盤はその検索結果のコピペでもいいと思う、とにかく「動いた!」という体験を重ねていったほうがいい

さいごに

何に価値を見出すかは人それぞれなので私にはよく分かりませんが、効率よくお金を稼いで時間を生み出すというのが私にとっては結構大切なことなので、似たような感性を持っている特に文系学生の参考になればいいなと思ってつらつらと書きました。
ある程度人が集まったりしたら神戸エリアで文系大学生に自分の経験してきたこととか還元できればいいなと思ったりもしてるので、何かあれば気軽にご相談ください。

オタクになりたいなんて思ってるうちはオタクになんてなれない

先日、人と話をしていて「時間を忘れて熱中できるものってありますか?」と聞かれた。私は「そうですね…」と少し考えてみたが、結局「これをやっていると日が暮れています」みたいなことを持ち合わせていないことに気が付き、軽く絶望した。

自分のことを比較的多趣味な方だと思う。音楽が好きだし、映画が好きだし、カメラを持って散歩もするし、本もそこそこ読むし、旅行にもたまに出かけることもあれば、美味しいコーヒーを探すことも嫌いじゃない。ただ、それらが時間を忘れて熱中できるものかと問われると「別にそんなに詳しいわけではないな……」とか「まあ好きだけど全てを網羅できているわけではないな……」とか考えてしまって、答えに窮する。音楽は幅広いジャンルを満遍なく聴いているから尖って詳しいジャンルがあるわけではない。映画もSFとホラーが好きだと言うが「2001年 宇宙の旅」はまだ観ていないし「シャイニング」はこの間やっと観られた。カメラは別にメーカーに詳しいわけでもなければ、本も好きな作家を読み漁るような読み方をしていないので「この人の作風は」とかいう話には付いていける気がしない。47都道府県のうち20くらいしか行ったことがないし、コーヒー豆の種類だって名前は聞いたことがあってもそれがどんな特徴(苦いのか酸っぱいのかとか)を持っていてどういう淹れ方や飲み方が適しているのかなんてことまでは知らない。

こんなに長々と書くと「たかが趣味なんだからもっと肩の力を抜いて楽しめばいいのに…」という声が聞こえてきそうだ。私もそう思う。そう思いつつも、やはり特定の分野に精通した「オタク」と話す機会があると、打ちのめされたような気分になってしまうのだ。そう、オタクになりたい。なんでそんなことまで知っているの気持ち悪い、と言われたい。そういうステキな罵詈雑言を浴びせかけられたいのだ。ここで言うオタクはプロフェッショナルであり、スペシャリストであり、変態なのだ。それもドの付くような。

オタクになりたいなんて書いているが、こんなことを書いているうちはきっとなれない。意識してはいけない。彼らは潜在的にオタクなのだ。無意識のうちにそのコンテンツに手が伸びて、隅々まで思う存分楽しみ尽くしてしまう。彼らにとって日とは気付いたら暮れているものなのだ。それに対して私は、少し味見をしては通ぶったことを言いながら心のどこかで日が暮れるのを待っている。悲しい哉、もしかすると私が「時間を忘れて熱中できること」は「日が暮れるのを待つこと」なのかもしれない…。

Cybozu Summer Internship 2019 Engineer&Designer に行ってきました

これです。Web開発コースに参加しました。大阪オフィスに出勤していたのですが、到着してみると私ともう1人しかおらずびっくりしました。残りのコースは東京でしか受け入れができなかったり事情があるようで、さすがリモートの会社だなと思った。

何をしたのか

5日間でWebエンジニアの工程を一通り経験させてもらえる(座学もあり)インターンでした。学生4人のチームでkintoneというグループウェアの新機能のプロトタイプを実装するという課題に取り組みました。具体的にはkintone上ではスレッドにコメントを残せるのですが、その下書き保存機能を新しく実装しました。

1日目

オリエンテーションだったり、kintoneのソースコードを眺めて簡単な練習問題を解いたりしました。10年近く開発が続いているプロダクトなだけあってかなり大規模で複雑なレイヤードアーキテクチャになっていました。完全に理解するのには時間を要しそうでしたが、DIを使ってテスタブルな設計を心がけていたりするコードが読めて勉強になった気がする。

2日目

実際にチームに分かれて今回実装する課題を決定しました。ここからがサイボウズらしい部分で、4人のチームのうち大阪にいるのは私だけで残りの3人は東京に出勤しているメンバーでした。kintoneチームでは日頃からリモートモブプロを採用していて、自席からみんなヘッドセットをしてワイヤワイヤ言いながら話し合いをしました。東京のメンバーは席が隣り合わせなのにヘッドセットを通して通話していて相当シュールでした。

3, 4日目

サーバ側で下書きを保持するという方針になった(単にLocalStorageに持たせてもよかったが、それだとフロントしか触れなそうとか端末間共有などができないねという経緯)のでDBにテーブルを作ったりAPIのエンドポイントを作ったりと盛りだくさんでした。ここももちろんモブプロでやっていて、人の開発環境を覗けたり、自分のコードを見てもらいながら実装するのは体験としてかなり新しかったです。実際の開発となると一長一短あるとは思ったけど、とりあえずインターンとしてはとても楽しかった。

5日目

開発の成果を発表しました。実際に動くものができて、「お〜!」などとリアクションをいただけたので満足です。
デザイナーコースの方のスライドがすごく綺麗でデザイナーすげ〜〜ってなりました。

まとめ

総じてサイボウズの文化に触れられる良インターンだと思いました。かなりフレックスな働き方をしている社員さんを何人も見かけましたし、社内の風通しも良さそうでした。メンターの方も優しくて、日給も高い&お土産やお昼ご飯もご馳走になったので人にオススメしたいインターンの1つだと思います。

思い出たち

私的エンジニアサマーインターン戦記2019 選考編

はじめに

毎年情報系の学生は然るべき時期になればサマーインターンを探す人も多いかと思います。私もその1人で、今回色々な企業に応募しました。その際にインターネッツ集合知に助けられた部分がいくつかあったので、こうして私も後に誰かがこの文書に辿り着いてくれることを願って、したためております。

私は誰

f:id:odmishien:20190731122343p:plain
こんな人間です

とは言ったものの、もちろん私と同じ話が全員の参考になるはずはないです。ということで私が何者かということをここに記しておきます。

基本プロフィール

開発経験

学習塾でのシステム開発(1年)
  • 元々講師として働いていた塾で業務改善システムを作ることに
  • 始めは英単語をDBから引っ張ってきて選択した単語のテストをPDFで印刷できるみたいなWebアプリを作った
  • その後は別の学生が作っていた契約の管理や先生のシフトの管理など業務システムのバグ修正や機能追加などをした
  • 言語は Python(Flask), Go(echo), JavaScript(Vue.js) など
Web会社でのWebアプリ開発(半年ちょい)
  • ひょんなことから応募してみたら働くことになった
  • アクティブユーザもかなり多いサービスで、そのバグ修正や機能追加などなどやっている
  • 言語は Perl, Go, Reactなど(Perlと書くとバレそう)

応募した企業とコース

フロントエンドの経験は乏しかったので、なるべくバックエンドのコースを選んで応募したと思います。いくつかの企業はそもそもコースが1つしかなかったりしたのでそのまま応募しました。

エントリーのみ

選考を受けた

DeNA プロダクト開発コース
ES 技術テスト 面接1 面接2 合格
なし
  • 3日で10万円というのがセンセーショナルすぎて受けたというのが本音
  • 技術テストがないのは拍子抜けだったが開発経験などについてはかなり詳しく聞かれた
  • 面接に人事の方が噛んでいなかった気がする(2回ともエンジニアの方との1対1面接だった)
  • 面接でWebアプリの脆弱性の話とか分散型システムの話などできて楽しかった
Cybozu Webサービス開発
ES 技術テスト 面接1 面接2 合格
なし なし
  • 大阪で受けられるインターンは近くて助かる&社長が夫婦別姓について裁判をしているなど何かと面白そうなので受けた
  • ESでかなり技術のことを具体的に書いた
  • 面接は人事の方とエンジニアの方と3人で話した
    • 人事の方は東京、エンジニアの方は大阪、私は大学からみたいな感じだった
  • 志望動機 : 技術の話が 6:4 くらいだった(体感)
いい生活 エンジニアコース
ES 技術テスト 面接1 面接2 合格
なし なし
  • 魔法のスプレッドシートで見つけて、日程がちょうどコロプラDeNAの間に収まっているのがここだけだったので応募した
  • 面接が人事の方のみでびっくりした
  • 宿泊費と交通費が出ないということが書いてなかったが、面接の時にそれを明かされて「マジか」と思ったが正直に&申し訳なさそうに言ってくださったのでまあいいかということで行くことにした
  • 内容はWord2Vecで不動産のビッグデータをゴニョゴニョするらしい
  • Macが支給されないらしく、本当に不安
コロプラ サーバーサイドエンジニアBUILD UP
ES 技術テスト 面接1 面接2 合格
なし
  • ゲーム業界を1つくらい見てみたいと思っていて日程がちょうど良さそうだったので応募した
  • 技術テストは基本情報技術者の知識問題みたいなのがあってツラかった
  • 実際にコーディングする問題もあって、それは楽しかった
  • 面接では結構雑談をした気がする
  • 受かった後に例の事件*1があったが、会社からは何も連絡がなかったので触れない方がいいのかな....
freee エンジニア完全実務コース
ES 技術テスト 面接1 面接2 合格
なし
  • チーム開発コースもあったが日給が安かったので高い方にした
  • 技術テストは確か何かアプリをデバッグしていくみたいなやつだった
    • とある重大なことに気付いておらず時間が足りなかった
    • あとで結果も見せてもらったが散々だった(偏差値49くらいだった)
  • それなのに面接してもらってなぜか選考通過した
  • 日程被ってたりしたので残念だが辞退した

所感

  • 開発経験がある程度ないと厳しそうな印象
    • 参加するインターンの内容にもよるが、今回応募したインターンは殆どが有給(しかもある程度高給)のものだった
    • 企業側も開発未経験者はさすがに採らないと思った
    • プログラミングテストを課す企業もあったし、面接の内容もバイトでの開発経験や自分が趣味で作ったプロダクトの話が中心だった
  • 緊張はしてしまうが、しない方が良さそう
    • どうしても採用される側は品定めされているような気持ちになってしまい緊張する
    • 私も例に漏れず緊張していたが、流石に何社も受けると慣れてきた
    • 慣れてくると普通に雑談などできて楽しい
    • エンジニア社員さんも優しく話を聞いてくれるので緊張しなくて良さそう
  • なぜ受かったのかはよく分からない
    • これは他のインターンブログにも書いてあるが、マジで分からない
    • とある企業なんか私の受け答えが短くて時間が余ってしまい「最近観たアニメ(よりもい)の話」をする程だったのに合格通知が来た
    • つまり受かろうが落ちようが一喜一憂する必要はない気がする
    • 企業側も採用の機会をなるべく最大化するためにやっていると思うので受かったらラッキーだし、そうでなければ運が悪かっただけだと思う

最後に

エンジニア学生諸氏にとって何か有益となっていたら嬉しいです。参加したインターンのレポートも気が向けば描こうと思いましあ!!! (色々書いたけど関係各所から怒られたりしたら加筆修正します)

『台北暮色』に見た私たちの孤独、あるいは叙情詩

日曜日なので近所のミニシアターで映画を観た。『台北暮色』という2017年の台湾映画。スクリーンに映される台北の街並みや空気に圧倒されているうちに107分はあっという間に過ぎていった。

apeople.world

youtu.be

車で生活する中年の男。人と混じり合えない少年。「ジョニーはそこにいますか?」という間違い電話を何度も受ける独り暮らしの女。そんな3人が孤独の中、出逢い、また、新しい未来が見えてきたとき、彼女の思いがけない過去が明らかになっていく ──。台北の<暮色>。物語のクライマックス、そこに、何を見るのか ──。

以下感想です。内容について書いてあるのでネタバレを危惧する人はそっ閉じしてください。

退屈な映画だ、と思った。これは褒め言葉である。退屈であればあるほど登場人物の感情の機微や仕草の意味に集中することができるし、ある種叙情的な映像作品はおしなべて退屈なシーンの連続だ。3人の登場人物たちの何ら特別なことも起こらない、諦めと惰性とが入り混じったような生活の風景が切り取られている。その風景もなんだか断片的で一人一人のこれまでの人生において何があったのか、どんな生活をしてきたのか、そんなバックグラウンドはぼんやりとしていてよく分からない。(例えば作中では台湾語(?)と英語が織り交ぜられて会話が進行するシーンが多くあり、混乱する。これは台湾だと普通のことなのだろうか。)

これは素晴らしい目隠しだと思った。作中に出てくる様々な舞台装置(買ったばかりなのに逃げ出してしまうインコ、何度もエンストする赤いスズキの車、やることを忘れないためのメモ、突然の雨など)は研ぎ澄まされ、鑑賞者の想像が入り込む余地を絶妙に残している。自分の人生で起きたイベントだって、簡単にこの映画のワンシーンに重ねることができる。そしてそれは主に「孤独」に関するイベントだ。

あくまで個人的見解だが、この作品に出てくる人物は皆どこか孤独だった。というか台北という街の持つ現代的で都市的な孤独の部分が巧みに切り取られていて、それに酔わされたという方が正しいかもしれない。いわゆる「エモい」カットが多すぎるのだ。

不倫相手と喧嘩したシューとたまたま居合わせたフォンが夜の高速道路を無言で走り出すシーンだったり。

f:id:odmishien:20190512221008j:plain

セブンイレブンの前で安酒片手に家族について告白し合うシューとフォンだったり。

f:id:odmishien:20190512221020j:plain*1

セブンイレブンのシーンではこんなニュアンスのセリフが飛び出す。

距離が近すぎると愛し方が分からなくなるから、離れてるくらいでいいんだよ。

ああ、そうだ…家族も恋人も友人もみんな他人だ。ましてや個人主義と自由と責任に満ちた現代の都市に生きる私たちにとって、信じられるのは己の存在だけだ。その存在すらも軽く、薄く、無個性で、誰かと代替可能で、それでも惰性で生きている。そんな風に思う夜がある。だが、そんな気分にもすぐ慣れて、ぽっかりと口を開けた孤独に呑み込まれていくことに鈍感になっていく。思ったよりも傷ついているが、まあいいかと思う。誰もがそんな作品にならない叙情詩を抱えて生きている。エモいとは孤独だ。孤独とは寄る辺のない切なさだ。自分の中にある詩をどうかこの『台北暮色』の中に探してみてはどうだろうか。

P.S.
エンディングテーマがなぜかNulbarichでなんかダサくてウケた。

*1:画像は全て公式サイトより転載

ツアー"GANBARE! MELODY" by 柴田聡子inFIRE@京都磔磔 に行ってきた

昨日、行ってきました。そのライブレポートのようなものです。自分用メモです。

京都磔磔は45周年だし、平成最後のライブだし。そんなメモリアル(?)なライブを観に行けるなんて幸せ者だ。

彼女の作る音楽は本当に絶妙なバランスの上に成り立っている感じがする。すなわち、あと少しでも何かがズレたら、そこらにいる凡庸なシンガーソングライターになるか、聞きづらくて何を伝えたいのかよく分からないことを言うアーティストになってしまう気がするのだ。そのギリギリの緊張感の上で生まれるメロディーや歌詞は完全に唯一無二で、彼女の才能をギュッと詰め込んだ音楽が次々に作られている。今回のツアーアルバム「がんばれ!メロディー」も間違いなく名盤だ。

ライブの始まりもアルバムの1曲目も「結婚しました」だった。このキャッチーでどこか懐かしいメロディーは何度聴いても心地よい。そしてこんなおちゃらけた雰囲気の中にハッとさせられる歌詞が散りばめられている。

絵に描いてた梅は散ってしまい 枝だけ広がる画用紙も
許せるようになった日々が お待たせと頭を掻いて

どうしてこんな歌詞が書けてしまうのだろう……?結婚をテーマにした曲の中でこんな歌詞を見ると、私の心はザクザクになってしまう。私にも「枝だけ広がる画用紙も許せるようになった日々」がいつか待っているような気になる。

私はこの「涙」という曲が本当に好きで、聴く時に聴けば本当に涙が出そうになる。切ないギターとベースの掛け合いに彼女の歌声がしっとりと染み付いている。

ここが朝になったり
夜になったりするように
そこが朝になったり
会いたい人に会ったり
寝ないでがんばってたり
目を見て言うよほんとうに
目を見て言うよほんとうに

目を見て言うよ ほんとうに という部分で「ワーッ!!!!!」ってなる。私たちの心の中にある言語化することがほんとうに難しい感情や感覚を、スッと掬い上げられた気がしてしまう。

ライブの途中で一度バンドはお休みして、柴田聡子がアコギ1本で弾き語る曲が数曲披露された。その中の1曲。

ああ 祝福は遠い
人のつぶてを踏んづけてきた
踏んづけてきた

こんな歌い出しを持ってくるなんて、どういう了見だ?引き出しの多さがエグい。終盤にかけて歌い方に力が入っていく。本当によく出来ている曲だと思う。

そしてコレ。なんなんだ?意味が分からない。意味が全く分からないと、頭の中がハックされている感覚になる。しかしこの曲、有り得ない中毒性と脳内再生性があるので迂闊に聴いてはいけない。もう手遅れかもしれないが……。ちなみにこの曲はアルバムに収録されている音源とは違ってバンドver.で演奏されていた。それがもうゴリゴリの演奏で曲が終わった瞬間、会場が一瞬息を呑んだ。

何よりふざけた良すぎるTシャツを購入できてよかった。これ着て学校に行く夏を楽しみにしようと思う。平成最後のライブが柴田聡子で、磔磔で最高だったので、令和もどんどんいい音楽を生で聴きに行きたいと思う。