Iteration: a weekly podcast about programing, development and design through the lens of amazing books, chapter-by-chapter. This week we have the first chapter of a new book - Pragmatic Programer. Follow along through this great book in this super long first episode.
Welcome to Iteration: a weekly podcast about programing, development and design through the lens of amazing books, chapter-by-chapter
by Andy Hunt and Dave Thomas
This book will help you become a better programmer
this book was written in freaking 1999! I was 7.
programming is a craft
"as a programmer, you are part listener, part advisor, part interpreter, and part dictator. you try to capture elusive requirements and find a way of expressing them so that a mere machine can do them justice. you try to document your work so that others can understand it, and you try to engineer your work so that others can build on it. What's more, you try to do all this against the relentless ticking of the project clock. you work small miracle every day"
"you shouldn't be welded to any particular technology, but have a broad enough background and experience base to allow you to choose good solutions in particular situations"
What makes a pragmatic programmer
Tips
"We who cut mere stones must always be envisioning cathedrals."
"great lawns need small amounts of daily care, and so do great programmers."
"1% better every day. 365% bettere every year"
Challenge
hmmmmm.... really gets you thinking
Software entropy - aka Broken window theory - aka software rot
This is a great metaphor:
One broken window, left unrepaired for any substantial length of time, instills in the inhabitants of the building a sense of abandonment - ... so another window gets broken. People start littering. graffiti appears.
"The three soldiers returning home from war were hungry. When they saw the village ahead their spirits lifted—they were sure the villagers would give them a meal. But when they got there, they found the doors locked and the windows closed. After many years of war, the villagers were short of food, and hoarded what they had. Undeterred, the soldiers boiled a pot of water and carefully placed three stones into it. The amazed villagers came out to watch. "This is stone soup," the soldiers explained.
"Is that all you put in it?" asked the villagers. "Absolutely—although some say it tastes even better with a few carrots...." A villager ran off, returning in no time with a basket of carrots from his hoard. A couple of minutes later, the villagers again asked "Is that it?" "Well," said the soldiers, "a couple of potatoes give it body." Off ran another villager."
(don't be the frog who gets boiled gradually)
There will always be tradeoffs. When to ship?
Great software today is often preferable to perfect software tomorrow. If you give your users something to play with early, their feedback will often lead you to a better eventual solution.
Challenges
GOALS - I LOVE this section.
It doesn't matter whether you ever use any of these technologies on a project, or even whether you put them on your resume. The process of learning will expand your thinking, opening you to new possibilities and new ways of doing things.
Don't get swayed by media hype. I'm looking at you create-react-app!
create-react-app
is the best configuration free react setup. someone challenged me and said it's just the best marketedHaving the best ideas, the finest code, or the most pragmatic thinking is ultimately sterile unless you can communicate with other people. A good idea is an orphan without effective communication
these are great soft skills!