Now don’t get me wrong, developing software can be challenging, but according to popular media you need to be like a super genius. Well that is nonsense and here are 10 reasons why.
- Programmers want to look smart
People sometimes enjoy looking and feeling smart. Programmers seem to enjoy this more than most. “Docker ip ethernet cord and then my boss said ‘OMG you just saved the company millons’…And I was like ‘yeah, all in day’s work.’” Don’t buy this crap, just because someone says they are smart doesn’t make it so.
- Programming is a tool used to solve problems
The thing is, some problems are harder than others. Sure, some programmers are working on self driving cars but others are working on cat meme websites. As a programmer you can find problems suited to your interests and intelligence level.
- Many of the toughest problems are already solved
Nobody builds anything from scratch (and I mean no one). In fact, in the software world building something from scratch is considered bad. No one wants to reinvent the wheel. Programming languages are full of useful code, and there are code libraries for almost anything (including driving a car).
- Learning to program is harder than actually programming
Maybe you took a CS class, tried an online tutorial, or picked up a book and it didn’t go so well. When learning you are assaulted with many new concepts at once. And sometimes you can’t fully understand concept A without first understand concept B. But to understand concept B you need to understand concept A. Seems impossible… Learning to program requires some suspension of belief. But once you get it, actually doing it isn’t nearly as hard. Much like how learning English is harder than speaking English.
- Programming languages aren’t like real languages
They call them programming languages but they are not really equivalent to natural languages (Spanish, Chinese, Swahili…). Learning a new natural language takes years, even for an experienced linguist. An experienced programmer can learn a new programming language in a few months. This is because programming languages have less than 1000 words and greatly overlap.
- Things are moving slower than they seem
Technology is moving so fast how could I possibly keep up? It is true, new tools and languages come out all the time, but the most popular languages
have been around for many years.
C++: 1983; 36 years ago
Java: 1995; 24 years ago
Ruby: 1995; 24 years ago
C#: 2000; 19 years ago
- There is a large community ready to help you
For the most part the community is really supportive and ready to help. Don’t be afraid to reach out.
- You don’t have to be antisocial or a nerd or a perfectionist
The stereotype of the quiet programmer who isn’t able to talk to anyone is not the majority of programmers. Building something is a highly collaborative process; social skills help. But you can also be a vampire programmer if you want. In fact, you can be any race or gender and have almost any personality and be a great programmer! You don’t need to read comic books or like superheroes (although you should for unrelated reasons).
- Programming is more of an art than a science
Unlike in math there are many ways to solve the same problem. Some ways are better than others and it is an art to write good code. Programming is far more creative than people imagine. You might picture math and formulas but programming is more like building something out of wood. From the same few materials and tools you can build almost anything.
- You don’t have to be clever
Sometimes I see code and I think oh, that’s clever and it is almost always bad code. Good code should be easy to understand.
If you set you mind to it you can learn to code! Don’t be discouraged by well everything. You are plenty smart enough :)