httpremix.com

About the Author

Jonah Ellison lives in Seattle, Washington and works at a web firm developing websites and custom web applications for the LAMP solution stack. He enjoys optimization, front-end usability, databases, clean code and clever solutions. Contact him or learn more.

 

Topics

About

Stages of Mastery 2008 Apr 29

Topics: site meta — by jonah ellison

After spending all day at work developing websites, I sometimes find myself coding more during my freetime as a way to relax. There are no tight deadlines, no clueless clients, no outdated legacy codebases, just a couple ideas I want to see come to life. As I work on my pet projects, I begin see what I’m doing not as a hobby per se, but as a craft. And with any type of craft–writing, playing a musical instrument, painting, mathematics–there are different stages that we go through as we advance and learn more.

We begin as a “toddler,” a clean slate, eager, picking up everything. Our initial understanding is being formed, and like a toddler learning to speak, we may not know exactly what we’re doing, but we know we’re getting results. For me, this was when I sat down and taught myself PHP and MySQL and built a social networking website, modifying and slapping together whatever sample code I could find or hack out. (The project was U-Match.net, a college networking site similar to Facebook, but launched a year earlier.)

The “child” stage is next–there’s so much to learn! We begin to understand concepts better. We’re completely engrossed and excited by everything, and learning takes place at a rapid pace. With U-Match.net, I rewrote the site architecture multiple times with every new technique I picked up. Database abstraction class? HTML templating? mod_rewrite voodoo? Actually using correct keys and fields for the database tables? Check, check, and check.

Next, we think we know everything. We’re competent and qualified but easily lost in overconfidence or hubris. If we see something that we don’t understand or looks difficult or worthless, it’s easy to brush it off. Our way is working perfectly fine. We may think we’re badass, or even worse, we don’t know we’re in this stage. After I graduated college and landed my first full-time web development gig, I saw myself as a rockstar developer. I tackled problems with ease and busted out websites in no time, receiving praise from my co-workers and superiors. But it was just an entry-level job. I may have felt at the top, but I wasn’t.

Eventually, we grow out of our “teenage” stage and our outlook matures. We begin to realize that while we have a solid grasp in our area of expertise, there’s so much we don’t know. Our process becomes more intuitive as we solve problems in a more complete, holistic manner, using all the knowledge we’ve gained in the past. It’s easy to get stuck in this stage, however, comfortable in doing similar work over and over and in the confidence others place in us. Some may even call us as an “expert,” but they are just laymen and deep down we know there’s so much more to learn and perfect, and other areas of expertise to cross into and integrate.

What’s next after the “adult” stage? Wisdom. The “sage,” the “professor,” the best of the best, a master of the craft. I’m not there yet as a developer, because I believe it’s something that’s only obtainable after decades of experience and hard work.

The key to remember is that growth requires challenge and change. Otherwise we stagnant, stuck in habits.

About httpremix.com
This website serves multiple purposes: to establish a professional presence for myself, archive my code and web-related thoughts, and give back to the community. There are many times I have used Google to find a solution on a blog that saved my butt or made me a better developer, and if I can do the same for just one person, then I’ve reached that goal.

About Me
I’m a twenty-something living in the beautiful city of Seattle, WA. I have a degree in psychology and communications from the University of Washington, but programming has been a passion of mine since I was 10-years-old and discovered I could use QBasic to create my own computer games. While I develop primarily in PHP/MySQL, I almost went purely into C#/.NET development, even taking night classes and earning several Microsoft certifications (MCSD.NET, MCTS, etc). I can’t seem to get away from PHP, though. ;)

And just for the record: I am not a zealot for any one technology. I’ve used PCs and Macs and dabbled in many different programming languages and frameworks, and they all have their strengths and weaknesses and unique way of solving problems. In the end, I believe it’s important for a developer to be open and adaptable.


1 Comment »

1. Comment by Stinky34 – 2009 October 23 @ 2:05 am

All I got after the pre-viwing mistake of trees was images of a building and that was very strong! ,


Leave a comment

RSS feed for comments on this post - TrackBack URL