Hacker News new | past | comments | ask | show | jobs | submit login
Poll: Was one of your parents a programmer?
46 points by japhyr on Dec 29, 2013 | hide | past | favorite | 66 comments
I first learned to program from my father when I was about 5 years old, so it's hard for me to imagine learning to program without someone nearby to answer all the incidental questions we have when we are first learning.

I am wondering if most people here had a parent or another immediate family member who introduced them to programming. If not, how did you get started?

No one person mentored me as I learned to program.
653 points
One of my parents was a programmer.
162 points
Another close family member was a programmer.
25 points
Someone else, not a family member, became a mentor at an early age.
22 points
Other
12 points



No one I knew could program. Very few people I knew even knew what a computer was. When I was 16, based on things I'd read, I designed a circuit to play tic-tac-toe, and later I designed a circuit to add numbers. I never got round to adding a clock and designing a real processor, because at about that time I came across the TRS-80. So I bought one and taught myself to program from the (actually rather good) manual.

I taught myself Z80 code from a book (someone Rodney, or something), then wrote a compiler from a limited subset of BASIC to Z80 machine code. No assembler, no linker, no loader, just a straight conversion from BASIC source to Z80 machine code residing in memory.

Added in edit: Radnay Zaks, "Programming the Z80", first published 1979.

The subset of BASIC was enough to actually write the compiler, and I remember adding the DATA and READ statements to the compiler, then using them, and the net result was smaller. The DATA and READ statements allowed data-driven techniques, so code generation became simpler. It was an interesting insight - a more powerful program was sometimes actually smaller, implemented in less code.

And all this was mentor-less, as I knew no one who could program. It was 1979, and I was 17 (although I turned 18 a few months later).


My dad is, but after trying to teach me basic declared that "this child will never be any good with computers". I left home to become a professional dancer. It wasn't until I was in my early 20s I started learning Perl - I wanted to build a guestbook, like everyone with a website in 1997. So I wasn't mentored by anyone, I just taught myself with the Camel book and asked questions on usenet when I got stuck.

This is the method by which I still learn new things. Get a good book (or online tutorial). Ask questions.


One of my parents was a programmer and yet nobody mentored me!

Which probably explains why my dad is a systems programmer writing drivers for Windows and I'm using Haskell on Linux to do programming language stuff with a healthy dose of PL theory. Hard to imagine any way to be so different while staying in the same field.


Pretty much this. My old man was working with C and Assembly back in the day, I believe, and I'm an aspiring full-stack dev using Python/Ruby/JS mainly, so couldn't be more different!

For some reason when I was growing up, programming wasn't ever discussed as a thing I might want to do, so came to it myself much later on.


My Dad did not mentor me, but he did make sure my house was filled full of programmable things. We do completely different things in the tech world now, but the objects he provided in my environment certainly had a big impact (BBC micro)


Same here. I actually had some troubles growing up, because I was spending too much time on the computer (learning Pascal at that time) instead of doing schoolwork. Sigh.


My dad coded mainframe systems for IBM, but actively discouraged me in my teen years.

I did pair with a same aged friend. We co-learned BASIC and Z80 assembler at the age of 12.


My both mother and father developed software running on IBM mainframes for large USSR enterprises. It's interesting that USSR could not purchase mainframes legally so USSR worked around this restriction and finally was able to buy software with the help of KGB agents in Romania who introduced themselves to IBM sales as Romanian citizens. You can read more about it here [1] After crash of soviet economy my parents became unemployed and never worked as programmers again. My father teached me some C in TurboC IDE. Currently I am full stack web dev. [1] http://www.csd.uwo.ca/~magi/personal/humour/Computer_Folklor...


Did your dad discourage you from working with mainframes, or discourage you from programming in general?


One day I was playing a game on my ZX Spectrum micro-computer (I was 9 or 10 at the time) when something unexpected happened. The loader threw an exception and I was presented with a weird listing of words and numbers which turned out to be program's source code. Something told me to mess around with it, I changed a few names and numbers and somehow managed to run the program. It worked and funnily enough, the things I changed in source were reflected in new labels in the app (a football manager AFAIR).

This was early nineties and I had no books, no library, no Internet to learn from (my parents had no programming knowledge either) so I had to hack around. I learned to stop programs just before they finished loading and view the source and learn from it (good old days when no one thought of closed-source and obfuscation).

Soon I started writing my first app in Basic. It was a game where you had to get a dot around a rectangular track. Not a complex one but took me a few days to finish.

Things went fast from then. I learned Pascal and started writing more complex programs on a PC. When choosing a school I didn't even consider anything else than computer science. Got my first programming job in a Warsaw-based software house when 21, while still studying. I learned Java and Linux at that company. Then came a few others and eventually in 2010 I started my own company, a movie analyics startup Filmaster.TV which is all I'm focused on right now.

Spaghetti Monster only knows where would I be now if not for that faulty ZX Spectrum program in my childhood.


I remember Football Manager - as you say it was written in BASIC, one of the few games that I owned which was.

I started hacking on a ZX Spectrum, initially via the orange manual, later with books from the library and so on.

After BASIC I jumped to assembly, and kept up on assembly on MS-DOS 3.3, via Ralph Brown's interrupt list. I didn't try pascal, or any other real language, until many years later at university.


Aah, Ralph Brown's interrupt list, that takes me back a long time. I used to write assembler quite a lot when I was ~14year old. Now I'm a webdeveloper mainly doing php and some basic sysadmin stuff and it strikes me how far apart those things are. Assembler needs a different mindset and it's quite hard to get into it again.


Great game indeed. I remember translating it later all to Polish changing all the British premier league teams and players to local teams. My dad could not believe that was even possible :)


Both parents were programmers. Mom has been retired since before I was born, Dad is still working as a DBA nearing retirement. My brother and I are both employed as programmers, and my sister is due to graduate this summer with a CS degree.


You must have great Christmas dinners!


Well, I once had a very disgrundled girlfriend after a dinner talk pivoted to an overview of compression algorithms.


I see a major risk of the Christmas dinner being ruined by "Christmas tree". Hint: Donald Knuth


No option for both parents :) although my mum hadn't done it for years when I was starting out. I wouldn't say either of was a mentor though, I learnt by myself.


Same here, both parents are professional programmers and both still are.


My father is from the high tech of the previous generation: radio and electronics. If it can get a signal from A to B, he's done something with it. Radio, microwave, copper, fibre optic, satellite and probably a bunch of other things I don't know about. He's worked in remote parts of Australia, Indonesia, Malaysia, Russia and Antarctica.

I imagine that in a different place and time he'd have been a steam engineer. In yet another time and place: a computer engineer. But he was born when radio was king, before electrical engineering was a university-degree bearing profession instead of a trade.


I was lucky enough to learn the BASICs from my father. He, being a mathematician and having dabbled with programming at university, would play around with his own things on the computer in the evening, and I was rather interested in watching him create simple graphical things on the screen.

I think that my first experience was messing around with VRML, learning the mathematical ideas necessary for 3D world manipulation. Once my father saw that I was interested, he showed me some tutorials and documentation (downloaded onto the computer as the internet connection was horrendous), and I gradually learnt to create worlds. The programming part of VRML was the ECMAScript that one could use to control the objects, with which I was able to create and control a Rubik's cube, plot the solar system and stars from star catalogues, and generate patterns using L-Systems. From there, I was introduced to Basic4GL, and then was able to access various programs in some of my father's old fractal books, with explanations from him when needed. The beauty of recursion followed!

I experienced MATLAB, Java, and my favourite, C, at university. All of which was was too newfangled for my father to know anything about. But without his guiding hand when I was younger, I would never have discovered the ever-linked joys and frustrations of programming, and taken the courses that I did later on in life. I count myself lucky that I had someone available to answer my questions and keep me interested, otherwise I would probably have got bored and annoyed far too soon and quit before I'd really got started!


I don't have any programmer family members, just one friend. I'm completely self-taught. It was REALLY hard getting started, I mucked around for a few years in a few languages and never really got past conditionals, let alone data structures. In hindsight, making games in Game Maker was really a bad way to learn actual programming or project management. Please don't ask me to look at my old code.

I'm 18 now and trying to thoroughly learn Python with a few books I've downloaded: A Byte of Python, How to Think Like A Computer Scientist: Learning With Python, Learning Python the Hard Way. Please don't judge me, but I actually printed the entirety of that last book into a PDF; I'll get around to legitimately buying it eventually.

I kind of feel like I'm competing against my best friend to see who can make the coolest stuff, although it's getting hard to rate website stuff versus CS/math stuff. I'm also no longer scared to dive into manuals or look at code from other languages.

TL;DR Starting on the path of programming without ANYONE to explain things to you or that your code really does suck is not easy, but doesn't make learning impossible. It's like being thrown into a pool in order to learn to swim.


My mother was programming FORTRAN, my father was a UNIX-admin (mostly HP-UX, AIX). My brother is a self-taught programmer as well.

Yet, I didn't pick up programming before university. Which was good, because I learned Ruby on the side to spice it up a bit. Back then, Rails wasn't released and anyone ever heard of Ruby, which is quite an advantage today.


My younger brother has been programming since age 12, got a MSc in CS, and runs his own dev shop since he left college. Most of what he knows, he learnt himself. I instead hated computer games, struggled with maths, became a humanities scholar, but always loved reading about science and playing around with software.

When we were kids (in the early 1990s), together we made websites: he did the difficult stuff, I did the graphics (Corel Photopaint back then). When I went to college and ran a philosophical magazine, I had my brother make me two websites, in “dynamic html”, then in Flash — it was the late 1990s, and those were cutting-edge, especially in the arts department. While in college, my brother got hooked on php, while the official curriculum taught Java and mocked at “website scripting“. Meanwhile, I picked up html and css, and kept reading: TUGBoat, Techcrunch, Wikipedia. I became quite knowledgeable about the newer stuff: Javascript MVCs, NoSQL — but, as with TeX, everything purely theoretical.

Two years ago we decided to work together again, with this new stack of Mongo/Meteor/Sass: he still on the back-end, I on the front, although the difference between the two is fading away, especially with Meteor. One learns a lot, mutually, in a common “full stack”…

Most of what we can, is from self-learning. I can imagine my brother’s formal training in CS sets a background for self-learning, but his insights in code organization and architecture is from hands-on experience. Without the help of my experienced bro, I’d have a very hard time while teaching myself to code. I keep being a scholar, read about Lisp, Turing completeness, try to figure out data structures, helping myself out with Wikipedia. I’m amazed how all that fascinating theoretical stuff seems to have been merely noteworthy in the CS classes my brother took. I studied art history and philosophy: formal logic was the nearest thing to algebra I had in years. I can safely say, I guess, for both of us, our education has very little to do with the software we write, love and live today.

Our father claims to have written software, while he did his PhD in biomechanics in the late 1970s. It’s hard for us to believe that: as an old-school mechanical engineer he’s got this habit of looking down a bit on making websites and apps. What really helped us to love computers and learn to program, I guess, is that when we were still in primary school, our father bought a PC, got an early internet connection, and let us play with those, freely and without any restriction.


My mother was a computer programmer. She worked on big iron (PL/1) but had no interest in programming away from the office, so I wouldn't say she mentored me.

My mentor was my father, a chemist. He showed me how to program BASIC on the lab computer that he sometimes brought home at weekends. That was a Commodore Pet, I was about 8 at the time.


I selected other. I had a close family member who taught me about computer hardware and introduced me to programming but he didn't really code. He'd done some coding in computer courses he took but very basic stuff. In other words I was introduced to programming by him but wasn't actually taught any programming.


Never really had anyone to guide me through programming. Parents bought a computer when I was about 8/9/10.

Most classes I took were on word or excel. Had a bit of side influence from local pc users group and BBS environments. Doom, and subsequently, the doom hackers guide, were probably one of those chief influences that subsequently saw me start to take things apart and realize how they all worked and fit together. Had friends that I got together with over IRC and gamed with. More games followed.

Started IT in university, but dropped out after the first year because using eiffel was the most boring experience I'd ever had, and not what I enjoyed about using computers. Continued tinkering in various tasks/languages as needed over the years, but never really got past the basic ability to use loops/arrays/conditionals, etc.

Things really got serious when I decided to use employment to learn. Figured I might as well get something out of a paid job, and decided I'd challenge myself to program everything I had to do at work, not use any of the pre-prepared solutions. I learnt SQL in which i tried to do everything. Then i moved on to imperative C-style languages, and tried to do everything in that. Then learnt regular expressions. Then used C. All along this time I kept bumping into python because I began to experiment with ubuntu. Lastly, after doing all that, I decided I wanted a language that was compiled, had good performance, was functional, had macros, and was free. I discovered and taught myself lisp.

From the SQL period on, i can't say i ever had anyone else to guide me. I just kept picking up new stuff, and challenging myself to do everything from the ground up. Every time I found something I couldn't do, or something I didn't understand, I kept at it until i did. Somehow, at the end of it all, I'm a guy with qualifications in other fields that really became a programmer anyway...and now knows more than most of the IT guys :(


It would be interesting to see this split down by age too. It's less likely the parent of someone learning to code in the 70's/80's was a programmer. It was also probably a lot more difficult to learn to code back then without a mentor. Now that's not too big of a problem thanks to the internet.


I am wondering how much the availability of online resources really takes away the need for a mentor. Sure there are more resources for learning and asking questions, but programming environments are also a lot more complicated than they used to be.

I've watched some people trying to learn programming, who get lost in all the little details that we have sorted out a long time ago. A mentor, or just someone knowledgeable that you can ask simple questions from on a regular basis, still seems pretty helpful.


A mentor would definitely be helpful but they are significantly less necessary. e.g. I've been programming full time for 5 years and have had no mentorship - I learnt everything online. I've also worked solo from home the entire time so haven't had any help from other programmers which would have been available had a been in a standard work environment. I probably could have progressed quicker with a mentor and it would have been helpful but it's not as necessary as the way it would have been pre-internet.


I learned programming mostly from the book that came with my first computer (at 15) and magazines (Byte magazine was a wonderful resource in the mid 80s, as well as the magazines specific to my computer). I really didn't have anyone to ask questions, so any questions I had, I had to puzzle out on my own.


I had a friend who claimed he was an elite hacker (we were both 13). I wanted to be an elite hacker too, so I borrowed his book on Visual Basic 6.

As it turns out, he was not an elite hacker, and I wasn't going to become one by learning VB.

That said, it set me on a path (and maybe pattern) of self-learning that I think only the internet made possible. My real programming mentors were some cool folks on some online bulletin boards, who helped out serious n00bs like me along the way.

My parents were computer illiterate (I must have been the last kid in my 'hood to get a computer), and they never thought my little programming hobby would develop into anything of use!

Now I'm 27, have had a fun ride so far, and have to credit it to some power users on, wait for it, extremevisualbasicforum.com

PS: Of course, I moved away from that and like most at HN, do back-end/front-end of webapps now.


The options offered here are significantly disconnected from the question. The possession of a programming parent need not be connected with the acquisition of the art in oneself (though I would hazard that it is still likely to be an influencing factor).

My Dad is a programmer, but I and my two elder brothers all developed the curiosity for such matters and learned programming on our own with no assistance from our Dad or each other (my eldest brother began at about seven, my elder brother and I following suit at a slightly earlier age; I was five or six when I began). But I suppose it was Dad who ensured that there were a couple of books on BASIC for us to learn from.

So I can answer:

- One of my parents was a programmer.

- Another close family member was a programmer.

- No one person mentored me as I learned to program.

- And, of course, that term which ever eludes accurate definition: "Other".


I learned to program through a family member in a rather different way. My grandfather, who had since passed away, always talked to me about all the engineering feats he worked on at JPL. I was 12 when he died. He left me all of his computers and manuals, 5 and 7 inch floppy disks, and everything from MS-DOS to books that basically amounted to datasheets for the 68000, 8080, 8086, Z80, and a few other CPUs. most of what he left me was 16-bit era coding material, but it didn't matter, the principles were the same. In a school of kids that knew nothing about programming, knowing how to work with things that made adults head spin, made me feel special. I knew by the beginning of high school that i wanted to program.

I'll never forget all that my grandfather taught me, even though it was taught posthumously.


I'm surprised by this poster, not at all surprised by the results. I thought my experience was pretty standard, and the results seem to indicate that. My dad had an Apple IIe and a Dos machine while I was growing up, and I quickly surpassed his (very limited) technical knowledge once we moved up to the DOS box. Everything else was self taught. A lot of my skills I never remember learning - I just grew up always on the computer.

In fact, if being a programmer was his job, I'd probably be turned off by it. I remember a friend of mine had a dad who was a programmer, but while the kids were all pretty good with the computer I never remember him teaching them things as such - in fact, I turned this friend on to a lot of game creation engines, etc. myself.


My dad was a self-taught programmer (he was a chemical engineer and loved to learn new things). I started by playing games on our Apple IIe (with a tape drive and 114k of RAM!), then typing in games from magazines, then tweaking those games to work the way I wanted.

When I was 15 I got a job at a gas station and built a service reminder system for them, based on some software my dad wrote. I had to replace about half of his code, so it probably would have been faster to start from scratch but I didn't have the confidence to do that at that time. I got a little help from my dad, but not much.

Most of my friends were geeks (we played D&D at lunch in the math wing of our high school, and most of us were in the band) but only one of them became a programmer as a career.


No one mentored me when I started programming. We had Internet fairly early so I looked into how to make my own website. This taught me HTML (no CSS back then!) and some basic PHP. Then I became interested in game programming (I was still a kid after all) and entered the world of "real" programming: C++, the Win32 API (urghhh) and OpenGL.

My dad studied electrical engineering at the Navy and had a library of study books that I never bothered to look into. One day, one or two years after I got into C++, I decided to have a look. Surprisingly, I found some really interesting CS books, amongst others the OS book by Tanenbaum, with the full source code of Minix printed at the end of the book (12,000 lines of code iirc).


I got introduced to programming because my dad was a programmer, but besides him being excellent and math and checking sourcelists against magazines after I typed them in, he didn't really answer much questions in that regard. I learned most when I was 7 or 8 begin 80s by copying lists to my computer (because my father was a programmer and then manager we had computers very early) and then changing them. After a while I changed then so much that they were something else and I was able to start from scratch. Most of that was basic / assembly but I never had issues progressing to OO or functional languages after that.


My dad used APL to do CNC programming. I remember reading his APL book as a kid. I could only get so far without having a computer that could run APL (or not having a computer at all since this was the late 70's). Later, I was able to get into a math and science oriented high school where we learned Pascal and 6502 assembly on various Apple II systems. I've been programming ever since.

Lately I've been thinking about that APL book. There's a version of APL called J which uses normal ASCII characters that I've been meaning to check out. Maybe 2014 will be the year to do so!


Yes, but only as an amateur experimenting. That said, I'm very grateful for the start he gave me - computers were always around at home (dating back to a kit-built ZX81), as was the knowledge that they could be programmed and the encouragement to try. I picked up some things from Dad, some more by private tuition (which unfortunately ended when we moved towns), played around a bit, then classes at school.

For me, the main thing I think was being shown it was possible and then allowed the space to experiment. Let kids try things, they can surprise you...


My father used to be a programmer, but at the time that I learned to program, he already switched to project management. I got started with some pointers from a nephew (first in Qbasic). Then I somehow discovered CGI (Perl) and got hooked up on web technology. I don't remember how I discovered CGI. I switched from Perl to PHP when I read a magazine article series about it. My current professional programming is still mostly PHP. As a side project, I also learned Python and Ruby. At my current job we're using RoR more and more.


My dad gave me my first push in QBASIC and simple batch programming around the same age, but ultimately it was my self-motivation that led me to learn C and C++. I'm glad it worked out that way because I have a better appreciation for garnering the underlying skills that let me put ideas that I have in motion.

I know it ultimately comes down to a person to execute an idea, but also showing that person that they can be resourceful by themselves in the first place is such a great potential.


It might be interesting to collect this data by age ranges, the probability to have a programming parent shrinks if you are older because less people programmed back than. I wonder how many people younger than me (24) learned it from their parents.

I started programming when I was around 12 to script computer games. I struggled with the scripting environment of one of them, misunderstood the mention that it had a "c-like syntax", bought my first book about C and the rest is history ;)


I learned to program in 8 bg -- in 1990, 8 years before google. My technical references where a single c++ book and later a borrowed (a teacher at school knew an engineering professor at a local university) copy of msdn on a pile of cds in a box. My parents where not programmers; few people where at that time, and my parents didn't know any. I wouldn't have internet access for another 5 years, and when I got it, it was over a 56k baud modem.


I was totally hooked to computers once I played Civilization 1 on PC the first time at my cousin place (I was 13 then).

As my cousin lived 1000 km away from me, I had to get my own machine. The next year I got myself a computer and quite soon I started programming. It's just something magical about the power to command something that fully obeys without question and provides endless possibilities.

ps.: no one else around me even had a computer back than.


At the time I wrote my first programs I was about 10 years old and I wrote them on an IBM x8680 that an acquaintance donated to us because he'd have thrown the machine away otherwise.

I didn't receive any tutoring in programming until to the age of 22.

Back then there was no internet and tutoring in IT was unthinkable in schools. Barely anybody had a computer in the first place, something which just a short while after changed quickly.


The only person that I ever knew of that programmed was my uncle, who passed away the same year I was born. From what I was told, and from the books he had let behind, he was pretty knowledgable in COBOL and FORTRAN (it was the 60s). Had no-one in the family ever so much as even suggest getting into programming, or even what it meant (the family tree is very salt-of-the earth to put it nicely)


Neither of my parents were programmers. However my Dad did buy me a Vic-20 and a Commodore-64 which is where I started to program in Basic. I have a few computers after that, but when I was 17 my Grandmother loaded me $300 so I could buy a Pentium Motherboard and processor so I could run the new Borland Turbo C++ compilers. My 486 wasn't cutting it :-)


My dad was a programmer for about 5 years back in the 70's but has been a lawyer for the past 25+ years. So I don't think that counts.

However, I do think I ended up with some kind of "origin bonus" because I grew up in Redmond Washington surrounded by programmers. That gave me a mindset and style of problem solving very conducive to programming I think.


I got into coding by playing with our Windows 95 computer in the nineties. HTML then JavaScript, VBScript, VBA scripting in MS Office on the school computers, then VB6. Years later C#. In the meantime, installing and experimenting with Linux and C, Java and Python, eventually settling into Ruby via Github.

Curiosity got me here.


My grand mother in the second half of the 80s and in the early 90s taught CS - mostly algorithms and math related issues in CS - with a lot of programming in Pascal (Borlad Turbo Pascal) in a Jewish high school in... Italy.

She had a huge influence on me and I will forever be proud of her.


My mom could have been a programmer, if her parents would have let her study past first grade.

My father? He went through to a professional degree in chemicals, and still didn't know what simmetry is and wasn't able to understand it when I tried to explain it to him.


Farm kid from Iowa. Older brother bought a MITS Altair 8800. I wrote a game in 128 bytes(!) of RAM.

Of 6 farm kids, 4 in computers, 1 in Math (environmental research) and 1 Nursing specialist. All of our neighbor friends went into farming.


One of my parents was a programmer but over time had forgotten all they knew about it so they had no influence on me. I learned to program of my own accord due to an interest in computers since I was young.


Mom thought her teaching job was going away, learned programming, ended up teaching it. Sibling studied CS in college. I took a class in BASIC and was hooked. That was the early 80s.


My dad was a programmer / operator for Eastern Air Lines' SystemOne when he was in college. It was the job that taught him he'd rather work with people.


My dad wasn't a programmer but he was a machinist. I have fond memories of him teaching me decimals and geometry as I sat at his feet.


"No one person mentored me as I learned to program." does this mean "no one" or "no single person"?


My Father lobbed a copy of "QBASIC by Example" at me when I was 7, which is quite a heavy book for a 7-year-old.


My parents still do not use computers (including tablets and smartphones).


No one around me was related to neither programming nor engineering.


Same.


No one person mentored me as I learned to program.


Both my parents were programmers.


Father: dbaseII

Sister: cobol


No




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: