Computing misconceptions

As many people know, I know a thing or two about computers. If anyone asks my industry or my field I normally say computing. I say that for simplicities sake, because otherwise it leads to too many questions. However, of late I have come to realise that is akin to calling a shelf stacker at a supermarket part of the food industry.

While technically correct, it avoids the detail that makes the difference.

As soon as someone hears that I do web development and “build websites” as I put it, they want to know if I can help them with their computer. While as it happens I often can, in reality the computer is just a tool to me in my industry the same as it is to a secretary in an office. While you would expect them to be able to use the machine, you would not expect them to fix it when it went wrong.

People seem to think that everything to do with computers is all the same and that if you can do one thing in computing you can do them all. If only it was as simple as this.

To illustrate my point I’m going to explain something I was asked to explain the other day. I was asked how websites work. Remember to keep in mind as I explain what a tiny tiny fraction of computing this is.

Most websites begin with a database where all the data in the system is stored. This is accessed through SQL (1 language) which I then connect to with in my case PHP (2 languages) which then does all the processing of that data. In my environment I use CodeIgniter (1 framework) to do the main calls, process and validate the data and then pass it to Smarty (1 mark-up) to be displayed.

From there the Smarty template contains the HTML (2 mark-ups) which describes all the components of the page and what order they are in. That HTML is sent to the browser along with the CSS (3 mark-ups) which describes to the browser how all that HTML should look. The page might also contain graphics which need to be made in a graphics package of my choice (Photoshop for me). Once on the page there is then one final layer which is the Javascript (3 languages) which sits on top of the data, the HTML and the CSS and allows direct manipulation of that data including sending things back and forth to the server. As an added twist I write all my Javascript using jQuery (2 frameworks).

So all in all to create a simple website for me it requires knowing 2 Languages (PHP, SQL and Javascript), 2 Frameworks (CodeIgniter and jQuery) and 3 Mark-ups (HTML, Smarty and CSS) as well as one graphics programme on top of that.

Then for good measure I need to understand some Unix (operating system), some Apache (a web-server) and all the other techs that go with each of those. Oh, and having a good understanding of XML, JSON, IMAP, POP etc all help day to day too.

Now consider that each of these sections could be several years of learning and trial and error in their own right to truly master

So all this covers a small part of web development and all of this is evolving and changing on a quite literally daily basis and people wonder why sometimes I can’t be bothered to fix their computer.

Leave a Reply

Your email address will not be published. Required fields are marked *