A big change that I've realised during undergrad is that engineering doesn't feel 'magical' anymore.
One of my favourite school projects: Wireless Electricity!
Of course, a vague term like 'magic' isn't very expository, so let me start with where I'm coming from. In school I was completely besotted with every piece of technology with a screen on it. I might have spent more time caressing my Nintendo 3DS than I played on it. Hyperbole aside, I marvelled its glasses free 3D screen and it felt like its hardware had limitless potential applications if only I knew how to program for it. Of course, now that the Nintendo 3DS has been hacked, I am aware that its capabilities are far more limited than what I imagined in 2011. But at the time, the perception that smartphone class hardware could do incredible things was very exciting and it's a big part of the reason I got into programming with a bit of electronics projects on the side.
So much was expected from this venerable console
I had the same feeling when we bought our first home laptop in 2013 (which is now lying unpowered and unused near my study table). My head was dizzy with possibilities and this was before I had an inkling of knowing anything about how to code. Cliche as it sounds, I felt a spark when I implemented a prime sieve to bring my runtime for a Project Euler question from two hours to a few seconds. This was reinforced by a delightfully geeky friends circle in school.
Arduino Temperature Display - displaying a balmy 24 degrees C
I experienced it again when I got to play with an Arduino a year later. It did blow my mind in the beginning that I could write C code to turn an LED on and off. One of my first Arduino projects during that time was to interface my UNO with a microphone to view the waveform on a screen using Processing. There was something very satisfying about practically understanding how sensors worked. In the end, I repurposed my UNO to function as a 7 LED binary display for my TMP36 ambient temperature sensor.
However, I think the turning point was during my first GSoC project after my first year of college. While learning how to develop good quality software for a terrific open source org like KDE was very inspiring in the beginning, I realised that the magic which I used to feel when programming was slowing being snuffed out the more I understood what I was doing. Once I had a robust mental model of the problem and its solution, writing code for it just felt like a perfunctory task. I was no longer fascinated by the fact that the code I was writing was arcanely converted to binary and executed on a billion transistors at its lowest level of abstraction. In the remaining three years of undergrad, I was fortunate to get the chance to work on some awesome projects, but the magic which I used to feel with doing something new is replaced with a wary feeling of knowing that I would need to figure out how to solve some pressing technical issue in the project. In that sense, I have developed a much better eye for spotting technical solutions.
Knowledge is a double-edged sword. Things were far more exciting when I was a brand-new, bright-eyed programmer, but it's only because of the experience I have gleaned from one project that I have been able to do another. I could blame it on burnout earlier, but having had a very relaxed final year, I can't say that's the case anymore. It has led me to think that the exciting part was never the actual implementation (or coding in this case), but figuring out the solution instead. I am rather glad that this is how things have turned out, for I think an 18 year old version of me would've rather chased a failed start in GUI building/frontend web development if the coding part was what I enjoyed. All my reservations aside, I still loved the things I have worked on and the people I have met along the way. Yet, I wouldn't mind treading some unfamiliar ground for rediscovering the magic which drew me to engineering in the first place.
The related discussion on Hacker News for this post can be found here: https://news.ycombinator.com/item?id=20222096
A Russian translation of this blog post can be found here: https://mygpstools.com/kuda-ischezla-magiya