11 ms·
Teach Yourself Programming in Ten Years (1998)
- kjgkjhfkjf 7y ago"Get interested in programming, and do some because it is fun. Make sure that it keeps being enough fun so that you will be willing to put in your ten years/10,000 hours." This is a great definition of talent.
- empath75 7y agoA friend of mine is a music producer and became an ‘overnight success’ when he handed a song to a DJ at an LA club and got signed and almost instantly was touring the world. I got to hang out after gigs while all these other big name djs were calling him a genius. The thing is he had been a bedroom producer and small time DJ for almost 15 years, though since he was 15 years old. I heard his songs even 5 years before he got signed and they were good, but not even close to the level he is now. He wasn’t a genius. It was a lot of hard work and persistence.
- Rainymood 7y agoOvernight success takes years of preparation.
- knbknb 7y agoWhat's his name? I'd like to hear his songs.
- lonelappde 7y agoWhat makes you think that genius exists and it is actually different from what your friend did/had?
- empath75 7y agoI don’t think genius exists.
- wolco 7y agoThe truth is spend 10,000 hours building something in a certain language and try to find a job in a related language and those 10,000 hours mean very little.
- PerryCox 7y agoI strongly disagree with this. I read Teach Yourself Programming in Ten Years for the first time in 2007 and was learning C#. I changed languages 20 times and each one taught me something different or a new way of thinking about an old problem. Those 10,000 hours will be a great investment in your success. The rest of it is networking.
- deleted 7y ago[deleted]
- Kaveren 7y agoOk but that's a terrible definition of talent because that's not what talent is. Inherent ability is much more important than people like to admit to themselves or others. The 10,000 hours thing is also a myth.
- dang 7y ago2018: https://news.ycombinator.com/item?id=16574248 https://news.ycombinator.com/item?id=16574248 2015: https://news.ycombinator.com/item?id=9395284 https://news.ycombinator.com/item?id=9395284 2013: https://news.ycombinator.com/item?id=5519158 https://news.ycombinator.com/item?id=5519158 2012: https://news.ycombinator.com/item?id=3439772 https://news.ycombinator.com/item?id=3439772 2010: https://news.ycombinator.com/item?id=1060176 https://news.ycombinator.com/item?id=1060176 2008: https://news.ycombinator.com/item?id=191235 https://news.ycombinator.com/item?id=191235 2007: https://news.ycombinator.com/item?id=43243 https://news.ycombinator.com/item?id=43243
- dougmwne 7y agoIt's quite interesting to see the evolution of discourse over time on HN. I had been assuming that HN hit its peak in 2007 and it was all downhill after that, but actually the quality of comments seems to increase year by year.
- jplayer01 7y ago> I had been assuming that HN hit its peak in 2007 and it was all downhill after that I'm not sure why anybody thinks this way. HN is still one of the best places I know to see rational discussion of interesting topics, and a plethora of resources on all kinds of things. If I want to learn about something programming related, one of the first places I go to is HN. There's such a diversity of opinions and such a wide base of knowledge to draw on, it's incredible. Add to that, there's nearly no trolling or flame wars, no off-topic memes, no effortless jokes or puns (okay, sometimes). People largely stick to the HN guidelines and if they don't, they're usually called on it by others. It's not just great moderation, it's a certain amount of self-moderation that you don't see in most other communities (that I know of). It's civilized, in a way that Reddit, YouTube, Twitter, etc. simply aren't and can't be.
- DoreenMichele 7y agoI've been here ten years. HN had more of a sense of community ten years ago, probably mostly because it was smaller. People seem to generally long for a sense of community and most modern peoples -- the kind found on forums like HN -- seem to generally lack a real sense of community in their lives and seem to wish very much this were not so. I suspect this is a factor in comments that indicate a nostalgia for "back in the day, you know, when HN was better, IMO."
- kartan 7y agoWhat happens after 10 years? I have been a software developer for more than 25 years. It is getting boring. Any "new" problem is just the same old problem with a new layer of abstraction. Look at this new language/framework that is so great! You could do all that with the previous language if you cared enough to learn it. Anyone has experienced the same frustration? I now use my spare time to learn to draw. I found it way more exciting and I see a challenge that I do not find in coding anymore.
- Joof 7y agoI've been writing software for 14 years. I've done it professionally for almost 2. There aren't many interesting problems professionally (and early-career you don't get many). I'm getting bored and stupid, but goddamn I'm well paid. I don't think I could remedy this without going for a PhD or switching fields. My hobbies are mostly outdoors now.
- rco8786 7y agoBy that logic we should all be using punch cards. I get the notion that most new problems are just old problems being rediscovered/resolved though. I’ve been at this professionally around 10 years and closer to 20 as a hobby. It’s more and more frequent that I see a new framework/language/pattern being touted as the new hotness and I can remember using it years ago and migrating away for one reason or another after the inevitable shortcomings were discovered. Just last week I saw a blog post about using event pub/sub in JavaScript to decouple your code. Welcome back to 2002 (and probably a bunch of years before then too) I still really enjoy my work, but today I tend to gravitate towards higher level systems design and mentoring the younger folks. This is kind of a weird turn here but you might consider a career coach. I was hesitant at first but mine really helped me get out of the boredom/rut that it sounds like you’re in.
- kartan 7y ago> By that logic we should all be using punch cards. There are zero limitations in punching cards to express any modern program. And that is my point. Keyboards are faster, I use a fancy mechanical keyboard to write my code in a fancy IDE with autocomplete. The nature of the problems is the same, thou. > I tend to gravitate towards higher level systems design and mentoring the younger folks. I do the same. At work, I make sure that teams communicate between them, that they take into account the big picture and help them to push back agains deadlines when quality is at risk. It is when I get home that I do not feel that urge of coding anymore. I still code at home, but I prefer to spend more time doing something that feels new and more challenging. Machine learning is another area that I am interested in. But, not as a developer, that is the same thing that coding for anything else. I am improving my math skills, there I see a challenge. But, first I want to become better at drawing. One thing at a time.
- neilv 7y agoI don't understand. Nowhere in there did I see anything about the job interviews/hazing of his own company, and companies that mimic it. (Which decidedly don't test for that 10 years of experience, but rather test for who spent their time reading the coding interview prep books, drilling for the 'coding' test questions, formulating acceptable personal answers for what the books coached on behavioral questions, and wearing kneepads.)
- tempodox 7y agoTen years sounds about right. The bootcamp fad seems to have faded but anyone thinking about joining one should take this article to heart and think twice about it. Even learning programming in high school / university is not much more than groundwork.
- swiley 7y agoTeaching yourself to program as a self fulfilling exercise isn't a bad idea. (remember that this sort of programming is generally more isolating than many other hobbies.) If you're trying to get hired as programmer then don't bother, literally the only thing most companies (at least in the US) care about is whether or not you have a degree (it doesn't matter what the line employees think, HR will step in and stop things.)
- LyndsySimon 7y agoRe: a degree - this is not my experience. I used to feel that way, but around 2013 my perspective changed. I don’t have a degree; I went to college after high school and failed miserably my first semester due to a plethora of personal issues, chief among them being undiagnosed chronic depression. I was pursuing a Bachelor’s through WGU from 2012-2013 when I jumped ship from an establish “enterprise” company to a startup, and from that point forward I don’t feel like anyone really cares whether I have a degree or not. I see startups as my niche. My sweet spot for potential employers is a startup that has been in business for 1-3 years and is either profitable or obviously well along the path there. I like to jump into existing codebases with technical debt and spend my time working toward making them more flexible. I like to understand new business processes and use that understanding to avoid a project getting painted into a corner by the logic crystallizing into an immutable black box that everyone is afraid to touch because it’s essential and the people who originally wrote it are no longer on the team.
- swiley 7y agoI’ve finished a BSCS sans one class and have had internships and knew people at a startup that was looking for people (and having a hard time finding them) with exactly the skill set I had. They still refused to consider me. My friends there said it was because I didn’t have a degree. There are exceptions to this but the way companies treat you with and without a degree are totally different, most of them really don’t care about anything else.
- golemiprague 7y agoI find that a lot of the time spent on learning is learning new APIs and library usage rather than the craft itself. Sometimes it takes weeks to grok even a change from one major version to another in a library or framework you already use. Companies don't give you too much leeway to actually study new programming paradigms, they only accept the time it takes to learn whatever new tool or library you use and that's an endless constant running around catching your own tail type of situation. Sometimes you learn new things on the way but 90% of the time it is just the same stuff in a slightly different way. It is really frustrating.
- vivekd 7y agoAmature hobby programmer here . . . yeah Im not going to do what the author suggested. I have no plans on working in the field. I dont care about functional programming or abstraction. I just see a task or project I think will be cool, google what language or framework best fits my goal and learn just enough to do that while using stacks and tutorials for those frequent times when I get stuck. Yes its slow but I dont care Im not on a deadline. I don't want to learn programming, I just recognize that it lets me do neat things and want to lean just enough to do whatever neat thing I have in mind. Its not about learning to program for me, and I assume for people like me. Its about wanting to accomplish a task and seeing programming as a necessay setp in accomplishing that task.
- dceddia 7y agoI’m curious what kinds of tasks and projects do you usually find yourself working on. Are they short term, long term, big/small, ...?
- vivekd 7y agoI built my small biz website using django and a previous one ib php. Currently Im rebuilding in amp. I built a python webscraper to get names of competitors and another python program that calulated serverance pay entitlement. Short term small projects but it might be interesting to try a long term one.
- Kaveren 7y agoYou don't need to spend 10 years to become a fantastic programmer. Many people are clueless when it comes to how to learn things (this is why the question "how do I learn X" is so popular even when it has been answered many times before). Quickly identify the best resources to begin with for whatever topic, which is very easy to do, and work through them. This will get you much more value per time spent than opting for the easier "get rich quick option". For the C++ example, this is the difference between the learning C++ in 24 hours book, and The C++ Programming Language. I think someone dedicated and mildly intelligent could become very good at programming within two to three years, and outdo the vast majority of programmers with 10+ years of experience. It's not a bad thing to want to go fast, which is why I disagree with the premise of the article. Just make sure you go as fast as possible without sacrificing quality of learning.
- sixhobbits 7y agoThis isn't really from 1998 is it? The references (golang, gladwell) are definitely more modern - unless he did a substantial revision.
- jmkni 7y agoThe Amazon link searches for books written after the year 2000, and the copyright at the bottom is 2001-2014. Also, Outliers came out in 2008.