Over the last two months, I have been crazy busy! I’ve taken on more jobs than ever before (probably to my detriment) and slept less than ever before (certainly to my detriment).
Last month (July), I finished three websites. I didn’t make them from scratch, and what appeared to be a simple task, from how I would have implemented it, turned out to be quite a difficult task.
I learned a number of key things from this experience: never skimp on time when giving a quote for work; evaluate the task at hand fully, so your timing and price is accurate, always be sceptical of joining a project mid-development; you simply do not know if the previous or current team have been adhering to standards, what their working methods are, or if they are at an equal level of competency. I call this “second-hand web development”, because you really don’t know what you’re getting. And lastly, but most importantly, never under any circumstances think that you have enough free time to leave a project in stalemate for a few days; keep working on it, even if all you are doing is making a list of what is left to do, or better yet, crossing off a list which was made from the start. These are all pretty important points that I
learned was told in college, forgot, and have now implemented into my work routine.
So, the first problem I ran into was not spending enough time quoting for the work (I did the work for the price quoted, and in the same time, but MAN would I have charged more if I knew what was waiting for me…). What the client wanted: totally do-able! The issue I encountered was that the guy who built the site in the beginning was a bit of a messy marlo and because of that, I had to put in WAY more hours to figure out what file linked to what, and even what files in the site were being used at the one time! All this would have been avoided by evaluating the situation and spending 15-30 minutes assessing the work that needed to be done, before blindly assuming that everything will be pretty and perfect for me.
The second issue? “Well… where to begin?” Ha, that was actually a question I asked myself at the beginning of the project. The site was a mess, with not-as-tidy code as I would like, not-as-many comments as I would have liked, and not-enough-order as was necessary. Think of an ice-cream van with cones in the passenger seat, the ice-cream in a trailer on the back and the toppings on the roof. It works, just not in a nice fluent way. This is one of the main reasons why I’m an avid advocator of WordPress, and similar CMS solutions. Uniformity. A few years ago, when I was in Uni learning web dev, one of my lecturers said:
HTML is great. It’s like any other real-life language; you can say things one way, and someone else can say it a different way, but the browser makes it look the same!
Granted, he was talking about early html, back before standards were even a thing, but that’s what this project reminded me of, and it’s exactly the reason why you should never trust someone else’s work to fit seamlessly with your own! WordPress saw this, and said “why not make a framework, where at least the core components will be uniform across sites. A common ground. It’s in programming all the time, so why not in Web Development?”. And BOY am I glad they said that!
On to the final issue I encountered, lists. My client had a sizeable list of things for me to sort out, none of them were a big task, and each could be completed with minimal fuss. The problem was that I didn’t
follow look at the list, except at the start. With other ongoing projects, and real-life events, it’s virtually impossible to keep tabs on everything you need to do, and everything the client wants. Towards the end, I asked the client if everything was to their satisfaction, and sure enough, I was told that everything was good, but what about that other thing! Luckily enough, it was half completed, but I had forgotten it was in stalemate, and struck it off my mental list as being completed. Never again!
In the end it all worked out fine, but it was touch and go there for a while! From that first day forth, I’ll always be wary of projects that I’m walking into mid-way, or when I need to change something on a site. It’s generally much more work than it seems.