Hey there, fellow coders! We've all had those incredible "Aha!" moments in our coding journey that completely changed the game. 😮 Share the most significant breakthrough you experienced and how it had a profound impact on your approach to coding.
Follow the DEVteam for more discussions and online camaraderie!
Top comments (5)
At some point early in my career I discovered that there are two types of developers: persons with Impostor Syndrome ("I have no idea what I'm doing..."), and persons with Dunning-Kruger Syndrome ("I know everything you mortals!"). Both have one thing in common: they (well, we, actually) are shitty coders (even this guy Copilot and his friend ChatGPT), no matter which part of the spectrum on is at.
Fortunately for all of us, there's a lot of helpful information around the Web to help with that, and there's always the possibility to fix what's broken.
So now I love my trade very much, and I ignore ignorant people saying they know something better than the others. They don't.
I appreciate clever and humble folks in the developer community (like Ben Lesh for instance) who inspire others, and remind everyone about these simple common truths constantly. And I hope this knowledge and recognition will grow.
I agree. As a developer, and as someone who has worked in the industry for many years, I can say that the best developers I know are the ones who don't feel they know everything and who are keen to learn more.
I've been in the industry for 17 years, and learning to code for another 10 years on top of that. I still feel like I always have so much to learn. What I try to teach others is that we all have something to learn from others, no matter their level.
It was in an event when I was introdiced to the realm of functional programming. Almost 10 years ago!
Since then I write more of
.map
and.reduce
thanfor
andwhile
🙈I would like to dive deep into languages designed for functional programming like Haskell for some practical project. For now, this realm influences some of my coding patterns, especially when I use dry-rb.
I've had a few of these moments in my career.
My first was being introduced to MVC frameworks. It was a freelance gig I picked up many years ago. It introduced me to many concepts I had heard about, solidified some ideas I had already had, and generally opened my eyes to a better way to structure a lot of my backend code. Gone were my days of including a bunch of utility functions, most of which I didn't use.
The second moment came when I began using git for the first time. Up until then, I'd been using SVN, and working in a team was difficult at times. Using git, my whole approach to coding changed, I was suddenly free to commit my mistakes and fix conflicts when I wanted without affecting others. I was less afraid of breaking things, so I would work more efficiently.
Another moment came when I started to learn C#/.Net. This had a little more structure and was more strict than other languages I was used to. What I learned here I was able to apply to other languages and frameworks. I found that I was writing better code in multiple languages because of what I'd learned. Now, as a manager, I encourage developers to pick up a couple of languages at least, just to help them broaden their experience with their first, core language.
When I was coding in Java and I was doing dynamic programming using Reflection. It was game changer when I discovered dynamic programming languages that had First Class Functions. I learned Lisp, Python and later JavaScript. It was JS before ES5, so no Array::map/reduce/filter and I was using my own implementation inspired by Python functions with same names.
But I think that my biggest transformation was after learning Scheme and watching Structure and Interpretation of Computer Programs lectures by Sussman and Abelson and later when I finally grok Lisp Macros.