Learning to code always sounds tempting for non-programmers, but how do you get started? Andrew Turley, a software engineer with job-matching service The Ladders, shares some insights.
Image adapted from ra2studio (Shutterstock)
Our colleagues at Lifehacker US hosted a Q&A session with Turley this morning. These are the highlights.
What languages should I learn?
"I'd recommend learning at least one imperative language (probably C), one object oriented language (Java, C++, Ruby, or Python), and one functional language (Lisp, Scheme, or Haskell) by the time you graduate. These will give you a pretty good basis for understanding many of the programming concepts that you'll need to deal with as a professional programmer."
What's the most painless language to learn first?
"This question comes up a lot. I think learning any language will involve some degree of effort. Your best bet is to find a language that lets you do something you're interested in. That way, when things get hard, you'll have a goal that's motivating.
How can I score an entry-level job?
"My recommendation is to talk to some people in the part of the industry you're interested in and see what skills they're looking for. Different companies have different requirements for "entry level", so find something that seems like a good match for the skills you currently have. Talking to people also helps you establish a relationship that can help you land the job.
If you have time to work on some projects on your own, I'd recommend doing that. This will help you stand out from the crowd and demonstrate that you know what you're doing."
How can you get started building an app?
"Follow your passions, and don't be afraid to start small. One thing that kills of dreams like this is never starting because it seems like so much work. It's better to write ten little programs and learn something from them than to dream about, but never actually write, an iPhone app."
How can you keep your knowledge up to date?
"If you have some formal education, I'd recommend that you keep learning. Get an ACM or IEEE membership and read articles. Read books. Go to conferences. Other professions like architecture and engineering require their members to take part in continuing education. Even though it isn't required for programmers, you should still be doing it."