Are you more like a Hacker or a Scholar?

Maybe even a little bit of both? I’ve been writing code for some years now and dabbled in all sorts of languages, but my first experience with computers was when I guess I was about 8 or so. My parents came home with a shiny new Apple ][e and you can bet my brother and I were quite excited about the prospect of having a computer in the house. We had no clue how to work it, but it was cool nonetheless.  Sometime later, my brother just happened to be playing with some BASIC code that made text scroll like mad across that beautiful green monochrome monitor.  I still remember it to this day, funny the things that stick in your brain. Anyone remember something like this?

10 PRINT "HELLO WORLD!"
20 GOTO 10

To say the least, I was hooked after seeing that and the rest is history. From that point on, I’ve touched various other languages like Pascal, C/C++, VB, C#, Javascript, ASP, PHP, Java, HTML and Objective C. One thing I’ve noticed is the way you lay out your design and code is pretty much the same no matter what language you use, it’s just all syntax, semantics and features of the languages. I personally think the best developers don’t have a language they ALWAYS go to, they figure out what needs to be done and then pick the best language for the job.  If there happens to be more than one language that will work, then pick the one you want to work with! So what do I mean by Hacker vs Scholar? I really don’t think they are mutually exclusive, you need a bit of both to be a great developer. Hackers get an idea and before they put pen to paper, they are putting their fingers to the keyboard. I call them Cowboys. Code now, ask questions later. “Wait, that sounds bad, I thought you said you need to be a bit of a Hacker to be a good developer?”. Ya, I’m getting to that part. Scholars are very meticulous in the design of their game/program/app.  They spend many hours figuring out the best way to tackle what they want to do by creating design documents, flow charts, case scenarios, etc  to see how every little piece works. Once they have that all worked out, THEN they begin to code. “Okay, now that sounds like the way to go…why would you even want to be a Hacker?”. A full 100% Scholar sounds great in practice, but in reality things rarely go as you plan them to no matter how much time you put into it. Hackers are flexible and can make changes on the fly when needed, this is something Hackers excel at over a full 100% Scholar. Personally, I’m a 75% Scholar / 25% Hacker. The Scholar part of me takes time at the beginning of a project to work out the details as best as possible. During development, if there are any bumps that I didn’t foresee in the design, the Hacker part of me takes over. It allows me to be flexible enough to adapt while the Scholar keeps the Hacker in check so not to deviate too far from the original design or try to put something into the project that just doesn’t fit with the designed architecture. How do you see yourself?