Hawaiʻi's Technology Community

I've been reading Pragmatic Thinking & Learning by Andy Hunt, which talks a lot about experts. In particular, he discusses the Dreyfus model of skill acquisition, and describes experts as having "…a vast body of experience that they can tap into and apply in just the right context. … These are the modern wizards."

Maybe on a good day.

A while back, a co-worker related a story about a design class he was teaching. He showed the class some advanced javascript, and despite his admonishment to focus on design fundamentals, many in the class turned in assignments that had significant design problems, but that tried to include the javascript techniques he had demonstrated.

I could probably be considered an expert in software development, and I am able to write code that is solid and doesn't usually need to be revisited. I think, though, that this isn't so much based on any wizardry but rather just a willingness to deal with all the details. 

I'm beginning to think that the main difference between the 'expert' and the 'advanced beginner' is a dogged practice of attending to the boring, simple stuff. On a good day I get to play with big ideas--system architectures, user models, communication protocols. Most days, I'm making sure my initialization code works in all the possible cases, my event handling code makes allowances for all the vagaries of user activity, and that my platform classes support all the known use cases.

Our industry doesn't have much institutionalized appreciation for low-level craftsmanship. That's unfortunate. It's harder to feel satisfaction for a small, well-written piece of code that no one will see directly, but it's the focus on making absolutely sure of the foundation that lets us build larger structures and explore new ideas--that lets us have more good days.

Views: 50


You need to be a member of TechHui to add comments!

Join TechHui


web design, web development, localization

© 2024   Created by Daniel Leuck.   Powered by

Badges  |  Report an Issue  |  Terms of Service