Posts Tagged ‘work’

Management of Change

December 15, 2017 Leave a comment

My friend Fred (not his real name), who works in a similar organisation and role to me, recently regaled me with a tale of woe regarding the “restructuring” his organisation is going through (I use the word “organisation” here because I would prefer not to say what it is and whether it is a private company or a public institution, but it really doesn’t make any difference to the core message of this post).

One of the farcical aspects of this process is something called “management of change” which basically involves a propaganda campaign which attempts to persuade the participants what a good idea it all is, and to dispose of those who cannot be persuaded as quickly and quietly as possible.

A common complaint made by the perpetrators of these misdeeds against their unwilling victims is that they are resistant to change. That is, they just don’t like new ideas or new ways of doing things, and if they would just be a bit more open-minded and accepting they woud see that the new ideas are good and everything would be OK.

Of course, if the victims really were resistant to change in general then this would be a good point, but Fred always mentions one very pertinent point: that is that it is not change in general that he is resistant to, it is just the type of change which usually occurs.

The managers might say something like “But you don’t like any of the changes we want to make.” and Fred would respond “Exactly. You seem to be incapable of making fair and reasonable decisions, and everything you do is grossly flawed. If you started implementing changes that we actually wanted then we would be fully supportive. Until then, we will resist and sabotage your efforts as much as possible. You are grossly incompetent and we have no confidence in your decisions.”

I can see his point exactly, although he could be said to have a slight tendency towards ranting. I sometimes wonder about Fred’s ranting because it often tends towards the extreme, and having that degree of cynicism and distrust seems a bit unhealthy in some ways.

But here are sorts of changes Fred almost always sees and doesn’t like: more bureaucracy, paperwork, timesheets, accounting records, and other mindless time wasting; more control by management and less self-sufficiency for the actual professionals doing the work; budgets cuts making it harder to get the equipment necessary to work efficiently, to attent conferences, and to get training, at the same time as the organisation wastes huge amounts on pointless projects; and more extreme control and micro-management by managers even though they have no idea what is really required.

And here are the sorts of changes he would fully support: reducing paper-work so that the professionals could actually do the work they are both good at and are ultimately paid to do; letting the workers make decisions based on their expertise and experience instead of following dysfunctional policies devised by people entirely ignorant of the real requirements of the job; diverting some of the funds going to wasteful management projects and using it for basic equipment and training for the people actually carrying out the organisation’s core tasks; and giving the staff the freedom to work the way that works best for them and their clients.

If more (or any) changes came from the second list and not the first then Fred assures me he would be fully supportive of them.

But the saddest thing about these “management mongrels” (Fred’s words) is their total ignorance of how much their staff actually despise them. I mean, Fred often speaks with an air of genuine hatred towards these “worthless scum” (his words again) and he’s not the sort of person to be so negative in general.

He recounts an incident where he was treated with total disdain by the HR department of his organisation, including threats to possibly involve the police, and it was only the intervention of his lawyer which made them back off (and pay him a moderate sum for the stress they caused, because they were obviously wrong). Yet a week after that a senior HR staff member who had been responsible for his persecution casually greeted him on the street as if they were the best of friends.

It’s as if these people are sub-human monsters (his words) and cannot connect with real people. They like to think they are all part of the same team, all working towards the same greater goal, and all good friends, but the complete opposite is true. In fact, they are the enemy and must always be treated as such.

Thomas Paine said that “the duty of a patriot is to protect his country from his government.” Fred would say that it is the duty of every worker to protect his company, institution, etc from its management.


Pointless Jobs

October 15, 2016 Leave a comment

I recently read an opinion piece on the subject of why capitalism has created so many pointless jobs. The idea that increasing automation, robotics, and artificial intelligence would make life easier for people at work has not really worked the way it was predicted to when these trends became more prominent about 80 years ago.

Economist, John Maynard Keynes, predicted that advanced countries would probably reduce the working week to about 15 hours, but that hasn’t happened. In fact, many people are working far more than the traditional 40 hours, and there hasn’t been a conspicuous lack of jobs available for all those people still working for the full week.

So what has happened?

Well a while back I read another piece titled something like “the rise of bullshit jobs” which pointed out that a large fraction of modern jobs are completely pointless and really could be eliminated tomorrow without making any real difference to how efficiently the economy was running.

Our society still values employment very highly and regards unemployment as one of the great social evils to be avoided at all costs. But as technology makes human labour less important shouldn’t we be welcoming the freedom from work, especially the repetitive, unpleasant, and dangerous jobs that really shouldn’t exist?

In a report covering most ot the last century it was found that the number of productive jobs (in manufacturing, agriculture, etc) has crashed but these jobs have been replaced with professional, managerial, clerical, sales, and service workers which have grown from about a quarter to three quarters of the total.

I’m not saying that all jobs in these categories are pointless because they’re not. I myself am a computer consultant/programmer so I guess I would fit into professional or service sector (depending on how highly you rate computer geeks) and I think I perform a needed function. So not all the new jobs are pointless but a lot (maybe most) of them are.

So instead of creating the opportunity for greatly reduced working hours by having the same working population doing the lesser amount of productive work we have created a whole pile of pointless jobs to fill the void. The most ironic thing is that it often people who work in these jobs who complain about the lack of “productivity”, even though it is precisely them who are causing it!

So let’s have a look at the type of job mentioned in the article that the author regarded as being in the “pointless” category: private equity CEOs, lobbyists, PR researchers, actuaries, telemarketers, bailiffs, legal consultants, most administrators, financial service professionals, health administrators, human resources experts, and academic administrators.

These are the sort of people who I often see the blanket term “worthless bureaucrats” being used to describe. It may be that there is a need for these professions to exist at a certain level, but a case could be made that we could dispense with them completely and make the world a better place.

Because the title “pointless jobs” is actually a bit too generous. These people are not only a complete waste of time and space but they actually make the people who are doing the real work less effective and productive. If a worker is constantly interrupted with the need to do pointless paperwork to keep a bureaucrat happy, for example, that bureaucrat doesn’t just have zero value, he or she is actually worse than useless!

And the argument that administrators take some of the burden of the paper work away from the workers doesn’t really work. What is that paper work for? In most cases it is just pointless nonsense to keep another bureaucrat happy who can then use the meaningless information collected to keep an even more senior bureaucrat informed on a subject she/he knows nothing about and is simply being mislead about through junk information. And inevitably the workers are the original source of the information so it is their time which is wasted in creating it.

I do have to say that blaming capitalism for this is arguably a bit unfair. One of the worst places I have seen it is in schools where teachers are expected to teach bigger and more difficult classes while at the same time coping with an increasing burden of reporting, evaluation, and generation of other, mostly pointless, nonsense.

Schools aren’t generally thought of as being run on capitalist models, although modern education does more closely follow the board, CEO, senior management model and have financial constraints as an important aspect of its operational principles. So technically schools aren’t capitalist entities but the rise of neoliberalism has ensured that many capitalist ideologies are followed.

But capitalism is supposed to create efficiencies because each company wants to optimise its income. Surely having a whole layer of bureaucracy stifling greater productivity is an anathema to this ideal?

Well, no. Because companies are run by boards and senior managers who are exactly the type of person who start the bureaucratisation process. It’s hardly likely that these people are going to suddenly experience an epiphany and say that managers are parasites, considering they would be describing themselves.

The other critical factor is what is often referred to as the “Protestant work ethic”. This isn’t to say that everyone who rate the simple fact of working as being virtuous has to be a Protestant, it’s more just that this is where it is often thought to derive from.

And in the past, when there was little automation available, hard work was a genuine advantage to society and many of the advances in Europe and America stemmed from it. But it’s just not relevant any more.

It’s time to make it OK to spend more time on interests, leisure activities, sporting goals, and other non-work related pursuits. We can make society operate on a 15 hour working week. And eventually maybe a zero hour week. People will still do things, but it will be the things they want to do instead of what they have to do. And society will be so much better as a result.

Pointless, Unproductive, Unnecessary

June 4, 2016 Leave a comment

I have a category in my calendar called “administrivia” which is especially reserved for trivial administration tasks. In fact the word “trivial” above was probably superfluous because I think all administration is trivial. Anyway, I don’t use the category much because I do tend to minimise the amount of this sort of work I do, a tendency which often gets me into a certain amount of difficulty with people who take such tasks more seriously than I do!

Although I find it hard to give administration the respect some people think I should, I do recognise that a certain amount is necessary to keep things running smoothly. It is the all too common situation where administration becomes a prime function in itself instead of what I think it should be – an unfortunate supporting function which should be minimised – where I think we have got things wrong.

A recent survey of time wasted doing administration supports this point. The survey was carried out by Kronos, a company which sells web-based management systems. Of course, this should immediately cause a bit of skepticism and perhaps even cynicism because this company has a lot to gain from convincing people they need to streamline their administration and management systems! However, I think the general points the survey makes are valid.

So the basic claim is that New Zealand companies are throwing away billions every year because of time wasted doing pointless, unproductive, and unnecessary administration tasks. Kronos claim that “internal red tape” is costing businesses in New Zealand and Australia $61 billion per year. That is on average $4200 per employee per year, or 3 hours per week wasted. To be honest, I find it a bit difficult to believe it isn’t a lot more.

The survey also showed that 70% of people thought that they weren’t productive because of the environment they were forced to work in. The managing director of the regional branch of Kronos thinks that productivity issues are due to failures in management rather than problems with the actual workers. Again, I think most people could have told him that without the need for a survey.

In addition to these points there was the remarkable finding that 52% of HR managers didn’t view people as one of their organisation’s top 3 assets. I believe that HR is one of the most vile and worthless components of the modern workplace so, again they are preaching to the converted, but even I was somewhat surprised that an attitude like that could possibly exist.

I mean, how could anyone think that the organisation’s staff aren’t, if not first, then at least second or third in order of importance? I guess these deluded management types could maybe rate managers and share-holders one and two, and even that would be wrong, but surely staff should be at least third! And these aren’t just any managers either, they are HR managers. They seem to think the “resource” they are tasked with managing isn’t important. Does that not make them unimportant as well? I suspect they don’t really see it that way.

The recommendations included the following: reduce back office functions, install efficient systems to manage essential tasks (yes, a bit self-serving, I think), automate mundane tasks where possible, and invest in employees and make life easier for them. One of the presenters also offered this: dismantle HR departments which was deemed a “shade extreme”.

Naturally, I would go a lot further and not only dismantle HR departments but all of the worthless and counter-productive nonsensical bureaucracies which exist in modern organisations. So I guess that would be seen as more than a shade extreme. It would be seen as properly extreme, but I think also properly necessary.

The management class are constantly demanding extra productivity while creating an environment where the exact opposite is achieved. There is no way that minor adjustments can fix this problem. We need to start again. We must dispense with everything that is pointless, unproductive, and unnecessary.

IT Support 101

July 12, 2015 Leave a comment

As many of the followers of this blog will know, I do IT support and programming for a New Zealand university. After just spending 4 days away from “home base ” doing some quite intense and varied work I thought I might list a few hints for aspiring IT support people and anyone else who might have a passing interest. I have worked in IT since the days of the Apple II and have learned a few things in that time!

OK, here’s some of my best hints…

Hint 1: passwords.

It has been shown to be psychologically impossible for users to remember their passwords, and in the unlikely event that they do remember a password it will be even worse because it will be the wrong one, they will enter 10 times in a row, and they will lock themselves out of their own accounts.

Many users also “don’t have a password” for their email and other services. When you hear this you know you are in trouble because, of course, they do have a password which is provided automatically by the software. Generally on a Mac this can be retrieved from the system keychain – if you can get the master password for that!

Next, if a user has a password and they can remember it then it will most likely be something incredibly secure like “password” or “123” and the clue for these will naturally be “password” or “123”. Also, when you visit the same person several years later it will still be the same.

My solution to this is to give the user a reasonably secure password and record it somewhere safe for them (only with their permission, of course). I would recommend an encrypted document (with a really secure master password) and this will be stored on your hard disk which is also automatically encrypted, right? Bonus hint: get a Mac and use Apple’s built-in system, FileVault 2, which is secure enough for most situations.

Hint 2: help.

It is extremely rare to find a help system in any software which is particularly helpful. In fact I would say that all built-in help systems are basically useless. Luckily there is an alternative: our old friend Google! Yes, google the question or problem (google is now a valid verb meaning to search the web using Google) and you will generally get a much better answer much more quickly than you can get from any help system.

You do have to be aware of one effect though. That is that every new program, computer, or anything else will have many people complaining about its basic deficiencies whether these issues really exist or not. So don’t take too much notice of general comments that a certain system simply doesn’t work, especially when there is a trendy meme on that topic.

Sometimes the problem with googling (a noun derived from the verb google) is finding an answer which is specific enough. I like to include error numbers or unusual words which are more likely to give more specific information. Don’t google “Microsoft Word crash” because you’ll get millions of answers (that particular query might even overload Google!). Try “word mac hangs at launch” or something like that. Even better, use the Console app (on Mac) to check error logs and find more specific error information.

Hint 3: generic solutions.

Have you ever contacted a helpdesk and been told to reset your modem, restart your computer, rebuild a database, re-install your software, or just to “try it again?” Of course you have! These are what I call “generic solutions” and they are usually (but not always) given when the person has no idea what is going on.

That’s not to say that they won’t work or that you shouldn’t use them, but by using them you do lose something. Specifically you lose the chance to really know what went wrong, because the information needed to diagnose the source of the problem might be lost after a reboot, etc.

So I recommend trying to actually solve the issue unless you specifically know of a problem which cannot be fixed realistically any other way. In some cases I use this solution myself, usually when I want a particularly nasty problem to just go away. For example Microsoft Outlook is a horrendous mess which often corrupts its master database. I’ve never figured out why and would prefer it if people just didn’t use the program, but if they do use it and when (not if) the database becomes corrupted a rebuild is an easy solution.

Hint 4: burning bridges.

Some functions we perform on computers cannot be undone, or if they can be it might involve a huge effort. For example, deleting a settings file, because you think it is corrupt, might fix a problem. But on the other hand it might not fix it, and it might create more problems because valuable settings are lost.

So just move it to a new location or rename it instead. Remember that if you just move it some programs will continue to use it, even in the new location, even if that location is the trash! Relaunching the program, including any background processes, will usually persuade it to relinquish control of the file. And yes, reboot if you must!

If the process above doesn’t fix the problem you can just reverse the steps to get back to where you were. Don’t forget that any file re-created when the app launches will be in use and won’t be able to be replaced unless you quit the app first.

Hint 5: everyone is different.

Every user, every job, every computer, and every situation is different. Don’t get too hung up on policies, rules and regulations. These can be useful as general guidelines but I prefer to evaluate every case on its own merits and come up with an optimal solution for the user. Of course, many bureaucrats don’t like this but I always feel I am there for the users, not the bureaucrats.

Naturally this idea is a bit contentious so use it sensibly. If there are corporate requirements which aren’t too onerous it makes sense to follow them rather than risk problems later. Choose which battles are worth fighting!

Hint 6: don’t panic, and be nice.

This is the ultimate hint really and one that can be very difficult to always follow. I do have to say that on occasions I get frustrated with poor infrastructure, substandard programs some people are forced to use, and outdated hardware which really should be replaced, and might launch into a rant regarding the unfairness of it all.

I generally regret these and a simple statement like: “Unfortunately our network is very unreliable so we can’t give a perfect solution to this problem”, or “Yes, Microsoft PowerPoint often does that and I’m sorry but it can’t be fixed by anyone except Microsoft” is more effective anyway.

Also, don’t try to force people into working in a way which doesn’t suit them. When I was a beginner computer support person I tried to persuade people to adopt a zero desktop clutter policy, or to use PDFs instead of printing, but I now realize that is the wrong approach.

Many people just like throwing junk on their desktop even though I believe it is better to reserve it for stuff which is currently being used or awaiting being filed in a permanent location. By the way, the ability to find files amongst the clutter by just typing the first few letters of their name is a revelation to some users!

And most people still really like paper and I can see why because it has a lot of benefits, so let them use paper if they must. Maybe creating a preset to print double-sided might be a more valuable contribution to saving the trees than trying to eliminate paper completely.

Sometimes people have such hideous computer habits that it is worth trying to correct them. For example I once had a user who stored her documents in the trash because then they “wouldn’t use space on her disk”! That was an accident waiting to happen. And if people store so many items on their desktop that they overflow and pile up on top of each other at the top-right of the screen it is worth encouraging them to use an alternative strategy.

A secret stealth weapon I often use is to be nice. Many people get stressed when their computer is misbehaving and they might not treat you as well as they should. But being nice back to them – even if they are being a real ass – is something they might not expect and often works really well.

I once had a senior manager call me and rant about something I had done and when he threatened to never let me work in his department again I said “That’s unfortunate because apart from this I thought we had a really good working relationship”. I then went on to explain why I had done what I had done and he agreed that he had over-reacted. In the end he apologized to me!

So those are my IT support 101 hints. I hope you find them useful. Now I just need to take my own advice and eliminate those rants!


May 10, 2015 Leave a comment

Many people who work in a large organisation look at Dilbert cartoons and think they were written specifically about them. In the unlikely event you are not aware of this cartoon let me briefly explain: it chronicles the life of Dilbert, an engineer in a large company who is part of a system consisting of out of control office politics, inept bosses, lazy and incompetent workers, pointless projects, and meaningless management speak.

The author of Dilbert, Scott Adams, started drawing it in 1989 and it has been hugely successful, appearing in 200 newspapers in 65 countries. Adams has worked in several large companies and has had extensive personal experience with the dysfunction he documents in the cartoon.

I have been a big fan of Dilbert for many years and have some examples, which seem to apply very accurately to my own work situation, on the wall of my office. I thought I might share a few Dilbert cartoons here and discuss why I think they are pertinent to the situation many people are in at work. Of course, it would be unprofessional to discuss my personal experiences so I will discuss those of my friend, Fred (not his real name), who works in a similar environment to me.

Cartoon 1. Talent versus time…

In this cartoon Dilbert asks “Why does it seem as if most of the decisions in my workplace are made by drunken lemurs?” Another character (a garbage collector) says: “Decisions are made by people who have time, not by people who have talent”. Dilbert asks “Why are talented people so busy?”. The reply “They’re fixing problems made by people who have time.”

Regrettably this is so often true. Fred reports that his management effectively have nothing to do except create meaningless paperwork and attend meetings with each other (see another cartoon later in this post), but they do occasionally have to be seen making a decision. These are almost inevitably bad (because the decision makers have no talent), and because management will never admit a mistake the only option is for the people who do the actual work (those with talent) to spend most of their time fixing them.

Cartoon 2. Ignorance and bluffing…

Dilbert’s boss comes up to his desk and says “I think we should build an SQL database”. Dilbert (sensing the manager has learned but not understood a new word) thinks “Uh-oh”. He then thinks “Does he understand what he said or is it something he saw in a trade magazine ad?” So he asks “What colour do you want that database?” The manager replies “I think mauve has the most RAM.”

Fred cites numerous examples of managers who really have no technical skills at all and whose ideas generally originate in management-oriented magazines and other similar sources. As a result they have a totally superficial knowledge that is easily exposed by asking the right questions where their answer will often involve a lot of misused terminology or they will revert to meaningless management jargon instead (every second word will be “cloud” or “agile”). That is one reason they generally make decisions without consulting with anyone who actually knows something about the subject.

Cartoon 3. Laughable superficiality…

Dilbert’s boss walks into his office and announces “It took us three days at the executive retreat to come up with a name for the new procurement policy.” He continues “We named it the procurement operations over-sight policy.” Dilbert asks “POOP?” The manager says “Do you now how many managers it takes to come up with a good name?” Dilbert replies “A few more than you had?”

The management at Fred’s company/organisation (I can’t specify which) did something very similar and came up with similar pointless, laughably childish nonsense. It’s insulting that people actually get paid for doing something that would be considered sub-standard in a primary school but it’s even worse when those same people spend half their life harassing the workers over doubtful claims of them being “unproductive” when management themselves make a negative contribution to productivity.

Cartoon 4. Meetings…

Dilbert’s boss walks into his office and says “Let’s have a little pre-meeting to prepare for the meeting tomorrow.” Dilbert replies “Whoa! Do you think it’s safe to jump right into the pre-meeting meeting without planning it? Then we see Dilbert, his boss and a colleague. The boss says “Okay, let’s get this preliminary pre-meeting meeting going”. The colleague says to Dilbert “You think you’re funny, but you’re not.”

Meetings are a great way for people with too much spare time (see cartoon 1) to do something. Not only does the person whose idea it is to have the meeting use up a lot of spare time but all the other people invited get to do the same thing. It’s not so good when talented people are also required to attend, of course.

Fred reports that on the rare occasions when he attends meetings he sometimes asks what has been actioned from the pervious meeting only to find that nothing was actioned because people were too busy in meetings. The meeting is possibly the greatest farce in the modern workplace.

Cartoon 5. A bit of all of the above…

The boss walks up to the desk of an administrator and says “Carol, schedule a staff meeting.” Carol asks “What’s the topic?” The boss replies “I plan to fuse six sigma with lean methods to eliminate the gap between our strategy and objectives.” Carol says “I’ll just say ‘waste of time’.”

Fred claims that his management team have no clues of their own so tend to lean on whatever trendy management technique they happen to have been exposed to most recently. Management is a subject full of meaningless nonsense or simple, common sense ideas dressed up to look like they have deeper significance. Words like “lean”, “nimble”, and “agile” are used to describe techniques which fundamentally make some sense and are probably being used by the actual workers anyway. But as soon as they are formalised and turned into a bureaucratic nightmare by managers they lose whatever advantages they might have originally had.

In conclusion, it might seem that if the workplace is so much like the farcical world of Dilbert that we have no hope. That’s not quite true because I do occasionally find managers who do quite a decent job. They tend to be the ones who don’t try to over-manage the workers lives and who shelter the people with talent from the worst excesses of higher management.

Also there is the idea that large organisations cannot operate any other way and no matter how ridiculous they seem things cannot really be made much better. There may be some truth in that but if it is true then surely we should abandon all hope now!

What’s the Point?

November 28, 2014 Leave a comment

What’s the point in having a competitive, efficient economy if most of the people working in that economy are unhappy? Should workers have to put up with having no power, getting paid less in real terms than in the past, and having far less favourable work conditions just to create an economy more able to compete in the global marketplace?

And even if that objective of greater competitiveness is achieved isn’t the first response of the competing countries or companies going to be to do exactly the same thing and to degrade their worker’s lives even more? Isn’t this a classic “race to the bottom” situation?

In recent times there have been a lot of examples of this exact failing even here in New Zealand. For example, there have been stories of petrol station and supermarket employees having money deducted from their pay to cover losses due to theft that they couldn’t reasonably be blamed for. One was offered the option of having her pay docked or resigning. She resigned but the employer docked her pay anyway. She was being paid $13.75 per hour. What kind of inhuman monster acts that way to another human being?

And that callous and indifferent attitude is also demonstrated by big US corporations, such as the recent example of Walmart. They pay their workers wages inadequate for a reasonable life but don’t worry, they ask for donations to help those people – from other low paid workers! Meanwhile the piece of scum who inherited this evil empire (Alice Walton) lives in a $25 million Manhattan condo and is “worth” 35 billion dollars.

Unfortunately this is becoming a more common phenomenon. Before the power of unions was broken the employee had some level of protection but now there is nothing. Note that I’m not advocating a return to the “bad old days” where some unions had too much power and exercised it in irresponsible ways, but I think there is a need for the power balance to become a bit more equal.

I think the problem gets back to a sense of entitlement and a general arrogant attitude held by many managers and other employers who believe they can do almost anything because people are desperate for work and just have to put up with whatever suits the employers whim at any particular time. And the legality of many of these actions doesn’t seem to be much of an issue to many.

This arrogant attitude comes from several sources: first, the general zeitgeist that private enterprise is the answer to every problem; second, specific ideas instilled in managers through management training and reinforcement from people further up the hierarchy; and third, the mind-numbing adherence to rules and best practice principles which many people use instead of actually thinking.

Of course I am mainly referring to the situation in larger organisations here because most of these deficiencies are hardly likely to exist in the people running your local corner shop or other small business.

And that leads to an interesting observation people working in large organisations often make. The management, especially those involved with staff, are like a different species. It’s like they have a rule book instead of a brain. They refuse to think and apply reasonable common sense to a situation, instead they quote rules and regulations that no reasonable person would even know exist, and certainly wouldn’t care about.

I think it’s becoming apparent that we do need a change of direction, otherwise we will end up with the most efficient economy where the top 1% get all the benefits and the rest of us are little better than slaves.

Science and Art

August 29, 2014 Leave a comment

My loyal readers might have noticed that I haven’t written a blog post for a while despite the abundance of source material I could have used. There is a simple explanation for this: I am working on too many other projects just at the moment and have tended to spend time on those instead. Contrary to what you might think I do spend a reasonable amount of time researching, writing, and revising each blog post and they’re not just tossed together in 5 minutes!

Most of what I am working on currently are programming projects which all seem to have become critical at the same time. But that doesn’t really worry me because (and I’m sorry if this sounds really geeky) programming is fun. It’s one of those rare creative activities which results in something which is actually useful (well, at least in most cases).

When I create a new system (and my current projects all involve web-based databases and apps written using PHP and MySQL) I like to create something which is easier to use, more reliable, faster, and just generally more elegant than the alternatives. There are some pretty impressive web-based systems out there now but there is a much greater number of truly terrible ones, so in general I just hope to raise the average a bit.

It’s quite amusing using another person’s web system and noticing all the design and functional errors they have made and smugly thinking “amateurs! my projects never suffer from that problem!” Of course, I shouldn’t be too smart because every system has its faults.

As I have said in the past, programming is a great combination of art and science, or at least it should be because both are required to get the best outcome. The art component doesn’t just involve superficial factors like graphics and typography, it is deeper than that and requires creation of a friendly, logical, and flexible user interaction. The science component should be obvious: programs must be technically correct, perform calculations accurately, but also more subtly be fault tolerant, easy to enhance, and interact with other systems properly.

All of this is not easy to achieve and I have made plenty of mistakes myself, so it is even better when something does magically come together in a positive way. And that description is significant because the way I work a project is an evolving, organic thing which often changes form and function as it progresses. I always have a plan, diagrams for the database structure, flow diagrams for the general functional flow of the program, and technical notes on how certain functions should be performed before I start coding, but by the time the project is finished all of these have changed.

And I am often asked to write technical documentation while I am creating a new system but that is useless because I change the details so often that it’s better just to write that documentation when the project is complete.

When I look back at old projects I am sometimes amused at the naive techniques I used “back in the day” but more often I am quite amazed at some of the awesome, complex code and clever techniques I have used. It’s not usually that I set out to write really clever, complex code, it’s more that as more functions and features evolved the code became more and more impressive. But it is too easy in that situation to let things become convoluted and clumsy. In that case I toss that section out and start again. Sometimes my systems take a little bit longer to complete but they always work properly!

And that brings me to my last design philosophy. I don’t re-use a lot of code, I rarely recycle libraries and classes, and I definitely avoid using other people’s code. Also I don’t use rapid prototyping tools and I don’t use graphical tools to create markup code like HTML. No, it’s all done “on the bare metal”.

In fact that’s not really true, or course. I was recently tidying up some shelves in my office and found some old machine code programs I wrote back on the 80s. Now that was really coding on the bare metal! Multiplying two numbers together was a big job in that environment (the 6502 had no multiply instruction) so PHP and hand-coded HTML are pure luxury compared with that!

Well that’s enough talking about it, it’s time to get back to doing it. I’ve got a nasty bit of database backup code to debug right now. Some sort of privileges error I think, time for some science and not so much art.