After reading Willard Foxton’s Blog piece entitled “The Government wants to teach all children how to code. Here’s why it’s a stupid idea” I had to stop myself and think rationally; naturally the post was full of factual inaccuracies and a negative portrait (conjured up entirely in the imaginations of Willard’s mind) of a large section of the developer community. Ironically I agree with the title. This is not a new debate and it’s one that I have posted about before as a response to Jeff Attwood “Please Don’t Learn To Code But Give it a Try”.
After smashing my smartphone screen (a Sony Xperia S), I got a quote for a repair because foolishly I hadn’t insured it. After hearing the quote I politely said no and hung up. An alternative option would have been to try and repair the screen myself, however I didn’t want to take the risk of further damage, besides life is too short for that kind of hassle. Since the phone was still functional, bar the cracked screen I decided to carry on using it until I a replacement smartphone was available.
Looking at most of this junk, I have no idea why one earth I’ve kept onto them this long, I know most of the time its probably because it was out of sight (and so out of “mind”). Sometimes it was out of nostalgia for example a decade old CD photo slideshow that I had made and was so proud of. I hoarded some things like my ps2 to usb adapter because of that feeling that I “might just need it”.
Your cursor is still flashing at the same point and you have been staring at your screen blankly for over ten minutes. You make any excuse to get away from programming, “I’ll go make one more coffee” you tell yourself. When you start writing code you only delete it to start over again. If you are experiencing this level of procrastination then you may have programmers block. Writer’s block or mental block is widely accepted in most creative fields.
In my experience the process of finding the right candidate can be stressful. It appears that within the IT industry, the cases of failure are higher than the successes. In the absence of any standards the interview process is inconsistent and conducted using what can only be described as “IT Folklore”. Part of the problem starts with most recruitment agencies. Agencies work in an almost mechanical way. Instead of filtering candidates intelligently they seem to filter using a dumb keyword or “buzzword” match approach.
I was explaining the mechanics of how a computer works to a friend, when I realised that although I knew the basic concepts, I lacked the exact details. This reminded me once again about a fantastic courseware entitled “The Elements of Computing Systems” by Noam & Shimon. If you have not yet come across this courseware I highly recommend it. In twelve steps the student builds a real computer as the quote states “from NANDs to Tetris”.
At the beginning of last week, an article appeared on Proggit (that has since disappeared?). entitled “The Tech Industry’s Darkest Secret: It’s All About Age”, written by Vivek Wadhwa. Incidentally this is a nice follow on from a post I had written just a few weeks prior “Where Do You See Yourself in 10 Years Time?”. The central point of Vivek’s article was well summarised in his introduction: “The harsh reality is that if you are middle-aged, write computer code for a living, and earn a six-figure salary, you’re headed for the unemployment lines.
Another week and during my internet travels I stumbled upon a blog post by Aditya Bhargava titled “Building a concurrent web scraper with haskell”. I’m not a Haskell programmer and my experience of it is extremely limited. Reading the post most of it read like a cryptic magic spell! Anyway it was still an interesting read and has inspired me to try my hand at writing something similar. So I reached out and and the quickest thing to hand was Python.
Debugging a problem is an attempt to understanding state behavior Fixing a bug are catering for a system state or edge case that was not envisioned before. It is thus not surprising the less you know about a system, the less you can predict its various states and behaviors. Unit tests are pushed in an almost cultist way. Among the cult those that do not use unit tests are seen as knuckle dragging neanderthals or unenlightened.
You may have come across this form of questioning most likely in an interview. Its a classic question but usually asked in terms of 5 year projection, however the concept are the same. The problem with well worn questions are that the answers mostly follow in a predictable manner. If you have never given this question any serious thought, then I suspect you would be in the majority. So why is this question so popular among interviews anyway?