There Isn’t a Free App for Everything, So Do It Yourself
My daughter was due to sit for an examination for entry into a selective high school. My son sat for a similar exam four years earlier. The nightmare of tutoring him in mathematics myself resulted in his passing (and my being stabbed in the hand). Given the shaky history, I decided to download an Android app to help her with the math.
There was nothing suitable. Everything on Google’s Play Store at the time was either subscription-based, malware-laden, or suffering from lack of content.
So I wrote an app myself. With no formal training. From scratch.
How Do You Build An App By Yourself?
I’ll preface by saying that my application did exactly what I needed it to do:
- programmatically generate questions of every type used on the exam
- provide some some degree of customization
The whole thing took about four weeks, and I was so pleased with the results that I published the app on the Google Play Store with both a free and paid version. The paid version was crippled by a one-star review almost immediately (it’s now free), while the ad-supported app is still doing quite nicely.
Since then, I’ve carried on with producing apps as a hobby. Nothing amazing or overly complicated. Sometimes I build things I need myself, such as a rhyming dictionary for songwriting. Sometimes I’m simply indulging my habit for writing short interactive fiction.
I was a teenager when we surfed into the new millennium and began to transition into our cyberpunk “future” (read: the present). Future-themed science fiction comics, such as 2000AD, became the past.
Growing up in the 80s and 90s, I had a level of technical fluency my parents could only guess at. Yet, my children will never understand that computers came with BASIC programming guides and users needed to have at least some understanding of electronics and languages to be able to play any game at all. I’m a bodger, and a hacker (in the classic sense of the word). I’m writing this article on a Chromebook which cost $250 new in 2013 and now boots both Windows 10 and Linux. I do whatever is necessary to make things work.
So you can imagine my delight when I first discovered the concept of Massive Open Online Courses run by edX.org. I could learn to do more things.
Seeking An Accurate Index of the Library of Babel
Step through the edX gateway, where anyone can learn to do anything. The courses offered are usually one or two modules that you would get in the first year of university.
Students can learn to speak Spanish or Japanese. They can prepare for a career in data science, history, or management. If they’re really ambitious, they can add on some engineering modules.
I took Introduction to Aeronautical Engineering offered by DelftX, and Introduction to Computer Science and Programming Using Python from MITx.
But I’m never going to build an aeroplane, and it’s very unlikely that the people auditing the online engineering courses will build a bridge. At least I really hope not.
The courses are enough to teach students the absolute basics. They are the 101 units. They give a taste of what’s on offer, along with just enough insight to bullshit their way through a short conversation with an actual expert in the field.
The Python course took me about two months to compete, and I paid a very modest $65 (now $100) for a certificate. Get this: I have a certificate from the Massachusetts Institute of Technology saying that I’m a programmer. Fucking A, man!
I’m not, of course. I’m a bodger with, thanks to edX, some very small experience of Object Oriented Programming.
But when I needed an Android app to help my daughter, I was convinced that I had the chops to do it for her. It took maybe two weeks of Youtube Java tutorials to get me to the level where I could write functions which did what I needed them to. A further fortnight saw me wrestling with the intricacies of XML and Android Studio. But in less than a month, I had done it. The code is crap. It is a collection of bodges, hacks, shims, and literally whatever works. Email me and I’ll send you the source so that you can laugh at my naïveté.
And anyone can do this. They can go from zero to an impressively bulked out portfolio in a fraction of the time it would take them to actually learn their craft at an actual university or college. If you have a specific goal in mind, it’s laughably easy to create a product which works, even if it doesn’t work well.
And then you can start advertising your services as a coder.
Dangerous Minds for Hire
Granted, I don’t do that. I make apps which amuse me. If I think they’ll be useful for someone else, I stick them on the Play store. Fire and forget. I don’t do coding work for hire.
But I think I’m fairly unique in this.
Upwork is the largest freelancer hiring platform on the internet. Anyone can post a job and anyone can get a job. Clients post a budget and a job description. Freelancers bid, and promise (sometimes truthfully) that they’ll do a good job.
Here’s an example:
I need a smart person, who can research and build the best ovulation app with the best user experience possible - budget $100
connect android application to mysql database. we already have an application but the problem is we don't know how to connect it to the database. we need to fetch some data from there and the input will be on the android app - budget $15
Based on the specifications the client has given, the cost for the first app alone should be in the region of $60,000. For the second job, an actual professional would be billing around $400 per day.
So who’s going to be taking these jobs? Will it be actual software engineers, or will it be people like me who have some degree of technical fluency and can hack together something which will more-or-less work?
I can tell you with a fairly high degree of certainty that the second job is being offered by a low rate, self-educated tinkerer who was unable to complete the original task they bid on and are now offloading the tricky bits to a third party. I could probably muddle my way through either job, but I won’t, because it’s dangerous. Fundamentally, I don’t really know what I’m doing. It’s bits and pieces of knowledge held together with luck and sticky tape. Sometimes it works. Sometimes it doesn’t.
A Few More Anecdotal Consequences
Have I told you about the time in 2009 when I accidentally hacked the database of an Indian domestic abuse charity? I was bored and in the Middle East, and because of the kind of person I am, was snooping around the internet for unsecured databases. Full disclosure, I was looking for poorly secured porn in a country where accessing porn is illegal, and I wasn’t paying attention. What I ended up with was a page containing the names, addresses, and complaints of tens of thousands of Indian women who were being abused both in their home nation and abroad. They were in the UK, the US, and in the Gulf state where I was working at the time. It was all chaotically laid out in comma-separated fields. And it completely put me off my stroke.
It wasn’t any skill of mine which gave me access to all of that confidential information. It was absent-mindedness, the fact that the database was in plain text, and sheer lack of protection. These are things an actual professional would consider when contracted to set up a service upon which people’s lives depend, but which a semi-educated, edX and Youtube-tutored bodger would not.
Yes. EdX and other free MOOC providers are undoubtedly raising the standard of education across the world. They’re giving people thousands of dollars worth of training for free and they have, at the very least, given me another creative outlet. But a little knowledge is a dangerous thing, and what edX has done is the equivalent of teaching someone to drive an automatic in a Walmart carpark before handing them the keys to a stick-shift semi truck on the highway.
People can get hurt.