Thursday, August 26, 2010

Influence vs Control

Focus more on influence than on control, steering people in a direction without telling them to do something specific. Steering helps others learn, telling doesn't. Constantly telling people what to do in detail (micro-management) keeps them from learning, and keeps them from being creative and innovative. Allowing people to make their own mistakes and learn from those mistakes takes confidence in the process and a trust in people -- especially when you know the best solution.

 

Saturday, August 21, 2010

Software projects and Programmers

  1. Software projects cannot be accelerated by spending more time in the office or adding more people to projects.
  2. Although most software is made by teams, it is not a democratic activity. Usually, just one person is responsible for the design, and the rest of the team fills in the details.
  3. Continuous change leads to software rot, which erodes the conceptual integrity of the original design and could cause it become worthless before it is even completed..
  4. Great programmers spend very little of their time writing code – at least code that ends up in the final product. Great programmers are masters at recognizing and reusing common patterns. Good programmers are not afraid to refactor (rewrite) their code constantly to reach the ideal design.
  5. A bad programmer is not just unproductive – he will not only not get any work done, but create a lot of work and headaches for others to fix.
  6. Bad programmers write code which lacks non-redundancy, hierarchy, and patterns, and so is very difficult to refactor. Programmers who spend much of their time writing code are too lazy, too ignorant, or too arrogant to find existing solutions to old problems.

Thursday, August 12, 2010

Human Interaction and Learning to Adapt

Importance of Human interaction: The exchange of experiences and ideas may give us a solution we could use, accelerate problem solving, give us an idea for something new, and provide us with some guidance. It may also inspire us to try something new.

Learning to Adapt: Sometimes someone else's solution may be tempting to use. Don't just go ahead and replicate it. Doing so may result in a marginal solution or the creation of new issues. Instead, adapt them to your own reality such that you end up with what is right based on your own, unique needs.

Wednesday, August 11, 2010

Questioning Ownership

House: Owning a large house gives us more personal space and makes day-to-day living more pleasurable. At the same time, bigger houses cost more to upkeep, they take more time to keep clean and allow you to accumulate stuff without noticing. The house becomes so full of stuff you can’t park the cars in the garage.
Owning very nice things makes using them less pleasurable because you have to be extra careful not to damage them. Keeping your housing costs low and not accidentally accumulating stuff allows you to spend time and money on things that matter more.

Sunday, August 01, 2010

Writing makes a better person

Writing reveals holes in your thinking. When your ideas are written and looking back at you, they're a lot less convincing than when they're just in your head. Writing forces you to mature your ideas by thinking through counterarguments. Writing helps you organize your thoughts in a coherent way. Writing makes you smarter.