Hacker News new | ask | show | jobs
by niels_olson 5394 days ago
> don't just point them at Google. Tell them YOUR story ... and .. what YOU would do differently ...

> Use your friends

These are good bits of advice. I would also encourage folks here to realize just how far programming is from what most people do all day. When you live in Windows XP all day, grew up with Windows, and spend your time talking with people about, in my case, medicine, and family in the evenings, programming isn't even on the periphery. It's on the other side of a freaking ocean. In the few occasions I've actually met a programmer and talked with them, it is a fantastically rare luxury, and I have learned to try and ask the best questions I can when I have those moments. Most don't want to "talk about work".

It can be a long (years) slog. In my case I had to figure out enough networking to be given an old CPU in exchange for setting up a router. Then figuring out how to burn and load a SuSE on it (10.3, with a very broken Zypper -- imagine suffering with that as your first distro when you don't even know if it's your fault and don't know anyone who can help). Then I had to figure out enough command line stuff to not be totally lost (and forget huge numbers of one-liners, not sure if they would be useful in the future). Then try about 10 different languages trying to find what works. Oh, did I mention learning Vi and Emacs with nothing but Google?

To anyone out there alone in the woods, trying to learn this on their own, I definitely recommend buying Lutz's Learning Python and read what of it you need to while working through Zed Shaw's Learn Python the Hard Way. And have questions ready in case you ever find yourself sitting next to a professional programmer on a bus in Okinawa.

2 comments

Absolutely, there is a major difference between 'ask Google' and 'ask a mentor'.

I don't get a lot of chance to code, but I do enjoy scripting. Google is fantastic at answering questions when I know what it is I want to do. But it's terrible at preventing bad habits. "But this guy on this website said do -foo- and it works perfectly!", to which my mentor says "yuk yuk yuk yuk. do not do that. It does not scale. It relies on -bar-. And most importantly, it's revealed that you do not understand the concepts behind why you are doing -foo- and what it is you actually want to achieve".

I'm extremely fortunate in that I have access to a very good mentor who loves chewing the tech fat with me and genuinely loves sharing tech info with anyone at any level. I don't take enough time to take advantage of him, but I recognise that it's really rare to have someone who is both highly skilled, a good teacher, and motivated.

Google is great for the things that google is great at. But it does not take the place of a good mentor. I've read code sample after code sample and made a script do -foo-, but my mentor has picked up some subtely as to why I should be doing -bar- instead.

To some extent, it's reflected in the "RTFM" ideology. Man pages are great... if you already know what you're doing. If you're new to a concept, they vary from 'great' to 'fucking abysmal', as they take all sorts of knowledge for granted. Telling someone "just go learn from the documentation" is slightly evil, in my opinion. Yes, absolutely, there must be a culture where you go for the documentation early and often, but guidance and direction from experts is extremely important.

> don't just point them at Google. Tell them YOUR story ... and .. what YOU would do differently ...

> Use your friends

These are good bits of advice. I would also encourage folks here to realize just how far programming is from what most people do all day.

It's interesting for me to read this thread because you could find/replace programming insert any number of other activities, like writing (the one I'm closest too), but music, photography, cooking, and many others probably apply too.

Theoretically, you could be a steppenwolfe and teach yourself how to write without any direct interaction from others, or others from the Internet hordes. But it would be so damn difficult and time consuming that you'd be better off finding a friend—any friend—who is already at least moderately proficient and getting her to read your stuff.

I'm a grad student in English lit, so when I tell people I spend a lot of time writing and they reply by saying, "I write" or "I want to write better" and are curious about what's going on, I'll talk about my experience and what I've done and so on. If they want me to read their stuff I will, provided they pass the (very low) barriers described here: http://jseliger.com/2010/10/02/how-to-get-your-professors%E2... .

The mentor / mentee or teacher / student paradigm exists for a reason. Yeah, a lot of its official manifestations in the school system don't work real well, but there's a reason it's there.

I feel I routinely go the extra mile to make friends who know what I'm interested in. I go to meetups, I moved to a city where there are a lot of hackers, I participate in forums like this. I've kept myself engaged in the few software-related projects I've had to opportunity to be involved in, and those are some of my closest friends. I try to ask good questions. But there are no programmers in either of the buildings I work in. I couldn't make lunch buddies or work-out buddies with a hacker if I tried. Dentist? Doctor? Sure. Hacker, not so much. Don't get me wrong, I've got great work-out buddies, and by the Stallman definition, they're hackers, but not the computational sort.