5 ms·
Just code. Seriously, just write code. You will come across a lot of books that influence your thoughts, behaviors, patterns. I have, everyone does. But the o
by drunkpotato 14y ago
Just code.
Seriously, just write code.
You will come across a lot of books that influence your thoughts, behaviors, patterns. I have, everyone does. But the only thing that actually has any effect on your psyche is doing, whatever the doing is. So you want to learn how to build a better body, great, read books on building muscle.
It won't have nearly as much effect as going to the gym and swimming for a half hour three times a week. Obviously you won't get a bodybuilder physique this way, but it'll make you stronger, faster, better, and smarter.
You want to code better.
Great, read SICP, On Lisp, Learn You a Haskell. It will make you think differently. They'll make you smarter, faster, better. They will, seriously, but they will have a negligible effect relative to just sitting down and coding up your idea. You probably won't do it better or smarter than you've done it before, but you will learn the problems. Then you read the books, find out how you could do it better.
I've been in the position of trying to figure out what to read, the best way to write code, the perfect test framework. All of it pales in comparison to just doing. Reading, agonizing over "the best", all of that seems to be the sugar that the mind gravitates to when it avoids doing. The spinach is sitting down, doing the activity, or thinking through the hard details.
Slash soapbox.
- danenania 14y agoMeh, writing code is the easy part, the fun part. Every programmer loves to sit down and bash out features. Even if they do so in ways that they know (or don't know) are perilous, ugly, or inefficient, there is still that beautiful rush of progress, and people will still pay for the service. The discipline to step back, reevaluate, and think conceptually rather than pragmatically is much more difficult to accomplish when there's always so much lying around that needs doing.
- vog 14y agoI fully agree. So the advice should be not merely be "code", but: Code long-term on a real-world project, cooperating with other coders. (ideally, on a Free Software project)
- canttestthis 14y agoWhy must it be a free software project?
- thezoid 14y agoFree software never dies.
- sillysaurus 14y agoIt's important for budding programmers to build confidence in themselves. Forcing them to work with other programmers at the very beginning destroys confidence and makes them hate the work.
- thezoid 14y agoHow exactly would programming for themselves in a vacuum build any sort of positive confidence? Open source builds up that portfolio everyone wants to see, and working on a project provides mentors to help give new developers guidance.
- sillysaurus 14y agoHow exactly would programming for themselves in a vacuum build any sort of positive confidence? Because there's no one to criticize you, and figuring something out on your own is a rewarding experience which gives you confidence. Open source builds up that portfolio everyone wants to see If you're into programming for the reason of "building a portfolio", then you're not into programming. You're into making money.
- vog 14y ago> Forcing them to work with other programmers at the very beginning destroys confidence and makes them hate the work. In a Free Software project, nobody forces you to cooperate with anyone. If you want, you can just release your program (or patch) and ignore all feedback. However, often enough you'll receive some very valuable feedback. Also, you'll receive different kind of feedback depending on whether you start your own Free Software project, or contribute to an existing one. So I suggest to do both.
- prisonguard 14y agoseconded, the proof is in the pudding, you have to try it!