タグ

プログラマに関するPinon3sのブックマーク (30)

  • 天才プログラマだと言われる人が書くコードは、どんな観点が天才的なんでしょうか? | mond

    天才プログラマと言われて頭に思い描く人物が複数いて、共通点が実はそんなに無いので共通点を洗い出すのはやめて「自分だったらできないだろうなぁ」という事例を思い出した順に列挙してみます。 しょぼそうな高速化がめちゃくちゃ刺さる凡人に理解できないような天才的なアルゴリズムを用いてめちゃくちゃ計算量を減らしている、なんてことは実はほぼ見かけなくて実際によくあるのがこのパターンです。賢いアルゴリズムというだけなら素養のある秀才ならなんだかんだ思いつくので個人的には天才とまでは感じません。 天才は「Aを受け取って計算してBを返す」みたいな一見平凡な処理に対し「Aの配列を受け取って結果をBの配列にして返す」みたいな誰でも思いつくようなしょぼそうな効率化を行って途方もない効率化を果たします。もちろん凡人が任意の場所でそういう細かい最適化を入れて同様の効率化が再現されるわけではないのですが、天才はただのバッ

    天才プログラマだと言われる人が書くコードは、どんな観点が天才的なんでしょうか? | mond
  • 人生はyak shaving。失敗も遠回りもいつか自分の糧になると、エンジニアの仕事が教えてくれた - Findy Engineer Lab

    こんにちは。motemen(id:motemen)と申します。現在、株式会社はてなでCTOとして開発組織や技術方針のマネジメントに携わっています。新卒ではてなに入社してから、気づけば15年が過ぎていました。今回「Findy Engineer Lab」で寄稿の機会をいただきましたので、自分のキャリアを簡単にふり返ってみたいと思います。 プログラミングの初期衝動 あらゆるウェブページをハックできる、JavaScriptの全能感 プログラマからソフトウェアエンジニアになっていく コードで自分が評価されることの恐ろしさを知った 「話すことが得意ではない」自分がマネジメントの道へ チーフ、そしてCTO 人生yak shaving プログラミングの初期衝動 初めてプログラミングに触れたのは小学生の頃でした。家に、親が仕事で使っていたパソコン(PC-9801)があったので、それに屋で買ったムックにつ

    人生はyak shaving。失敗も遠回りもいつか自分の糧になると、エンジニアの仕事が教えてくれた - Findy Engineer Lab
  • 僕が考える「良いコード」 - give IT a try

    こんなコードだとわかりやすい 僕が考える良いコードの特徴(条件)を挙げてみると、 ぱっと見たら、だいたい何をやっているのかがわかるメソッド名 ぱっと見たら、だいたい中身が何なのか想像がつく変数名 ぱっと見たら、だいたい何をやっているのかが把握できるメソッドの内の処理フロー 驚きが少ないメソッド 副作用が少ないメソッド(責務が1つしかないメソッド) DRY原則を守っているコード だいたいこんな感じ。 つまり「すんなり読めて、すんなりわかるコード」が理想。 プログラムが小さいうちや、一人で開発しているうちは「汚くてわかりにくいコード」であっても「自分さえわかればOK」で済んじゃうけど、プログラムの規模が大きくなったり、複数人で開発するようになると、「汚くてわかりにくいコード」は絶望的に開発効率を下げる。 こんなコードはわかりにくい たとえば上の反対で、 メソッド名だけ見ても何をやっているのか想

    僕が考える「良いコード」 - give IT a try
  • これまで見たことある凄腕プログラマはどんな人でしたか?思い出とともに聞かせていただけると嬉しいです | mond

    この質問をする方ならたぶん名前は聞いたことがあるであろう、とあるプログラマの方です。私は関東地方のとある地方国立大学の情報系学部に進学しましたが、彼は私と同じサークルで一年後輩でした。ここではN君(仮名)としておきます。 N君の名前は高校時代にとある伝手で聞いていたのですが、その時は一度聞いただけですぐに忘れてしまっていました。しかし、二年生に上がった頃、サークル内では「今度入ってくる新入生はヤバいらしいぞ」ということで噂になっていました。私が入っていたサークルはとにかくコンピュータやプログラミングが好きな人間が集まる「ちょっと変わった」サークルでしたが、彼は高校生にして書店に並ぶような技術書籍を執筆しており、当時のケータイのメモリを編集するソフトなんかも開発しているということで、入ってきた時点で技術の面で頭抜けていたことは確かでした。 そんなN君と私はサークル内でよく激論を交わす間柄でも

    これまで見たことある凄腕プログラマはどんな人でしたか?思い出とともに聞かせていただけると嬉しいです | mond
  • 自立したエンジニアとはなにか

    自立したエンジニアとは 仕事で、自立とか自走とかいうキーワードが飛び交っていた。冷静に考えるとどういう意味なのかあまり言語化できていなかった。 自立しているエンジニアってなんだろう、ということを考えているうちにこの文書が生まれたのでここに公開する。なお、以下では「エンジニア」と「ソフトウェアエンジニア」を特に区別せずに使う。 なんでも自分でできると思っていた 題に入る前に、少し昔話をしたい[1]。 僕は仕事でコードを書くようになった。2017年くらいのことになる。 学生時代にある程度プログラミングをやっていた僕ではあったが、仕事はコードを書けるだけではできないことがたくさんあることがわかった。 作って欲しいと言われたものを作ることはできた。とにかく仕事を前に進めるためのことを色々とやっていた。 でもセキュリティのこととかよくわからなかった。他にも、Linuxサーバーの操作はできて設定ファ

    自立したエンジニアとはなにか
  • ソシャゲ運営を8年やって感じた、良いところと悪いところ - 音速きなこおはぎ

    ポエムです。筆者はプランナーおよびプログラマーとして、いわゆるソシャゲの運営を8年ほど務めてきました。過去を振り返って、ぶっちゃけ話をつらつらと書いていきます。 現実はこんなに若くないけど TL; DR 「運営」の良いところは何よりも「失敗できること」。ゲームづくりは試行回数が命。 一方、「ソシャゲ」に目を向けると、今後はゆるく滅びていくしかないだろうなあと思ってしまう。法外な課金体系についても思うところがないといえば嘘になる。 AI の出現やらでビジネスモデルもクリエイティブも大きく変化が予想される中で、今までの成功論からは離れて、もっと危機感を抱いて次の時代を作らなければ生き残れないだろう。 おことわり 内容はすべて筆者の個人的意見であり、責任はすべて筆者に帰属し、所属する組織団体の意向とは一切関係がありません。 それと、一部経営層への批判と捉えられる文章があるかもしれませんが、それら

    ソシャゲ運営を8年やって感じた、良いところと悪いところ - 音速きなこおはぎ
  • ソフトウェア開発者に必要な考え方 / Necessary mindset for software developers

    抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization

    ソフトウェア開発者に必要な考え方 / Necessary mindset for software developers
  • プログラマが凄いものを作ることについての雑感

    空港で暇なので何か文章でも書こうという事で。 podcastなどでも度々話をしているが、ここ1年くらい掛けてお仕事で作っていた独自言語が割と使えるようになった。 リリースまでにはまだやる事がそれなりに残っているが、2年弱くらいで作ったとは言えそうだ。 これはコレクションからUnitTestのライブラリからパーサーから全て手作りで、結構大掛かりであり、実装の面でも色々な工夫が入っているし、 そもそもに実現しているものも、自分が作らなければ類似のものは無いくらいには新規性のあるものだ(独自言語なので当たり前だが)。 こういう、結構大きくて、自分が作らなければ世の中に無いものが、たった一人で生み出せる、というのは、結構凄いことだよなぁ。 一方で、2年くらい仕事でずっと一人で何かを作り続ければ、相当なものが作れる人は、世の中にはそれなりにたくさんいるんんじゃないか。 自分と同世代のプログラマの友人

  • プログラマの心の健康

    目次 はじめに 情報不安について 人の話を聞くこと 寝てから考えよう わ・ざ・と、ゆ・っ・く・り・、や・っ・て・み・よ・う ロビンソン式悩み解決法 驚き、最小の法則 むしょうに腹が立つあいつのこと あなたは、そのままでいいんです はじめからやり直したい症候群 人から信頼されるためにはどうしたらよいか トラブルがチャンス あなたはひとりではありません あなたのための聖書の言葉 ぜひ、感想をお送りください リンク集 更新履歴 はじめに 私はプログラマです。 プログラムを書いて生活の糧を得ています。 プログラマというのは精神的にも肉体的にも過酷な仕事だと思われています。 夜遅くまでディスプレイに向かい、 キーボードを叩き、ジャンクフードをべながらバグをとる…そんな職業だと思われています。 確かにそういうところもありますが、プログラマも人間です。 不健康な生活を長いこと続けることはできません。

  • 45歳多重派遣プログラマの退職エントリ

    45歳多重派遣と言っても、噂のGitHubの人ではない。すまんな。。 皆さんはプロジェクトの共有ディレクトリの最下層に”女子大生”という何もないファイルを作ってアクセスログをとっていたのがバレて怒られた事はあるか?私はある。2回。 人は暇なとき、意外とディレクトリをめぐる旅をするものだ。 仕事でとうとうGitHubすら使わずにプログラマ人生を終えてしまった。 レガシーな技術を使いがちな金融プログラマではそこそこ居るのでは無いだろうか。 年収は20代後半からは550万~700万位だった。残業代・退職金は無く交通費は出ない。 所属会社は営業も事務も居ない小さな所帯のフリーの集まりのような所で、会社の運営に必要な金額をある程度毎月納めれば良い会社だった。 仕事がなくなれば自分、もしくは他社員の人脈で仕事をとってくる方式。 フリーで居るよりは仕事を取りやすく、単価も上げやすいので一応会社の所属にし

    45歳多重派遣プログラマの退職エントリ
  • プログラマーのキャリアについて考える|Keisuke69

    プログラミングはクリエイティブワーク. 音楽、キャンプが好き. クラウド関係のお仕事してます. なお、投稿はすべて個人のものであり、所属する組織の意見でも代表するものでもありません。https://www.keisuke69.jp/

    プログラマーのキャリアについて考える|Keisuke69
  • 価値をつくり出す自走プログラマーがもっている2つの目

    2020年2月28日(金)に開催されたBPStudy#150( https://bpstudy.connpass.com/event/166409/ ) の発表資料です。

    価値をつくり出す自走プログラマーがもっている2つの目
  • 【SIer先輩 v.s. プログラマー先輩】 - BizDeep

    大企業に潜む2パターンの「ソフトウェアエンジニア」 ぼくは割と大きめの会社でソフトウェアエンジニアをしています。働いて少し経つとソフトウェアエンジニアと名乗る人間には以下の2パターンあることが分かりました。ずばり コードを書く人間 (プログラマー先輩) コードを書かせる人間 (SIer先輩) です。 同じ顧客から同じ要求が来た時、プログラマー先輩がアサインされると、彼は要求を聞くなり早々に関連論文を読み漁って最高の技術を選択し、実装にかかるスケジュールを算段し、それ通りにシステムを自分で作って提供します。 対して、SIer先輩がアサインされると、彼は顧客と何度も打ち合わせをして要求と価格を明確化し、ニーズと価格にマッチした人材を派遣として登用し、自分は管理者としてシステムを他人に作らせて提供します。 この2種類の人間達は同じ部署の中で敵対していて、片方と飲み会に行くと片方の悪口を一生しゃべ

    【SIer先輩 v.s. プログラマー先輩】 - BizDeep
  • 9月末で60歳定年退職しました - 未来のいつか/hyoshiokの日記

    当社の規定により満60歳で定年退職をした。長いようで短かった会社員生活も一区切りだ。自分のプログラマとしての会社員生活を振り返ってみる。無駄に長いし結論はないのでお忙しい人は飛ばして欲しい。 9月末なのでブログ界隈では退職エントリーがそこかしこに書かれると思うが、その中で自分の退職エントリーを連ねることにどれほどの意味があろうか。もちろんないのだが、それでも多くの書き手の年齢を考えると満60歳定年退職というところに若干の希少価値を見出せなくもない。 1984年に大学院修了して以来、プログラマとしてのキャリアを重ねてきた。大学時代の同期でプログラマとして就職したものは皆無だ。当時、工学部の同期はメーカーに就職するのがほとんどで、大手家電メーカー、自動車メーカー、電力会社などなど、当時の誰でも名前を知っている人気企業に就職するものが大半だった。 その中で、日ディジタルイクイップメント(DEC

    9月末で60歳定年退職しました - 未来のいつか/hyoshiokの日記
  • プログラマと学歴 - megamouthの葬列

    もはや現代では大学に行く必要はない、いや行ったほうがいい、という議論があるらしい。 大学が、「学歴」という形で、社会における個人の扱いをある程度は規定している事実がありながら、今ひとつ「大卒」であるということが、それほど重要視もされていないようにも見えるプログラマという職種こそ、このような議論がふさわしいのかもしれない。 そのようなプログラマと学歴との関係を少し書いておこうと思う。 プログラマ・カースト プログラマは奇妙な人々である。 クーラーの効いた小洒落たオフィスの最新スペックのパソコンに向き合って、鳴り続ける外線電話に出ようともしないで、その間にTwitterで卑猥なイラストをリツイートするといった、一般の社会人では考えられないような非常識を行ってもクビにならず、むしろ、これこそギークの証であると、納得される部分さえある。 そんな普通でない人々に学歴など必要なく、必要なのはただ、計算

    プログラマと学歴 - megamouthの葬列
  • アメリカ就職に失敗したはなし - 怠惰を求めて勤勉に行き着く

    前口上 アメリカで就職できなかった。華々しい成功譚は見かけるが、夢と散った話はあまり表に出てこない。 なんというか「三振したバッターが相手ピッチャーのことを語る」みたいでまるっきり時間の無駄かもしれないが、もしかしたら参考になる人もいるかも知れないし、実際に就職した人に「お前のアプローチはまったく的外れだ」と言われるかも知れない。僕も何が悪かったのか教えてもらいたい気持ちもあるし、迷ったがこのエントリを公開する。 ちなみにめっっっっちゃ長いので、要点だけ知りたい人は、アメリカで就職するにはとにかく 就労ビザ>技術力>学歴>>>>>>>>>>>>(越えられない壁)>英語力 だというのだけお伝えできればと思う。 アメリカで働くために英語を頑張るぐらいなら、それより大学(院)に入り直してコンピュータサイエンスの学位をとり*1、同時に技術力を磨くほうがよほど近道だと感じた。 それから、現職の同僚は

    アメリカ就職に失敗したはなし - 怠惰を求めて勤勉に行き着く
  • コードレビューを受けるのがつらくなったときは - めるノート

    そういうときがよくあります。 コードレビューがある会社は今が初めてだけど、きっとこれから先もコードレビューがある限りは、なくならない気持ちなんだと思います。 だから、そんなときに振り返れるようなものを残しておきます。 「コードレビュー つらい」でググってみると、はてな匿名ダイアリーのこんな記事が見つかりました。 anond.hatelabo.jp さすがに、ここまでヒドいケースを経験したことはないし異常だと思ったけれど、以下のくだりは自分の胸にすごく刺さりました。 私はプログラマに向いていないんじゃないかと思う。よいプロダクトを作る上で強い言葉を交えた議論が必要不可欠ならば、それに強いストレスを感じてしまう私はプログラマとして適正がないのでは? 刺さったのですが、それでも自分はここでやっていかなくちゃならないと思っているので、つらくなったときにいつでも読み返せるよう、見つけた記事・資料をま

    コードレビューを受けるのがつらくなったときは - めるノート
  • 優秀なプログラマになるために - @ledsun blog

    みんな良いこと言うので、刺激を受けて考えたことを記録します。 生きてるだけで丸儲け ストレス対処法 撤退戦術 タスク殺すマシーン 人間に戻る儀式 運 技術力を身につける方法 車輪を再発明する 脱ゴールデンハンマー病 学習の助 優秀なプログラマとは? おまけ 生きてるだけで丸儲け 優秀なプログラマーになるためのコツ · GitHub 優秀なプログラマーに「育つ」んだし、それには時間が必要 優秀なプログラマーになるということは、上記の通り長時間を要するということも踏まえると、メンタルヘルスにリスクがある環境に長時間暴露されることが不可避である 業界で長きにわたり活躍し続けている人というのは、それだけですでにひとかどの人物 すごく良いです。 優秀なプログラマになる前に、死んでしまっては元も子もありません。 生き延びることはなにより大切です。 幸か不幸か現状のIT業界はハードなストレスにさらされや

    優秀なプログラマになるために - @ledsun blog
  • プログラマが「出来ません」と言う日 - megamouthの葬列

    長い間、フリーランスなどという「便利屋」をこなしていると、馴染みの顧客から、トラブったプロジェクトに急遽参画してほしいという、ヘルプ案件が入ってきたりする。 嫌かと言われるとそうでもなく、むしろ、恩を着せて(足元を見るとも言う)高単価を取るチャンスだし、案件が燃え上がっているのは他人のせいであり、途中から入る私は気楽なものなので、積極的に首をつっこむことにしている。 こう言うと颯爽と現れるスーパーマンのようでかっこいいのだが、そこはクソ雑魚フリーランスの私。トラブルの内容というのは、「安いWordpress業者に頼んだ案件で、途中で、(カスタマイズ要件)がやっぱり出来ないと言われた」とか「アプリが毎回メモリリークで5分で落ちるのだが、全く治る気配がない」とかそういう情けない話ばかりである。 共通して言えるのは、炎上させた業者が「(問題を解決することが)出来ません」とはっきり言ってしまってい

    プログラマが「出来ません」と言う日 - megamouthの葬列
  • プログラマだけど異世界の開発会社に転生した - megamouthの葬列

    最適化(オプティマイゼイション) ジャムス「どうもページの表示が遅いんだ。多分Javascriptが重すぎるんだよ。どうしたらいいんだろう?」 エイダ「しょうがないわね。ふーん。まずJqueryのappendが多いわ。DocumentFragmentやinnerHTMLをもっと効果的に使わないと」 ジャムス「ふーむ」 と言ってジャムスはTeraPadを開くとjsファイルを編集しはじめた。エイダがすかさず口は挟む。 エイダ「待って。前のファイルをちゃんと残しておかないと。」 ジャムスはうっかりしていたとばかりにエクスプローラーで、main.jsをクリック。CTRL+Cでコピーすると、流れるような動きでCTRL+Vを押す。すぐさま「main.js のコピー」ができあがる。 エイダが呆れて言った。 エイダ「それじゃ、いつの履歴かわからないじゃない!。今日の日付main.1281落葉の月21の日.

    プログラマだけど異世界の開発会社に転生した - megamouthの葬列