3 ms·
The importance of talent is often overstated, but it's not a myth. The years I spent trying to do software development were like beating my head against the wa
by mkr-hn 12y ago
The importance of talent is often overstated, but it's not a myth.
The years I spent trying to do software development were like beating my head against the wall. Everyone seemed to be much better than me, and it led me to give up after a few years of starting and stopping. If I couldn't even manage to make a simple application, what was the point when so many people made one every day?
So I gave up and focused on other interests, like writing and art. Writing has served me well, but doesn't interest me enough to get much written. I'm just bad at visual art, no matter how much I practice and study. Fractal art is about all I can do[1].
Then I picked up a MIDI keyboard, a DAW (first LMMS, then Studio One) and had fun making music immediately. Haven't been able to stop since. Now I'm rediscovering my interest in A/V engineering. As you can imagine, knowing a little programming helps a lot with both of these things, and that's how I found an interest in writing code.
Most of the code I wrote even before finding a need is solid, efficient, and secure. But that's because I'm so bad at it that I have to be careful. If I don't write clean, efficient code, I won't be able to understand it well enough to fix it when something goes wrong.
I think we would be better off encouraging people to try many different hobbies rather than pushing them into something they have no affinity for. Then, when something clicks, show them how programming can make it better.
[1] http://www.designbyhumans.com/shop/mkronline/ http://www.designbyhumans.com/shop/mkronline/
- georgemcbay 12y agoThis is all anecdotal but learning to program is (IMO) somewhat like math in that it is virtually impossible to learn it while not feeling confused and lost because there's a lot you have to internalize (and often this includes multiple concepts sort of all at once) before everything clicks and makes sense. Talent is a thing, surely, but IMO the primary "talent" when it comes to learning to code is having the mindset where being lost isn't a problem for you. Some people hate this feeling of not intuitively knowing what is going on (possibly for an extended period of time!) while others embrace it, the latter tend to be the ones who end up excelling at programming (and/or math). "Most of the code I wrote even before finding a need is solid, efficient, and secure. But that's because I'm so bad at it that I have to be careful. If I don't write clean, efficient code, I won't be able to understand it well enough to fix it when something goes wrong." If your code is good it is because you are a good programmer. Full stop. Not being able to understand and fix your own code if you aren't writing it cleanly (and as simply as possible while doing the job) is universal. "Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?" - Brian Kernighan