joshuago’s software-engineering Bookmarks

24 JUN 2009
[Joel on Software] Hard-assed Bug Fixin'

Fixing bugs is only important when the value of having the bug fixed exceeds the cost of fixing it. You should also charge the support cost of a product to the product division, not the support division. This will properly align incentives and increase transparency.

15 MAY 2009
[Fast Company] They Write the Right Stuff

The group writes software this good because that's how good it has to be. Every time it fires up the shuttle, their software is controlling a $4 billion piece of equipment, the lives of a half-dozen astronauts, and the dreams of the nation.

18 SEP 2008
30 Brilliant Vector Logo Designs, Deconstructed - VECTORTUTS

Logos not only have to look good. They should also be thoughtfully designed and capable of taking on a variety of uses. This could include being scaled to a range of sizes, being reproduced in flat color and being printable on paper stock. This post looks at 30 contemporary examples of great vector logo design and find out what makes them work.

12 SEP 2008
famfamfam.com: Silk Icons

“Silk” is a smooth, free icon set, containing over 700 16-by-16 pixel icons in strokably-soft PNG format. Containing a large variety of icons, you're sure to find something that tickles your fancy. And all for a low low price of $0.00. You can't say fairer than that.

09 SEP 2008
Coding Horror: How To Become a Better Programmer by Not Programming

To truly become a better programmer, you have to to cultivate passion for everything else that goes on around the programming. Learn about your users, your company, and your industry. The more things you are interested in, the better your work will be.

09 SEP 2008
How to be a Programmer: A Short, Comprehensive, and Personal Summary

Work on projects with other programmers. With some projects, be the best programmer on the team. With other projects, be the worst so you can learn. Work on projects after other programmers to learn to be a good maintainer. Learn half a dozen programming languages, where each one challenges the way you think about programming (e.g. LISP versus C).