はてなキーワード: Project Eulerとは
僕は統合失調症の趣味人ニートです。プログラミングを趣味としてやっています。
競技プログラミングの勉強は大変でした。atcoderでレッドコーダーになるまでの一連の勉強の方法について書こうと思います。
実は競技プログラミングを始める前までは、統合失調症ではありませんでした。単なるニートです。
僕は生産的な趣味をネットで探し、DIYは体力を使うから嫌だし、料理は太るから嫌だという理由で、競プロにたどり着いたのです。
最初はgithubで公開されていた練習問題のリストを反復して行いました。
そしてコンテストの日になって、実際にやってみたら3問しか解けず、結果はひどいものでした。
しかし問題自体は、練習問題さえできるレベルであれば解けるものだったのです。
そこで僕は「応用力が足りない」のだと仮説を立て、応用力のためには見たことのない問題に取り組む必要があると考えました。
インターネット上で探すことのできるあらゆる練習問題のリソースを探しました。leetcode, topcoder, project euler等。
しかしどうしても解けない問題をいくら考えても時間の無駄なので、一問10分の制限をつけました。10分経ってしまったら答えを見ます。
こうして新しい問題を解き続けて応用力をつけ、ようやくABCで全問正解するようになりました。
次にARCにチャレンジしたら、僕はすでに応用力が十分身についていて、ARCでも全問正解しました。
それでAGCに参加したのですが、やはり問題が難しくてなかなか太刀打ちできません。
繰り返し参加してみますが、レートもなかなか上がらず苦労していました。
ふと、僕は夢で悪魔が出てきました。
悪魔は僕にこう言いました「俺が問題の解き方を耳で囁いてやる。お前はただその通りに解けばいい。どうだ、交渉するか?」
信じられませんが、それから1ヶ月間は異様な機械音のようなうるさい幻聴を聞き、プログラミングどころではありませんでした。
時々、「お前は罪を犯した!これは罰だ!」という声と共に、鼓膜が破れるような音を聞き続けたのです。
その1ヶ月間は死ぬような思いをしました。病院へ行くと、統合失調症であると言われました。
薬を処方されたら機械音を聞かなくなりましたが、頭があまり働かなくなりました。
しかし、競プロで赤色になりたいので、またコンテストに参加しました。
すると驚くことに、「お前は罪を犯した」と言ってきた時の声が聞こえてきたのです。
僕は頭が働かないので、そのささやきの通りにコードを書き記しました。
そうしたら、なんと見事に全問解くことができて、赤色コーダーになったのです。
僕が初心者にアドバイスするとしたら、悪魔と幻聴の契約をするべきであると勧めます。そして統合失調症になることによって、良い成績を残せるのです。
NTTの退職エントリが流行っているようなのでそもそも入れなかった人の話でも書きます。
といっても1X年前の話です。
リーマンショック直前の超売り手市場に新卒で4月初頭というゴールデンタイムにNTT系列何社も受けて全滅したアホ。
趣味はプログラミング。ICPFCとか参加したり小さいツールを書いたりしてた。
大学の専攻は数学。日本ではやたら偏差値の高いらしいT大学に現役で入ってそのまま修士卒。
NTT株、NTTD、NTTS、NTTH、NTTCなど。略称がどこを指すかは適当に考えてね。
全部落ちてます。4月はこのせいでお祈りされまくり、結局決まったのはNTT以外で夏ごろで。
電話がとても好きだった。高校ぐらいのときはモデムから高速リダイヤルをかけるアプリとか、
公衆電話の番号を探すツールとかを書いていた。PHS、携帯が普及しだしたころから
そもそも仕様があまり手に入らなかったので興味を持てなくなった。113はよくお世話になった。
就活のときそのへんのことを思い出したのと、プログラミングが好きだったのでNTTなら
なにかできるんじゃないだろうかと思いたくさん受けた。
当時はプログラマというものの地位がものすごく低い時代だったと思う。
そんな時代に「プログラミングやりたいです。ICPFCとかめっちゃ楽しいです。」という割に
基本情報すらとっておらず、コミュ力も非常に低い上に専攻が純粋数学とか落ちて然るべき。
更にNTTがどういう人材を欲しているのかという企業研究もろくにしていなかったため、
自分が御社にどういう貢献ができるのかを説明できず、ただやりたいことだけを喋っていたた。
また純粋数学は研究内容の説明がしにくいというのはわかりきった話だったので、それは対策するべきだった。
3分で研究内容を話すというプレゼン。SPIがよかったらしく1次面接は免除という連絡をいただき、
喜んで2次面接に望んだところ純粋数学の研究発表で、「この研究の社会的意義はなにか?」という質問をされ無事死亡。
社名にソフトウェアなんてついてるぐらいだからプログラミングがガッツリできるんだろうと思い、
某CPUの命令セットの素晴らしさとその効率的なエミュレータ実装について熱く話す。
面接官の「そんなことにしか興味ないんですか?」という返事は今でも覚えている。
グループディスカッションで落ちる。コミュ力とか見られてたきがするが審査員は見てただけなので詳細は不明。
面接前に社員と雑談する謎の時間があり、「T大の人、ぜひ来てほしいんですけどNTTDとかNTT株に
取られちゃって蹴られてしまうんですよね…」という話を聞く。その時点でDには落ちていたので苦笑いして面接へ。
当時盛り上がっていたNGN関係の話で面接官と盛り上がるも俺が考える最強の通信スタックの実装法を
NTT系列はだめだったので結局某SIerに就職。年収は300万弱から5年ぐらい在籍しても500万弱ぐらいだった。
最初は流石に年収低すぎということで某Rエージェントで転職活動をするもリーマンショック真っ最中で
在籍も1年とかだったため「君なにしにきたの?」オーラがすごかった。その時点での転職は失敗。
SIerによくある通り仕事でコードというものはほとんど書かず、Excel、Wordがメインであった。
ただ仕事自体は暇だったので、合間にひたすらProject Eulerをやっていた。
今はお仕事が変わり、AI関係のソフトウェアエンジニアみたいなお仕事をしている。
相変わらず面接ではコード書きたいですとかAtCoderとかの競技プログラミングの話しかしていないのだけど、
10年前に比べると反応がとてもよくなったと感じる。年収も都内に何の不自由もなく暮らせるぐらいまでは
もらえるようになった。プログラマの地位は相当向上しているのではないだろうか。
個人的にはAtCoderやTopCoderで黄~青ぐらいのプログラマの社会的地位が10年で年収400万から1000万ぐらいまで上がった感じがある。
今は1000万!と言いたいところですが、うまい棒5万本分ほど足りません。一本行けるように今後も精進します。
ただ今都内はソフトウェアエンジニアバブルといってもよく、かなり年収水準が上がっている気がします。
ですので多少は夢を持ってもよいのかなと。
キリの人も入社時は優秀だったんだと思います。あともし採用されるポテンシャルがあったとしても
ちゃんと業界研究しないのはだめかと。いろいろな意味で私はだめでしたね。
1990年代はまだ固定電話の古い交換器や緑・ピンク電話などが残ってた時代で、電話の面白い挙動が
NIFTY-SERVEのフォーラム等で盛り上がっていた時代でした。そのため当時は同じような人が結構いました。
うけてません。NTTの社風に合わないと全滅する可能性もあった(そして実際そうなった)ということで、
最近のNTTDのOSS関係へのコミットは凄まじいですね。あの部隊は尊敬しています。
あのへんのコミッタ方たちはどういうルートで採用されたんでしょうね?
大学時代はXSSとバイナリ解析に興味があったはずなのですが、就活ではその道は選びませんでした。
忘れていたというのもあるのですが、その数年前に日本のセキュリティ系の団体とちょっともめてしまった
というのがあるのかもしれません。日本のセキュリティ業界はちょっと前までアングラっぽい雰囲気が
漂っていました(世界的にそうだっただけな感じもします)が、そんな方たちも某FF○Iとか某NAとか
ホワイトハッカー側で大きく活躍されてるようで、もしセキュリティ業界に身をおいていたら
そういう変化も楽しめたのかなぁとは思います。
あ、徳丸さんのブログはいつも楽しく拝見させていただいています。
あの某NAのLuminさんでしょうか。当時はとても落ち込みましたが、今では楽しくやれているので