Talking to one of my developer friends, an epiphany hits me.
It wasn’t really sparked by much, we were just talking about college degrees, the job market in Zimbabwe and why we need to align our resolutions so as to achieve the potential future we can see ahead of us. He (my friend) really isn’t a web developer, more of a Computer Vision enthusiast but the picture we both had was the same. It’s actually really tough out there to get a decent job or even projects, especially in a sector like web development. I think it’d be easier to delve a bit deeper into that topic first to get more context into the epiphany I had. I’d also want to show how I believe when applied, could not only improve the potential prospects in Zimbabwe especially for students, but also help Zimbabwean web developers become a powerhouse internationally too.
A typical day in the life of an average web developer
Typically in the web development sector in Zimbabwe we have the front-end and the back-end. The front-end has to do with the look and feel of the site. The back-end however, has to do with the interaction between data from the server and placing it back to the front-end which applies styling and other enhancements to make a website look good.
Normally an average developer here goes through primary and secondary education, gets a course on basic web development (which normally takes from 3 months to about 6 months at most to get the hang of) and can now become a full-fledged web developer, hurray!
The next step is looking for a job. This is where the developer knocks on several doors and drops in a dozen CVs which 99% of the time are subsequently ignored faster than our President passing an ice-cream vendor. After the developer gets tired of waiting around or if they’re a little similar to me in that working an 8-4 doesn’t appeal too much to them, they go out and look for websites and projects to do. Most of the sites they can get their hands on are 50 dollar jobs to about 200 dollar jobs. These can be done in about a week or a few days but problem is, some of these jobs aren’t really sustainable.
Some of the people devs approach to do sites for actually might have a competitor doing it for even less, or if the potential client is even a little tech savvy, they can just decide to go on a site like WordPress or Wix and get a template which is just as good, or even slightly better than the one the average developer was going to use.
Therefore, to compensate for the low income traffic from web designing, devs often take some of the money to do side hustles (because you know how we Zimbos do. Also, if they have a few good contacts, it is possible to start a small web development business and actually make end meets for the most part. Yet, question is; this really what they paid over $4000 in college fees for???
Again, why aren’t they as successful as people like the guy who had middling grades at school? Not only is that guy now making far more money than them, but he is the one who’s actually helping them find interviews and jobs. Even with grades, I tell you there’s nothing to write home about.
All this has to do with the epiphany I had, and also the hidden potential I discovered in the most unlikely of places.
I can already imagine someone thinking that they know what this “epiphany” of mine is already and rolling their eyes at this article as I’m writing. But before you go on a commenting rampage: No, I am not going to talk about “how passion solves everything” (which I somewhat agree with but I just think the way it’s used is wrong) nor am I going to encourage you to quit college (despite how much I’ve been tempted by self and others to quit because those maths and statistics courses still give me nightmares to this day).
College is an amazing place where there’s an incredible pool of smart people (and attractive too) across various disciplines all within several metres from each other; talk about an inventors dream.
This epiphany of mine actually has to do with something all Zimbabweans learn and master overtime. It involves working harder and studying more than you ever thought was necessary. It’s an epiphany that helped me negotiate a contract where I got close to 5 to 10 times as much as a typical visual designer on a single website alone. This isn’t to brag or showboat to the readers because I am not even at half the level of the abilities that would allow me to negotiate contracts at that level on a fairly regular basis.
In fact, I actually realised my interests lie in a completely different area and moved away from visual design but I do sporadically use some of those (admittedly rusty) skills to use. I even still apply some of the design thinking principles in other areas of my life which makes me grateful for taking the time to doing it. That epiphany is actually what enabled me to make the so called discovery of the hidden potential in web development that I want to speak about now.
The story of fried beef
The epiphany is really a few simple principles I realised. When everyone is selling fried beef around the corner, you can sell chips to complement the beef instead. That simple. Actually it’s a not too deep an analogy and it oversimplifies some things but the premise is simple.
Development in general is much deeper than people starting out give it credit for. Also, development is a really wide area you can get into. Using the food analogy, there’s not only different kinds of food stuffs you can sell such as pork, fish, chicken in addition to the beef (breadth); but there’s also a myriad of different ways to sell beef itself such as fried beef, beef stew, beef burgers, beef kebab, barbecued beef (depth)… I think it’s a good idea to stop here before I empty someone’s pockets on a nice, tender, juicy steak.
I may or may not have been hungry as I’m writing this.
If you were paying attention to the first and the second analogy, you’ll notice that most of the food providers talked about are neither really deep, nor wide. The chips retailer might have less competition in his space, but he might not actually be as successful as he might think. Which is what sometimes happens when a person just aims to learn a language like say Ruby or Go to be a different web developer . Yes, they might actually end up having zero competition, but also rarely find jobs. This is even more frustrating because even if you get thrice the pay, if the job is ten times less commonly found, it’s a bigger loss to you.
Going deep or going wide is good in that it’s a layer above people starting out. The average junior guy who knows 3 languages is going to be more useful to a company than the average junior guy who knows 1. Likewise, the average junior guy with 3 years’ experience coding PHP websites is going to be an easy pick over the average junior guy who hasn’t made anything.
Taking the food example again, it’s like a retailer deciding to become a fast food restaurant and serve a variety of dishes. It’s rare to see a person who sells chips alone to be crowded by customers. But Chicken Inn, Chicken Slice, Kentucky Fried Chicken and any other chicken store are always full. That’s the power of adding the dimension of quantity to your repertoire. But that isn’t the whole story, otherwise it would painfully easy to stop here and now and just wrap things up by saying learn more languages, do more things and you’ll soon be earning quadrillions and quintillions like in the old days of Zimbabwe, only with real money. It’s not. That’s where the third layer comes in.
The tipping point
Taking the food example once more, the fast food restaurants are probably enjoying a large number of customers and all the tiny restaurants combined make hundreds of thousands of dollars a day. Yet there’s a small shop at the corner where about a queue of about a dozen people who are holding 20 dollar bills in their hands. And at the opposite end of the shop are people walking out holding out a box of fried beef, albeit an incredibly fancy box of beef with deliberate and delicate font written “the best fried beef in the country” with the meat neatly arranged in fascinating shapes.
Whenever the queue seems like it’s going to run out of people a couple more people excitedly join the queue. Sure the number of people buying doesn’t match the couple of dozen eating at the fast food outlet, but to the vendors selling their fried meat, this amount is beyond their wildest imagination. Eventually the small shop owner has to reject (strong word but yea) some customers because he can’t take any more orders. The expectant customers then disappointedly leave and promise to get there earlier next time.
As they walk by they pass both the fast food outlet and the street vendors (who also happen to be selling fried beef) without so much as even glancing in their direction.
So what is it that makes the owner of the small shop different from the street vendor that sells fried beef as well for practically less than a tenth of the price that the small shop owner does, yet has nowhere near the same number of customers? The fast food restaurant might be making much more money overall, but a single individual with far less customers overall is actually making quite competitive profits with an entire outlet full of staff which may seem surprising at first glance.
Maybe you’ve seen this situation a lot in different areas of your life.
An Apple device can cost twice the price of a device with similar specs, yet it still can be sought after like a selfie with an armed soldier during the freedom march – buying an accessory that’s far more expensive than the one in the road just outside that shop. And let me just say it now: no, it isn’t juju or some form of witchcraft that they’re using to boost sales. It’s quality.
Apple devices want to cater to the sense of quality of customers so much that they have Sir John Ive engineer designs that will have Apple fans drooling. You’re probably buying that ridiculously more expensive accessory because you know the build quality will last you far longer than the equivalent cost of buying cheap replacements over and over again. It’s the same with software development and especially web development.
Most high end companies who want a professional and beautiful website will go to creative agencies in Zimbabwe to get a website done for thousands of dollars. Question is why don’t they go to the street and get it done by any one of the dozens of web developers in town? The answer is really quite simple and I saw this first-hand. The high end companies don’t just want simple or average websites, they want to stand out. They want their brand to be associated with quality. They expect the person developing their site to be able to breathe beauty and uniqueness onto their site.
It’s not like they don’t want to hire cheap developers, after all, every company wants to save money in the long run. It’s because they can’t hire the average developers. Even if they offered twice as much money as they normally would to a developer without the necessary quality, the developer themselves, as desperate for a job as they are would decline the job because it will be way above their skill level.
I actually witnessed this situation first-hand where a person was being offered a lot of money to do part of a project but in less than 3 days they had quit because he wasn’t able to cope with the demands of the task. The job involved a deep understanding of element positioning and dynamic animations of which the guy only had the knowledge of the fundamentals. A deep knowledge of the fundamentals yes but the fundamentals are barely scratching the surface when it comes to development. Yes, you can know how to develop sites using HTML, but do you know the reason why the current version is called HTML5? What features did it add that will make your life easier as a developer and what can it do that HTML4.01 and XHTML can’t do? It’s in those differences between versions, in those limits where your true worth as a developer comes and shines through.
And that ladies and gentlemen was my epiphany.
Learning the basics and the fundamentals are really important because that’s where the foundation of all development is, but let’s not just stay in the basics. There’s a reason why the W3 documentation of HTML5 and CSS3 (basically the book that tells all the browsers what the web should be capable of doing) is thousands of pages long and still growing with every year.
Most of the highest of high end websites that will blow you and your client’s minds are the ones that push the abilities of the web to its very limit. Those websites that cost tens of thousands of dollars cost that much only because they’re websites you’re not going to find anywhere else. There’s no cheap template that can be just downloaded and slightly tweaked, or if there is, it will cost upwards of thousands of dollars so the company will decide to go custom anyway.
Those templates on WordPress and Envato that cost a hundred dollars and are downloaded thousands of times? They’re made by people just like you. People who’ve not only worked hard on the basics, but have also worked above and beyond, perfecting their skills to the point that they can sit down at home and code a template in a week or 2 and start earning passively afterwards. They don’t even need to look for clients because their work literally sells itself. In these trying times where money is hard to come by and well-paying clients are few and far in-between, wouldn’t it be nice to just be able to have your websites have international buyers giving you real US dollars because they’re so good?
If you’re a python developer, have you ever wondered why Python went from 3.3 to 3.4 to 3.5 very quickly and what the point was because you never noticed any difference? One of the reasons actually has to do with asynchronous requests like what node.js uses which if you take the time to learn and really understand could make your Python API calls dozens of times faster. I actually literally learned this one day just checking out the first page of my Python 3.5 documentation in the section that says what’s new. Now imagine if a company were to hire someone to design their Python API for a high traffic app. Who would they hire, the 9 other people with just the fundamentals, or the 1 person who not only knows his fundamentals but can actually rewrite their code to be exponentially faster? That person might even start off with a higher salary than his peers just because of going slightly beyond the expected and just took a casual look at what’s new and what can be done.
It is that single line that can be the difference between getting promoted and counting your coins. crazy right?
I have a lot more to say especially about the hidden potential of the internet which was the main focus that I wanted to share and discuss about, but the discussion of going beyond basics is a good stopping point for now. It’s also good enough to get the gears grinding.
I believe, especially for students, that if you decide to only take on one resolution this year, make learning above and beyond what you’re taught a priority. You’ll reap a lot of benefits later on or even in your education.
Attachment might be easier to come by because you can provide immediate benefits to your employer. Those crazy projects you and your friends dream off can just become a reality because you might find some piece of information or design that can help abstract and speed up the tricky parts.
If you don’t feel like it’s useful or applies to you, then its fine. But don’t be alarmed when someone who earned way less than you or had way worse grades is suddenly driving the car that you’re still trying to save up for. When that happens remember it’s not magic, maybe he just read up on the documentation…