Skip to main content

Programmer's Bookshelf - "The Pragmatic Programmer"


“People should see your name on a piece of code and expect it to be solid, well written, tested, and documented.”

~ David Thomas, Andrew Hunt


Today I proudly finished “The Pragmatic Programmer” by David Thomas and Andrew Hunt ๐Ÿ˜Š 

I recommend it to anyone looking for solid tips for every aspect of developer’s work: from technical to project management. Also, it may just ensure you in the correctness of your workflow ๐Ÿ˜Š

What I have learned from the book:
 
- „Provide Options, Don’t Make Excuses” – take responsibility for your errors and provide solutions.
- “Don’t Live with Broken Windows” – prevent damage to your projects by not ignoring anything potentially harmful and fixing it.
- “Invest Regularly in Your Knowledge Portfolio” – embrace any opportunity to learn!
- “Involve your users in the trade-off” – remember that you’re writing software for other people.
- Users not only decide what they want but also when they want it and how good it should be, because… 
- “You Can’t Write Perfect Software”. Yes, that statement hurts me too…
- Estimate tasks with a range of scenarios, not a single value.
- Write failing test for the bug before fixing it.
- The idea of keeping Engineering Daybook – small journal of your everyday work .
- “Take Small Steps – Always”  - don’t predict too much into the future.
- Idea of Actors and Processes for concurrency.
- If new ideas don’t appear, give it time. Do something else, they’ll come by themselves.
- “Don’t Program by Coincidence” – plan ahead and  be aware of what you are doing; if you can explain what you’ve done to someone else, then you’re OK.
- “Testing Is Not About Finding Bugs” – it’s also about a process of problem-solving itself and the design.
- “No One Knows Exactly What They Want” – requirements is a constantly evolving process, for that the feedback loop is needed.

… And many more ๐Ÿ˜„

I feel I need to start reading something new. Do you have any recommendations? ๐Ÿ˜Š

Comments

hasparus said…
Wanna do a little book club? We could start reading the same book and compare notes and feelings.

Popular posts from this blog

How I started with Functional Programming

There was a moment during past Learning Sessions when I declared, that I’ll share with you how and why I decided to dive into Functional Programming. And that day is today! I’ll guide you along the path I took to understand basic concepts of FP. My first meaningful encounter with FP was during local Wrocล‚aw TypeScript meetup . There I got to hear Jรณzef Flakus telling us about core concepts of the FP. We then got to the concept of FRP and how it is used in MarbleJS, the framework for creating server-side apps. In fact, Jรณzef is the creator of this framework. It was really cool to hear his point of view. Those concepts were entirely new to me, because (as it turned out) I had 100% imperative programming mindset. The second talk that day was authored by Tomasz Ducin. He showed us how we can implement functional composition in TypeScript. It was a brilliant live coding session but… I had no idea what he was talking about ๐Ÿ˜‰ I was examining code created by Tomasz for the entire ...

Learning Session #10

1. Functional Programming Basically all content surrounding FP this time is connected with articles and projects created by Giulio Canti ( @giuliocanti ). For me reading those articles below definitely firmed and expanded my previous knowledge on FP. I would like to give credit to Piotr ( @hasparus ) who introduced me to Giulio’s work after the last Wrocล‚aw TypeScript meetup. It was genuinely fascinating, thank you both! >> “fp-ts” library  I think fp-ts today is as famous for TypeScript as Rambda for JavaScript. With it, you can use “popular patterns and abstractions available in most functional languages”. If you are a newbie to FP (like me) and you know TypeScript it may be a good way to get your head around FP concepts through practice. Just play with it a little, create something small, something you know. >> “Getting started with fp-ts” series Aside from fp-ts having a well written official guide, Giulio created a series of articles, that introduce...

Learning Session #2 (12/31 – 01/13)

1. Git >> Free and (almost) unlimited private repositories on GitHub Last week everyone on Twitter was talking about this so I can't just leave that be, right? ๐Ÿ˜‰ What I’m referring to is GitHub announcing free and unlimited private repositories for all users. That’s a great news and I was wondering why this option was not enabled from day one I started using GitHub. I mentioned that this option is “almost” unlimited because free private repository can manage up to three collaborators only. Big projects won’t be able to use those, but at least individual users can now freely hide code they consider shameful ๐Ÿ˜‰ 2. React >> React Crash Course by Mosh Hamedani During last two weeks I’ve completed this YouTube crash course by Mosh Hamedani. It is derived from his full course on React and contains first couple of lessons. It think it was a great introduction to the library itself (React is a considered a library, not a framework, isn’t it? ๐Ÿ˜Š). Tutorial ends ...