The Pragmatic Programmer

Chapter I : Pragmatic Philosophy

Characteristics

An awesome guy should be

Early Adopter or Fast Adapter

Instinct of the technologies and techniques

Love try things out

Grasp quick

Confidence with their experiences

Inquisitive

Ask a questions

Critical Thinker

Realistic

Understand the nature problem

How difficult it is?

How long it will takes?

Jack of All Trades

Try to familiar with technology development, challenge or area

Be Responsible

You should care about your craft and also your work maybe it will be takes a lot of time and also needs hard work but it will repaid in the future

Broken Windows

Treat your projects when it be

Good

Don't mess it up

Bad

Try to fix it up with provide an options;

Ask question to yourself : is there anything else you can try?

Stone Soup

An awesome guy should be

Be Catalyst

Be the first one that has initiative to build something or start something

Grow More

Be Notice with small things

Create Things into Smaller

Boiled Frog

An awesome guy should be

Stay Notice

Repeat - Review

Ask For Help

Don’t Afraid

Don't Frustrating

The painting become lost in the paint!

Critical Thinking

Good requirement means enough well for their users. the future maintenance, and also yourself

Portfolio

Things To Do

Regularly

Buy Low – Sell High

Review and Rebalance

Dynamic

Manage Risk

Don’t invest all money in high risk

Diversify

Variative

Goals

Things To Do

New language

Learn new language every years

Stay current

It mean stay up to date

Read books (non/it)

Read book every quarter years

Feel comfortable ? Learn other

Community

Actively participate

Go to your doctor and ask your reads

Don’t isolation

Communication

An awesome guy should

Know what you want to say

Plan what you want to say

Set an outline of what you want to say

Style

Make it looks goods

You must know how to spelling with a style to interact your audiences

Feedback

Ask a feedback to your colleague

Listen other

Get back to people

As soon as possible

replay all email

Audience

Wisdom

Ask to yourself with these questions

What is their interest in what you've got to say?

What do you want to learn?

How sophisticated are they?

How much detail do they want?

Whom do you want to own the info?

How can you motivate them to listen to you?

Chapter II : Pragmatic Approach

Don’t Repeat Yourself

Make it reusable

Types of Duplication

Imposed

Seems need to be duplications

There should be documentation

Impatient

Lazy and do duplicated

There is no shortcut

inadvertent

A bad design implemented

Did not realized

Inter development

Tips: Ask question to yourself, your code is it good for performance? Example: adding flag on setter to make it cacheable

Orthogonality

Specs

Loose Coupling

High Cohesion

Isolated

Easy to Tested

Include unit testing and integration testing

Be Independent Component

Only have single purpose

Tracer Bullets

Tips: If Requirement made you in deadlock path use tracer bullets to find the target.

Prototypes

Make dummy for client

What

Architecture

New Function

Structure of example data

Third party

Performance issue

User interface design

Question

Responsibility of major component

Collaboration?

Coupling minimum?

Potential duplication?

Interface definition?

Constraint acceptable?

Module has a data?

Chapter 3 : The Basic Tools

Chapter 4 : Pragmatic Paranoia

Chapter 5 : Bend or Break

Chapter 6 : While You Are Coding

Chapter 7 : Before the Project

Chapter 8 : Pragmatic Projects

Last updated