Ask HN: When did you 1st start programming and why?
I'm not a programmer, but I've started taking an interest in learning how. But I can't help but notice just how intimidating the barriers to entry are. I'm making my way through the RoR tutorial on railstutorial.org and liking the progress I'm making so far. So, any suggestions? Stories? Warnings? When I was 31 years old and laid off for 6 months, I decided to take matters in my own hands, learn ObjC and start programming. I started selling products two months later through the iOS app store. Now I make enough to pay my bills, my customers are happy (Note: I don't do contact work), and my revenue is increasing. Advice: Just because you're not a "rockstar" or haven't been doing it since you were twelve doesn't mean you can't compete. What did you do before? Telecom ;) Care to share what you're working on? Without getting into any specifics, I am one of the many, many crumb-snatching, niche-players in the App store. All I can say is, thank God the high selling apps in the marketplace get so much attention because if developers just did a bit of research and built products focused on traditional market segmentation (and combined that with good seasonal macroeconomic policies) then I would have ALOT more competition where I am. My Dad was director of a think tank that had access to remote timesharing (primitive Basic, over a 110 baud teletype) when I was about 11 (1962??) and I enjoyed that. I have been programming for a living since the early 1970s - still love it and frequently try to talk friends' kids into considering computer science or engineering. One thing that has been especially fun: I have become a pseudo-expert in a lot of application domains over the years. This is sort-of like changing careers frequently, keeping the working experience fresh. I'm not a programmer but I still think I have something to share. When I was 16 (ten years ago) I had an IRC channel about a very specific genre of music. I thought it would be cool to also have a website about it. So I used one of those geocities type of services to host my first website. I started doing reviews and listing upcoming concerts and stuff like that and soon I found my self maintaining a music website (rather than an IRC channel website). I started learning HTML & CSS, reading A List Apart and articles by Zeldman, Bowman, Mayer Molly and 456bereastreet. That's when I really got into web standards (when CSS Zen garden was created) and unfortunately started focusing more on the technology rather than the contents of my site. When I was at uni. I dropped my side-project due to studying and stuff but kept reading & learning about what's going on. That was ~2004 when table-less designs were all the rage. To some extend I regret focusing more on the technology (HTML, CSS, Javascript) instead of my goal (the music website) but I'm glad that I really know "how to make websites". Started out in a college in the early 70's as an EE major. Fortran was a required course. Decided I like it so much better, that I switched majors. Spent a summer hacking the OS internals on the college mainframe to make it more efficient. Learned 360 BAL in the process. What I carry in my pocket (an ipod touch) is orders of magnitude more powerful than that mainframe was. I was in the same boat as you about 6 months ago with no programming experience whatsoever (21 yrs old and a semester away from graduating college). I had trouble learning RoR, but stuck with it and launched the mvp of my first web app last week. I wrote a brief summary of my experience learning rails and building the app already (http://news.ycombinator.com/item?id=2112146) so I won't repost for the sake of redundancy, but there's the link. Feel free to shoot me an email if you need any tips with Ruby on Rails from a new programmer prospective. Atari basic on a 800, then a 800XL, then GFA Basic on Atari 1040ST. There was a TI-99 in there somewhere too. I mostly copied programs from Compute! and Byte magazine, but started writing my own things once I got the hang of it. I liked games, but I was never really a game programmer. Most of my apps were and continue to be for businesses. I helped my dad write an app for his TRS-80, the handheld version, that calculated labor for tying rebar. I think rails would be a great way to get started, but they abstract a lot of important pieces, that you'll eventually need to understand to be a good developer. 12 years old ; Fascinated by computer viruses, and hacking :) But nowadays, what I really think amazed be, and still does, is the way we are able to go from a thought to its implementation through the use of a programming languages in about no time. Think of any other field other than software engineer where you can go from hypothesis to modelling and then testing in about a few hours or days ? There ain't many. (On a side note that's why its becoming more and more prevalent to use programming to model and study real world situation ; e.g. economics, standing-ovations, etc ). How did you get into it? Read any books? Asked someone? I agree that the field is fascinating and I am having a hard time focusing on my classes as a side effect. I've read a lot of blogs that directed me towards certain books and tutorials. However, I'm curious about how people start from 0. 1- Choose a goal/project Try to think short term here since you probably won't be full time on that, and so it won't replace your job in the short term -- i.e. get a goal that is both easy and fun to you 2- Choose a prog lang Depending on what u want to do in the future with your skills, you'll choose another language. For that, either ask around or here in HN I guess. 3- Google [language] tutorial 4- then Google [language] [goal/project] tutorial glhf ! It's never about blogs or books or classes. Therein lies the reason why you haven't gotten it yet... If I told you I started in the mid 70's at the age of 8 with a teletype
on acoustic couplers, it would only be a matter of time until someone
older than me came along to tell us how I had it easy. I can't speak for anyone but myself, but my drive has always been the
same; I am absolutely fascinated by the prospect of making a machine do
what I want. I'm just totally enamored with the very idea of it, and I
always have been. The current nudge could be wanting to build something, or wanting to fix
something, or wanting to change something, or even just messing around
to see if it explodes. The current nudge might be a friend in need, or a
boss looking for results. It doesn't matter. The current nudge could be
anything since the underlying fascination is always the real motivation. Most all people sit around being annoyed by their software and hardware
because it is beyond their control, or more accurately, they let it be
beyond their control. You can see their frustration in the endless
drivel of rants on the Internet. The rants fix nothing. The only way to
ever solve the problem is taking control and making the machine do what
you want it to do. Today I finally figured out how to prevent firefox from loading CSS by
default, along with adding key bindings to selectively load parts of CSS
(in page style, same-host style files, 3rd-party style files, ...) when
they are absolutely necessary. Some people thing CSS is a good idea and
should always be forced on by default, but others disagree. Those
opinions don't matter. What matters is I made the machine do what I want
to meet my own needs. It was a fun challenge. Many people would say I wasted my time... --They don't get it. Many people would take offense, yes, seriously. By removing all CSS I
basically just said all the UX/UI "designer" weenies are useless. I
essentially deleted all of their "hard work" by making the machine do
what I want rather than letting it do what they want. When one is unable to make a machine do what one wants, the problem is
not the machine, instead, the real problem is the person. Yes, the
person operating the machine is ALWAYS at fault for the machine not
doing exactly what the person wants. I know exactly who is to blame when a machine is unable to do what I
want it to do. Do you? copying listings in basic from magazines to get games on to my spectrum as a kid, some of it must have sunk in! Modded you up. I learned so much by typing in code. I still spend a lot of time reading other people's code, but the act of typing in code from articles in the 1970s and 1980s was a great learning experience. I began programming in 1992 when I was around 12 years old. The reason was that my desire to play video games some how managed to clash with the fact that, as a kid, I had no money. I grabbed a copy of turbo pascal 3.0 and began figuring out how to program. I ended up creating a silly little DOS text game that involved trying to make a smiley ascii character collect diamond ascii characters. If I recall, you had to avoid the ever-so-dangerous asterisk bad guys. 6 months ago. I've been unemployed for about a year. I picked up the O'Reilly Series of book for Web Development, and built my first site, which aggregates viral youtube videos. It wasn't as hard as I expected. Now I'm teaching my 10 year old nephew how to build his own site. And we're both learning how to build apps for the iphone & android. Started when I was about 16, making mutators for Unreal Tournament 2003 using its scripting language. I was doing HTML before this but this was my first foray into logical programs. One of my mutators was an honourable mention in Epic’s Make Something Unreal Contest at the time. I’m more of a designer than developer now but I still appreciate what I’ve learned during that time, makes it easier to communicate ideas with hackers easier. I just got eager to create a simple game at an age of 15. Then I started to learn PHP and Mysql. At first, it was hard. But most importantly - it was interesting. And learning was like this: 1) Reading a book and reading tutorials online 2) Asking question in forums 3) And asking people through skype. Half of them blocked me :) However, it was worth. Good luck and don't give up when you face a problem. I started 10 years ago at school. My first language was VB6 and I learned from my school teacher and some books. Nowadays I do mainly PHP I started programming when I entered college as a comp sci major. I highly recommend the first edition of the "pickaxe" book AKA Programming Ruby by Hunt and Thomas. It's a book that gives a good intro to programming without being an intro to programming book. I was 8 or 9. I wrote a two-line basic program that printed my name to the screen in an endless loop. I don't know why. Because I could, I guess. Not sure what the librarian though of it... I also started Ruby and RoR in parallel 3 weeks ago. Why? To build iterations on my project and to build additional smaller projects. Started with a VIC20 programming BASIC games. I was amazed that the games I played were all based on simple logic / rules.