The first time I wrote a computer application, I saw the computer do exactly what I was asking it to do. I started to believe that if I wanted to become a programmer I'd have to learn as many commands as possible to make the computer do everything I wanted.
But, I grew up. I worked in every kind of companies. From fortune 10s to the small start-ups with a handful of employees. I realized that my job as a software engineer didn't only involve computers. A huge part of the job was talking with people. Trying to understand people.
I went to countless meetings. I'd seat with a manager in a small room and a white board where we would talk for hours. I'd join conference calls where I would listen to a team of non-technical people talk for long stretches. I was still a programmer, but my job was not to play with the latest technology, do some code golf or hackatons. My role was to understand what problem people where having, and then come up with a solution.
Programmers love programming for the sake of code. But the real power of programming comes in extracting requirements out of a non-technical conversation, fundamentally understanding the problem, and coming up with a solution. Only then, should we write code.