Ask HN: What's Your Story?
For some of us, it was very early, possibly so early that it may be difficult to remember. For others, including myself, it was a more recent development.
I didn't become interested in computers until high school, when at that time I was so computer illiterate it was almost comical. In fact, it was a specific point in time, I remember, that my older brother made fun of me because I was constantly asking for his help. I decided to make a change and begin teaching myself about these amazing machines and all the power that they possess. After learning the general basics, I quickly picked up a book on C programming and worked my way through it. I now continue to personally develop my knowledge every day, using tools such as iTunesU and MIT OpenCourseWare to supplement my education.
I am now an undergraduate student studying computer science and enjoying every minute of it. So much so, that I wish I had decided to study electrical and/or computer engineering/physics so that I could have a more robust understanding of how these machines work at the hardware level.
The point of my question is to discover others' personal history regarding their venture into the constantly changing world of technology.
Please share.
65 comments
[ 3.5 ms ] story [ 130 ms ] threadIn December 1999 I built my first website, Ziggles.com, a comparison shopping site written in Perl that spidered the top 20 online bookstores and displayed the results with affiliate links. I made about $1000 a month in revenue (nearly all profit since I was already living on ramen at the time) and even got job offers from Silicon Valley startups. In another year or two I probably could have gotten hundreds of millions of dollars in venture capital, but the bubble burst and reality set in.
Those all night coding marathons or days spent reading Advanced SQL techniques when I should have been reading Shakespeare (English major) have paid off, since I make a better living as a developer than I could working in an English factory.
Work on that, will you? :)
After selling my social/search/shopping startup GoogTwitFaceGroupon, I retired at 30 as the world's first trillionaire.
From there I got a C64, which was incredible, and then moved on to the Amiga. 500+ -> 1200. As far as computing goes, the Amiga years were the best of my life. Suddenly everything seemed possible. I was coding in AMOS, C and assembler on that thing - and rendering 3D cars while I ate my tea. That machine could do the lot, and since I've always been rubbish at music the MIDI thing wasn't a problem.
Mid 90's as the Amiga died off, i got access to a 486 and wrote a few things here & there in BASIC. Finally blagged my mum into giving me £3 to buy a magazine that had Borcland C++ 4.5(?) on the coverdisc. Took it from there.
The rest is pretty boring really. Improved at C, took up web dev. Here I am.
Most importantly though - I had a bloody Amiga. Man, I miss those days.
Amen to that
http://www.amazon.com/Unlocking-Clubhouse-Computing-Jane-Mar...
They did a survey of CS students to find out their first experiences. They provide specific quotes in the book, but the gist of it was that men usually were given a computer (or everyone felt that the family computer was "theirs") and they began to tinker around immediately, whether that be with programming or taking it apart. The women's first experiences tended to involve watching a male family member work on the computer.
byoung2's comments follows the typical male answer and mine follows the typical female answer. I watched my 2 uncles and uncle-in-law in the computer since they had jobs in tech. Then my grandfather gave my mom and me a computer and showed us how to use it. I mostly just played on it and used programs until high school were I was "formally introduced" to programming.
Secondly, there are expectations about it. For example, if a boy takes apart a computer, everyone goes "such a boy", but if a girl does it, people say "hmm, that's odd." (even if it's good surprise, it's still surprise). I know when I was a child I was pushed to do things like ballet and cheerleading and orchestra when what I wanted to do was martial arts and read and become a scientist.
I think the point you brought up about the observance of younger children of their superiors is very true. I can recall fond moments of watching my father work on our early DOS machine. I used to play Doom II and Duke Nukem on Sunday nights as a kid and seemed to learn DOS quickly. However, as I stated earlier, it wasn't until later in high school that my interest seriously grew.
My real start was 74 series chips though, and from there the TRS-80, which I was allowed to use at a radio shack, it was cheaper than buying logic parts.
Our school ( a pretty good school) had a programming class but the teacher himself never bothered to show up (!), and classes were about databases and Logo rather than making anything we could use.
I was already hacking DOS - which was needed to make DOS do anything useful - from there, DOS to Unix, Unix to shell scripts, shell scripts to Perl, Perl to Python, some C, and some .net.
Actually programming seemed almost intimidatingly challenging to me until eighth grade, when I tried to throw myself into C. At that age, I lacked the discipline and attention to detail to keep going, and was (and remain, to a lesser degree) reluctant to ask for help from others. Eventually I went into cultivating other interests until midway through college, when I realized that aside from a continuing interest in philosophy there was nothing I actually liked enough to make a career out of except maybe technology. I was reluctant to pivot halfway through college, but after a year or two of half measures I dove into CS. And here I am--a bit of late bloomer for sure.
http://oldcomputers.net/compaqi.html
It didn't take me long to pimp it up with a custom autoexec.bat file and to start playing in BASIC.
My mom gave me a BASIC manual at some point, and I started working my way through it, learning how to change the screen to paint graphics, load and save data from data files, write subroutines (GOSUB), modularize programs into multiple files, and so on.Soon I was making cheesy, derivative text adventures and space battle games and creating sound effects. I even wrote a rudimentary text editor for school essays, though I eventually supplanted it with the superior VolksWriter.
I mostly lost interest in computers during the 1990s, aside from playing around with Midisoft Recording Session, a Yamaha TG-100 and a Tascam 4-track. As such, I completely missed the advent of the World Wide Web.
It wasn't until 1999 that I got a laptop and an email address at work, and quickly got excited about this internet thing.
My boss asked me if I could make a website for our department and I said, "Sure!" Then I called a friend who was taking computer science at school and asked whether it was hard to make a website. It turned out not to be that hard, and so I gradually found myself turning into a web developer.
I remember my boss asking if the site could display summary reports dynamically. I sort-of knew about the existence of server-side preprocessors, so I looked into what we had our web server and discovered ASP. Imagine my surprise to look at the ASP source code and see BASIC staring back at me (albeit with a few objects bolted on).
Just recently I managed to get my old BASIC programs working again via DosBox running on Ubuntu.
I was so full of preteen exuberance when I first discovered gosub, totally revolutionized how I thought about computers
I surely wish I'd known someone in KY back in those days that wanted to teach C to a kid :/
When I moved to California I started getting so much sun that I no longer minded sitting at the computer, so I started picking it up. I've always loved designing and building and since a website is never done, the design cycle never ends. Good thing I switched since my thumb was never very green.
Then I got a job taking care of paralysed people in the night, and since I had to stay awake all night in their home (and could not use the net - no flatrates back then), I just fiddled around with Visual Basic all night. So I had a lot of practise, and thought, oh well, I may as well study this computer stuff, seems cool.
So I did.
Later we got another second-hand computer, an 80386. It was around '94. For the first time I had a relatively decent computer. That thing lasted me until around '98. I spent summers reading BASIC manuals and copies of Byte and Compute from the library.
I also bought a modem for the thing and started BBS'ing and learning programming from other people. My first email address was through my local BBS which had it's own link. This was my favorite time with computers.
My entire family thought that I would "get into computers."
I never did until I was 23. In high school I had gotten into punk and metal and liked playing in bands. After high school I tried to start a label. I thought I could leverage file-sharing where other labels were trying to shut it down. Well that failed in a big way and I was out of work and living off of coffee and toast in a crappy room in some dumpy part of the city (I had taken off from my small town and moved to the city to put myself through college without any money or a place to stay.. that was tough, but I took audio engineering which turned out to be the wrong thing to do). That's when a friend of mine had a cousin at an ISP who was looking for someone to help maintain their hardware and build websites. I downloaded a few manuals on PHP, read a few tutorials, aced the interview and 5 years on I'm loving my job.
I'm now mainly program in Python and Perl and like to read textbooks on maths and computer science on the weekends. Sort of like I used to when I was a geeky kid that everyone picked on. It took a while, but eventually I got there.
I spent a week when I was in Jr. High figuring out how to network two computers together so I could play Warcraft 2 vs my little brother. It's so darn easy now, it's almost not fair.
I blame Warcraft 2, CompUSA, and AOL for my current tech addiction.
In eighth grade, me and a buddy spent way to much time programming a 'choose your own adventure' story in BASIC on an Apple IIe. Something from that fifth grade class must have stuck. For some reason though, I never connected what I was doing with computer science. I guess I thought I was just playing around with a toy or something, so when my college adviser suggested I major in Computer Science, I said no way.
At some point during High School I'd gotten my hands on a copy of Photoshop, Version 3 I think. That somehow led me to major in Information Design, which oddly was in the school of journalism. I took classes on print and web design, some flash even, but most of the curriculum was journalism-oriented.
After college I worked in newspapers for about six years, creating info graphics and designing pages, but I was always involved in any IT project that came along. I helped setup a content management system, upgrade servers, etc.
I also started in newspapers right about the time their downhill slide started. The conversation du jour was always about how newspapers could make it online. Eventually I transitioned to working on Flash projects, learning Actionscript 3 (basically ECMA script) and eventually taking some .net classes at a community college to learn about object-oriented coding and all that.
Now I work for the state IT department and have a few side projects going as well. Someday I might actually post one here. I'm more of a designer than a programmer, but I think where I've landed - at least for now - fits my strengths very well. I still wonder what would have happened if I had majored in CS from the beginning, but I would have probably missed out on some fun traveling and great experiences that I had while newspapering.
Then finding the maps and going nuts adding things and creating entire new cities.
Then playing around with other pieces of various files, and finding yourself being attacked by chests, blocks of water, and the letter W.
I remember one day when I was in my dad's office after school, sitting at his PowerMac 6100/60 ( this would have been about 1998, with me being 8). He was running SoftWindows emulating a 286 running Win3.1, something foreign to me. He showed me around this mysterious "Windows" thing (which wasn't too interesting to me) and then showed me what happened when you quit windows and went into "DOS". A few looks at cd and dir and I was enthralled.
Pre-teen years spend with a string of cast-off 486s and old Macs (and that critically timed slackware 7.1 disc) gave me things to meddle with. Not having broadband Internet until 2007 taught me to delve deep into whatever i had access to, not able to fall prey to flash games and other time wasters.
Basically, being pompous enough to think that I could meddle with things beyond my young age fostered that crucial skill of "I might not know off the top of my head, but I know how it probably works, and I can find out exactly how it works"
At my highschool, there is a tradition called Senior Projects. Every senior has to spend at least 50 hours (not very much) over the summer, working on a project of their choice.
I chose to make a videogame after talking to one of my cousins (another programmer). He recommended I pick up Python and use the PyGame library. Over the course of the summer I made a simple 2d game. I aced my presentation that fall, and then promptly forgot everything I knew about Python.
However, I enjoyed the project enough that I decided to study CS in college. My first CS class was what really got the ball rolling. Since that class (two years ago) I don't think I've had more than 20-30 days without programming.
Nice side-effect: I learned English earlier and better than my peers. Being stuck in a game was perfect motivation, dictionary was always at hand (thank you Adventure).
I picked up a Tandy 1000HX second hand when I was probably 9 or 10 years old. I mowed a ton of lawns to get a hard drive for that machine. Shortly thereafter, I received a 486 and a handful of Walnut Creek CDs of various (dated) Linux/BSD distributions. I'm still not sure how those CDs came into my possession, I believe they were passed on to me from a friend.
I spent some time BBSing and learning to write shell scripts. On a couple of BBSes, I read hacking and phreaking text files and started to learn C/Assembly. It was free knowledge as our library was lacking in tech books and I rarely got to go to a bookstore. I also developed a fascination with radio, telephony, and basic electronics.
Three to four years later, the family decided it was time we had a computer (that we could all use). They picked up a 90Mhz box from HP that I promptly installed Linux on and used it to play games, program, and read any sort of documentation I could get my hands on. I also branched out into Perl and started writing small applications with it. We got Internet access about this time and I spent hours saving/absorbing documentation and tutorials from gopher/www/ftp sites.
In my late teens, I took on a job at the local Radio Shack repairing busted electronics. I learned quite a bit there, but electronics these days are disposable, so I had to find other work. I was doing penetration testing on the side for quick cash and ended up getting a contract for the City I lived in. After I finished the job, I got hired on as an intern in the IT department while going through college.
In university, I carried a double major in Computer Science and Pure Mathematics while also attending the local community college for Network Administration. I never finished either degree as I was offered a full time job as Network Administrator at the City. I took the job, quit school, and got married.
During the year or two before I dropped out of school, I learned Ruby with some friends from the ACM at the university and began doing freelance development.
So here I am today, Network Administrator for a small municipality and part time freelance Ruby developer. I'd really like to ditch the ties of my day job and get a full time development job or break out into my own business, but I'm trying to save up some buffer before I decide to take the leap.
I've been around computers my entire life. When my father was in college (in the 70s, he's an old fart), he majored in EE/CS (or rather, EE / Math with focus in CS, because CS didn't exist as a separate major in his college). I was raised in Silicon Valley, so I just hold my interest in computers/technology to be a product of both my parents and my environment.
On the other hand, my brother is a musician, and my sister wants to be an artist, so I don't know.
He brought me in to his new company to do a consulting job to answer 2 questions, "What do we have to do to get Order Entry, Shop Floor Control, and Standard Costing written and running?" and "How many programmers do I need to hire?"
They had 400 employees, were missing all of these mission critical apps, and had only 1 programmer. But he was all they ever needed. I worked with him for 3 months and he wrote all of the software needed using tools and techniques none of us had ever seen before.
He did instant analysis and design, wrote disposable apps, did rapid prototyping, stepwise refinement, and extreme programming years before anyone ever heard of these things. He never wrote the same line of code twice, writing standard functions and reusable components. If he knew he needed something twice, he wrote a parameter-driven code generator on the fly and had me collect the parameters for him. He even coded in Boolean algebra and had an engine that converted it into production source code. He threw things into production long before anyone else would, figuring it was easier to just keep reworking them instead of waiting until it was perfect.
He was a one man shop in a $150 million company. He was smart, he worked hard, he loved what he did, but most of all, he didn't know that "it couldn't be done", so he just did it.
Three months watching Dick build stuff, and I was hooked for life. I had to do it, too. And I've been doing pretty much the same thing ever since, pausing only long enough to add a few new technologies to my tool box along the way.
Sometimes I wonder what horrible cubicle I'd be wasting away in if I hadn't met Dick and saw what was really possible.
Shiny.
10 POKE 53280, 0 20 POKE 53281, 0
I can still remember working through the BASIC examples in the manual and magazines. Good times.
53280, was the inside text area, 53281 was the border area, and 0 was for the color black.