The number of roadblocks a person faces when they want to get into the world of software development are innumerable. Some people are inhibited by fears and perceived inadequacies. Some are obstructed by a lack of information or knowledge. Still others are hindered by unclear objectives or unknown end-goals. Others are crippled by indecision. All too often, some have real-world constraints like time and resource commitments or obligations that prevent them from pursuing a path in software development. No matter the obstacle, they all require determination and effort to overcome.

I would like to address a number of these roadblocks and ways I’ve learned to overcome them.

The first roadblock almost everyone encounters as they contemplate entering the world of developers is their feelings of inadequacies. Many people have the desire to learn, but are inhibited by the thought of not being good enough or smart enough. Though they have the desire, they think programming is just not for them. And they let their fears hold them back from pursuing any type of career in software development. Don’t let your fears stop you!

“If you choose not to act, you have little chance of success. What’s more, when you choose to act, you’re able to succeed more frequently than you think. How often in life do we avoid doing something because we think we’ll fail? Is failure really worse than doing nothing? And how often might we actually have triumphed if we had just decided to give it a try?” ― Katty Kay, The Confidence Code: The Science and Art of Self-Assurance—What Women Should Know

For myself, it took me interacting with real people that were computer programmers, and I realized that most of them were just like me. They weren’t intelligently superior to me. They knew more about software development because they had studied and applied themselves. And I realized that anybody could do the same.

Some people have the desire to enter the world of software development and just don’t know where to start. To those people, I would say start with searching online. Do research on the most useful programming languages and what interests you have in becoming a programmer. Search for free coding tutorials online. Codecademy is a great resource to start learning to program. Try a few out and see what you like. You could also search for books online or check some out at a local library. The point is, there are plenty of resources. All you have to do is start looking.

Once you have gotten your feet wet a little, through online tutorials and your own research, it will be much easier for you to identify what your interests are and what you want your end-goal to be. Once you realize what your objectives are, you can evaluate your next steps. You can decide if it is simply an interest you want to pursue independently or if it is a career change you want to pursue actively.

If software development is something you want to pursue actively, the next thing you need to do is to decide what type of program is right for you. This requires more research and introspection. Make lists of what you want out of a program and then research bootcamps, online programs, and colleges or universities. Course Report and SwtichUp are excellent resources specifically for finding coding schools with relevant reviews.

Finally, you need to make decisions.

“We need to accept that we won’t always make the right decisions, that we’ll screw up royally sometimes—understanding that failure is not the opposite of success, it’s part of success.” -Arianna Huffington

Sometimes deciding can be the hardest thing. Know that no decision is permanent. Except deleting a repository on GitHub. Don’t worry, you’ll understand that reference later if you don’t right now. But seriously, choose a path and follow it. If it doesn’t end up being what you wanted or hoped, you can always choose another path. If you decide not to pursue a path for the time being, that doesn’t mean that at a later point you can’t. The important thing is to be aware of your decisions and take control of the direction you are taking your life.

“I always did something I was a little not ready to do. I think that’s how you grow. When there’s that moment of ‘Wow, I’m not really sure I can do this,’ and you push through those moments, that’s when you have a breakthrough.” -Marissa Mayer

If you face constraints on your time or resources, don’t let that stop you either. Start somewhere. Sometimes all you can do is simply more online tutorials whenever you have the chance. Slow progress is still progress and eventually you will be surprised at how far you have really come. Anybody can become a software developer with enough effort, and that includes you!