A while back, I’ve found a really cool blog. Do you know Stack Overflow? Well, Joey’s one of the founding fathers and Joel on Software is his blog.
Here are articles which caught my eye:
Design
https://www.joelonsoftware.com/2002/02/13/the-iceberg-secret-revealed/
Customers and managers care about pixels.
https://www.joelonsoftware.com/2000/04/11/figuring-out-what-they-expected/
Build your software according to user model.
https://www.joelonsoftware.com/2006/12/09/simplicity/
80/20 rule doesn’t work long-term. Different people want different features.
https://www.joelonsoftware.com/2000/04/12/choices/
Similarity between prohibitive signs and software dialogue options.
https://www.joelonsoftware.com/2000/04/22/consistency-and-other-hobgoblins/
Don’t reinvent wheel. Follow industry standards for consistent software behavior. It’s what the user expects.
https://www.joelonsoftware.com/2006/01/26/great-design-what-is-design-first-draft/
Design according to Joel.
https://www.joelonsoftware.com/2000/05/09/the-process-of-designing-a-product/
User centered design: activity based planning.
Three part article series on software interface design:
designing-for-people-who-have-better-things-to-do-with-their-lives/
designing-for-people-who-have-better-things-to-do-with-their-lives-part-two/
designing-for-people-who-have-better-things-to-do-with-their-lives-part-three/
Software Engineering
https://www.joelonsoftware.com/2012/07/09/software-inventory/
Just like in a regular factory there are yet unprocessed items in software development too. For example, code waiting to be code-reviewed.
https://www.joelonsoftware.com/2001/02/12/human-task-switches-considered-harmful/
Multitasking is bad because of context switching overhead. The additional benefit of sequential processing is lower average time per computation.
https://www.joelonsoftware.com/2001/07/21/good-software-takes-ten-years-get-used-to-it/
Don’t overhype the first version of your product. Good product takes time.
https://www.joelonsoftware.com/2000/10/02/painless-functional-specifications-part-1-why-bother/
Why specs are important?
https://www.joelonsoftware.com/2000/10/15/painless-functional-specifications-part-4-tips/
How to write good specs.
https://www.joelonsoftware.com/2007/10/26/evidence-based-scheduling/
Estimate shipping date with EBS.
Business
https://www.joelonsoftware.com/2000/09/12/wasting-money-on-cats/
Why Cue Cat, a weird peripheral device, failed.
https://www.joelonsoftware.com/2006/01/11/micro-isv-from-vision-to-reality-2/
Starting a company? Here is some advice.
https://www.joelonsoftware.com/2001/01/18/big-macs-vs-the-naked-chef/
Scalability explained on McDonals vs gourmet chef.
https://www.joelonsoftware.com/2007/02/19/seven-steps-to-remarkable-customer-service/
Excellent customer service 101.
https://www.joelonsoftware.com/2006/04/11/the-development-abstraction-layer-2/
Interesting point of view: a company is just an abstraction layer for programmer to get their product on the market.
Article series on business:
Strategy Letter I: Ben and Jerry’s vs. Amazon
Strategy Letter II: Chicken and Egg Problems
Strategy Letter III: Let Me Go Back!
Work
https://www.joelonsoftware.com/2001/12/25/getting-things-done-when-youre-only-a-grunt/
How to improve things as a regular worker?
https://www.joelonsoftware.com/2004/01/26/getting-your-resume-read/
A great article on how to apply for a job.
https://www.joelonsoftware.com/2006/08/09/the-econ-101-management-method/
Intrinsic & extrinsic motivation and Overjustification effect.
https://www.joelonsoftware.com/2006/08/10/the-identity-management-method/
Employee identification with company goals.