Frequently Asked Questions (FAQs)

If you're thinking about becoming a developer, you probably have a few questions running through your head:

What programming language is the best? What do I need to get started with coding? How do I know I'll even like being a developer??

These kinds of questions come up over and over again, so believe me when I tell you, you're not alone.

This article is a list of my answers to these common questions – feel free to jump around using the Table Of Contents below.

P.S. If there's something you're still curious about that you don't see the answer to here, feel free to send me an email at ben@happyhealthytechie.com with the subject line “Ask Ben a question”. I'm always open to chat 🙂

Getting Started With Programming

What Should I Start Learning First?

This is the most popular question when learning to code, and for good reason.

Prioritizing your learning on the right concepts is the most important thing when beginning to code.

Luckily, the process is pretty simple: it's really only three steps:

  • Have crystal clear goals – people striving to become web developers have drastically different learning paths than those striving to become machine learning scientists. Having a few key goals like “I want to learn web development” or “I want to be able to build websites” will be a north star to help you stay on track
  • Choose technologies that will help you reach those goals – once you know (roughly) what you want to achieve with coding, the next step is to figure out which technologies are most important to learn. With web development, the basics are HTML/CSS and JavaScript, but with back-end development, these could be Node.js, SQL, and Java. For this step, roadmaps like the ones at roadmap.sh (see image below) are your friend
  • Find the right resource for your learning style – pinpointing your learning style early is key to being an effective learner. Most people learning to code gravitate to YouTube videos, but there are also plenty of hard-copy textbooks or articles out there, too. Main takeaway: spend some time in the beginning reflecting on how you learn best, and try to find resources that are inline with that

It's impossible to give 100% concrete advice on what actual technologies to learn first, because it depends.

This is why looking at roadmaps (which other developers have already created) can be a great introduction to what developers use.

  • Save

Once you have an idea of the fundamental technologies in the area of tech you like, it's just a matter of practice and consistency.

Can I Learn Coding As A Tech Newbie?

Short answer: absolutely.

Longer answer: yes, but it will take time.

Be kind with yourself when learning to code, because it's like learning a new language.

Everything will look like gibberish and you'll find yourself re-watching the same sections of a basic tutorial over and over, wondering “how did they do that just then?”.

This is part of the process.

Patience and persistence are key when learning to code, but especially if you're tech-uninclined.

This is also why I recommend newbies focus heavily on the fundamentals. Make sure you're solid on how even the most basic concepts work, and be strict with yourself about not skipping over things that you don't fully (I mean: fully) understand.

Once you move on to harder concepts, you'll see that everything is built on the fundamentals.

What Tools Do I Need To Learn Code?

Truthfully, not much.

The bare minimum is access to a computer with an internet connection.

You don't even need to have your own computer or software to write and edit code anymore because there are websites that allow you to do that now:

  • Save

JSFiddle is a website that allows you to write and run HTML/CSS and JavaScript code online. It's a great way to experiment with web dev concepts without the nuisance of setting up your own coding environment

Still, having your own computer can make things way easier in the long run. If you're in the market for a new machine, I recommend one of these three:

  • Dell XPS – a great choice for Windows users, has all the bells and whistles you need to run code and multitask (split-screening comes in handy). Any model from 2015 and up (starting at around $899) will be more than powerful enough to handle coding
  • MacBook Air/Pro – Macs are powerhouses and tailor-made for coding. Even MacBook Airs, which are significantly less than their Pro counterpart, will do the job just fine.
  • LG Gram 17 – super powerful Windows-based machine and extremely light (hence the name, Gram). The model I linked has an i5 processor and enough screen real-estate to be ideal for productivity

As with most things on this list, you absolutely don't need the best of the best equipment to get the job done. If you're on a strict budget, you can absolutely find a good computer for programming under $1,000.

Apart from a computer, the other tools you'll need are an IDE (Integrated Development Environment – i.e. where you write code) and a good keyboard and mouse.

To help you get started with that, I wrote a handy how-to guide on how to set up VS Code, the best IDE out there right now:

Can I Learn Coding For Free?

Definitely! It's what I did.

If you're dead-set on learning coding for free, though, YouTube will be your best friend. Channels like freeCodeCamp, Traversy Media, Academind, and Net Ninja are especially good ones that I've used extensively.

Once you've learned the fundamental concepts of whatever languages you're interested in, the majority of your learning path will involve projects.

This is where paid courses can come in handy, but aren't absolutely necessary. They usually involve sections where they guide you through building a project or two to show you the ropes.

With learning for free, you'll be forced to fend for yourself when your project doesn't work the way you want it to, but that's what discussion forums like StackOverflow are for.

How Fast Can I Learn To Code?

It's impossible to predict how fast anyone will pick up coding because it depends on so many factors. Roughly speaking, it's feasible to learn the basics of HTML/CSS in a month, and JavaScript within about two months.

This is assuming you have a decent amount of time to practice every single day, because consistency will absolutely be the most important determining factor in your success.

Despite what YouTube influencers want you to believe, you can't learn JavaScript or any programming language overnight.

There are no shortcuts to learning programming, so it's best to not think about learning to code as a race.

Your brain needs time to digest concepts and form a mental model that synthesizes all the concepts you've learned.

Remember: 30 minutes every day is much better than 5 hours every Sunday, so make sure your schedule allows for consistent daily practice.

Are Bootcamps Worth It?

I don't have a lot of experience with bootcamps, personally, but I do know several people who went through them.

In my view, bootcamps have a few notable benefits:

  • Rigorous curriculum – your instructors will know what jobs require which skills, so you can be sure you're learning the right things in the right order
  • Consistency – you can't escape code for a single day while you're in a bootcamp, the timeline is simply too short. (This can be both a good thing and a bad thing)
  • Connections to industry – many bootcamps have affiliations with companies or can set you up with interviews / job fair opportunities that may otherwise be inaccessible or difficult to attain by the general public

The big downsides are cost and commitment. Bootcamps can be upwards of five thousand dollars and will uproot your life for weeks, potentially months.

Here's how I'd go about deciding:

  • Talk to previous students and ask them about their experience
  • Connect with the instructors and ask for their input
  • See if the company that runs the bootcamp host Q&A events, either live or in person

Generally speaking, though, I don't recommend bootcamps for people who are completely new to coding (i.e. under 3-5 months of experience). You're still new to the coding world at this point, and you can absolutely take advantage of free online resources to learn.

Once you know you like coding and you're set on having a career in tech, bootcamps became a more relevant option. They're a way to fast-track getting a job in tech, so you'd need to be sure that's actually what you want before you commit.

Can You Teach Me To Code?

First of all, I'm honored!

As much as I'd like to discuss tech with each and every one of my readers, I simply don't have the time to teach anyone coding one-on-one at the moment.

I'd recommend looking for coding mentors through programs like Code Mentor, or by joining Discord and Facebook groups that are active with beginner programmers.


Common Pitfalls

Coding Is Too Hard. Help!

Hey, fellow coder. Deep breaths.

We've all been there! Truly, every single programmer has, at one point, wanted to throw their computer out the window. It's a fact of life.

In fact, the frustration never really goes away, you just get better at solving problems.

And I promise, you will get better at coding, but it's important to recognize that it will be a long process.

My advice is to focus on little wins.

If you're watching a tutorial a day, try to make sure you understand at least one example per video. Just one doesn't sound like a lot, but you'll slowly build up your confidence, and over time, things will start clicking.

I Don't Have Enough Time To Learn Code, What Do I Do?

The good news is this: you don't actually need a lot of time to learn coding.

Granted, if you can dedicate 3 hours per day to it, you'll learn much faster, but even a measly 30 minutes per day is plenty.

Watch a tutorial on the treadmill, write a couple of lines of JavaScript before going to bed, anything counts as long as you're consistent with it.

How Will I Know If A Coding Job Will Be Right For Me?

This is a tricky subject, and I wish I had a good answer that worked for everyone.

Sadly, it doesn't work like that.

All I can do is tell you what coding jobs are like so that you can determine for yourself if it sounds like something you'd enjoy.

Granted, coding jobs vary a lot, but there are a few important characteristics that they all share:

  • Constant problem solving – being a programmer is all about problem solving. You're never not working on something you need to fix, which means that a lot of the job is researching solutions, trying potential fixes, and iterating over that process again and again.
  • Tedious tasks – this is true of a lot of jobs, but coding especially. You'll be dealing with tedium all the time because code constantly needs to be updated, revisited, reformatted.
  • Continuous learning – one of the things that makes coding so exciting is that technology moves at light speed. There's constantly new tech coming out, which means that companies expect developers to stay current. This can be rewarding because it makes the job interesting and unique, but also exhausting at some points

Will Anybody Take Me Seriously If I'm A Self-Taught Programmer?

The developer community is one of the most simultaneously accepting and exclusive groups out there.

It can be really tough to break into tech if you're new to coding, but once you do, nobody really cares how you got there.

Self-taught programmers are still programmers!

Fundamentally, the path you took to get to your position matters less than how you act once you're on the job. If you're willing to learn and make mistakes and show that you care about the quality of your work, your background won't mean anything.

I Don't Have A CS Degree Or Internship / Job Experience, Is That Ok?

Similar to the question above, it really doesn't matter!

I, myself, majored in Chemistry, and I know plenty of programmers who did degrees in subjects like physics, biology, math, and even philosophy.

I also had no internship or technical job experience when I landed my first full-stack developer position, so I'm living proof that it can be done 🙂

I will concede, though, some companies tend to be a bit more selective in their hiring process. Places like FANG (Facebook, Amazon, Netflix, Google) are notorious for their rigorous interviews, and having experience with internships can help prepare you for that.

Still, it's not required. You can get hired at those super-selective companies without a CS degree or internship experience as long as you prove your worth and have mastered the coding concepts that you'll need on the job.


Technical Concepts

What's The Best Programming Language To Learn?

There's no set answer for which programming language is best, but it's usually a good idea to learn a general purpose programming language if you're new to coding.

Key Term
General Purpose Languages like JavaScript, PHP, Java, C++, and Python can be used in a variety of settings and for a variety of purposes. Contrast this with languages like HTML/CSS which really only operate in one context.

If you're interested in web development, the best general purpose programming language to learn is JavaScript.

C++ and Java are other popular choices, but companies are shifting their tech stacks more and more to favor JavaScript-reliant technology, so learning it is a good way to future-proof yourself for jobs down the road.

What Computer Science Concepts Are Important For Being A Developer?

The short answer is this:

Computer science is a very mathy field but, for the most part, you won't need to learn a lot of it to build general-purpose software.

I'd stick to learning data structures and algorithms for your interviews and then whatever your chosen specialty requires. For example, AI/Machine learning engineers will need to know a bit of math and statistics for the job because AI and math are intrinsically linked.

Here are some good resources to brush up on data structures and algorithms (although I wouldn't start doing these problems until you have a good handle on at least one general-purpose programming language, like JavaScript or Java):


Landing A Job

How Hard Is It To Get Hired?

Getting hired as a programmer is a relatively long process, and it can be quite hard. You need to be able to demonstrate coding skills during a technical interview and be able to communicate answers to technical questions. Generally speaking, landing a tech job can take anywhere from 4-6 months to a year.

The hardest part of landing a tech job is balancing everything involved in the process. Being able to learn all the material you need for a job while maintaining your current job / life and finding time to build a portfolio and projects can be overwhelming.

This is why prioritization is key.

Do research before diving into your learning journey, and make sure you have an idea of what kind of coding is interesting to you and the required technologies you'll need to master.

What Do Web Developers Make?

Web developer salaries vary by location and level of seniority, but for entry level web developers in a medium to high cost-of-living city in the US, the average income is around $79k per year, not including benefits, stock & equity, or cash bonuses.

For full-stack developers, especially, salaries and demand are at an all-time high. Many companies are looking for talented software developers with a wide variety of skills to help build their platforms.

Not to mention, salaries often skyrocket around the 3-5 year mark, especially if you can leverage your expertise/experience and move to another company. From this point, a 6-figure+ salary is very feasible.

Can I Get Hired Without A Computer Science Degree Or Experience?

Definitely.

I have a Bachelor's in Organic Chemistry, and in a lot of ways, I view my non-traditional degree as a blessing.

I always get a lot of questions along the lines of “So, what got you interested in tech?” or “How did you manage to switch from chemistry to tech?” and so on.

Having a non-traditional degree is actually a strength, not a weakness. You can use your unique background to your benefit to help your application stand out, my advice is to lean into it.

Make sure you have good answers prepared to questions about your background before going into interviews (nothing too rehearsed, it's still important to be honest and speak from the heart).


The Tech Industry

What's It Like Being A Developer?

In short, it's great!

There are a lot of awesome perks to being a developer, but if I had to describe being a developer in one phrase, it would be: “constantly stimulated“.

There are always new problems to solve, technologies to experiment with, and exciting features to build.

Granted, there is also plenty of tedious work, but that's true of any job.

Plus, you get to work in a cushy office (or in your pajamas at home) and your company will generally take care of most of your needs through your salary or extra benefits.

Can Developers Have A Life Outside Of Work?

Short answer: it depends.

Tech companies are known for their extravagant perks and lofty bonuses, but in my eyes, the best perk a tech company can offer is peace of mind.

Specifically, giving you a good work-life balance.

With big tech companies or very new startups, work-life balance is harder to find. They will expect people to pull their weight in and outside of work – only working 40 hours per week matters less than getting critical features shipped, even if it means you have to work a Saturday or two.

My recommendation is to ask about work-life balance during your interviews. Ask your future bosses what they do to ensure that their employees have a good work-life balance, and if you can expect any responsibilities outside of normal working hours.

Places like Amazon are known for making juniors work “on-call” shifts every so often where they're responsible for overseeing any issues that may arise in certain products after-hours.

If this isn't your kind of thing (it's not for me, personally), then it's good to know learn about it during the interview before you commit.


faq happy healthy techie coding questions
  • Save
Share via
Copy link