понедельник, 20 июня 2016 г.

The Pragmatic Programmer: From Journeyman to Master.

Hello, my dear reader!

Today I'm going to provide some thoughts after reading the Pragmatic Programmer book.
Here are the thoughts that caught me:
  1. Tag a commit, to see how many number of files affected by the bug fix.
  2. Find the opportunity to refine the code.
  3. Flexible, adaptable design.
  4. Deployment: stand-alone, client-server, n-tier model just by changing a configuration file.
  5. Domain specific language.
  6. Know your shell & text editor.
  7. Fix the problem, not the Blame.
  8. Bertrand Meyer.
  9. Design by contract for java.
  10. Perl for text processing.
  11. Pluggable exception handlers.
  12. Resources: memory, transactions, threads, files, timers, sockets.
  13. Metaprogramming.
  14. Large-Scale C++ Software design.
  15. The project needs at least two "heads" -- one technical, the other administrative. The technical head sets the development philosophy & style, assigns responsibilities to teams, and arbitrates the inevitable "discussions" between people. The technical head also looks constantly at the big picture, trying to find any unnecessary commonality between teams that could reduce the orthogonality of the overall effort. The administrative head, or project manager, schedules the resources that the teams need, monitors and reports on progress, and helps decide priorities in terms of business needs. The administrative head might also act as the team's ambassador when communication with the outside world.
  16. Tool builders -> Automation of project activities.
  17. Give each member the ability to shine in his or her own way.
  18. Unit testing: resource exhaustion, errors, and recovery.
  19. Surviving Object-Oriented Projects: A Manager's Guide: Alister Cockburn.
  20. Eiffel.
  21. Michael Holt. Math puzzles & games.
 Nice book. Keep up!

суббота, 11 июня 2016 г.

My reading list. What has been done

Here is the first attempt to present you my reading list - what I had read already.
There are knowledge that expire too fast and knowledge that have more long term value.  Here I want to share the list of books that I think should be read by every developer.

This is not a complete list. I'm working on it. If only I knew that all these books existed when I was studying at the institute...
  1. Code Complete: A Practical Handbook of Software Construction, Second Edition 2nd Edition by Steve McConnell
  2. Effective Programming - More Than Writing Code - Jeff Atwood
  3. Soft Skills: The software developer's life manual 1st Edition by John Sonmez
  4. How to Stop Sucking and Be Awesome Instead by Jeff Atwood
  5. Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity by Joel Spolsky
  6. More Joel on Software: Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, ... or Ill Luck, Work with Them in Some Capacity 2008th Edition by Avram Joel Spolsky
  7. Getting Started as an Independent Computer Consultant by Mitch Paioff
  8. The Deadline: A Novel about Project Management by Tom DeMarco 
  9. Design Patterns: Elements of Reusable Object-Oriented Software 1st Edition by Erich Gamma

If anyone wants to add something, feel free ;-)