I don't count myself as a professional coder, I'm not. I may write a healthy amount of SQL queries during the course of my normal working day, I might even get the occasional chance to write some pretty impressive (largely for their brevity) Unix shell scripts, but I don't spend every day at work writing code. The days when I do are the ones I like best. On those days I almost don't exist: I hover in the liminal space between conception and execution, I drift through data fields like a space tourist. This all sounds utterly pretentious, but it is the best description of the sense of freedom I feel when coding. In a world where so much discovery is precluded by the success of history, the infinite possibility of an empty command line is the greatest uncharted territory left. The satisfaction of making the world change instantly through language alone is hard to beat and it always leaves further possibilities. With code there is no end. If you genuinely enjoy programming, there will always be something new to find out. It is often problem solving, but it is more than that: people who enjoy programming will invent new problems to solve for the joy of solving them. This may sound like a waste of time or energy, but I would argue that it is a vital part of the creative process.
A friend recently pointed out his indignation at those who say that coding is not very creative. He should know, he does quite a lot of it in order to make some of the films you see look quite as spectacular as they do. I guess you could argue that Hollywood isn't that creative, but you'd be clutching at straws. Anyway, regardless of its current uses (and they are myriad) coding is as creative as the person doing the coding, much like writing or painting, but with the potential to change the world in which we live directly. As I have already said, I enjoy this creative process and I am by no means alone. I remember hearing a profile piece on Mark Zuckerberg on the radio, in which a friend said "he just really likes to code more than anything else". So it is understandable that on finding a vehicle through which to do this, he did. Never mind what you may or may not think about the outcome, Zuckerberg has got what he wanted. He'll be able to code long after his company's star has faded, and he may yet get the chance to change the world with it. However, in the interim, as I have previously pointed out, he has settled for a position within the standard corporate structure in return for the opportunity to pursue his passion. As much as we believe that the act of writing code will change the world, we are deluding ourselves unless we are willing to look at the contexts within which that process happens. We have the power to restructure society and yet almost always we leave it to the old fashioned venture capitalists and politicians to impose the same tired old structures on the systems of the future. Philosophically any change to this status quo would be hard, as the language of the tech startup is still largely the old fashioned language of venture capital, which instantly boxes anything new up as a marketable product; unique, simple and isolated. This is understandable: 'monetizing' a chunk of code in this way is a tried and tested way of earning a living and everyone needs to eat. Fortunately the world of code is awash with myriad examples of people who have subverted this system in one way or another, hence the fact that I can legitimately build a complex web platform without having to pay a penny for software. I may be encouraged to make a donation to its creators (and I will get round to it at some point, honest), I may be expected to pay for software support, but I am not expected to pay simply to use the software. I am certainly not expected to pay for the software as part of the cost of buying hardware (ahem, Microsoft). The alternatives exist, but they are not common to the mainstream, meaning that weirdly people prefer to engage in piracy of proprietary software rather than look into the 'free' alternatives. This may be for many reasons, not least because the marketing budgets that come with the levels of income generated by highly priced proprietary software backed by classical investment structures mean that a wider audience is easier to reach. I am not saying that it is all down to advertising by any means: I am a keen user of Ubuntu (a Linux operating system for those who don't know), but I wouldn't recommend everyone switch to it, I wouldn't recommend my parents try and use it. Whilst it is fairly user friendly and works in pretty much the same way as most modern operating systems, it still requires an amount of confidence with computers in general that is lacking in many people's approach. The fact that for years most computers have come pre-loaded with Windows and, by and large, it functions with little active maintenance has clearly worked in its favour; users have been able to use software with little understanding of how to. Of course the new exception is Android, which is free, open source, pre-loaded on most devices and easy to use. Seemingly, Google's rationale for doing this is twofold: making something open source gets the geeks onside and having everyone on your platform can help you nudge them towards other revenue generating services. As long as that remains a nudge, then no one minds, but Google is - financially at least - still a classically structured company with shareholders who expect an ever increasing return on their investment, so the danger of them suddenly deciding to hold their users to ransom is always present, even though it would probably be commercial suicide. It would certainly be interesting to see what would happen in such circumstances. In all likelihood, the geeks would take up the mantle of creating an android clone. In such a case, it would be interesting to see whether commercial organisations backed it, as many have a tendency to like proprietary software because it makes them feel like they have some sort of comeback. Of course it would be interesting to see how much sway any commercial customer of Microsoft or Apple has over development requests or bug fixes. I guess in the end, people in big companies like to be able to talk to other people in big companies about their software; it fits with their ideas about how business should work. Old fashioned ideas that are out of touch with the new world of technology. Hopefully, one day, the the old world of finance will catch up.
In the meantime, people like me will carry on coding just for fun.
Tuesday, 22 January 2013
Programaddict
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment