February 21, 2011
As a web developer I’ve noticed that over the past five to eight years, a trend to develop applications that can run ubiquitous of their environment. With the rising popularity of cloud computing and the emerging mobile markets, enterprise clients have started to move away from the model of building web applications that would only run on one or two particular browsers, in order to create dynamic applications that can run virtually on any device, without degrading their brand or the user experience. And while this idea now permeates all aspects of our daily lives, as a developer this can almost seem like an insurmountable challenge. As a developer how do you keep up with all of the new languages, frameworks, and API’s out there? How do you become technology agnostic?
First, what does it mean to be technology agnostic? A good analogy is a polyglot of computer languages. You have your native language, but are fluent in many more. But even that definition lacks the multi-dimensionality of the skills which most engineers who define themselves as “technology agnostic”, hold. An even more astute analogy is “Jack-of-all-Trades”, or as a good colleague of mine, Pek Pongpaet, use to put it “Hack-of-all-trades”.
There is no direct way of achieving this, but it is good to start off with a platform that gives you a very well rounded view of what is possible. For me it was Flash, and like many, I started in the days where Flash was the greatest thing you could use to make banner ads. Working closely with other developers, I found it much more advantageous to learn their languages and understand their limits; saying “No that can’t be done” was never really an option. By doing that, I effectively would double the amount of solutions I could come up with after every project; since I started finding that Flash couldn’t do everything, I’d pair it with .NET, or PHP and all of a sudden, the options were much less limited. As seen now, Actionscript 3 (Flash Player 10+) is quite a powerful language. Allowing you to leverage not only the presentation layer of Flash, but also the ability to connect with other frameworks, API’s, or languages, to create truly amazing applications.
From here you can start to discern a pattern: “if” statements, “for” loops, variables, syntax which becomes quite ubiquitous across many different languages. Of course the rules may be applied slightly differently from one to the next, but inherently they tend to be the same. Take for example diveintopython.org, where you can download the book as a PDF, but If you’re trained in any modern object oriented programming language, by the end of chapter two, you will be writing Python. That is really all it takes – a well documented architecture, and a lot of trial and error. And all of it is but a Google search away.
As the name of the Python site above suggests, “Dive Into…” is what’s required. You will find that all modern object oriented programmings share more and more with each other, and quite often you can find the same libraries you’re already used to, in a completely new environment. Pretty soon you start to find ways of creating hybrid applications. As always, try to find the path of least resistance. Just because a language can do something, does not mean it is the most efficient or cost effective; this is always dependent on the solutions you are trying to build, budget, resources, and numerous other factors. In the long run, your goal should be to build the best possible solution for your client; which can sometimes be foreign territory, but while using your knowledge from past experiences, you will find yourself quite at home.
Guest writer Juan Bonfante is a Senior Interactive Developer for Roundarch Inc, based out of Chicago. Currently specializing in enterprise front end solutions. His past project have included everything from Flex, Flash, .NET, PHP, JAVA, and Python, just to name a few. He is an active speaker in the technology community, and most recently spoke at Adobe’s Denver Rocky Mountain Flash Camp on the topic of Flex 4. He can be found at quite a few Chicago based user groups meetings, time permitting. When he’s not head down in development, you can find him at home mastering his culinary skills. You can find his development blog at blog.juanbonfante.com, or follow him on Twitter @juanbonfante.
Did you like this article?
Get more delivered to your inbox just like it!