I recently took over Elm DC, a meetup in the D.C. Metro area centered on an interesting new functional language for the web called Elm.
At the most recent meetup, I had the idea to wire up my Macbook to the big TV and work through a coding challenge in Elm on the premise that anyone interested could join in.
The first few minutes were a bit awkward, as a room full of programmers may be, but not much time passed before people started looking up from their screens and chipping in an idea here, a comment there. Before I knew it, every single person in that room (there were about 7 of us) had rallied around the TV and was completely immersed in the challenge, some even standing up from their seats and moving closer to the screen.
In that moment, I knew I had found my people. I picked the right profession after all.
Being new to this industry, the feeling of being a "noob" is one I'm quite familiar with. But in that room, experience and knowledge didn't matter. Despite our many different backgrounds, personalities, and levels of experience, we were all on the same page -- we were programmers, problem solvers. Put a problem in front of us and we wouldn't have been able to stop our minds from going to work on that problem.
As programmers, we gravitate towards unsolved problems and stare them in the face until they become solutions, then we go look for new problems to grapple with.
As individuals, our effectiveness is determined by our unique blend of personality characteristics, mental strengths, and domain specific knowledge, but the spine of every programmer's mentality is the urge to solve problems. It doesn't matter how early or late we are in our career, what technologies and tools we happen to use in the moment, what we studied in college, whether we are trying to get a system to mimic the human brain or tracking down a TypeError -- the ability to identify problems and the drive to solve them powers everything we do and is the only reason we can do what we do (and do it well). It's a beautiful thing and I'm proud to be in the club.
In the spirit of dev.to's culture of debate and discussion, I'm curious about your take on this. Do you see this quality within yourself? Did I miss the mark, hit the nail on the head, or somewhere in between? What other defining traits make you a programmer?