For developers building something, the following are often true: Tweeting != Work TalkingAboutWork != Work Blogging != Work DoingSomethingInYourIDE does not necessarily = Work DoingSomethingInGithub does not necessarily = Work ThinkingButAppearingToBeDoingNothing may = Work Meetings != Work CodeReview may = Work Testing usually = Work DeliveringBuiltSoftware(AndItsPrerequisites) = Work HackerNews definitely != Work
School != Work
Learning new language != Work
Testing new lang/framework != Work
This is blatantly false, because doing these things may enable you to create something you couldn't before. Let's take two people. Person A only does code. Person B both codes and learns new theory. Person A creates something in X hours. Person B spends X/2 hours learning and creates something in X/2 hours. You can't say A has worked twice as long as B - both have put in X hours and gotten a result.And so,
Learning new things on HackerNews = Work
Blogging to reinforce your understanding and help co-workers = Work
Setting up Github to speed compilations and testing = Work
Meetings to discuss new features instead of re-doing the same
feature incorrectly 5 times = Work