I believe it is common to sometimes feel that you are stupid when you are into engineering, because engineering is often abstract and you have to put many hours into solving a wide range of problems. I felt stupid yesterday when I couldn't simulate waves in Unity. But after a few hours I came up with the solution to the problem (thanks to our dear friend sin(x)).
Today I found this tweet:
Dear new programmers; the confusion never ends. You just start solving harder and harder problems while muttering "wtf?" as often as ever.
— Jeff Szusz (@jeffszusz) March 5, 2015
This message in the tweet is true. About a year ago I had no idea how to even make the boat in the image above. But today it took about 1 hour to make the boat in Blender and import it into Unity, and then add the water from yesterday. So feeling stupid is actually good because you are learning something new and keep improving your skills.