The Programming of a Successful Programmer

When I was first entering the universe of computer programming, I was astounded by the skill and abilities of those who have been in the field for a long time. The amount of content they can comfortably talk about is mind-blowing! At first, I was really intimidated. It wasn’t until a good while later that I realized what set those master coders apart from other programmers.
Look at the history of technology. From 25 years ago, when the internet consisted of one page of hyperlinked text, to today, where it’s weird for people to not have a smartphone. Technology iterates at an incredible rate. The new and popular framework will be outdone within a couple of years. New programming languages will continue to blink into existence like the billions of stars in the sky. There is no way you can master all of it. If you spend years perfecting one system, by the time you are a ‘master’, it will be out of date.
How do we get these incredible engineers then? The engineers that I look up to, quite often they didn’t get any crazy degree in computer science and they didn’t start coding when they were three. What actually sets them apart is their ability to learn.
Let me clarify what I mean by learning. What I have seen in most people can be split down into two simple ideas.
- Learn the concepts more than the code
- don’t be afraid to get your feet wet and learn step by step

Learn the Concepts
Think of this like a recipe. If you know all of the technical talk — mincing, whipping, chopping, baking, etc. — then you can really cook anything you want, no matter what the ingredients are.
That same ideology applies to code. If you understand the technical talk — MVC, OOP, framework, database, query, etc. — you can write in any language, with any framework! Sure there are particular nuances, but the foundations tend to be the same, just with different words.

Don’t be Afraid to Try
New frameworks, libraries, and languages are intimidating! Especially when your job depends on you understanding an entire new language quickly! Honestly, I laugh at the people who try to read all of the documentation before they start to write in the language. It’s like getting a new board game! You go through and read all of the rules, everyone’s eyes gloss over, and eventually you just start and figure it out as you go.
Trying to read, remember, and conceptualize a programming language or framework without writing any code is a feat only the super geniuses can accomplish. I am not one of those, and you probably aren’t either. So rather than try to do it the impossible way, do it the natural way. Make a simple app with the new code! As questions come up, figure them out by reading the docs.
This is what sets amazing programmers apart from average programmers. Taking the new and unknown, and relating it to existing knowledge. Then quickly, it becomes something you can play with and really become good at!