Pick a language (good options are C, C++, C#, Java, JS, Ruby, Python, Haskell, Go, Rust, Crystal, Erlang â ya got me: Iâm listing all of them).
There is no one language that will allow you to master programming; rather, to master programming, you must transcend language itself.
However, mastering at least one language is undoubtedly a great way to start. Ask yourself: What interests you more: the nitty-gritty, or getting the job done? Languages tend to favor one side or the other.
Once youâve picked your language, get comfortable with it. Implement a few algorithms (sorting, search, ciphers). Familiarize yourself with your languageâs standard library. Reimplement that standard library â the fun parts, at least.
Youâve gone this far. You have a grasp of at least one programming language. Now itâs time to learn another programming language, its internals, its libraries, how to write pretty, language-specific codeâŚ
You should be approaching the point where youâre thinking less about code and more about what code means. Understanding a programâs logic is really important.
10,000 Hours
Getting good at programming takes a lot of time. It will not be easy. I advocate the 10k hours rule (this is about 5 years of a full-time job).
Wanna be 1337?
If you want to be 1337, as @_py has suggested, then you must start at the bottom! Youâll need technical knowledge of your OS and how computers work.