How long will it take to find a job?

It’s impossible to answer this question without knowing a lot about an individual,and even then no one can give a definite answer. But it’s a reasonable question, so let’s take a look at the factors that affect how long it might take you to find work as a programmer.

« What kinds of things can you do? How much do you need to know? »

How quickly do you learn?

Many people have asked if reading a book like Python Crash Course is enough to get a job as a programmer. The short answer is no; the material in Python Crash Course is necessary for getting hired, but it’s not sufficient. People aren’t going to hire you for learning basic Python syntax; people might hire you if you can use what you’ve learned to solve the problems they care about.

There are two kinds of learning you’ll need to do in order to find work as a programmer. You’ll need to steadily build your familiarity with the syntax and concepts of Python, or whichever language you’re planning to use in your work. But you’ll also need experience building projects and implementing features outside of what you find in tutorials. It’s fine to start with a project from a tutorial, but you need to get to a place where you can build on what’s presented in a book or tutorial. This could mean building an original project based on the ideas you learned in a tutorial, or it could mean adding non-trivial features and functionality to a project you started in a tutorial. Some people can do this kind of work after reading one book; these people tend to come into programming with some relevant background knowledge and experience. They don’t always come from technical fields, but they tend to have backgrounds in areas that require them to do critical problem-solving work on a regular basis.

It’s perfectly fine if you don’t learn as fast as some others; this is not a race. It’s much more important to build a solid foundation in the fundamentals of programming, than it is to do so quickly. Once you land your first job, it’s going to be much easier to find successive jobs as long as you are continuing to develop competence as a programmer.


Do you have any relevant experience?

If you have any non-programming experience that’s relevant to the job you’re applying for, you’ll have an easier time getting hired despite being new to programming. For example many people going into data science jobs are transitioning from a career in math or physical science. These people can sometimes get jobs despite having little programming experience, because employers trust them to quickly build on their domain expertise as they apply their new programming skills to problems they’re already familiar with. The same holds true for many fields, where background knowledge and experience will give you a head start in your programming work.


How strong is your professional network?

Like many fields, finding a job is easier if you know people at companies who are hiring. Let people in your professional network know you’re looking for a programming-related job. Tell them the specific kinds of programming work you’re interested in, and be realistic about your current skill level. You don’t want to sell yourself short, but you also don’t want to oversell yourself and end up in an interview you can’t pass, or in a job that’s way over your head.

If you don’t know people, try to attend a meetup or go to a conference. You can go to a programming-specific conference, or a conference that’s related to the field you’d like to start working in. Join a learning community, and keep track of the people you meet. Good networking takes time, so aim to build good professional relationships slowly and steadily.


How effectively can you help a company carry out its primary work?

It’s worth repeating one thing over and over again: people aren’t hiring you to write code, they’re hiring you to help solve the problems relevant to their business or organization. People who can apply basic programming concepts and skills to a business’ actual problems will find work more quickly than people with stronger programming skills, who struggle to apply those skills to problems the company cares about. Someone who’s already thinking about a company’s core problems is only going to get more effective as they gain more experience and knowledge in programming. People who have a hard time applying their skills to what a company cares about may never grow into effective employees. Find out what problems a company needs to solve, and start thinking about how you might apply basic programming concepts to help address these problems. As you learn more about programming, let these specific problems guide you in what you focus your learning on.