Being Multilingual is Hard

Sure, most of the latest stuff I’ve written here has either been church-related or personal stuff that no one really cares about. What about the meaningless stuff I do from 9-5 called work?

As a web developer, I try to keep a fairly flexible toolbox. It’s extremely important to stay current on available technologies, but at the same time, equally as important to pay attention to what works.

In the same way that an international businessman (or man of mystery) might wish to be semi-fluent in multiple languages, the same holds true for those of us in technology. Each client or project requires its own unique set of tools. In the web world, these tools consist of server hardware, operating systems, web servers, database servers, server-side development languages, client-side development languages, web services, a variety of markup and transformational languages, CSS, graphic design, and a ginormous number of plugins, APIs and libraries. Add to that things like usability, accessibility, standards and the like, and you can see the difficulty.

Usually, a developer or a team may specialize in a set of tools. Additionally, that team may consist of a project manager, a handful of backend developers, a database administrator, a user interface designer, and a usability specialist. Granted, that team may be a little robust for a simple content-managed marketing site and better suited for a large-scale web-based application. The point is there is a great deal more that goes into this business than buying a template online, creating a Microsoft Word document & saving it as HTML or even using Dreamweaver.

Since the days of Geocities, Tripod, and other free website providers, there has been a perception that web design is easy. The market became (and remains) saturated with brothers, cousins, uncles, stay-at-home-moms, and friends-of-friends that can use Frontpage and download scripts to make a website functional. Then there are professional software engineers who have lived in the desktop world, but the market has demanded that they come to the dark side of web development. This usually involves using similar tools, but comes with those developers not understanding the differences between the web and the desktop. Then we have extremely talented designers who come from the world of advertising and try to use print philosophies on the web, only to then complain that the web is boring and not flexible enough to meet their needs.

I say this all because I just wrapped up a stretch where I was involved in three projects simultaneously, each using a completely different tool set. My head still hasn’t stopped spinning. One is based completely on Microsoft technologies. Another I’m implementing using an open source content-management system using PHP & Mysql. And the third is a custom application developed using Ruby on Rails. Don’t worry if you don’t understand or care about any of those names or acronyms because I don’t either. Two of those three were custom designed by me, with the third having a second phase that will include a custom design.

Being self-employed has allowed me the luxury of being able to use several skills to execute projects. The ability to blend the creative and the technical keeps my overhead pretty low. However, I also know my limits. There are definitely things I can’t do. And, having been in this industry for a decade, I understand the constraints of the medium — what works and what doesn’t.

The moral of this story is simply that whatever business you’re in, there are certain barriers of entry. My business happens to have very low barriers, creating a ridiculously cutthroat environment. Choose your culture carefully. Understand the medium in which you work. Fill your toolbox with the right tools. These may not be the easiest or even the best, but as long as they’re the right tools, you’re making your job that much more successful. Know and understand the limits of that medium, but most importantly, know and understand your own limits. Having a passion for what you do helps as well. It keeps you interested in continually learning more and not relying on prefab techniques, but exploring new ways to accomplish old tasks.