はてなキーワード: atCoderとは
私は競技プログラミングが好きだ。AtCoderのコンテストも質が良く私は好きだが、AtCoder社の役員がどうも好きではない。
高橋氏はAtCoderのために、競技プログラミングのために尽力しているのはひしひしと伝わってくるが、軽率な発言も多い上、女性関係の価値観等どうも人となりが苦手だ(人格攻撃になっているが、そもそも主観の話なので許してほしい)。
青木氏は本当に論外で、もう少し自分がAtCoder社の役員だという自覚を持って発言をしたほうが良いのではないかと思う。言論の自由があるとは言うが、それは無責任に発言をして良いという意味ではない。公式として発言したいならば発言内容には気をつけるべきだし、公式として発言したくないのならば、AtCoder社役員としてのTwitterで発言するべきではないと思う。あれは甚だ不快であり、高橋氏もなぜ放っておいているだろうか。
このエントリを書きたい気持ちとなったきっかけとなったのは、本日AtCoder社が実施した生放送だ。恐らく今後AtCoderをどうしていきたいか等を話したのであろう。少し見たが、どうしてもイライラしてしまって見ることができなかった。この試みは当然多くの運営を好意的に捉えているAtCoderユーザーにとっては良いことだと思うが、私にとっては私がAtCoder社が好きではないということを再確認させることとなった。
好きなコンテンツの運営が苦手という状況はかなり辛い。本人たちにどうしろというつもりは勿論ないが、これからこれが原因で興味を失ってしまうのが怖い。(無趣味にはなりたくないので……)
それとも新しい趣味を早く見つけたほうが良いのだろうか。
p.s. すぬけさんは好きです。
追記:こどふぉに行けば良いと言われているが、当然こどふぉも出ている。SRMやyukicoder、chef等にも出た上で、やはりAtCoderのコンテストが好きだ。AtCoderに出ないようになったら、自然と競技プログラミングもやめてしまうのではないかという漠然とした不安があるというのが正しい。所詮その程度の趣味なのかと言われれば反論の余地がないが、それでも競技プログラミングが好きなことは確かで、できれば続けていたいのだ。
僕は音ゲーマー、26歳。
あれは2年前のことだった。
キッカケはわからない。突然何もかもがわからなくなってしまったんだ。それまでは、自分の人生を疑ったことなんてなかった。もちろん、24歳で「彼女いない歴=年齢」ということで、色んな人に色んなことを言われたものだ。でも気にしていなかった。僕には音ゲーがすべてだった。
音ゲー。みなさんは音ゲーを知っていますか?僕は知りません。。。
音ゲーって一口に言っても一杯ある。みんなの知ってる太鼓の達人、jubeat、DDR、一杯あるけど、僕は不器用なのでBeatmania IIDXしかプレイしたことがない。しかもSPといって、両手をダイナミックに動かすカッコイイやつじゃなくて、7key+スクラッチという狭い空間を両手でやるプレイスタイルしかやっていない。正直、音ゲーマーを名乗っていいのかわからない。
でも僕は音ゲーが大好きだった。どんなに嫌なことがあっても、音ゲーをしている間は没頭していた。DOLCEさんみたいになりたい。それなのに。。。
突然、「普通」にすごく憧れるようになった。いや、僕はいたって普通だ。特筆する特技もないし、秀でたものもない。成績も普通だった。IT系の専門学校を出たけれどIT系に就職したわけでもない。でも普通じゃない部分があった。人並みの人生経験が足りないということだ。
恋愛はもちろんのこと、旅行もしたことがない、海にも行ったことがない、海外にも行ったことがない。そのことを今までなんとも思っていなかったのに、突然ひどく気になってしまった。こういうの、クォーターライフ・クライシスとか言うらしい。今までの人生のすべてを疑ってしまった。なんだか取り返しのつかないことになってしまった気がした。焦るままに、マッチングアプリに登録した。
。。。そこで何があったのかは書かないでおこうと思う。とにかく、ひどい失敗をした。全部僕のせいだ。
それからしばらくは、何にも手がつかなかった。今までの人生、これでちょうどキリがいいかなとも思った。でも決めた!恋愛はダメでも、ちゃんと自分なりに楽しく生きようと。何もかも「どうせやってもダメだ」と最初からあきらめるのではなく、やれるだけやってみよう!人生、恋愛だけがすべてじゃない!恋愛なしでどれだけリア充できるか挑戦だ!!!
それからは、本当に色んなことに手を出してみた。
まずボルダリングジムに行ってみた。スポーツはからきしダメだったけど、ボルダリングはマイペースにできそうなのが良いなと思ったのだ。小さい頃、木登りに憧れていたけど、身体が弱いので、友達が登っているのを黙って見ていた。でも本当は登りたかった。
ボルダリングはそれはそれは楽しかった。あれは、ただ突起を登るだけじゃない。ちゃんと「コース」が決められているんだ。一つ一つの課題には「使って良い突起」が決まっている。それを上手に使ってゴールする瞬間!!!!!その達成感!!!!!クリアの快感。そこには、もう一つの音ゲーの世界があった。
山登りも始めた。なにより、ボルダリングで女友達ができて、一緒に山に行くようになった。恋仲というわけではなくても、たわいもない話をしたり、一緒にホットサンドを作ったりするのが楽しかった。
そして、IT系にコンプレックスがあったので流行りのAtCoderを始めてみた。頑張るとGoogleに入れたりもするらしいと噂のやつだ。最初はとんでもない天才ばかりかと思ったけど、いや天才ばっかりなんだけど、意外と僕にも解ける問題も用意されていた。AtCoderは登録は簡単だし、初心者用のBeginner Selectionというのがあるし、沢山の人が解説記事を書いていて、とても始めやすかった。最初は何をやっても「WA」とかいうのしか出なくて、ナニコレ!?と思った。WAはWrong Answerの略、つまり間違ってるというこだ。けど、あれこれ試すと突然、緑色の「AC」という文字列が目に飛び込んだ!正解だ!
これはもう、なんというか、凄まじい快感だった。そしてその瞬間気がついた!!お前も音ゲーと一緒か!!!
これはいい!専門学校時代、一応プログラミングを少しは学んでいたけど、特に作りたいものがなくて、プログラマはやっていけないと思った。でもAtCoderなら音ゲー感覚で楽しめそうだ。そう思ってから、いつの間にか沼にはまっていた。「恋愛なしでどこまでリア充できるか」ということで色々やっていたはずなのに、気がついたらAtCoderばっかりやるようになっていた。
最初の壁は厚かった。なかなか茶色になれなかった。でも、あるときふと気がついた。
for (int i = 0; i < n; i++) for (int j = 0; j < n; j++)
こういうfor文がネストするやつ、みんなは抵抗ないだろうか?僕はあった。こんなのが当たり前に出て来るのだ。意味がわからない。でも、ふと気がついた。これって、ゲームのステージ5-3みたいなやつと一緒じゃないかと。外側のループは「レベル」で、内側のループは「ステージ」だ。各レベルのステージを全部クリアしてはじめて、レベルがインクリメントされるのだ。つよつよな人から見たら当たり前のことかもしれないけど、僕にとってこの気づきは決定的だった。なんか急にC問題が解けるようになってきた。だってAtCoderの問題って、「なんか二つ決めるべきことがあって、両方バラバラに考えてると訳がわからないけど、一つを固定するとなんか解ける」みたいのがすごく多いの。
そして300点、400点が解けるようになってきた頃、AtCoderで有名な方が「東大の数学の問題は300〜400点くらい」なんて言うもんだから、「え?なになに!?僕ってもしかしたすごいの!?」と思えてきた。で、調子に乗って東大の問題を見てみた。
。。。。。。。うん...なんもわかんないね。まあそんなもんか。。。
でも、そこには驚きの光景があった。解き方はわかんないけど、問題の意味はわかるようになっていたのだ。僕は学生時代、数学なんて宇宙語でしかなかった。でも今は、問題が何を聞いているのかはわかる!これってすごいことじゃない!?
(ちなみにその有名な方にはいつも本当にお世話になっていて感謝しています。)
びっくりしたので、それまで以上にAtCoderにのめり込んだ。そうしてとうとう緑色になった。Twitterでふと呟いたら、沢山の人が祝ってくれた。嬉しかった。最高の達成感だった。なんだか、ようやく自分の居場所を見つけたような気がした。人の生き方は人それぞれだ。人それぞれ、みんな自分のやりたいことがあって、それぞれの居場所があって、それぞれ一生懸命生きている。そんな当たり前のことにようやく気がついたのだ。
そのときLINEの通知が届いた。いつも一緒に山登りしている友達だ。よくわからないうちに「私と付き合って」と言われた。
びっくりした。でもなんとなく予感はあったのかもしれない。その場で「もちろん!僕も嬉しい!」と返事していた。それからは、僕ららしい生活。特に派手な服を着ることもなく、派手なことをすることもなく、今まで通り山に登ったり、一緒にAtCoderを解いている。こういう等身大なあり方が心地良い。
こんな僕のこと好きと言ってくれてありがとう。
補足→ https://anond.hatelabo.jp/20191205212350
これは退職者アドベントカレンダー2019 (https://adventar.org/calendars/4051) 5日目の記事です。最初は自分のブログに書くつもりでしたが、書いてるうちにどこまで筆が滑っているのかわからなくなったので増田に投げることしました。そしたら余計にタガが外れたのはご愛嬌。
よく見かける「未経験からエンジニアへ!」ストーリーの、あまりなさそうなルートです。よくあるルートのほうはなぜかTwitterで報告して「○○系エンジニア」的な命名をしてから入社その後の動向が闇に葬られているのをかなりの確度で見かけますが、まあ、なんか、いろいろあるんでしょう。逆にそういう成功(?)体験の生存バイアスを強化する情報ばかりあふれていると情報として健全でないように感じます。
といいつつ後日しれっと消えてたらInternetArchivesか魚拓で会いましょう。
この話はここから先はフィクションです。剣も魔法も労基法も出てこないファンタジーです。
地方に潜むフリーターです。好きなvirtual beingsはロボ子さんと東雲めぐさんとれいきらさんです。
これまでは自分のためのプログラムを書き散らすだけで、ITとは無関係のバイトをしてきました。玉掛とフォークリフトなら任せろーバリバリ
会社にもぐりこんだいきさつはやや特殊なのでぼやかします。とあるきっかけで知り合った人から誘われました。リファラルです。なお、とあるきっかけはなにかと炎上しがちないわゆるプログラミングスクールなどではないことを防火剤がわりに書いておきます。そんなもんに使う金など無い。
その人のことはあんまりよく知らなかったのですが、CTOとして手伝っている会社のシステム部門で人手を探しているとのことでした。会社のホームページにはリクルートページなど無く、何をやっているかいまいち要領が掴めなかったのですが、ざっくりと自社製のWebアプリ開発をやる感じらしく、内容も聞いた限りでは(自分のスキルと照らし合わせて)そんなにどえらいわけでもない印象でした。ちょうど金もないし無職だし、少し経験でも積んでみるかという気になったので、この際ホームページがDreamWeaverのサンプルを流用したまんまといった細かいところは観なかったことにしました。
面接にいくと社長から「いつからこれるの?」と言われたので「あっこれは」となりましたが、金がなかったので是非もなくそのまま入社の運びとなりました。この頃はプログラム書いて金もらえるなんてサイコーとか思ってました。ちなみにgithubやatcoderのアカウントを書いた職務経歴書は一顧だにされませんでした。
地方の製造業のシステム部門を切り出して別会社にした形態の、創立数年ほどの会社です。自分のほかにもうひとり、社内情シスのようなことをしている方がいましたが、基本的にはサポートが専門な感じでした(ただし肩書は自分と同じでしたが)。紹介してくれたCTOは週に一度のMTGに顔を出すだけということで、実質的に常駐している人間でプログラムが分かるのは業界未経験の自分だけというチャレンジングな環境からスタートしました。なお入社して社内の平均年齢を大幅に下げることになりました。
ちょうど入ったタイミングで情シスの方が抱えている仕事があり、とくにやることもなかったので手伝いました。グループ会社のサイトをスマホ対応させるもので、事情はわかりませんがそれまで他社に制作を委託していたものを自社で運用することにしたとのことです。みてみるとWordPress4でPHP5が動き、Bootstrap3を使ったオリジナルカスタムテーマで運用してきた様でした。もちろん仕様書やローカル環境もあるはずがないのですが、どうせ自分はWebデザインなど知らんのでとりあえず直にheader.phpにviewportを書いてmain.cssにメディアクエリを設定して、ザ・web制作初歩みたいなレスポンシブ対応をしましたが、デザインについて当事者との意見のすり合わせの機会なんかの開発手順はなかったので良しとしました。
入社して2周間ほどのち、社長についてこいと言われた打ち合わせの後日、MTGで「昨日のアレの進捗はどんな感じなの?」と聞かれたことから、いつのまにか新規案件を自分に一任されていることに気づきました。仕様は前日の打ち合わせがすべてだった模様です。要件定義や技術選定・検証のような工程など決まってないので好みで揃えました。趣味と関心からExpress+Mongo+Reactのセットか、触ったことのあるDjango/Railsでざっくりやるか、どうせならDockerも使い時か、こんなときに相談できる同僚やメンターが欲しいなぁなどと考えていたら、CTOがそれまで作っていたやつをみるとPHP+ES5+MySQLだったのでなんだかんだでそうすることになりました。PHPを初めて触り、「これがペラ1のphpにjsもcssもなにもかも書いていくといういにしえのスタイルか…!」と新鮮な感じでやってました。
Windows Server 2012で動いていたサービスをLinuxに移行しました。これは自分が入る前から情シスの方が任されていたのですが、マニュアルに沿ってコマンドを打ちこんではどこかで転け、エラーは読まずにあきらめてCentOSインストールからやり直すということを繰り返していたのを見るに見かねて手伝いました。SSHでPowerShellからマニュアルのコマンドをコピペして実行する方法を教えてあげると目を丸くされました。shellファイルを書いてあげると魔法をみるのような顔で驚かれました。自分が入ってなければどうなっていたんだろうか...
毎日出退時間を規定のEXCELフォーマットに記帳する必要があり、これが非常にめんどくさく無駄に思えたので、自動記述するpython/Goスクリプトを書きました。これは入社して2日目とかだった気がします。しかしここを自動化しても「印刷して人事に提出し、それをもとに人事の方がまたEXCELに書き込む」と知り虚無になったりしました。
これはやったことというか思うところあってプライベートで取り組んだことです。自分の想像していた開発現場との乖離を感じたので、こういうのはFE勉強すればわかるのかもしれないと思って1ヶ月くらいやって取りましたが、得られた知識で会社に活かせそうなものは何一つありませんでした。
チーム開発などという概念は存在せず、「1案件を1人で上流から実装、運用、保守、サポートまですべてやる」という進め方でびっくりしました。手持ちの技術スタックでできる範囲でギリギリなんとかやった感じです。よく転職サイト上で見かける文言で「お任せします」がありますが、これとかも要するに「丸投げ」の換言なんでしょうか。わたし気になります。
自分のように途中からジョインした人に対しての業務移行のシステムがないことから感じていましたが、案の定「誰かが抜けたあとの引き継ぎの機能」も整備されてないことに気づきました。もともとオンボーディングや研修の概念などありません。えらいひとは「そのへんは現場で協力してうまくやって」と丸投げし、すべての作業を自宅でやっているCTOは社内のこうした事情については放任で、いちおう情シスの方がいつのまにかメンター代わりになっていたものの、不明点を尋ねても頓珍漢な返答が多くもどかしかったです。どのサーバでどんなサービスが動いているのかやSSH情報を聞き出すのに苦労しました。こうした不幸と無駄な時間をなくすためにドキュメントを整備しようとしたのですが、頓挫しました。これからも物理フォルダーと社内サーバに散逸した各種の情報は混沌を深めていくのでしょう。gitも無いし。
サーバはオンプレでした。自分はクレカをもっていないためパブリッククラウドを試す機会がなく、ぜひとも触ってみたかったのですが、承認を得るための説明がうまくいかず、結局VBoxでやることになりました。唯一、それまで使われていたVBoxではなくVagrantを導入したのは少しだけ救いでした。どうせ自分しかいじらないのですが。
余談ですがオンプレで面白かったのはHDD増設のために初めてデータセンターなるものに入ったことです。インフラ/ネットワークはまったく分からんしなかなか個人で試せない領域だし縁がないかなと思っていたのですがやはりそこに見える物理層が存在するというのはテンションがあがりますね(断層みたいに言うな)
イキってカイゼン・ジャーニーや情熱プログラマーを買って読んだりもしました。目につくように共同図書のつもりで「ご自由にどうぞ」を添えて自分のロッカーに置いておいたら「私物は持ち帰れ」と言われてしまったので持ち帰りました。
さてお待ちかねメインディッシュですね。
もともと技術やコンテンツの会社ではなく、技術畑の人間がまったくいないことのインプレッションが次第に違和感として強く響いてきました。ITエンジニアとしてやっていくつもりの観点でみると、学習や成長の土壌は無いように思えました。協調関係や信頼がうまく築けず、自分のすべき道筋が不明瞭のままやっていけるほどタフなYATTEIKI精神ではなかったのです。
これは地方の、それもIT気質のあるわけではない、ワンマン経営の中小製造業ならばどこにでもあることかと思われますが、随所に感じるレガシーさに疲れてしまいました。一例を挙げると、毎朝30分に亘り行われる全社清掃(もちろん業務時間外)、社是の復唱、『感謝の言葉をみんなで味わうポエム』の輪読、その感想大会、頻繁に行われる中身のない会議、日報をエクセルで書いてメールで送ったり、出退勤表を毎日エクセルに書いて印刷して事務方に持っていくなどのルーティンがけっこう苦痛でした。
社内のコミュニケーションツールはLINEだったので使い勝手も悪く、会議でchatworkかslackを使いましょうと提案しても誰一人としてそれらの存在を知らず、「勝手にやってくれ」と言われてしまったり。LINE WARKすら知らんやんけ。説明しても「skypeじゃ駄目なの?」と言われたので諦めました。
えらい人の思いつきのたびに方向性が変わり、当人は発言したらそれで全て完了した気になってしまったのか、会議終了後の10分後に「さっき言ったやつまだ出来てないの?」などと言われた時はギャグかと思いました。会議の議事録も誰も見返さないので果たして意味があったのか疑問です。誰かひとりでもmarkdownが書けたり、少なくとも書く気があれば勉強会を開催してHackMDなどを推せたのですが。議事録が機能していないエピソードとしてひとつ思い出しました。開発中に機能追加を下された際に、その挙動は完全にプラットフォームネイティブであり今の技術選定だと作り直しになり、結果納期に間に合わない(し、自分の技術スタックからも遠く外れていたので学習コストも加算)と発言したらその場は収まったのですが、会議終了後に個人メールで「やはり機能はマストだ」と伝えられました。当然それは議事録に反映されることなく、なんかしらんけどそういうことになっているという感じになりました。
初めてのエンジニア職でしたが、社内に開発をる人やマネージャー職は不在で、いわゆる開発現場での流れを学ぶことはできませんでした。少なくとも技術を知らないえらいひとが「俺がスケジュールを立てたからこれに沿ってやれ」と、”開発”と”広告作成”しか書かれていない2週間の計画表をもってくるような現場はシステム開発として正しいのか、 と本能が警告を発していました。
もともと会社は製造業から始まったため、えらい人たちとの見解に齟齬があったのは体感としてあります。同じものづくりといえど設備とマンパワーと時間が線形的に結果に結びつく工場業務と異なり、システムエンジニアリングはかける時間の見積もりも容易でなく、かかった時間が必ずしも結果に結びつかないものである、と言う事実は受け入れられ難く、知識ドメインやマインドセットが異なれば説明も困難です。しかしながらえらいひとは一様に「経営者視点を」の号令で、経営誌を配り、その感想文の提出を義務付けるなど、現場視点を欠いた行動で現場(というか私)を疲弊してました。気づいたらSEO対策や別部署のMTGのためのプロジェクター設定、全PCのwindows updateに伴うドライバの更新の役も同一の職掌として役付けられそうになっていたり(一部は実際に情シスの人がやってた)、It’s not my workなシーンがみられるようになっていました。
そして、よくあることですが、理念と実態が乖離していたことです。世界をよりよくと言いつつ、目先の掛け算を考えてばかりのように思えました。グロースする中で発生しそうなあれこれをすっ飛ばし利益だけを皮算用するのはいいとして、データ量やトラフィックを指摘すると「そこは現場努力でしょう」となるので、世界を良くする前に精神を悪くしてしまい人生で初めて心療内科にいったりもしました。一応グローバル展開を目指しているとしながらサーバからMailerDaemonが飛んできたら「ギャっ英語っ!」と言って読まず捨ててたり、急にサービスが止まった時には激怒して責任の所在の追求を求められたため、草創期にえらい人の個人アドレスで取得してほったらかしにしていたドメインが失効したことが原因と伝えたら「あれはもう読んでいないアドレスだし仕方ない。こういうピンチのときこそチャンスにしようぜ」という謎理論を出されたこともありました。
違和感が確かなものになったのは、外部に提出する資料で社内の数字が異なっているとを指摘すると「こういうのは見栄が大事なんだ」と暗に公文書偽造をほのめかされたことですが、これ以上は闇っぽいので書きません(たぶんどこもやってて罷り通ってる範囲だと思うけど)
総じて、心理的安全性の低さ、そこからくる身動きのとれなさ、ロールモデルの不在、前時代的な風潮、社内文化へのミスマッチと不理解、成長の実感が沸かない不安と不満、それらに伴う摂取アルコール量の異常な増大と過食、といった要因の積み重ねが、ネガティヴな形での退職へと駆り立てることになったのだと思います。まあ、よく知らんうちにリファラルしてるところからして「採用・教育コストを考えてないのでは?」の念はあったのですが。中身がまったく不透明の状態で飛び込んだらそうなるよなぁ、の好例かもしれません。誘われた時はわりと藁にも縋る思いだったのでしかたないね。
現在はスキー場で住み込みバイトしてます。無考えに退職すると年を越せないことに気づきました。
可処分所得・可処分時間いずれも今の方が上なのはちょっとウケます。賃金はふつうに生きていければいいので前職程度でも気にしなかった程度なんですが。いまは映画をみたり積ん読を消費したり、在職時は深いところまで触れなかったPHPをいじったり、生PHPしかやってないことに気づいたのでcakeやったり、あとはweb周辺も久しぶりにキャッチアップしたりしてます。nodeネイティブおじさんなのでFWはangularしか知らないんですよね。vue/nestが面白そうな感じです。あと寮のwifiが談話室限定で窒息しそうだったので、持ち込んでいたラズパイをルータにして部屋まで飛ばしたら隣室の同僚から感謝されたりと活動は多岐に渡ります。
先のことはなにも決まってませんが、ちゃんとエンジニアリングしている組織で開発してみたいなという気持ちがあります。レビューやスクラム、アジャイルなんてのはひとりだと不可能ですし。ですが、やはりそういった会社は日本では都市部にばかり集中しているのでしょう。自分は空気の悪いところには住めないし、案外また辺鄙なところでtechとは無関係のことをしているのかもしれません。ワーホリでも使って海外で大麻栽培でも始めようかなぁ。
巷説に流布する「未経験からエンジニアへ」の言説のたぐいは、どちらかというと技術力よりもコミュ力が偏って高いタイプが生存しがちな雰囲気を感じます。たまにTLに流れてきたのを見かけますが、ああいった立ち回りは自分にはできないしやりたくないなぁと思ってきました。社会の要請ならばそれまでですが。
自分は体系的な情報教育を受けていないどこにでもいる地方高卒で、下手の横好きで趣味プログラムを書いてきたし、続けてるってことはそれなりに好きなんだと思います。得意じゃないけど。んで、こんなのがITエンジニアをしたサンプルというのは見かけないかもなぁと思って投稿しました。光あるところに闇あり。
といいつつ、やっぱり好きなことの結果がおかねになるのはいいよなぁと思った次第です。プログラムを書くのは楽しいけどエンジニアリングは超絶むずい、が雑な総括ですが、今回のことを顛末次第にはする気はないので、どこかに拾ってもらえるよう精進するきもちになりました。
転職エントリで言及されることが多かったのでAtCoderというサービスをやってみた。
無料で遊べるオンラインゲームだこれ…という感じ。楽しむにはプログラミングスキルが必要なのでハードルは高い(なのでエンタメではない)が、AtCoderのサービスとそれを取り巻く環境が楽しすぎて見事にハマった。同時期に始めたFortniteと同じくらい遊べているので実質メタスコア80台ある。
といった感じ。こうしてみると、長短さまざまなスパンでコンテンツができていることが持続的に楽しめる要因かも。
すでに毎週5000人くらいが参加している規模なので、今後もっと社会的に注目される可能性もある。そうなると(レートや色の価値が保たれれば)更にスキルとしての評価は上がると思うが、クラスタに向けられる目線も変わってくるので、差し引きでどういう趣味になるかが気になる。
あとネトゲ全般そうかもしれないけど、ハマるとこれ中心で生活が回るようになってくる。どちらかというと良い影響の方が大きい(高パフォを出すために毎週体調を良くしてコンテストに備えたくなる)気がするが、あまり続くとこれはこれで†闇†だと思う。
ちなみに自分の色は今は茶色で、緑にはなれそう。水色は厳しそう…このへんの見極めも楽しいが、かかるコストも見えてきて、辛みの方が勝ってくる予感がある。
0点の記事だな
お前chokudaiのツイート読んでないの?
atcoderやってんのに
彼はこういってんだよ
通常のシステム開発において競技プログラミングで役に立つか、という意見ですが、まぁこれは諸説分かれるでしょう。
システム開発と言っても色々あるので判りませんが、プログラムの全体を素早く捉える抽象思考、必要なものを漏れなく列挙する論理思考、この2つは共通して役に立つのではないでしょうか
職業プログラマでシステムの開発保守をやってるんだけど、色んな人が競技プログラミングにハマっているのをみてatcoderを始めてみて一ヶ月が経った。未だにF問題が解けなくて実力の無さを痛感してるけど、これ、たしかにめっちゃ面白い。アルゴリズムを考える力もつくし、これからも続けようと思う。
それと同時に、やはり競プロは業務では使えないって思いが強くなった。「アプリを作るのが好きで、趣味で競プロもやってます」って人であれば面接で速攻でとると思う。問題となるのは「競プロで青色なので、プログラミングは得意です」という言い方をする人。その時点で俺なら落とす。
普段、仕事でプログラムを書いていると可読性とか保守をどうするとか、ほとんどの時間はそういうことを考えてコードを書いている。幸いそのお陰で、自分の関わるシステムは5年以上開発を続けても苦もなく保守できる状態が保たれている。しかし、atcoderに参加してみて、競プロ中は普段と全く関係のない知識を使っていることに気がついた。いや、使っているではない、使わざるを得ないのだ。
例えば、普段の開発では単体テストを必ず書くが、atcoderでは提出時間が早いほうが有利なため、簡単な問題では単体テストが完全に無駄だという思いが脳裏に浮かんだ。システムを作るときには絶対にあってはいけない発想だ。回答を通す、という目的だけがはっきりしているのも問題だ。参加中は可読性を上げるために変数名をつける、読みやすいようにリファクタリングする、などの行為がすべて無駄と感じられてしまった。回答を通すためだけに、 ad-hoc な if 文がどんどん付け足されていく。そして、回答が通った時点ですごく達成感が出てしまい、完成したコードにはまったく興味がなくなってしまった。atcoderに参加しただけで、普段システム開発をしている自分の頭がそのような発想に至ることがあるなんて全く想像していなかったので、恐ろしくもあり、競プロのマインドはシステム開発とは全く違うと痛感させられる経験だった。
こんなマインドでプログラミングを覚えた人間は、絶対にまともな開発はできない。ひどい手癖が染み込んでいる上に、そこに自信を持ってしまっているのが非常に恐ろしい。ずぶの初心者よりももっと悪いと思う。
いきなり自分と比較して自分の方が大変だから甘えるな的な発言してるし、
あんまりにも「大変だから何も言うな」的な意見が多いので、「あ?年1回しかやってねえコンテストだろうが!?こっちとどっちのが大変だと思ってるんじゃ!?」っていいたくなってきたw— chokudai(高橋 直大)🌸🍆🍡 (@chokudai) 2019年9月11日
ダメなところをダメって言うのは大切だけど、良いところを良いって言うのも大切なので、そこは忘れないように。
ISUCONは大会コンセプト自体がめちゃめちゃ良いので、良い感じに発展してほしいわけですよ。
(成熟したところで、ビジネス化して開催回数を増やすのがAtCoderのお仕事かなーと思ってます— chokudai(高橋 直大)🌸🍆🍡 (@chokudai) 2019年9月11日
以下は15年くらい経験のあるWebエンジニアとしての個人的意見
ただし、GitHubプロフィール/WebアプリのURLについては、就職活動のための個人情報が含まれている可能性があること、宣伝すべきでないことから、ここで公開をすることはありません。
仕方がないけど成果物を見てみないとレベル感がわからないからアドバイスしにくいなと。
だとしても応募してよいかと。求人サイト経由より直接応募の方が目にとまりやすいかも。最近のITベンチャーなら大抵は現場のエンジニアが直接面接することが多いし、そういう会社であれば
GitHubで、Issueを立てたりPull Request(数行程度)を送ってmergeされたりした経験が合計で10回
この辺のリンクを貼っておけば見てくれるかもしれないし、内容によってはちゃんと評価してくれるかと
面接官の誰一人にもモダンなJavaScriptといったものを理解してもらえなかったのが辛かった
あとはJSが好きならそれ系の勉強会とかでLTするなりすれば名前売れるし、応募時にもスライドのURLが成果として使えるね。
ここでは社名とか書けないけどもしうちに応募してきたとしたら門前払いはないかな
もし時間が有り余ってるならAtCoderとかで競技プログラミングとかやってみたりするのもいいかもね。そういうのも実務経験以外での実力を証明する手段の一つかと。
それなりの上場企業から任意に集められた人間で同じ課題を行っても明白に他の人よりも優れた成果を出せる。大企業である弊社からは取り組みや業績に対して優秀賞も頂いた。経験のない機械学習でも時間をかければKaggleで銀メダルも複数とれた。AtCoderでも青色になった。自分の専門分野の中だけであれば研究者ともディスカッションできる。
ただ、世の中には70や80、GMや赤色の人間も大勢いる。研究室時代にも大勢いた。数学、物理、計算科学の全ての知識を持ち活用できる助教の方、何日も悩んでいた課題を一瞬で解け斬新な論文を出す助教の方、あげればきりがない。そんな本物にあって、そんな本物にはなれない自分を知って自分の全能感は消え去った。研究者の道は諦め企業へと就職した。今そのような優秀な人間は研究者やベンチャーや一握りの大企業にいるのだろう。今の会社では東大、京大、旧帝大出身は大勢いるが、なぜか命をかけて勉強している人は少ない。趣味で勉強やプログラミングする人は少ない。だから偏差値65の自分が業務外の勉強時間だけで勉強熱心でバイタリティにあふれるアイディアマンのように振る舞えてしまう。でも自分は二、三流だ。一握りの人が考えたアイディアを論文から実装できても、そのアイディアを出すことはできない。一握りの人が作ったシステムを使いこなすことができてもそのシステムを思いつき設計することはできない。偏差値65の人間は一流の人から与えられるアイディアを食べて生きていくしかない。
30歳年収600万。激務な割に給与は少ないがこれも偏差値65くらいだろう。今800万から1000万もらえている年代になる頃には年功序列も崩壊し給与が上がらないかもしれない。偏差値65の人間はGAFAやPFNには転職ができない。
最近知ったのだが、「良い人間」というのは、他人の誕生日は覚えているが年齢は覚えてない人間のことを言うらしい。
その理論で行くと、年齢だけ覚えてる俺は一体どうなるんだろうか?
人生で初めて留年というものをした。大学じゃない。高校2年でだ。
経緯は色々あるが、ざっくり話すと
「小学生不登校youtuberよろしく学校行きたくねぇななんて思ってたらあっと言う間に出席不足」
といったところだろうか。
自分でもどうして学校に行きたくないのか分からない。が、学校に行くと尋常ではないほど疲れる。
そんな感じだっただろうか。
このまま3年まで持つかな~と気楽に構えていたが、1ヶ月もかからない内にそれが2日になって、3日になった。
学校に行って、翌日は死んだように眠る。14時間とか。そして動悸を頭痛を抑えながら学校に行って、また休む。
1ヶ月くらいは死んだように過ごしていただろうか。
色々なことを考えた。学校に行くメリットに、言い訳、んで今後。
それで結局、毎日「学校行った方が良い」という結論に行きついてネットを見る。勿論学校に行くとまた精神科のお世話になるから行かないが。
これは不登校にしか分からない感覚だと思うが、「学校に行きたい」というよりかは「「学校に行く」をしたい」という感情がふつふつと湧き上がってくる。
翻訳すると、「そこに存在するだけで価値があると見なされる状態になりたい」といったところだろうか。
学校に行くと、それだけで「何もしていない」という虚無感から逃れることができる。
学校に行っていた頃は考えもしなかったが、今考えるとこれが学校の一番大きな役割なんじゃないかと思う。
まぁ、そこまで分かっていても、学校には行けない。日に日に増す虚無感に苛まれる一方で、この心の平穏が恋しくてたまらない。
学校に行っていた頃の死んだような生活よりかは、今はよっぽど手に命を掴んでいる感触がする。
感情的だと笑い飛ばしてもらって構わない。理性で動けたらそもそも学校なんて休んでないからな。
周囲からも、「良い子だったのに、どうして?」と言われる。
勉強はしていなかったが、成績はそこそこ良かった。
その言葉を聞くたびに、自分でもどうしてだろうなと不思議に思う。
そして同時に、「これからどうするの? 大学行くの?」とも聞かれる。
大学に入った所でまた同じ様に引きこもりになったらと考えると、勉強する手も自然と止まってしまう。
何をするべきなんだろうか。理系だしAtCoderでも始めてみるのが良いんだろうか?
そんなことを書いていたら、もう空が夜に濁っている。
動いていないから腹が空かない、その事実がどうしようもなく苦しい。
どうやら俺はこのまま無能として腐っていくみたいだ。
ここまで書いて気付いたことがある。
「良い人間」ってのは年齢を覚えていない訳じゃない。年齢を把握した上でそれより低く言う人間のことだ。
これを覚えれば俺も少しはランクアップできるだろうか。
ハードウェアをシミュレーションするの技術を身に着けたいんですけど、
そういうプログラミングコンテストってありませんか。
習得したいことは
C++で、
メモリ→メモリアロケーションとかガーベジコレクションとか
CPU→アセンブラで命令を与えてCPUの挙動をシミュレートしてみるとか
ハードディスク→保存・削除を何万回実行する、とかディスクフラグメンテーションとか
自分で作ってみたりはしてるんですが、どうも抜けや漏れがあるだろうし、
コンテスト形式で動作確認ができるのであれば利用したいのですが・・・、
AtcoderとかTopCoderとかって数学とか計算機科学とかで
Kaggleは機械学習だし、AI系のコンテストはわりとあるんですが・・・。
誰かご存知ありませんか?