(If you already know how to program, then learn how to program better.)
We often joke that independent schools aspire to be like small colleges. Witness the naming of University High School, College Preparatory School, and University Prep. Here’s a good way to emulate our tertiary friends — develop in-house programming expertise. As colleges and public school systems have learned, in-house programming expertise helps an educational institution develop best fit solutions at reasonable cost. We work in the field of technology. We should learn the tools of the trade and become producers, not just managers.
We are attempting to build the site development capacity to produce our next public-facing web site. Last year, we met with three local Drupal development companies in order to gain some perspective on the size and complexity of our challenge. We learned two critical lessons from these meetings. Local development companies preferred to take on the entire project rather than assist us with doing it ourselves, and we needed more in-house development expertise if we expected to pull off this project ourselves.
We have succeeded in improving our development expertise this year. I have accepted the challenge to master Drupal, especially version 6 and custom module development. I have learned through experimentation, books, forums, and specialized distributions. That’s the beauty of open source. The process is social and constructive. It’s easy to build up momentum. I build test sites and share my experiences through forums, Twitter, and on-campus conversations.
We have also increased our development capacity through hiring. In filling our open database specialist position, we did not count on gaining a programmer, but we were able to do so. Programming is a particularly useful skill in database management, since schools have seen so much growth in database-enabled web site services, such as grades, attendance, directories, reporting, and so on. Add our computer science teacher, and we may now have the capacity to build and support our own Drupal-based site. A particularly compelling web site project might even entice our computer science students to contribute.
The economic crisis has increased the importance of self-sufficiency. A first-class web site is integral to meeting our communication goals, but we should not pay FinalSite or Whipple Hill $50,000 for it. Developing a sophisticated site in Drupal or Plone will provide us with the capabilities and future flexibility that the school needs at a more reasonable cost. The effort we now spend building this expertise will be worth many thousands of dollars in the future.
Can you do it? Anyone can improve from their current skill level and add value to their work. Not so long ago, I moved from full-time teacher to half-teacher, half-academic technology specialist. My colleague in the IT department wrote the school’s first Perl script to collect student course requests. I was fascinated and studied the syntax in the script to write my own first, simple web applications. Two years and one school later, I installed and then learned to modify YaBB, a Perl-based discussion forum system. I then wrote a series of increasingly more important web applications for our school: student announcements system, single sign-on code snippet, community service hours tracker, alumni notes interface, and admission inquiry system. I am still a relatively amateur programmer, but I continue to learn from my peers and improve the quality of my work.
My next challenge is to move from custom, standalone development to configuring and adding functionality to a popular content management system. I now have an expert programmer as an office colleague with whom I can partner and from whom I can learn. If my dream comes true, I will gain collaborators at other schools who wish to share Drupal configuration tricks and develop new functionality for their public-facing web sites. Stay tuned to find out what degree of success we attain.