I am experiencing a love/hate relationship with web-development. Around 5 years ago, I designed my first website. Mind you, it wasn’t my idea but I ended up doing it after my Maths teacher, and mentor, asked me to help design one for an NGO. He was teaching a web-design club which I immediately joined. I still remember my first tag which involved the ever welcomed “Hello World!”. Like any new hobby, it was wonderful and exciting at first. You learn about div’s, b‘s, i‘s (this was before strong and em) and it all seems rather, for a lack of a better term, obvious. If there ever was a constant in life, it is humanity underestimation of problems (maybe it’s Hofstadter’s Law in motion). After a week or so of html, I thought I had the hang of it. And then I encountered my first big problem, $php.
There are two ways of looking for a solution and one’s approach can easily be used to deduce the relationship between one’s self and the task. First, one could go on a research binge which might include consulting, reading, observing other solutions etc. This usually implies one is willing to learn from the challenge and hopefully solve future similar problems. The second, and my less favourable approach, involves throwing the task to someone else. Unsurprisingly, the solution cycle usually involves a parts of both approaches. However, the best approach is try to stick with the former than the latter. When I first worked with php, I never wanted to try the first approach. If I ever have to introduce someone to programming, I promise to never bring them within 2 alt+tabs from php. Enough has been said about why php isn’t quite exactly the best tool (although there never really is a ‘best’ language) but it should be kept in the highest shelf until someone is knowledgeable enough. Think of it as the Jack Daniels of web-development (never bring it out on the first night!).
To cut to the chase, I needed to design a forum of some sort but with confusing privileges. The website was a simple one but with one small problem; it wasn’t meant to be a forum. There is a web-analytic procedure that is simply known as the goal of a website. For blogs or news websites, we just want to have page views. The more the merrier. There are some variations in there but generally page count is the bottom line. For social networking sites, you need average time spent on the website (and some variations of it). The problem with the website like the one I worked on, is it had no particular goal or at least a way of measuring that goal. Would we need to create one username/password for the entire forum? Would we need to recreate an entire forum, with usernames and all the privileges associated, for a website that is used by less than 20 people? Surely email/social networks could have done a much more efficient job. After 2 weeks or so of learning php, I decided to request help from a Nordic kid who knew far more php than I could ever hope. After seeing his solutions, it suddenly hit me. I dove too deep too quickly. I had no idea what I was doing at this point.
I’m working on an actual real life project that frightens me at the moment. At times I need to remind myself how to break the cognitive dissonance. It is challenging to know when exactly to flip the switch from thinking in one way to the other when you stare at the glowing back-light from the monitor.