Udacity - How to become a computer programmer

Computer programming skills are in high demand by employers around the world, so it’s a great time to learn these skills. As you begin, you may wonder how to learn to program, and where you can build the practical experience you’ll need to impress recruiters. In this post, we’re going to demystify the process and show you how to successfully become a computer programmer, with a simple, five-step approach.

Five steps to becoming a computer programmer

1. Understand the role

Before you commit to becoming a computer programmer, you need to understand what the role involves. To do this:

  • Go to LinkedIn, Glassdoor, or Indeed. Search for terms such as “computer programmer”, “developer”, and “coder”, and set yourself the goal of reading a minimum of 10 job descriptions. Note what’s universal across all 10, and what is unique to any given role. You will start gaining a more nuanced understanding of the profession, and what different programmers work on each day.
  • Explore Medium, a leading publishing platform regularly used by professionals to share insights about their work. Search for terms such as “How I learned to be a programmer” and “computer programmer first steps.” You’ll find some great pieces by programmers at all levels of skill and experience. Start with this great example from Brad Crispin, who explains how he started learning to code in his 30s.
  • Engage with working programmers. Social media, industry forums, and professional events represent great opportunities to network, learn, and make connections. Join a LinkedIn group for programmers, where you can ask questions and interact with other members. Online conference directories, such as Conference Alerts and Conference.city are useful for finding local events where you can meet programmers face-to-face.

2. Learn the right skills

Most working programmers specialize, and different industries and roles require different skillsets. It’s important to start thinking early on about the direction you want to take, as your initial interests will determine your future learning path.

Web Development
There are generally considered to be three types of concentrations for web developers:

  • Front-End—working on the user-facing side of a website
  • Back-End—working on the behind-the-scenes parts of a website
  • Full-Stack—building and maintaining entire sites

Web development roles suit people who enjoy solving problems, are results-oriented, and like to think creatively. These roles require learning programming languages like Python, HTML and JavaScript.

Machine Learning & Artificial Intelligence
As you master in-demand computer programming skills, new opportunities will open up for you. Many programmers are now moving into transformational fields like machine learning and artificial intelligence. If you’re interested in working on cutting-edge technology, make sure you optimize your learning plan for subjects such as probability, algebra, and calculus.

Data Science
Data science involves analyzing enormous amounts of data to solve business problems and help strategic decision-making in almost any sector. It’s a rapidly-growing area, and data scientists are highly paid for their abilities to help companies visualize and understand what their business’ data means. Programmers in this area need to learn how to use tools such as Python, SQL and Tableau, and must have a passion for analysis, problem-solving, and working with statistics.

There are many other fields of computer programming—from developing games and VR experiences, to creating smartphone apps. To learn more about the potential applications of programming skills, you can investigate Udacity’s catalog, which includes many free programs that allow you to explore new areas.

3. Build a portfolio

To land a job as as computer programmer, you need a portfolio, so recruiters and hiring managers can review your work, see evidence of your skills, and assess your commitment. If it’s your first programming job, you won’t have a work portfolio yet, but you can create a personal one and populate it with your own projects.

There are many ways to start creating your own portfolio, including:

Independent projects
Working on your own idea for an app or program is a great way to showcase your talents. It demonstrates your technical abilities, and your drive to see a project through to completion. You can also build experience by finding opportunities to work on other people’s projects on sites such as GitHub.

Courses such as Udacity’s Intro to Programming Nanodegree Program include projects that enable students to practice their new skills, and build an amazing portfolio of work while they study. Every stage of learning is reinforced with practical projects—from applying HTML skills to build your first web page, to building a mobile virtual reality puzzle game.

Internships are often advertised on company websites and social media, so make sure you set alerts for updates from companies you are interested in. You can also proactively reach out to recruiters. Find a company’s HR department contact on LinkedIn, or call the company and ask for the best person to speak to. Then reach out, presenting your experience and your motivation for wanting to intern. Udacity students and graduates can also use our recruitment events, and Careers Team support, to help find an internship.

4. Land the interview, then nail the interview

When you apply to roles in the industry, it’s really important you demonstrate your skills and enthusiasm to recruiters. You should be aiming to:

Make your resume shine
Your resume is still the most important part of any job application you submit. As you can read in this post, it’s still essential that you get the fundamentals right—so make sure your resume is up-to-date, simple to read, and free of mistakes. The Udacity Careers Team offers resume reviews to our graduates, helping ensure you’re presenting your programming skills to recruiters in the best way possible.

Practice for every interview
To prepare for each job interview, you should:

  • Go on the company’s website and read the “About Us” section. Make sure you can answer questions such as, “Who is the CEO?” and, “What is the company’s vision?”
  • Use the company’s products so that you can give an informed opinion about what they do. If they build games, play at least a few of their recent examples. If you will be working on their website, explore how it looks and functions.
  • Read the top industry news stories on a site like TechCrunch for at least a week before the interview. You should be able to talk with some knowledge about the company’s own announcements, the competitors they have, and major trends in their sector.
  • Computer programmers may be asked “technical interview” questions related to code. To prepare for these, Udacity offers a free program to help students understand some of the common types of question.

5. Keep learning!

Learning the right skills, engaging with professionals in the field, and getting up-to-speed are how you get the job, but your efforts shouldn’t stop once you land the role. Successful computer programmers embrace lifelong learning, and that’s a mindset you want to get into right away. You should:

  • Try GitHub, Reddit, or Meetup to see if there is an established programmer group in your local area. If you can’t find one, set one up!
  • Become an avid reader of industry updates—TechCrunch, CNet, and The Verge are all good sources of general technology news. Try Stack Overflow, Hacker News, and Slashdot for news and updates from computer programmers.
  • Regularly scan training providers’ websites for new courses to advance your skills. Udacity’s own website is a great place to start!

Making this commitment to learning means your programmer skills will keep pace with technological change, and you will always be able to take on the most exciting programmer challenges.