I’ve been coding for a long time and what I do with code, to the uninitiated, appears daunting. No I’m not saying I am that great but the years of practice to someone with a lot less practice it seems that way. But even so, most of the time I am on the other end, like when I witness other developers creations. Those moments seem daunting. I’m amazed and intimidated all at the same time.
I’ve heard other developers say “you should use [insert framework or technology here]. It’s really easy!” and I just think “yeah, maybe for you!”. Those programmers don’t realize the amount of knowledge they have acquired that has brought them to a point to think that X technology/problem is “easy”. I will admit that I do that too.
We tend to forget all the time spent googling for answers, patiently surfing through stack overflow questions, searching for answers in Safari online, testing out things that don’t work, leaving the day frustrated because, although we got past one obstacle, we have hit yet another wall.
But… eventually we solve the problem. We always do. Those obstacles are the work that pays off. It makes us really think about the problem. It makes us understand it much better or at all. It makes us dig so deep that not only do we get it to work but we understand why and pick up essential knowledge along the way. That information gets stored as a neurological pathways in our brain (I know nothing about neurology, just sayin’). It becomes part of our knowledge and understanding. When someone else runs into that problem or something related, we can solve it easily.
Those obstacles help us understand X technology really well. Thus, the technology’s surface becomes solid ground that we can maneuver on effortlessly.
So yeah… it is “easy”…. for us.