The Pragmatic Programmer
Rate it:
Open Preview
Started reading October 6, 2019
5%
Flag icon
Pragmatic Programmer takes charge of his or her own career, and isn't afraid to admit ignorance or error.
5%
Flag icon
We can be proud of our abilities, but we must be honest about our shortcomings—our ignorance as well as our mistakes.
5%
Flag icon
When you make a mistake (as we all do) or an error in judgment, admit it honestly and try to offer options.
5%
Flag icon
If there was a risk that the vendor wouldn't come through for you, then you should have had a contingency plan.
5%
Flag icon
Instead of excuses, provide options. Don't say it can't be done; explain what can be done to salvage the situation.
5%
Flag icon
If you must, tell your cat first. After all, if little Tiddles is going to take the blame....
6%
Flag icon
When disorder increases in software, programmers call it "software rot."
6%
Flag icon
Don't leave "broken windows" (bad designs, wrong decisions, or poor code) unrepaired. Fix each one as soon as it is discovered.
6%
Flag icon
Take some action to prevent further damage and to show that you're on top of the situation.
6%
Flag icon
but neglect accelerates the rot faster than any other factor.
6%
Flag icon
One broken window—a badly designed piece of code, a poor management decision that the team must live with for the duration of the project—is all it takes to start the decline.
7%
Flag icon
Constantly review what's happening around you, not just what you personally are doing.
7%
Flag icon
you can discipline yourself to write software that's good enough—good enough for your users, for future maintainers, for your own peace of mind. You'll find that you are more productive
7%
Flag icon
Great software today is often preferable to perfect software tomorrow. If you give your users something to play with early, their feedback will often lead you to a better eventual solution
8%
Flag icon
Don't spoil a perfectly good program by overembellishment and over-refinement. Move on, and let your code stand in its own right for a while. It may not be perfect. Don't worry: it could never be perfect.
8%
Flag icon
Consider the effect of modularization on the delivery of software. Will it take more or less time to get a monolithic block of software to the required quality compared with a system designed in modules?
8%
Flag icon
Your knowledge and experience are your most important professional assets.
8%
Flag icon
Learn at least one new language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut.