9 Obstacles Between You and Your Dream Job in Tech (+ How to Beat Them)

Updated on | Sign up for learn to code tips

Thinking about starting a new career in tech can feel intimidating. You may have worries about if pursuing a coding career is right for you. You may feel like an outsider/imposter.

You might fear that you won’t be good enough, that you’ll be overlooked because you don’t have a tech background, or a thousand other things.

The most important thing to know right now is that you’re not alone in this—that others have faced the exact same obstacles and doubts…and have made it through to achieve success despite them.

I love something Debbie Milburn said during her interview on the LTCWM Podcast: “It’s hard to do something when you don’t know whether or not it’ll work out or whether or not you’ll like it. Don’t let fear stop you from trying something new in tech. Big life changes can be scary, but fear doesn’t mean you’re going in the wrong direction.”

And if you’re currently going into each day thinking “I hate my job” or feeling uninspired, switching careers can literally change your perspective on life.


Today, I want to break down exactly what those fears and obstacles might be regarding a new career in tech, explain how you can surmount them, and introduce you to the people who’ve done it before.

If you don’t have a degree, don’t have a tech background, are transitioning later in life, have a completely unrelated full-time job, or even if you just “suck at math,” you CAN get a tech job. No matter who you are and what obstacles you’re facing—it’s possible and doable!

So what’s your biggest obstacle?

Table of Contents

Obstacle #1: I Have No Money

When you don’t have a lot of money, it can be hard to buy the equipment you need (laptop, software, etc.) and pay for costly training programs.

In particular, you might think you need to pay for a computer science degree or coding bootcamp—both of which can have hefty price tags (and often require time off work to complete them).

have no money

For the traditional college route, the average annual out-of-state cost for a bachelor’s program in computer science is $41,992, and these degrees typically take four years to complete. Not many people have that kind of spare cash laying around, and taking on student loans isn’t the best course of action unless you’re 100% sure it’s worth it.

Coding bootcamps, meanwhile, are accelerated study programs that take anywhere from four weeks to a year on a part-time or full-time basis. Some cheaper ones can be found in the $500-$1,000 range, but most are $5,000 or more, up to as much as $17,000+. They can be a good option for certain candidates (particularly if job placement help is included), but for a lot of people, this cost and time out of work is not feasible either.

But if you’ve been reading Learn to Code With Me for a while, you might already know that these two things are far from your only options. It’s possible to build a solid foundation without spending a dime, or even get more advanced working with a small budget.

I can’t think of a better example than Elvis Chidera, who grew up in a rural part of Nigeria and taught himself how to code on a Nokia phone and a simple notepad app when he didn’t have enough money for a laptop. During this time, he managed to develop microedition apps using only his phone and Java.

Eventually he was able to save up enough for a computer and begin freelancing. When we spoke for the podcast, at the age of 19, Elvis was an Android developer at dot Learn, an MIT startup that builds educational apps for students in emerging markets like Africa. He has also worked on over 50 apps which collectively have millions of downloads from the Google Play store. Now there’s a success story about the power of determination!

Start coding now

Stop waiting and start learning! Get my 10 tips on teaching yourself how to code.

Don't worry. I'll never, ever spam you! Powered by ConvertKit

Solution: Learn to Code Free or Affordably

If you put in the hard work and get a little creative, you can learn to code without spending a penny. (As you work your way up, it’ll be easier if you spend a few pennies, but there are opportunities to save there too.)

Let’s get into a few ways to save money while you learn to code:

  1. Use free online courses and resources. There are so many out there. Check out 71 of the Best Places to Learn to Code for Free!
  2. Use computers at your public library/school. These computers are usually free to use, and your local library might even offer free technology courses and workshops
  3. Look for scholarships or available opportunities. These are especially common for minorities in tech, e.g. women, POC, etc. For example:
    • Ada Developers Academy: Tuition-free for women and gender diverse people
    • Women Who Code opportunities: They sometimes have scholarships and other opportunities for women
    • The Ada Lovelace Scholarship: Fullstack Academy will award $1,000 on a need-basis to women who are accepted to Fullstack’s immersive programs
    • Codebar: Free weekly coding workshops for under-represented minorities in tech, especially women and those in LGBTQ communities
  4. Look for deferred-tuition coding bootcamps. These are bootcamps that you only pay for after you get a job and start earning money (no upfront costs, and you don’t have to pay if you don’t get a job). These include:
  5. Take on freelance jobs to earn extra money. Even if it’s early in your coding journey, take small projects that can function both as practice and side income. Solve challenges as they present themselves (just don’t commit to tight deadlines during this phase!). Even college students have used tech freelancing to pay the bills. STEM tutoring is another relevant side-hustle option.

Head back to the table of contents »

Obstacle #2: I Have No Degree

If you don’t have a college degree (or even a high school diploma!) it may feel like there’s no way you can land a tech job. Even if you learn the necessary skills, are employers going to give you a chance when they see that your resume lacks a degree?

Despite stereotypes, hunting for jobs without a degree doesn’t mean you’re stuck choosing between retail and fast food as a career. In fact, the tech industry is often a place where skill and passion trumps the standard credentials like X degree, X years of experience, and so forth (even if they still put that in the job listings).


Look at Zac Otero, who was a high school dropout working long hours in a factory. Now, he’s a self-taught Salesforce admin at BKD. I wrote more about his journey on Forbes.

Or how about Ashu Desai, who couldn’t focus in college and dropped out to focus on his own projects. Now, he’s the founder of Make School, a product-based approach to learning that focuses on teaching real-world skills.

Fernando Hidalgo went from being a teacher’s assistant to a data scientist in just one-and-a-half years using trial and error, a bunch of online platforms, and a data science bootcamp.

Madison Kanna’s circuitous journey took her from homeschooler to college dropout to fashion model to front-end and then full-stack developer.

These four are just a fraction of the people who have taken alternate paths into tech and been welcomed with open arms.

Solution: Focus on What You Have to Offer

A lot of tech companies know that certain factors matter a lot more than a college degree, even when it comes to roles beyond entry-level (like becoming a software developer). Someone could have three degrees and still not fit in well. It’s far more important to have the right skillset, and a personality that meshes with their team, and a good culture fit.

Instead of getting caught up on what you don’t have, emphasize what you do. Start with these steps:

  1. Pursue certifications. There are no prerequisites for getting certified with certain technologies, including Salesforce, which Zac did. Don’t let not having a degree stop you from taking that step. Look for courses with certificates at the end and add them to your resume.
  2. Network with the community. Many positions are filled by referrals. Making the right connections can pay off in a big way later. Learn more about how to network like a pro. (And here’s a podcast episode on it too—because this is important!)
  3. Consider attending a coding bootcamp. If you have the resources for it, another possible option is attending a coding bootcamp. Bootcamp grads tend to fare just as well as college graduates in the job search. To explore your options more, check out The Most Epic Guide to Online Coding Bootcamps, Ever.
  4. Build a portfolio of work. Having hands-on demonstrable experience is even more important than a CS degree. Companies want to see real examples of your capabilities. Be prepared to talk about your projects, how you accomplished them, and what you learned from them during interviews.
  5. Create your own degree. Yep—thanks to the Internet, this is something you can do! David Venturi used online resources to create a personalized data science master’s program (see it here).

Head back to the table of contents »

Obstacle #3: I Don’t Have Time

Balancing a job, social life, family, responsibilities, AND learning to code can seem impossible. It may feel like there isn’t enough time in the day, or like you have no energy/motivation at the end of the day to practice coding. That’s totally fair; life is busy! But there are tricks for making the most of your time. Let’s meet a few of your fellow super-busy coders.

no time

Michael Tombor is learning to code while working full time at a health insurance company (and raising two kids).

Brian Jenney taught himself how to code and attended a part-time coding bootcamp while raising two children and working two jobs. Now, he’s a software engineer at Zignal Labs.

Josh Kemp taught himself to code…while raising a family…and working with horses at his day job…with a broken hand. (Not even making this stuff up!!) Josh ended up putting in only 827 hours of study over 9 months before he landed his first junior developer role.

Solution: Master Time Management

Let’s check out a few time management strategies for carving out those extra hours for coding.

  1. Make a schedule. Do a brutal audit of your time, writing down everything you do in a day and how long it takes. You might be surprised how the math breaks down.
  2. Stay organized. Set small goals and keep track of your progress, whether you use a spreadsheet, a project management tool like Trello, or pen and paper.
  3. Find out what motivates you. If coding feels like a chore, you’ll always find a reason to put it off. Learn how to break through those motivation plateaus.
  4. Set a 1,000-hour goal. Josh Kemp (broken-hand guy) did this on the advice of two other self-taught coders who’d done the same, and got a job before the 1k mark!

Head back to the table of contents »

Obstacle #4: I’ve Never Been a Math/Computer Person

When you feel like you’re not good at math (or just don’t like math!), it may seem like you will never learn the necessary skills, especially since programming involves problem solving, logic, and algebra. Will you even like learning tech skills if you don’t like math? And what if you’ve never been the “computer person” in your family or circle of friends?

not a math person

Those were the perceptions that Eileen Ho had about herself—that she wasn’t good at math and wasn’t a computer person. And do you know what? She became a math teacher, and then a software engineer. “Don’t box yourself like that,” she says. “Intelligence can be grown, we can work towards it, we can build it, no matter what area it is, whether you had a previous interest in it or not.”

Solution: Work Through the Problem (Or Around It)

If you never loved math in school, that’s okay—and it certainly doesn’t rule you out from changing careers into tech! Here are a couple of ways you could circumvent this obstacle.

  1. Recognize that coding is foundationally about problem solving, which is different than math. If you have a solution-oriented mindset, that will help you even if you can’t perform complicated equations in your head.
  2. Commit to getting better at math. Like coding, you can learn to get better at math if you put in the time and effort. It’s also helpful to know that there are libraries and plugins you can apply to your code to help you solve mathematical and algorithmic problems.
  3. Choose a non-math tech career path. There is so much opportunity available in tech. If algorithms and problem solving aren’t for you, you could choose another tech career path that involves only basic math or none at all, like UX, UI, product management, software testing, etc.

Head back to the table of contents »

Obstacle #5: I’m Too Old for Tech

Tech has a bit of a stereotype as a young person’s realm, where everyone’s expected to be in their twenties. This can make those 35+ feel like they’re “too late” to make the change.

too old for tech

To shatter this stereotype, Quincy Larson built a list of 300 developers who got their first tech job in their 30s, 40s, or 50s, with their stories. And if this 91-year-old woman can become a tech designer…don’t be so quick to rule yourself out!

Solution: Transition Gradually

Breaking into tech changes a little bit as you get older, since you’ll often have more time limitations and financial obligations than you did at 20. Here’s how to work around that.

  1. Ease into it while keeping your current job. Kanika Tolver recommends seeing what opportunities your current job may offer. Whether that’s training opportunities, inter-department networking, or a stipend for continued learning, you might be able to work with what’s there now instead of making a drastic change all at once.
  2. Volunteer at nonprofits. Nonprofits are often looking for people to help out, and this allows you to build your portfolio and get tech-related references.
  3. Rebrand yourself. Think of things you’ve done in your past jobs that might be relevant to a tech job, and feature those on your resume and LinkedIn.
  4. Identify which transferable skills you have. Professional soft skills can be just as important as coding-related ones when it comes to working in a company with others. Relevant non-technical skills include people skills, written communication, creativity, and more. Emphasize these in applications and interviews as well.
  5. Use your unique background to your advantage. You don’t have to start from scratch in a completely new industry. Just pivot into a tech role in the same industry (e.g. move from finance to tech). Having a background in a certain industry can actually be highly desirable when you’re looking for tech roles at specific companies.

Head back to the table of contents »

Obstacle #6: I’m an Introvert

When you think of a tech office space or startup environment, you probably imagine open office plans, high energy, and constant collaboration. If you’re an introvert, that can seem scary. You might feel like a tech career wasn’t made for you. However, there are still introvert-friendly tech roles too!


Jess Lee considers herself a lifelong introvert, but she leaned into her own areas of discomfort (adopting extrovert skills) and took advantage of her introvert skills to found Dev.to, an online community for developers to share ideas and support one another.

Solution: Seek Quieter Work (But Practice “Extrovert Skills” Too)

Introverts are important and valuable members of work teams and society, but that isn’t always recognized. Picking up some situational “extrovert skills” can help you navigate work cultures geared toward extroverts. Or, you can seek out a role that meshes with your personality as is.

  1. Put yourself in challenging and uncomfortable situations. Jess recommends things like taking a public speaking class, going to meetups, and attending networking events. “Lean into the discomfort, and when you come out of it, you feel really good,” she says. These things all ultimately make you a better communicator.
  2. Use resources for introverts. Others have been where you are! Check out The Introvert’s Guide series for one. Quiet by Susan Cain is another well-loved book on all the things that introverts have to offer.
  3. Know that you already have skills that make you stand out. Hone them and take advantage of them. For instance, introverts tend to make great leaders with quiet confidence. And they’re suited well to deep learning and focused tasks without others around to motivate them.
  4. Look for remote jobs. These are perfect for introverts, since they require less interaction and you can control your own environment. There are more and more tech jobs allow you to work from home. Check out remote.com or these 11 websites to find remote tech jobs.

Head back to the table of contents »

Obstacle #7: I’m Not Sure I’ll Fit In

Do you not see many people like you in tech? If you’re in an under-represented minorities in tech group, you might not think you’ll fit in in the tech industry and worry about being accepted.

tech group

Dr. Deborah Berebichez made history in 2004 when she became the first Mexican-born woman to earn a Ph.D. in physics at Stanford. Today she is the Chief Data Scientist at Metis, the co-host of the Discovery Channel’s Outrageous Acts of Science TV show, and a regular guest expert on other channels including CNN. She achieved all this despite growing up in a conservative community where girls were discouraged from learning STEM.

Rebecca Lima has been the only woman in the room, the youngest person in the room, and the boss of her own companies. She’s dealt with imposter syndrome and feeling like she doesn’t fit in, but come out the other side more confident than ever.

Solution: Seek Out Supportive Atmospheres

How comfortable you feel in a tech job may vary widely depending on how actively the company takes their responsibility to build an inclusive culture. Here are some tips for finding the right fit.

  1. Look for culture fit when applying for jobs. Ask about diversity at the company and look at employee photos on the website to get a sense of who your coworkers would be.
  2. Get involved in tech minority groups/initiatives/job boards (there’s something for everyone!). Examples include:
  3. Join forums and online groups. This way, you can chat with others around the world who share your situation. Compare stories, tips, and experiences with others in your shoes.

Head back to the table of contents »

Obstacle #8: I Live in a Small Town

If you live in an area where not many opportunities are available in tech, it might feel pointless to learn tech skills. This isn’t Silicon Valley—what jobs would you be able to get?

small town

Earlier, I mentioned Elvis Chidera, who grew up in a remote part of Nigeria. He’s a great example of how learning tech skills right where you are can still improve your life.

Start coding now

Stop waiting and start learning! Get my 10 tips on teaching yourself how to code.

Don't worry. I'll never, ever spam you! Powered by ConvertKit

Solution: Make Your Own Opportunities

Here are a few things you could do even in a small town to build your tech career:

    1. Start your own business. Maybe it’s building or improving websites for your community, or analyzing their customers’ needs with data, or building an app that makes life easier. Find a local problem and brainstorm how you could to use tech to solve it.
    2. Freelance on sites like Upwork. You expand your reach nationwide or even globally by working online for clients.
    3. Get a remote job. As mentioned in #6, there are job sites specifically for this, like We Work Remotely.
    4. Get to know lesser-known tech hubs like Estonia. Being small doesn’t have to rule out a community from making an impact. You might even want to start your own local coding meetup group and create a movement.
    5. Make a name for yourself online. Just as minorities in tech can leverage online communities to network, so can you. Create content, share code on GitHub, and make yourself a recognizable name; opportunities just might follow.

Of course, if these options don’t sound appealing, you could consider moving! Apply for jobs in places you’d be happy to live in, then move once you have the job offer.

Head back to the table of contents »

Obstacle #9: I Don’t Know Where to Start

Jumping into the tech world can seem overwhelming and confusing. There are so many choices that information overload can make it hard to know where to start. What programming language should you start out with? Should you pick a career path first?

don't know where to start

Being uncertain like this is another really common problem. Claire Whittaker has been learning to code for three months, so her memory of it is fresh. When she started out on her coding journey, she felt utterly lost with so many different options out there. Eventually, she landed on the right programming language for her and started taking online Python courses.

When Josh Kemp was unsure about a path, he solved it by choosing the technology that was the hottest at the time, so he would make himself as marketable as possible. (It worked, by the way—he got a job with his pick of Ruby on Rails!)

Solution: Work Backwards From Your Goals

If you’re able to start with an eventual end goal in mind, it becomes a lot easier to sketch out a path to get there. So that’s the first step: research areas that interest you, look into the different career paths in tech, and see what jumps out to you. Then, try these steps:

  1. Reverse-engineer what you should learn. Look up dream job listings and see what skills or experience they’re looking for. Then, you can start to learn the skills that will make you the ideal candidate for that type of role.
  2. Identify what kinds of resources will be most helpful to you. Online or in-person? Self-paced or with deadlines? Do you want an official qualification at the end? What budget are you working with? This helps you sort through course options with purpose instead of just browsing a thousand course description blurbs.
  3. Start with HTML/CSS. Quite simply, these are the easiest, so you can start thinking like a programmer with a low barrier to entry. After these two, JavaScript might be a good next step, since it’s quite versatile and widely used.
  4. Do a course with a “track” that leads in a particular direction, instead of taking lots of unrelated little courses. This helps you stay focused and doesn’t leave gaps in your knowledge. For instance, Team Treehouse has different tracks you can follow in various subject areas.

Even though breaking into tech may seem impossible, anyone can do it! It just requires hard work, determination, a little creativity, and the belief that you can be successful. There are plenty of opportunities in tech no matter your education, age, finances, family obligations, etc.

You can start learning right now. Check out these fantastic tools and resources (or here’s the list of free ones again!).

I also highly recommend doing the #100daysofcode challenge to get some momentum going. Essentially, the challenge is to code for a minimum of an hour every day for the next 100 days. Tweet your progress every day with the #100DaysOfCode hashtag. It’s a simple way to prove to yourself that you have what it takes despite the obstacles you might be facing.

Seriously—you got this.

Start coding now

Stop waiting and start learning! Get my 10 tips on teaching yourself how to code.

Don't worry. I'll never, ever spam you! Powered by ConvertKit