Weird like weed? I must have it to answer this question.

Programming is nothing but just logic. Anyone can do code. But to be a programmer, you need to solve anything logically. If you can't solve issue even in plain English, then you'll get weird things thereby.
For example:
Issue
How to play TV program?
Logic
In the previous logic, I have kept a hole for the program intentionally. If you can think what is wrong with the above logic, then you will not find the programming is weird. Otherwise, you will find the programming is weird. FYI, there are multiple issues in the above logic. Did you find at least one? Ah, it's weird if you din't find!
Conclusion: If you want to be a real programmer, then you need to solve the issues in plain English first. Only start programming when you have logic solved in a piece of paper or on mind. Otherwise, we would love to sell the vegetables these days which makes us more happy than to work in IT company, accept it or not, it even has logic which makes us think weird in our lives. Ha, everything has its own weird parts. Try to smile :) Try to remove weird parts :)