Is Programming Actually Hard?
Tags: programming, developer, computerscience, webdev
Published: 2020-06-04 15:50:33

##Not in the way you think it is…

In September of 2018, __I began my first of 90 days of software developer bootcamp__. I had just recently turned 28 and recent events in my life helped me decide to quit my job (as an e-commerce brand manager) and pivot into being a dev.

__My only regret? I wish I had done it sooner.__

When I was a kid, __I used to think becoming a developer was hard__. I thought it required lots and lots of effort to learn. I imagined forcing myself to read technical manuals and documentation. I had visions of  studying math and formulas to develop superior thinking skills.

__Fortunately, I couldn't be more wrong.__

Recently, I reviewed my preconceptions and recognized them as fundamentally flawed thinking. It isn't hard, it shouldn't be complex, and it doesn't require superior mental powers.

##I've found  3 requirements to becoming a developer:
1. __Understand the words and symbols__ (there are a few of these).
2. __Understand the grammar__ (developers call this "syntax" and it's the way words are put together to communicate ideas).
3. __Understand how to Google what you don't know__ (so, so important)

![Mac Pro, Do More](https://dev-to-uploads.s3.amazonaws.com/i/4gasmkgoi1nlfo8ojtvz.jpg)

##Bootcamp

I attended a really interesting bootcamp in Portland, Oregon. What made it interesting wasn't the variety of courses, but rather the first course every program began with.

__The first course you did defined every word and symbol__ fundamental to programming.

Everything from the symbols used in links (URLs), to the fundamental words like "computer" and "developer", as well as deeper technical terms, all were defined.

As I continued through the bootcamp's courses, I began to learn more about the grammar that is used. Fortunately, __many languages use a similar grammar__ (aka syntax) and eventually this becomes second nature.

__One of the things the bootcamp  stressed was being able to do your own research.__

At first sorting out my own confusions was very tough. As I pressed on, I found that using __my new vocabulary had a major, positive impact__ on how I conducted my research.

I began using certain key words and phrases that other developers also used when trying to solve similar problems as me.

At some point, __I realized I knew how to Google my coding questions__.

###Ultimately, what I got from bootcamp was belief in myself.

I knew how to code, I knew how to continue learning and growing, and I knew how to dig myself out of pretty much any confusion.

![Hello World](https://dev-to-uploads.s3.amazonaws.com/i/2ek65huflpz6ibnr6hd1.jpg)

##My First Job

After many hundreds of applications, many phone interviews (and rejections), as well as several coding challenges, I landed my first job as a web developer at an agency in NYC.

The pay wasn't great, the work was challenging, but __I loved it__.

I was constantly studying and researching because __my role as a WordPress developer__ meant I had a new language to study. Not only that, but __I still had so much to learn__ when it came to fundamentals of web development.

Fortunately, __I had all the tools I needed__:
1. An understanding of common terms and symbols.
2. An understanding of the grammar (syntax).
3. The ability to research and solve my own problems.

###When you have a job, it's so much easier to learn and retain what you've learned.

__When programming is your job__, by necessity, you must learn new ways to do things.

When you work with other developers, naturally your understanding of development grows. __Every developer has a different point of view__ as far as grammar (syntax), tools to use, and the process (any process) should be started.

###Programming is less about repetitively solving the same problem, and more about finding new and better ways to solve the problem.

For example:
- __You can start a puzzle by finding all the edges and corners__ and assembling from there. Or you can start from the main point of interest, and build your way out.
- __You can start a video game by discovering what kills you__, or you can explore the map, or even by reading the forums.
- __You can write a short story from the hero's perspective__, from the narrator's perspective, or from a friend's perspective.

As many ways as there are of solving puzzles, video games, and challenges in life, similarly, __you will find many ways to code things__.

![Developer Coding](https://dev-to-uploads.s3.amazonaws.com/i/l8ieqe4gff2m8gxrrpwy.png)

##In Summary

So to sum it up, more than a year and a half into my career as a web developer  I've recognized a few things that I wish my younger, twenty-something self had known:

1. __Programming isn't hard__, at least not like you might expect. All it requires are good study materials, and enough persistence to keep at it every day, even if it's only for an hour.
2. __Programming shouldn't be complex__, the more I read and study - and I do that daily - the more I find that all senior developers and experts advise us to write simple, human-readable code.
3. __Programming shouldn't be avoided__, just because you don't understand it. It's actually far simpler than it looks. All you have to do is break it down into single, simple components.

If you want to become a software developer or some other sort of specialist, don't become discouraged by how "hard" it all looks, or the appearance of complexity.

###More often than not, the complexities are just a result of misunderstanding the words, symbols and grammar.

If you have those fundamentals in, and have some guidance for doing your own research, I believe any subject can be conquered, with a little persistence.

***

##References

If you want to know what bootcamp I went to, or what study materials I recommend, check these out:

1. I attended The Tech Academy Bootcamp, they have online and in-person classes and you can find them at [learncodinganywhere.com](https://learncodinganywhere.com/) (if you tell them I recommended you  I may earn a small commission).
2. The Tech Academy also published a tech dictionary with the simplest, best definitions ever. You can [find the dictionary on Amazon](https://www.amazon.com/gp/product/B077LM2XXH?ie=UTF8&tag=daniamsalem-20&camp=1789&linkCode=xm2&creativeASIN=B077LM2XXH).
3. After completing the bootcamp, I went through most of FreeCodeCamp's curriculum. While they don't cover words and symbols you need to know, they do have a lot of information and best of all, it's free. Learn more at freecodecamp.org
4. If you're struggling with computer studies in general, I can't speak highly enough about Study Technology by Applied Scholastics. Here's a quote:

> The basic fact is that students fail to learn because no one ever taught them __how to learn__ - that is, how to identify the barriers to learning and how to overcome those barriers.

***

If you have any questions or feedback, please share your thoughts below.