Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
「プログラマー脳」を読んで感覚的な部分が言語化された
Search
shinnosuke
February 28, 2024
Technology
1.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
「プログラマー脳」を読んで感覚的な部分が言語化された
めぐろLT #12「おすすめ書籍紹介LT」@日本橋 2024/02/28 (水)
https://meguro-lt.connpass.com/event/305704/
shinnosuke
February 28, 2024
More Decks by shinnosuke
See All by shinnosuke
電話に出る Python のログの話
shinnosuke_kishida
0
530
「解くべき問題」を見つけたい
shinnosuke_kishida
0
110
広告データの集計基盤で使用するDB
shinnosuke_kishida
0
66
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
1.3k
TiDB の SQL Parser を使用して CSV ファイルの不備を検知する仕組み
shinnosuke_kishida
0
200
システムと組織の課題克服を目指すリアーキテクチャとユーザ移行
shinnosuke_kishida
2
1.2k
go get で考慮している ファイルシステムの挙動について
shinnosuke_kishida
4
1.5k
広告代理店向けSaaSの開発をしている新卒3年目のこれまでのお話
shinnosuke_kishida
0
240
Ebitengineのイベントで発表するのでEbitengineを初めて触ってみた
shinnosuke_kishida
0
3.1k
Other Decks in Technology
See All in Technology
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
1.5k
Geolonia の開発現場における AIの活用について
miya0001
0
100
30座EKS, 180次升級淬煉的EKS Upgrade Skill 的歷程
eric8230
0
160
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
130
beyond jj: config & tools ecosystem
indirect
0
420
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
810
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
0
2.2k
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
190
10分で知る最近のOmarchy
komagata
0
320
HHKBエバンジェリストになる方法
941
0
100
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
2
2.1k
CLIライブラリ開発を支える技術
htnabe
0
110
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
A Soul's Torment
seathinner
8
3.6k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Deep Space Network (abreviated)
tonyrice
0
310
BBQ
matthewcrist
89
10k
A Modern Web Designer's Workflow
chriscoyier
699
190k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
320
We Are The Robots
honzajavorek
0
370
My Coaching Mixtape
mlcsv
0
310
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Transcript
「プログラマー脳」を読んで 感覚的な部分が言語化された 1 めぐろLT #12「おすすめ書籍紹介LT」@日本橋 2024/02/28 (Web) @mwudo / 岸田慎之介
2 自己紹介 • SO Technologies 株式会社 • 新卒3年目 • Go言語でAPI/バッチ処理の開発を主に行いつつ
問い合わせの調査も行っている グループ横断の取り組みで使うアプリの開発にも従事 • 毎週ボルダリングに通ってる 岸田 慎之介 @mwudo
プログラマー脳 出版社:秀和システム 発売日:2023/02/16 ページ数:288ページ 翔泳社主催の「ITエンジニア本大賞2024」で 技術書のベスト10に選出されている 3
読むきっかけ 4 出版イベントに参加してプレゼント企画(じゃんけん)で Get した
書籍は大きく4つのコンテンツに分かれている 5 コードをよりよく読むために 1 コードについて考える よりよいコードを書くために コーディングにおける共同作業 2 3 4
コードをよりよく読むために 6 なれないコードを読む際の混乱は認知プロセスの問題に関連 ❏ 知識不足 ❏ 情報不足 ❏ 処理能力の不足
コードをよりよく読むために 7 なれないコードを読む際の混乱は認知プロセスの問題に関連 ❏ 知識不足 ❏ 情報不足 ❏ 処理能力の不足 長期記憶(例:ハードディスク)
短期記憶(例:RAM) ワーキングメモリ(例:プロセッサ) サンプルコードを示しながら 3つの認知プロセスが互いに補完し合っていることを説明している
コードをよりよく読むために 8 プログラミング言語の文法や概念などの記憶の重要性 長期記憶 を使ってコードを読み進めることが可能 割り込みによる作業の中断があっても思い出す範囲を狭めることができる 覚える作業として フラッシュカードや積極的に何かを思い出そうとする練習(想起練習) 新しい情報を考え振り返る(精緻化)が取り上げられている
コードについて考える 9 コードの深い理解をするために • 変数の役割のフレームワーク 固定値、フラグ、ウォーカー etc • 問題を推論するために抽象化した メンタルモデル
を使った理解 「特定のコードが実行される」というものメンタルモデル 実際は対応したバイトコードが実行
コードについて考える 10 思考に潜むバグ(誤認識)を理解する必要がある 動的型付け言語を知っている人が静的型付けを学ぶ場合 身につけたメンタルモデルを変化させる必要がある 「唐辛子の種は辛い」は誤認識の一種 新米プログラマーが陥る誤認識が紹介されている
よりよいコードを書くために 命名 が重要 11 • 最もアクセスしやすいドキュメントになる • 初期の命名は永久的な影響を与える • 時間が経ても命名方法は改善されない
コーディング中は認知負荷が高く命名まで気が向かない レビューでの振り返りや名前の雛形を用意 しかし
コーディングにおける共同作業 割り込みが発生すると生産性が 低下 12 https://twitter.com/oshiroi_you/status/505686403053674496 生産性を下げないために備えが必要 割り込みをするタイミングについても言及
コーディングにおける共同作業 既存メンバーと新人メンバーとの違い 13 小さなバグや機能開発を 非常に簡単なタスク として渡しがち 「array index out of
bounds」などのエラーを見たときの反応 初心者や新しく来た人の行動を理解する必要がある オンボーディングプロセスを改善するための活動が紹介されている
プロダクト開発で実際にコーディング業務をしている人すべてに オススメ 日々のコーディング業務での無意識の行動の説明がされており納得感があった 14 まとめ プログラムをどのように読んでいるかサンプルコードを例にした内容が あったがその通りだった(かなり驚いた)
1 https://www.amazon.co.jp/dp/4798068535 購入はコチラ (アフィリエイトではありません) 15