4 ms·
Warning: anecdotes and unsubstantiated speculation ahead Did you do any programming at all before 31? I don't think you're ever too old to do anything, person
by doorhammer 13y ago
Warning: anecdotes and unsubstantiated speculation ahead
Did you do any programming at all before 31?
I don't think you're ever too old to do anything, personally. I was 26 (which isn't terribly old, admittedly, but definitely past the little kid age) when I talked to a friend who was a professional programmer and decided "huh, I like computers and solving problems. I'm going to do that." I hadn't programmed before then, though I was computer savvy, I guess. I also have a degree in sociology, heh.
Took me about four years, but now I have a corporate job doing full stack .net work in C#/MVC, I've done side projects in ruby, and I do some C, Haskell, and python on the side. I'm also working my way through The Algorithm Design manual and have Concrete Mathematics to work through later on.
I always got really discouraged because I constantly see and hear about people who started programming when they were five, or eight, or something like that, and I'd think "no way could I get into it that deeply, starting so late" but that's just totally untrue. I'm finally at a point where I think "given the desire and time, I can learn whatever comp sci topic I want," so I get discouraged less.
I think part of it has to do with notions of talent, and natural abilities. When I was a kid, I took for granted that something would be hard until I learned it. I don't remember learning most of the basic skills I have, so I forget that things can be difficult starting out. Every topic I've started learning and stuck with in programming has pretty fully integrated itself into the core of how I think about the topic. One for-example would be immutable data structures as they're implemented in Clojure, or functional programming in general.
Anyway, that's a rambling tl:dr for: stick with it. You're never too old. You just have to try that much harder to catch up initially, but if you can teach yourself to keep learning now, you've got an extra skill a lot of people don't have, which is learning how to learn as an adult. I think it's the most valuable skill I have right now.
(ps I'm making a lot of assumptions in this post; sorry if any of them are way off base)
- g0v 13y agoThis is exactly my situation as well. I was always into computers when I was young but didn't really have access to any until high school. I always envied people that started learning how to code when they were kids, I still do. Like you, I always thought my chance to code had come and gone because I'd only ever heard of people that started when they were young. Like you, I always felt discouraged. A couple years ago I figured I would try anyways, so I started looking up good books to read through and do the exercises. Started with Python and I've read books on and written assembly and C. Now I'm an independent contractor doing webmaster/web developer. Any books you'd recommend other than The Algorithm Design/Concrete Mathematics? Those look interesting and I'll probably go through them.
- doorhammer 13y agoCode Complete 2 [1] was one of the first coding books I've read. As with anything else, it's good to look around (HN is a good place) for people who have problems with the book. I think I learn as much reading the commentary people make about books like that as I do from the book itself. I think I've listened to every podcast on software engineering radio a few times [2]. The older ones are especially nice because they usually pick a specific topic and cover the high points. I liked that I could listen to it while I was driving, or otherwise not in front of a computer. It's specific, but Javascript: The Good Parts is probably the most used book I have on my shelf. It has such a perfect amount of usable information in it. It's pretty great. Again, it's definitely worth looking up critiques and counterpoints. I've also got Introduction to Algorithms, which I use as a reference, sometimes. I switched over to The Algorithm Design Manual [5] after I saw it referenced in an older Steve Yegge post [6]. I read through the intro and it seemed like a book that would be more appropriate from an autodidactic standpoint. I really have no idea if that's going to pan out, since I'm not that far into it, but we'll see, for sure. Doesn't kill me to have an extra algorithms book laying about, though, and I've always got intro to algorithms for cross reference. I've found that I really need to have as many sources available as possible when I'm learning alone. Usually I don't get something until the fifth person describes it from the tenth different angle. That's most of what I can think of off hand. I really enjoyed The Joy of Clojure [7], though haven't checked out the newer version. Programming Collective Intelligence [8] is a fun book, and is what made me want to go back down the maths route to get more into machine learning. And of course habitually reading hacker news for an hour or three every night :) So that's my totally inexpert list of random stuff that I enjoy [1] http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670 http://www.amazon.com/Code-Complete-Practical-Handbook-Const... [2] http://www.se-radio.net/ http://www.se-radio.net/ [3] http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/ http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockfor... [4] http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844 http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme... [5] http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/ http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/... [6] http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog... [7] http://www.amazon.com/Joy-Clojure-Michael-Fogus/dp/1617291412/ http://www.amazon.com/Joy-Clojure-Michael-Fogus/dp/161729141... [8] http://www.amazon.com/Programming-Collective-Intelligence-Building-Applications/dp/0596529325/ http://www.amazon.com/Programming-Collective-Intelligence-Bu...
- NAFV_P 13y ago> Did you do any programming at all before 31? No, I didn't. Sorry, I only just noticed my comment had been replied to.
- doorhammer 13y agoHey, no problem. I'm going through my comments, and just now saw you replied almost a month ago. I just wanted to say, get in there and start doing it. I honestly think that, to a point, I'm at an advantage. I've had so much work experience outside of coding, that my context for interacting with people seems to work in my favor. I'm also just super glad to have a programming job. Mix a (hopefully) more level head, with an exuberance for the job, and I think I put across a pretty good image. If I can throw some suggestions out there, listen to every episode of software engineering radio. The other books I mentioned are great, but SE radio is nice in that you can just casually listen to it while you're commuting or whatever else. I listened to it when I had barely done any coding and I think it lent a lot of perspective to what I was doing. I still run into random situations where someone says something like "do you know anything about AS400?" and I'll say, "well, not really, but I have a general context as far as the ibm i series os goes, and some of the general ideas behind it. I could probably pick up material and get going." It's not much, but being familiar enough with a ton of random stuff has given me credibility in a lot of situations I wouldn't have had before. I also relisten to them a lot, and get new tidbits because I didn't understand bits and pieces before. I hope this doesn't sound preachy. I think our culture pushes this idea of the talented hacker, or the person that started x or y when they were five. That's great, but man, screw that. I don't plan on stopping learning until my brain doesn't work, and I'm going to use that to my advantage. Good luck!