At the same time, sometimes it's really nice just to do things for fun. Hack something together quickly in assembly for a microcontroller, decide to perform a task in a random language I know nothing about, abuse functional programming method chains, etc. I have honestly learned the most off some of those projects. One summer, I tried to reverse engineer a pager protocol off of patent applications. I knew nothing about DSP going into it, but it was a lot of fun learning it and realizing that sometimes the documentation is total BS!
Totally. Breaking things for fun is a blast. I work with folks who are on their path to their first dev jobs though, and meandering isn't really conducive to their goals, so I'm sharing all the hacks I had to create/learn (esp having a non-verbal learning disability... learning, let alone learning to code, was a real bitch) to help them avoid the pitfalls!
I can definitely see how discipline would be crucial! I have ADD and I really struggle to learn anything that doesn't immediately seem fun/interesting to me. Sometimes I can use it to my advantage and specialize in things most people don't care too much for, and sometimes I get to be very grateful that I have generally dealt with kind and patient supervisors when my time management skills fly right out the window.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.