What do I need to know to become a programmer?
Not much, just the basics of problem solving and critical thinking. If you can triage a problem, and are willing to learn and think, then you’re off to a great start.
And think about this:
Do you know how to learn?
Learning is required in programming. It’s a field where you can’t sit back and hide behind a language. The tech is changing so fast that learning and growing are required to stay relevant. Adaptability is important.
For your career path you will have to learn specific languages, but even then, you don’t have to be fluent to be effective.
What’s more important than being technically efficient in a language is the ability to understand what is going on in the program.
Can you look at a complex problem and decipher how to solve it?
If you can analyze and compile small pieces of information to solve a large puzzle, kind of like an escape room, then that’s a great foundation for being a programmer.
Here’s an example:
Is a great storyteller someone who is fluent in a language and can type 60 words per minute, or is it someone who listens to their audience, adjusts their focus, and delivers a captivating story?
The value is in listening, understanding, and being adaptable, not being able to type fast. In the same way, a great programmer needs to be a great listener and team player rather than just technically efficient.
What languages do I need to learn?
Depending on your career path you will discover the languages.
That’s like asking a carpenter, “what tools should I buy if I want to be a carpenter?”
There are some basic tools every carpenter needs, like a hammer, nails, and a saw. So regardless of what kind of programmer you become, I suggest learning the basics of HTML, CSS and the command line. That’s because everyone uses the web and an operating system, and it’s good to know the basics of these to get your feet wet and prepare for programs you make in the future that will likely tie in to a web page or OS.
What skills do I need to have to be a programmer/coder?
Are you able to sit still and work on the same complex problem for hours at a time by yourself? The long stretches of focused thinking are necessary to make deep connections and solve problems.
Great at searching for answers, aka Google skills.
Are you able to ask the same questions other people may be asking to get the answers you’re looking for? Can you boil things down to a simple version of what they are? Some technical experts get lost in the technical, but to be a great problem solver you have to be able to communicate problems to a team for assistance, or in this case you have to be able to explain the problem to the internet. The simpler you can state it, the more people can help, which means you’ll be a better programmer.
What are the personality requirements for a great coder/programmer?
- Comfortable being by yourself for long periods of time.
- Desire to improve. Self motivated.
- The willingness to learn languages, read documentation, and go through trial and error cycles.
- Okay with imperfection.
- Perfect is the enemy of shippable. Programs have to be shipped, not perfected. No program is perfect and developers have to be okay with that.
- Be organized, at least organized enough to identify patterns and put things in boxes.
What you don’t have to have:
- Math skills
- A people-person personality
- A college degree
- A fancy, super-powerful laptop or desktop.