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:
UI, UX
https://www.joelonsoftware.com/2002/02/13/the-iceberg-secret-revealed/
Customers and managers care about pixels.
Roman actually learned this the hard way:
I’ve participated in a web app competition and even though our web app was the only AJAX capable we lost against competition with fancy CSS. Their page had to be reload to retrieve the data! Ugh!
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/
Programming
https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/
Abstractions are not perfect and sometimes they “leak”.
https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/
Checklist to improve your programming.
https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
Risks of rewriting code base from scratch.
https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost-the-api-war/
Microsoft fixed SimCity bug by adding custom tweak in Windows (to support backwards compatibility).
https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-invented-here-syndrome/
Implement it yourself only if it’s your core business.
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.
Quality Assurance
https://www.joelonsoftware.com/2000/04/30/top-five-wrong-reasons-you-dont-have-testers/
Don’t make these excuses. Hire testers.
https://www.joelonsoftware.com/2004/03/02/top-twelve-tips-for-running-a-beta-test/
Guidelines for beta testing.
Knowledge
https://www.joelonsoftware.com/2008/03/17/martian-headsets/
Why web standards don’t actually work.
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.