
Ask HN: How to teach a 20 yo Marine how to code? - tmaly
My nephew just finished his Marine training as a reservist.  He said to me that he is probably going to take his uncle&#x27;s advice and learn to program.<p>I tried to get him to learn back in high school using this free book that used text based games in Python.  He was able to get each example working back then.<p>What books or online courses would you suggest he use now to quickly learn programming.  His goal is to get a job programming as soon as possible.
======
davismwfl
My 2 cents. He needs to pick a language and learn it. It honestly doesn't
matter which one, everyone has their passion language or preferences. But in
reality, learn Python, JavaScript, Java, C#, C/C++ almost anything. I'd
personally, probably push him towards Python, C# or maybe even Ruby. Partially
it would depend what he thinks he wants to do though too, e.g. create
websites, or graphics programming, simulation programming or games etc. I'd
also give him any good SQL beginners book, it never hurts to understand how to
query and work with SQL data.

As for getting a job soon. He needs to get some time to become reasonably
proficient in at least one language, which means likely 6+ months of practice
and some serious dedication. I can't imagine someone not having at least that
before trying to apply for JR dev jobs. Everything depends on his ability and
aptitude for development work though. But when he does try to apply, he needs
to be realistic and apply for JR positions likely on larger teams so he can be
mentored. Startups and small teams just don't usually have the capacity to
train and keep up their work.

There are no magical books in my opinion, some are better then others, but
frankly pick any book up and work through it. The reality is when you are
learning it is best to have 2-3-4 different books that approach things
differently so you can learn. It helps to do things wrong and figure them out.
Have him join StackOverflow for questions and research, find forums that focus
on the language he chooses and get active there.

Don't try to learn to many different languages at once, stick to 1 + SQL. I
suggest SQL because it has the most widespread appeal on enterprise and large
teams that he'd likely have some possibility to get on. Then expand from
there, but remind him to be realistic just because you work with a language
for 6-8 months that does not mean you are an expert. It takes years to truly
master a language and even then "experts" still learn or find new ways to use
the language and push it that no one saw before.

