「atCoder」を含む日記 RSS

はてなキーワード: atCoderとは

2023-07-17

anond:20230717000451

俺はAtCoderC++勉強をしたいた時に、チュートリアル的な問題唐突にワーシャルフロイド法が出てきて発狂しそうになったのを覚えてる。

2023-05-26

anond:20230526130155

競技プログラミングスキル評価できない会社は、理系アドバンテージ評価できねーんだからそもそも検討する必要ねーよ。

AtCoderやPaizaのサイトは単なるスコアが出るサービスじゃなくて、転職サービスとも連携やってるからそこで募集してる企業に応募しろって話だ。

意外といい企業採用してるぞ。

anond:20230526132135

Github Copilotを使ってAtCoder問題を解いてるんだけどそこまで有利になった感じはしないな。

B問題くらいまでだとGithub Copilotが提案したコードのままでACしたりするけど、そのコードが間違えていた時に修正するコストがでかすぎるから自分で書いたほうが良い。

anond:20230526031529

AtCoderやPaizaでコーディングスキルスコアにして行けば楽勝じゃん

かいうやついるけど、違うんだよ。そういうのを知らないと、変な香具師に引っかかるの。客先常駐なんて、反社会的勢力の金をつくるものだよ。本当だよ。

anond:20230526031529

理系なら、AtCoderやPaizaでコーディングスキルスコアにして行けば楽勝じゃん。

文系と同じフォーマット面接とか受けてるからダメなんよ。

2023-03-04

無向グラフ

おいらっちatcoder灰色ちゃんなんやけど

きょう奇跡的にABCでCまで解けて、Dいったら無向グラフ?とかいうのがでてきて死んだ。

おいらがしってるグラフは折れ線グラフポルノグラフィティだけ。

2023-03-03

ADHD当事者リアル感覚

ふと、ADHD当事者リアル感覚表現したいと思った。

物心ついた頃から現在までのことを(ボカしやフェイクを入れつつ)時系列で書かせていただく。

N=1の話で恐縮だが、読者には少しでもADHDについて知って欲しいし、それにより社会の分断がなくなって欲しいと思う。

と、ここまで書いて思ったのだが、私は数日前よりADHD治療薬を断薬しており、マトモに「書く」ことができないことに気がついた。数日ぶりに薬を飲むこととする。

1.〜小学生

およそ30年前、共に高卒の両親から長男として産まれた。

母親専業主婦だったり、少しパートをしたりしていた。

父親について覚えているのは、しょっちゅう会社を辞めてしまうということだ。それも突然に。

故に、夫婦喧嘩が絶えない家庭だった。

何かが(主にカネ)キッカケで口論となる。

不貞寝する父親。怒り狂う母親

暴力を振るう父親実家電話しようとする母親

電話線をハサミで切り、電話機を叩き潰す父親

父親包丁を突きつける母親。まだ産まれたばかりの弟を盾のように前に突き出す父親

床にぶちまけられる牛乳

警察を呼んだ方がよいのか本気で悩む自分

私が思い出せる小学校低学年頃の家庭の記憶はほぼこれだ。

弟が1歳の頃、「ハロワいけ!」と喋ったことを覚えている。母親の真似である

自分自身について書くと、忘れ物の多い子供だった。

教科書を忘れ、資料集を忘れ、宿題の提出を忘れ…

机をくっつけて、隣の席の子しょっちゅう見せてもらっていた。授業はまあまあ理解できていたと思う。

宿題に関しては「忘れる」というより「やろうとしても動けない」が正しい感覚

テコでも動けなかった。

宿題の代わりに家で何をしていたかというと、デュエル・マスターズデッキを組んだり、ミニ四駆カスタマイズをしたり、スマブラDXをしたり…?あれ、そんなもんかな。当時何してたか自分…あまり思い出せない。熱中すると深く深くどこまでも熱中し続ける性格だった。(過集中)

同じマンションに1つ下、1つ上の子供が何人か住んでいたので、毎日遊んだ河原秘密基地作ったりとかしていた。

また、男女分け隔てなく誰とでも遊ぶ子供であった。

違う。

(上で挙げたマンションの住人以外の)男の友達がどうしても出来なかった。

全く交流できないということではなかった。

あいさつはするし、何人かでサッカーをする時は参加していた。

同学年で話したことがない人は恐らくいない。

誰とでもそれなりの雑談ができた。

しかし、そこ止まりだった。

輪に入れはするが、誘われる人間ではなかった。

故に、常に疎外感を感じていた。

今になって振り返ると、原因は恐らく「自分の話ばかりして止まらない」から嫌われたのだと思う。

次第に、無理してグループにいなくてもいいと思うようになり、休み時間教室でひとりでボーっとしていた。

かねた心優しい女子グループが、自分を輪に入れてくれた。情報量0のどうでもいい雑談がとても楽しかった。自分が輪に誘われたことが、なんだか初めて他人に受け入れられたようで、とても嬉しかった。

通信簿の「担任からコメント欄」には毎年「男女分け隔てなく仲良く友達がおり〜」と書かれていたので、客観的にはそう見えていたようだ。

2.中学高校大学

地方なので中学受験をする人なんてひとりもおらず、当然のように地元公立に進む。

当時は中学受験という言葉すら知らなかった。

中学での成績は150/200あたりだった。

日々の勉強時間は0分。

たまに一夜漬けの過集中が爆発して、50番あたりになった。

国、社、英は不得意で、理数が得意だった。

相変わらず宿題はできないし忘れ物は多かった。

勉強をしない分の時間は何をしていたかというと、運動部活動をするか、家のパソコンニコニコYouTubeを見たり、携帯を買い与えてもらえたのでモバゲーMixiをやっていた。

中学3年で麻雀を覚え、どハマりした。

ハンゲーム天鳳毎日夜中まで打つようになった。

高校受験は持ち前の過集中で上振れを引き、偏差値50位の公立情報学科に滑り込んだ。

元がアホなので上振れしてもこの程度である

地方偏差値50なんてハナクソオブハナクソである

なぜ情報系にしたかというと、自分専用のパソコンを親に買ってもらう為だ。

高校では朝読書時間があったので、とつげき東北氏の「科学する麻雀」を何度も何度も読み込んだ。熱心に読みすぎて、本の小口が手垢で黒くなった。点数計算を覚えたり、チンイツの牌効率を考えたり、24時間麻雀のことを考えていた。

この頃はもう自分の行動を制御できなくなっていた。自室のPC毎日朝までニコ生をしながら天鳳を打っていた。学校の授業は全部寝ていた。教師は注意しても無駄だと悟ったようだった。自分人生天鳳の段位とレーティングが全てだった。

謎の過集中で競技プログラミングが少し出来たので(当時はchokudai氏もまだ大学生で、AtCoderもない時代だった)、大会に参加して何度か受賞するなどした。

その後、持ち前の過集中により小論文面接突破し、AO(アホでもオッケー入試)により近所の私大に滑り込む。

麻雀への情熱大学に入っても変わらず、1限どころか2限3限も出席できなかった。たまに講義に出ても何も分からなかった。

イプシロンデルタはみんなも分かってないようだったが。

情報系科目だけはテストだけ出て100点を取るという天才ムーブかました(自慢)。

数学情報科学だけは好きだった。

麻雀サークルに入った。楽しかった。今でも付き合いのある友人が数人できた。

2年次が終わった時点で16単位しか持ってなかった。中退した。

3.社会

バイト経験すらないない、学位すらない、麻雀廃人の二十歳が社会放出された。

なんていうか、普通に死のうと思った。

ある日、ふと一回死んだ。

自○未遂をしたということではない。

自分は今死んだ。そして新しい自分が今生まれた。そう思うことにした。

どうせ一回死んだのだから、もう好きに生きよう。

それでなんともならなくなったら、生活保護でも受けよう。

それもダメなら最終的に死ねばよいだけだ。

とにかく今死ぬのはもったいない、と思うことにした。

一応、親は家に住まわせてくれた。

速やかに就職して家を出ろということだったので(言われなくてもそうするが)仕事を探し始めた。

やり方がわからなかったので、若者向けハローワーク的な所に行った。色々親身に相談に乗ってくれて、クソみたいな人売りSIerを紹介していただき内定が出た。

自分内定が出るということは、「バイト経験すらないない、学位すらない、麻雀廃人の二十歳に内定を出さざるを得ないクソ企業であることが導かれるのである

人売りのクソさを書くと主旨がブレるので割愛する。

結果的に、一年半で会社を辞めた。

自分特別社会適応できなかったのかは分からない。他にも大勢辞めていたから。

この辺で(不快になる方もおられると思うので大変恐縮なのだが)所謂理解ある彼女ちゃんが突然地面から生えてきて、家を出て2人暮らしを始めた。

会社を辞める前に人生初の精神科に行き、うつ診断書を書いてもらい、色々金に困らないような諸手続きをした。こういう手続き自分では何もできないので、理解ある彼女ちゃんサポートしてくれて本当に助かった。

うつ治療で通院する中で、医師よりADHDについて指摘された。

ストラテラというADHD治療薬を飲み始めた。

3割負担だとバカ高かった。1ヶ月分で5000円以上したのではないだろうか。当時はジェネリックがなかったと思う。無職にはとても支払えなかった。

色々手続きをして、1割負担になった。

4.現在

ストラテラを飲み始めてから、本当に変わった。

脳の中の話なのでうまく言語化するのは難しい。

簡単にいうと頭がめっちゃ良くなる感じだ。

特に「読み書き計算」がすごい。

今まで自分は文をうまく読めなかった。

脳のメモリが小さいので、読んだ瞬間内容を忘れてしまい、戻り読みばかりしていた。

また書くのはもっと苦手だった。いくら考えても頭にモヤがかかり、表現が出てこなかった。

そして計算は最も苦手だった。一時的に何かを記憶しておいて、他のことを考えるのが無理だった。

プログラミングが得意だったのは、自分計算する必要がなく脳のメモリがあまり要らないからだろう。

皆これが普通だと思っていた。

薬を飲む前は苦手だとも思っていなかった。

当然みんなもそうなんだと思っていた。

こんな「脳縛りプレイ」で学生生活を送ったら、そりゃ、こうなるわと思った。

薬を飲んでからは夜更かしが減った。

自分の1日を計画コントロールできるようになった。

アホみたいな情熱に突き動かされることはなくなったが、その方が穏やかで心地よかった。

人生も徐々に良い方向に向かった。

5.総括

長々と書いてしまった。

もし読んでくださった方がいるのだとしたら、とてもありがたいと思う。

自分ADHD当事者として、発達障害で苦しむ人の気持ちが分かる。

「○○ができないだけでしょ?」「やれないっていうかやろうとしてないだけでしょ」のような反応を見ると、心が痛む。

かに、その瞬間を点で見ればただそれだけのことである

しかしながら、発達障害はその「できない」「うまくやれない」があらゆるライフステージで常に足枷となり、人生全体に負の影響を及ぼし続ける。

そして大人からは常に怒られ続け、自己肯定感もなくなり、「自分可能性」を信じられなくなる。

その一瞬だけではないのだ。「常にその状態が続く」ことによる不利が、生まれた瞬間からその人にはあるんだということを、できれば理解してほしいと思う。

そして、今小さい子供を持っている親に言いたいこと。

もし子供が何かをできなくても、その全てを無条件に受け入れてあげてほしい。

学校安心感を得られない子供には、家庭しか場所がない。

そして、もし発達障害の疑いがあるなら、早い段階で医療アクセスしてほしい。

子供保険証を持って一人で病院に行くことなんてできない。親が全てだ。

治療は早ければ早いほどよいと個人的に思う。

子供の1日1日はかけがえがない。その1日をデバフがかかった状態で過ごすことの影響は、子供の一生を左右しかねない。

2023-03-02

ITエンジニアとして人生やり直すなら

大学生の頃から始めて

1年目 Railsで遊んでみる、AtCoderで遊んでみる

2年目 APAWS-SAA取って、学業のかたわらでできそうなフリーランス案件取りはじめる

3年目 AWS-SAP取る

4年目 ネスペorセキスペ取る、CCNA取る

2023-02-16

高卒でも関係なく一目置かれる資格偏見

専門学校等の在籍が必要資格は除く

文句なし

次点

■それなりに認めてもらえる

難易度の割に資格だけではあんまり意味ない

2023-02-05

AtCoder社は変わったと思う

良い意味で。

AtCoder株式会社入社しました」というエントリを読んだ。

https://kaede2020.hatenablog.com/entry/2023/02/01/190234

40代で競プロができるのかという話」も読んだ。

https://kaede2020.hatenablog.com/entry/2021/07/07/134334

AtCoder社は変わったと思う。あるいは単純に私が誤解していたと思う。

自分の中でのAtCoder社のイメージは、情報系のトップエリートによるトップエリートのためだけの組織

体育会系・才能がすべて・winner takes allメジャースポーツ文化を、そのままプログラミング領域スライドさせたような。

から、こうした方をAtCoder社が(エンジニア職ではないそうだが)採用するとは思わなかった。

ご本人のお人柄が良く熱意があり知的にも社会人としても優れていることが文章から伝わってくるが、

それでもAtCoder社は、情報系ではなくましてや文系出身であるという一点だけで採用しない会社だと思っていた。

2023-01-17

高卒アラサー俺「はあはあ、一年かけてようやくatcoder茶色になったぜ」

qiita「3ヶ月で緑になりました」

俺はプログラマを目指すのをやめてニートになった

2023-01-12

つぶしの効くスキルとは?

投資家マインドは潰しが効かない」という話を聞いたことがある。おそらく「誰か能力のある人に金を払えばやってくれる」という発想のことだろう。

物事を実現する際の困難の中には「時間」「金」といった要因は存在するし、確かに重要だろう。そして時間と金をうまく運用すれば金を増やせるという環境にいるのであれば、それに特化した行動をしようとするのかもしれない。Billionsというドラマはそういうものかもしれないが、つぶしが効くかどうかはわからない。

自分能力研鑽のためにatcoderをやろう」といったマインドの人はまた別の行動原理を持っているように見える。知識スキルへの投資を重視していて、得られた能力を使ってチャンスをつかもうとする。貧者の戦略ではあるものの、知識面で富豪に立ち向かうことはできる。覆面ハッカーエリオット中華ドンを倒すのに似ている(Mr.Robot)。

あるいはそのどちらでもない人もいる。楽しいと思うギター漫才をやり続けて、どこかで出演をしたりライブをしたりと認知資産を増やしていった結果、知名度によって成功するタイプである。その知名度を利用すれば、ファン特定思想を植え付けたり、商品を購入させたりと、歩く広告塔のような役割をもたらす。ジミー・ヤンもその一人だろう。

組み合わせるタイプもいる。OSSでみんなに「すごい」「便利」と言われるような何かを作って知名度を稼ぎ、技術知名度の両面で成功するタイプであるリーナストーバルズはここに含まれる。

全く正反対ベクトルとしては、障害者自分が如何に惨めであるかを示して、同情を得ることで成功することもある。具体名は挙げないが、そういうタイプTEDスピーカーや著者がいるというのは事実である。あるいは障害者というラベルを利用することでアートオークション価格を跳ね上げることもある。

または日本人海外のマシな経済で生きていこうと思ったら寿司職人おすすめになる。ルクセンブルク寿司職人として働ければ幸せ人生を歩める可能性が高い。

...とこの辺にしておこう。

こうやって書いていけばわかるが、生物進化形態が様々であるように、人間もその性質によって様々な戦略を立てていることがわかる。「つぶしが効く」と言うが、それはサラリーマンとして生きることに対する現実感労働需要の多さを前提として出てきた言葉だろう。サラリーマンといっても職種企業組合せを列挙するだけでも結構あるため、多様な労働需要存在するという観点はやはり重要だ。

「何らかのスキルを身につけて、その汎用性を競う」と言うのであれば、一つ重要スキルがある。それは情報収集能力である寿司屋の例を見れば分かったと思うが、そもそもルクセンブルクがどんな国かを知らなければ行こうと思う動機にはならないだろう。そして日本よりもマシな国に移住するために何が必要かというのも、やはり情報収集能力がなければダメなのだ

しかし正しい情報をただ闇雲に集めるだけではダメで、情報を「何に対して」集めるかという目的必要になる。その目的というのは、どういう人生にしたいのかということだ。どういう人生にしたいというはっきりした目的がなければ、検索上位1件に出てきた「奴らの利益のための情報」を「自分のための情報」と勘違いすることになるだろう。あるいは「流行っている情報」を「自分の興味」と勘違いすることも起こる。

何がいいたいか。お前の人生どうしたいかはお前がコントロールしろということだ。安易に「つぶしが効く」ものを求めて、それでお前にとって本当に良かったのか。良かったならそれがお前の求めていたものなのだろう。俺の場合ルクセンブルク寿司屋になるなんて思いついたこともなかったな」と感じたので、もっと視野を広げたほうがいいのではないか視野が狭いのは他人に操られている証拠ではないか、と思ったのだ。

2022-12-29

AIのおかげでやらなくで済んだゲームたち

対人対戦系はオワコン

  

麻雀学生時代死ぬほどハマってた。

特にネット麻雀はやばかった。

  

しかし、AI麻雀で天下とったっぽい。

将棋と同じで、AIに勝てないゲームは、AIの教えをどう受けるかというゲームになる。

まり、対人勝負的なものも、「AIチートで終わりじゃん」とか考えて、やらなくなる。

  

あと、パズル系のゲームもやらなくて済んでる。時間無駄

対戦ゲームは、新しく出たゲームなら、やれるが、しばらくしたらAI解析で作業ゲーだし、修練する感じだとどこまでもAIに勝てないのがつまらない。

  

探索ゲーもどうかなあ

メトロイドヴァニアというジャンルが好きだが、攻略サイト見て進めてしまうため、じゃあ攻略動画でいいじゃんとなってしまう。

  

探索システムを覚えて、最初の新作業ドンドン出てくるのは新鮮だったりするけど。

すぐ飽きる。

なんか、観光地も3ヶ月も居たら絶対飽きるみたいな感じ。

  

ランダム生成ゲーもどうかなあ

風来のシレンとかの、ローグライグ系。

結局最適なプレイが出てしまい、飽きるなあ。

  

数学とか物理

結構、昔は趣味だった。大学院レベル数学物理もやってたし、大学院も出てる。

でも、これもAI攻略されるだろうなあと見てる。

  

人間生活変える系の発明とか

実は、今年、特許を1つとってみた。ロボット系で。

これは楽しそう。AIもむしろ来てほしいくらい、AIと一緒に人類盛り上げたい。

ECサイトも作ったし、売上とか出たら楽しいかもね。

  

昔、キュレーションサイトnoteで少しだけお金稼げたことがあって、それに近いかな?

  

マイクラ

マイクラはむっちゃ面白いね。

サブノーティカってのも、まあまあかなあ。

Outer wildっていう宇宙探索ループゲーもまあまあかな。

マイクラ系は結構面白い

  

プログラミング学習

AtCoderあんまり面白くなかった。

Udemy適当にFirebaseとか、AWSバックエンド処理覚えて、CRUDしてサイト作るのも覚えたしマネタイズまで行ったが、ノーコードとかローコード個人ならいいんじゃないかなあ。

プログラム系は、AIでそれこそ駆逐されそうだから、やる気出ないね

  

フリーゲーム

フリーゲームは、自分20年くらいずっと飽きない。

世界のどこかのリビドーが感じられるゲーム最高だね。

やっぱ、ゲーム人間が感じられるのが面白い

  

ホラー探索ゲー

SIRENみたいなゲームが出てくれればなあ。

ラーアートさんの作品とか惜しいんだけどなあ。

3Dゲーム制作ソフトは、UnityとかUEとか、結構進化していってるから、もうちょっとな感じ。

AIホラーゲーム作ったら凄そうなものできそうだからホラーゲームAIアシストでなんとかなるんじゃないかなあ。

2022-12-25

AtCoderやりたいけど年齢的にしんどくなってきた

2022-10-26

入社試験まじイライラ

転職活動してた頃

めちゃくちゃ時間かかる入社試験用意してるところいくつかあったんだけど

並の給与

無名会社

なのに、それやらせるってキチガイじゃね?

AtCoderみたいなテストでもなくて完全オリジナルで何日もかかる想定のやつ。

転職活動中は複数社受けてるから面接受けてるのはお前の会社だけじゃねえんだよ💢ってなってどんどん優先度下がって結局捨てたわ。なんか図々しいんだよな。お前はgoogleか?

だって解いたところで「我々に選考される権利をやろう」だろ?ヘイトまりすぎで一緒に働くどころではないわ。

2022-10-04

大半はあなた以下の知能という現実

あなたはこういうテストで大抵は上位1%かに食い込むというタイプの一人かもしれない。

IQが高くても人間であることに変わりはない。社会的本能とやらが発動すれば、たまに「友達を作りたいな」と思うことはある。

ある時、Twitterで「エヴェレット解釈」と検索し、物理学について何もわかっていない相対主義者・社会構築主義者・スピリチュアル馬鹿、などが湧いていて「ちゃんとした知識のある人と繋がりたいんだが...」と失望することもあなたはある。

世の中にはあなたの思うようなまともな知識や知能を備えた人間全然いないのだ。

かと思うと「僕はMensa保持者でーす」と、それしか自慢することのないタイプ馬鹿もいて、なんだかなぁあなたは思う。

そしてあなたは「Atcoder界隈は面白い人が多いな」などと感じて繋がりを求め始める。

しかし途中から仕事としてのプログラマーよりも大学生が多いことに気が付き「青臭いなぁ」とまたまた失望し始めるのだ。

普通の人はあなたよりも知能が低いから「少数ことだけが趣味」といった余裕のない状態のことが多い。

あなたは頭を使うことはなんでもできてしまうから自然と多趣味になる。

ところがあなたTwitterで誰かとつながろうと思うと、その多趣味についての共有が見ている人を疲弊させるのだ。

ボードゲーム仲間募集してます」という人たちはボードゲームのことだけ共有したいから、あなたフォローさえされない。

あなた趣味の種類ごとにTwitterアカウントを作り始めたところで「これって時間無駄では?」と思い始めて、結局あなたの最適解は「孤独を楽しむこと」となる。

そして「社会的本能という突発的な衝動を抑えさえすれば満足できるんだな」などと非人間的な発想を持つようになるからあなた社会的つながりは仕事など必要最小限のものになる。

皮肉にも、成功者社会的つながりを有効利用するものだが、あなた場合は最大限の幸せを得て生活するために必要ものをすべて持っているので、虚栄心としての成功不要だと考えてさえいる。

あなたのような人はホリエモンから「小利口」と呼ばれる典型例だが、あなた自分の状況を最大限自由コントロールした結果としてそういう意思決定をしており、「友達社会成功なんて虚構だな」などと言いながら一日を過ごしている。

2022-09-23

外資系IT企業転職して3年、年収が2000万超えた

みんなに言いたいのだけど、年収の話って仲間内でもしにくいのと1000万超えたならまだしも2000万ってなると引かれそうなのでここに書かせてほしい。

今の会社に入った時のオファーは大体1200万前後(RSU込み)、そこから昇給や昇進が何回かあって、今は大体2000万(RSU込み)くらいになった。

今もマネジメント職ではなく、いわゆるIC (Individual contributor)だ。今の会社に入るまではいくつかのWeb企業転々としていたけど、大体の1エンジニアとしてのアッパーは900万前後で、それ以上はマネジメントにならないといけなかった。スペシャリストとしてのキャリアも目指せる!っていってるような会社でもだ。今は下から3~4番目くらいのタイトルだけど、外資系ITだとICももっと上のタイトルを目指せば年収さらに上がっていく。これ以上上に行くとICでも実際になんか実装するより、技術的な方向性を決めたり他のチームとの協働リードしたりといった仕事が増えそうので、あんまりそういうモチベーションはないけど。

正直自分アルゴリズムめっちゃ強い訳でもなければ、英語ペラペラという訳でもない。AtCoderは何回かやったけどまだ茶色だし、英語も何年か前に受けたTOEICは700後半だった。それでも会社評価してもらえたのは、自分達のコードとそれに依存するサービスコードも読み込んで誰よりも詳しくなる、丁寧にコンテキスト説明するドキュメントを書く、とかそういったところだと思う。他にもプロジェクトリードしたり、ステークホルダー要件を握るといったところも評価されるには必要なのだが、そこは結構頑張った。

年収2000万を超えるとタワマンに住んで高級車乗り回すみたいなことができるのかと思っていたが、実際は数年前の自分年収(年収だよ手取りじゃないよ)くらいは税金で持っていかれるのでそこまでの贅沢は正直できない。そしてスッとクビになった時に同じ待遇会社に入れるか正直不安なので、ちょっといいところに引っ越した以外はあまり生活レベルを上げず貯金投資に回してしまっている。それでもスタートアップに入ってSO狙うみたいな不確実なキャリアや、CTOやVPoEといったしんどいキャリアを選ばなくても、これだけの待遇で働かせてもらえてるので、数年前にちょっと勇気を出して飛び込んでよかった。

2022-09-20

条件付き確率自称優秀な人物を見破る

自称優秀な人物はたくさんいるが、本当に優秀な人物限定される。これは、自称金持ちはいるけど本当の金持ちは少ないのと同じだ。

たとえば優秀なプログラマーを見抜くには、条件を追加していけばよい。

以下はただの例 (状況に合わせて任意に条件が変わると考えてほしい)

面接場合知識偽装できてしまうが、技術試験筆記試験場合偽装ができない。偽装できない方法で基礎があるかテストすれば大体はふるい落とせる。

2022-08-27

センスの無い未経験年収300万強のプログラマとして就職して必要だったこ

学歴がよくなくて、就職が困難だったので中小 SIer で働いていた。 (プライム案件を取ってこれる分マシらしい)

レキサルティレクサプロデパスのお世話になって続けてたけど、結局は薬でどうにかできず、辞めてしまった。

参考程度だけど、未経験の人が 300万 をもらうために、どのようなスキル必要かを、まとめておく。

ちなみにどれくらいプログラムが書けなかったかというと、競技プログラミング努力しても AtCoder黄色になれず青色のままってくらい。

AtCoder でいう、初心者から抜け出せないという、要するにセンスがないということなのだけど、そういう人も居そうなので、参考までに。

要するに

経験プログラマに対して、これだけ要求されるのだから、未経験の人は覚悟するようにという指針を提供したいので書いた。

入社時に覚悟しておかなければならない事

誓約書

基本的に、損害を与えた場合には、それを作業者補填するという誓約書を結ぶ。

要するに、捨て駒として扱って、失敗したら賠償しろ、という事になる。

このことを認識して、失敗しないように振舞ないと、連帯保証人含めて迷惑をかける事になる。

要するに、低賃金で未経験プログラマ案件にノーリスクで送りこんで、稼ぐための手段です。

必要だったスキル

ディレクション

基本的に PL (夢想家) → PM (御用聞き) → プログラマ という環境なので、プログラマ自分ディレクションして意思決定する必要がある。

例えば、下請け場合は、PM の御用聞きの結果の WBS に合わせないと、顧客から DM瑕疵担保責任がどうとか言われる。

社内開発の場合は、PL の方から直接、長時間の叱責を受けなくてはならない。

そういう不幸を防ぐためにも自分ディレクションして、PM の決めた実態を反映していない WBS に合わせて作業するスキル要求される。

基本的に手戻りは個人の過失になってしまうため、手戻りしないように考え抜いて意思決定をする、というのが重要になる。

これこそ、ガクチカと呼ばれる、頑張れますというスキルなので、学生時代に頑張っておけばよかったなぁ。

デザイン

こう見せたい、こう表現したい、という事を伝えるには、必然的デザイン知識必要になる。

創造思考デザインは切っても切り離せない概念で、デザインとは創造なのだから、当たり前である

ソフトウェアアーキテクチャも、ソフトウェア設計も、コーディングデザインと言えるかもしれない。

言語技術 (言語能力)

顧客と 1:1 で話す事が DM でもボイチャでも突発的に発生するので、いつ、いかなる時でも論理武装していなければならない。

まぁ、顧客であったり PL であったりはキレるのが仕事なので、それに対して理路整然と説明する必要がある。

なんとなく、では納得しないし、すぐ損害賠償請求とかそういう話にいくので、答えられないと持ち帰りますお茶を濁して、エマージェンシーになる。

後述する設計能力においても、課題を把握するための言語技術(言語能力)は重要ファクターだと思う。

ソフトウェア設計

C/C++システムプログラムフレームワーク基本的に無いので、自分概念を整理して、どのような変更、拡張があるかを考えて設計する必要がある。

この能力が弱いと、手戻りが発生しやすくなり、瑕疵担保責任を問われることになる。

読んだ本の中だと、ボブおじさんの本が、やっぱりしっくりくるなという個人的な感想がある。

ネットワークプログラム (C)

UDP で送ってくるデータを受けて 24/365 で停止しない WebAPI への繋ぎ込みという簡単作業があって、振られた。

リークしてはいけないという事で malloc禁止で、グローバル変数を利用するという変なルールがあった。

Rust で書けばいいんじゃないかなと思ったけど、Rust 書くのもシンドイし、C/C++ で、しんどくて読みづらいコードを書いた。

あとで保守する人が大変そうだけど、そういうルールを決めたのは PL だしね。

システムプログラム (C++)

なんか、特殊PCI Expressカードからベンダーが用意している SDKデータ引っこ抜いて Web API へつなぎ込む部分をやった。

データの中の特殊信号を取りたかったらしい。

一応、SDK の使い方をパラ見して 1 日で作ったので、別に負担じゃなかったけど、素人やらせるんなとは思った。

Webバックエンド (Express/Fastify + PostgreSQL)

当たり前だが、DB 作って RestAPI を生やすのは現代プログラマにとって自然にできなければならない。

なので、新規開発のサブモジュールバックエンドを任せられた。

だが、ORM の癖を把握したり、発行されるクエリ確認したりするのは、疲れる。 SQL を直書きするのはシンドイ。

結局 SQL を直書きすることにしたけど、あまりいい決断ではなかったと思っている。

それ以外は フレームワーク に乗ってしまっていいので、書き捨てる分には楽だった。

最近だと、TypeScriptPrisma 使うのが、型安全でよさそうだなと思っている。

Nest.js個人的には好み。

Linux操作 (EC2 とか)

デプロイEC2 直でやったり ECS にしたりとしていたので、ベアメタル知識必要になった。

要するに systemd のいじり方とか、死活監視の仕方とか。

個人的には、クラウド嫌いなので、ベアメタルの方が安心できる。

Bind権威DNS管理して、postfix絶対止めてはいけないメールサーバ管理するとかもあったけど、出来て当然ではある事だし。

Webフロントエンド (React/Vue)

会社Webアプリ案件を取ってきたので突っ込まれた。

経験プログラマでも、月単価 100 万以上で顧客請求してるんだから会社はそりゃ儲けるだろうと思った。

会社が一人前の経験N年のプログラマといったら、その通りに振舞う必要がある。顧客責任はないのだから

当たり前だが、WebディレクションWebデザインWebプログラミング, Webマークアップ は、全て作業者であるプログラマ仕事になる。

個人的には、これが分かれている理由が良く分からないけど、分けたい人がいるんだろう。

デザインで、CSSフレームワークを使うと、その色が出るという事で、全部 CSS手書きしていた。

tailwind が出た現在では使っていればよかったなと思う。

結局、全く分からない中、手探りでデザインし、コードを書いて、顧客に 1 日 5 ~ 10リリースするという行為をした。

顧客大手企業だったので、自社のエンジニアならもっと出来る、と叱責されまくったけど、だったら自社でやればいいじゃんと思った。

一応、今でもサービスは生きていて、ユニークユーザ数は上がっているらしい。

そして、焼き付け刃だったので、 WAI-ARIA を知らず、アクセシビリティへの配慮が足りない事が問題になってしまった。

これはなんとか保守対応ねじ込めたのでトラブルにならなかったけど、瑕疵担保責任と綱渡りだなと思った。

CI/CD 構築 (Azure Pipelines)

当たり前だが、リリースサイクルを短くしないと顧客はキレてしまうので、CI/CD を整えないといけない。

今は Github Actions とかあるけど、昔は無くて Bitrise が高いからみたいな理由Azure Pipelines で CI/CD フローを構築した。

もう Multi Stage Pipeline になってるだろうけど、Release Pipeline が GUI からしか設定できないのが辛みだった。

IaC (Terraform)

当然だが、デプロイするためには IaC を整える必要がある。

これを知らずに、コンソールポチポチしていたので、 IaC 出来てない事がバレた時に色々怒られてしまった。

今は CDK とか便利なものが出来てるんだなぁ。

自動テスト

本来テスト自動テストを整えて、質保証をしてバグを減らさなければならない。

だが、テストを書くという手間を払えなかったので、人力テストしかできなかった。

一応、リグレッションテストを人力でやりまくったので、バグ発見曲線が結合テストでの IF 不一致しかない、という結果にはなったけど

自動化できれば費用必要じゃなかったから、怠慢だと、責められてしまった。

同じような未経験の人へ

経験でも誓約書を盾に、振られた事全部を出来なくてはならない慣習があるので、プログラマはそんなに良い職業じゃないよ。

甘い考えで、プログラマになろうと思っているのなら、考え直した方がいいです。

2022-08-18

anond:20220818112719

今の時代リーダブルコードなど

良い教科書評価されている本があるかrあ

独学なら自分で本を読む

そして英語勉強してgithubコード公開して

他人コードを読みまくる

AtCoderにも参加して自分コード他人コード比較する。

はっきりいって同じコードを書く人がいないと言っていいほど

ほぼ全員、同じ問題なのにコードの書き方が違う。

2022-08-12

anond:20220811181729

おまえAtCoderエアプだろ。

AtCoderアルゴリズムよりも数学問題を解く力を強く要求されるんだよ。

もちろんアルゴリズム勉強しておくことは必要だが、

それだとアルゴリズム技法は何百何千とあるわけじゃないか

問題を定期的に出すためには、数学問題アルゴリズムを絡めて出す必要がある。

もちろんアルゴリズムの数は少ないから、数学の方でいろんなパターンを考えないといけない。

からAtCoderで高い点数を出すには数学問題を早く正確に、そしてそれをプログラムに落とし込む能力必要なんだ。

ログイン ユーザー登録
ようこそ ゲスト さん