“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? 😊