After reading the first few bits in the "beginner" section, this reminds me of my experience with "Lessons in the Fundamentals of Go" by Kageyama Toshiro 7p [0] (Go the game). It's a terrific book where he stresses the fundamentals even if you feel like you're above it. I read the book cover-to-cover many times at different stages of my life as a go player, each time learning something new.
The book starts on ladders, a pretty basic concept that I teach to beginners within 15 minutes or so of learning the rules. [1]
Still on ladders? Ridiculous! Even looking at this page is beneath me.
Yes, but even if you feel you are being cheated, read on a little further.
Don't forget the fundamentals. Our study begins with ladders.
Ugh. It's like Slashdot with its interface where you need to hover. How do do you hover on a mobile? I don't visit Slashdot much any more, because most of my surfing is on mobile. And I won't be scrolling little windows of monospaced text left and right, left and right, over and over, any time soon.
Scrollbars are invisible in my mobile browser until I scroll the box. It just looks like a badly-formatted quote. Something to keep in mind if you're a ddveloper.
> Go home if you have a contagious disease. You should go home if you are thinking suicidal thoughts. You should take a break or go home if you think homicidal thoughts for more than a few seconds. You should send someone home if they show serious mental malfunctioning or signs of mental illness beyond mild depression. If you are tempted to be dishonest or deceptive in a way that you normally are not due to fatigue, you should take a break. Don't use cocaine or amphetamines to combat fatigue. Don't abuse caffeine.
That's my favourite part of the entire article as well -- the author clearly knows what he's talking about.
It's actually surprising how many people do the opposite to this advice. Often it starts with nootropics and then continues into more dangerous territory.
It seems to me that people within companies that encourage competitiveness between employees are more prone to that. I.e. if your company only gives bonus to the top 10% of employees when ranked by productivity ("productivity" being defined in any way), that's a bad sign.
Nootropics—it's part of the meaning of the name—are supposed to be used when you're already perfectly healthy, to optimize further. If you're using them to compensate for a problem, you're using them as medicine, and that's outside their "tested configuration." You should see a doctor if you need medicine.
Technically I agree with you, but at some point you get so used to being optimized that going back is just as bad as getting sick. The most successful nootropics like caffeine and modafinil easily become long-term medicine for the problem of being less awesome than you otherwise would be, even if you're medically in the same health in either case.
Well, a driving factor too is the increasing stratification of the economy. I would've probably just been a programmer as a hobby if left to my own devices, but i see programming as maybe my only chance to lift my family out of poverty.
I haven't read the article yet (I intend to do so when I get some free time). But the best advice I can give you for maximising your productivity as a programmer is to sleep when you are tired. Try not to make an exception of it.
Some people are not very good at organizing their free time so that they get enough sleep the night before. This will hurt your career as a programmer. If you want to improve your performance, drugs will be nowhere near as effective as sleep.
If you have a social or medical situation that making it so that you can't sleep, do whatever you can to fix that problem. I advise you to try to make it your top priority. Get professional help if you need it.
If you are in a situation where you can't sleep because your work/commute time is eating into your sleep time, quit. You are damaging your health and also your ability to grow as a programmer. It is not worth it in any way.
Nothing else I have done has been so important to my life and career as the above.
Agreed here. I found myself lethargic and frankly stupid until I discovered, through a sleep study, that I have sleep apnea. To cure this, I was simply prescribed an anti histamine pill, to be taken once a day, and a corticosteroid spray to be taken in the nostrils once a day. My sleep apnea was cured within a week and my abilities as a developer increased tenfold.
It is really amazing how much of a difference in your personality and abilities a good night's sleep can make.
I would also add, never sacrifice your health in general for a job. It should be possible to maintain a healthy diet, exercise regimen, sleep schedule, social life, relaxation techniques, and perhaps still have a bit of time for other hobbies.
I started using 100mg/day modafinil for the first time about a month ago (week days only). I felt no clear discernible cognitive enhancement that is often said about modafinil use. What I did however notice is that it does a good job keeping me awake to handle one more day in a sleep-deprived state ... only to crash with a god awful hangover a day later. (Severe headaches, dizziness and loss of physical strength). Modafinil masks your exhaustion artificially.
I'm down now to 50 mg (broken pill) for days I feel I need "a starter". This seems to be an optimal dose for me right now but I am certain I won't be using it long term or in larger doses.
Just quietly with those side effects and the fact that you didn't stop suggests you might want to consider whether you have a problem from all the angles. Consider all the silly angles as well. It may be you don't but please entertain the other possibility too. You only get one brain and one body. My best wishes to both.
This one weird trick has helped me solve so many problems that I thought were impassable in my day-to-day development. Bonus points if you couple it with purposeless walking.
Walk to the coffee machine. Explain the problem to the coworker at the coffee machine (if no coworker is nearby, just explain to the coffee machine). While explaining the solution will magically materialize. This variation of the rubber duck method is so effective it's scary.
I absolutely do this as well and I'm not ashamed to admit that I've been able to come up with some solutions by smoking a bit of weed and just thinking about work. It can really open your mind if you can think clearly enough.
For the managerial myth of "It is possible to estimate software development reliably. (It is not even theoretically possible.)", can anyone provide good resources/references?
The thing on this guide that is big for me is "How to Learn Design Skills" but then the suggestions are underwhelming. If there was a list of "canonical" well designed projects to learn from, that would be helpful.
As there is a table of contents with separated sections, I'm not sure we can consider this as just an article. It looks more like a book/guide to me. I think you can read its different part over time and not in one shot.
The book starts on ladders, a pretty basic concept that I teach to beginners within 15 minutes or so of learning the rules. [1]
[0]: http://www.gobooks.info/g28.html[1]: http://senseis.xmp.net/?Ladders