Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wish this had been my back story. Maybe someone here can help me out, or maybe I'm just a terminal under-achiever.

I never learned a lick of programming until I hit school. I tried, using the limited resources I had at my disposal. But I lived in a small remote town of 6000 people, and that was the major urban center for well over 200km. Being Canada, we had no access to any of the major online services, and any services available in Canada were long distance. My parents only had one phone line, so I never got to explore the one bbs that was available in the town.

Around 1992, I was 13, my parents finally got a computer. MS-DOS/Windows based. I was familiar with computers, having become addicted to many games at friends' houses. But, being DOS, getting games to run forced me to learn the hard way. Mostly this involved destroying things and reinstalling them. I wish I'd known anything about unix/linux, but I'd never heard of it. Dos was the only thing I had seen or knew. I didn't even know anyone with an amiga.

I tried to do things with basic, but I could find no documentation, and the basics were beyond me. I tried modifying things, the odd bit of hex hacking (my crowning achievement was modifying Civ to give me extra gold when I negotiated -- but only because it was stored as plain text in the dialogue files).

I knew programming -- and especially games -- held interest for me, but I could not penetrate it myself. In 1997 I finished high school and went off to an overpriced game programming school which shall remain nameless. I left with not a lick of programming ability.

I learned fast, and with just the first few weeks of C courses, and a couple hints on how to draw a bitmap, I set off like a rocket, and was whipping out games before anyone else. Programming just clicked for me. I graduated with one of the highest marks (and turned almost every assignment in to a playable game of some sort in the process).

Fast forward nearly 12 years, and I am a successful and decent coder. I know a bunch of languages, I can learn any new one in a few hours of puttering around (often without a book, though I do like having reference manuals), I've done web stuff, and windows apps, but mostly just games.

But in reality, I have done very little outside of work. I'm good at what I do, I have my pick of companies any time I want, my last two games were Assassin's Creed 1 and 2, responsible primarily for the combat systems. I am apparently good at it but I've never felt like a great programmer.

This is never more obvious than when I try and do personal projects. My harddrives and perforce depots are a wasteland of started and abandoned projects. I hit a technical challenge and I don't have that drive I did when I was a kid. I'm not really happy with my job, I don't find it as satisfying as I once did, and I want to do things on my own, but, somehow it just doesn't click for me.

Often I just chalk it up to being addicted to big development -- I'm used to having a massive support team for art, level design, etc. And I'm not multi-disciplinary. I can't do any art at all. Even placeholder, it's just horrible. I can do design, and I can do code, and most other things are beyond me.

But I feel this is just an excuse I use to avoid actually working on my own projects. I'm pretty sure I have the ability, but I can't really find the focus.

I guess this has been rambling, but I do hope maybe someone can give me some pointers as to what my problem is. Like I said, maybe I'm just a terminal underachiever when it comes to my personal projects.



Go learn erlang, and otp. It will change the way you think about software development forever. It'll also make you stop saying you can learn any language in a few hours. Really, lisp, Haskell, scala, F#, and others could do that too.

Regarding abandoned projects and such: raw talent is great, but it's not nearly as important as drive, determination, and tenacity. I think it was michaeangelo who said: people rave about my talent, but if they saw how hard I have to work for it, they wouldn't think it so amazing. This is very true. Raw talent and coding excellence is really important. But still, this biggest difference between a true professional and a tinkerer, in all kinds of professions, is keeping on going.

I remember as a kid, I was trying to figure out how games work, by writing my own games. I was writing text adventures and stuff. But I remember feeling unsatisfied; I wanted to write a "real" game with lots of things moving at the same time in real time, like asteroids. How do they do it, I wondered, since you can only have the computer do one thing at a time. I reasoned that it would be possible to do, but the only ways i could think of doing it were a ton, a metric ton, months, of work. So i never really got into serious game development until much later.

What I didn't realize then was that yes, it really is a ton of work to write the magical software that the Professionals write. And that's their main secret: tons and tons of really hard work. Either in figuring out how to make it easy, or in just gutting it out long after it's not so fun anymore, or both.


Yeah, true. FWIW, I was oversimplifying with the coding example -- I'm sure it would take me forever to learn a functional language, but while I love programming, I don't necessarily have the passion for it that would lead to me learning a functional language. I need a reason to learn it, and then I'll love it when I do -- without that reason, I don't really see the point.

And yeah, I probably just don't hard enough at it at home. I wish I didn't have the day job -- if I could spend 8 hours a day working on my own stuff, I'm sure things would be different.

Thanks for your perspective though, it is helpful. I do know the secret of hard work, after all, that's how I got where I am today. I just tend to only deploy said hard work when I'm at work. Though this is changing, I think, as I become less and less attached to my current job. I spent five years personally invested in the AC projects, but now I don't have as much to give on my current work project.

Lots to think about anyway.


you have ability but not skill. skill is the application of ability to a problem over time (with good feedback!)

you are 12 again at anything you haven't really dug into. for many people who have specialized, the frustration of being a total NOOB can give off the impression "wtf!? this SHOULD BE EASY. i am smart at other hard things, so why is this hard for me? maybe i just cant do this."

Well, sorry. Most people exhibit very low transfer of skill from one domain to another. That's totally fine!! It just means to have to take new things on like a total beginner.

As for getting ish done, try very, very small things so you can build momentum and self-confidence.


Yeah, that's certainly a part of it. I did prove to myself recently that it's not necessarily application of focus that's the problem -- I successfully completed 50k words for nanowrimo last month.

I think maybe I'm just addicted to deadlines.


That is a great story Charles. Thanks for sharing (and hi from qt3)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: