Popular Now: App of the Week: Clear To-Do List (Now No.1 Worldwide)

The Developer Crunch in South Africa

Published by on Jan 23rd, 2012, 39 Comments

Steve Balmer - Developers, Developers, Developers, Developers Anyone who runs a tech startup will tell you that trying to hire developers is probably just as stressful as raising venture capital. Why? Firstly, South Africa has a short supply of the right kind of developers. Secondly, the right kind of developers cost a fortune and so they work for larger companies who can afford them.

Why is this an issue? Well in order for the local startup scene to flourish we need more than just sufficient venture capital. Startups need access to talent in order to execute. It took me months to find and hire the right people at Aduity and most startups still find that true. This shouldn’t be the case at all.

1. The Right Kind of Developers?
I am not out to insult the intelligence or skill set of any developers. However, for startups the right kind of developers are proficient in one or more open source languages (eg. PHP, Python, Ruby) and can work across the stack.

While we have a decent pool of ASP.net, C# and Java developers, it is cheaper and more efficient for startups to utilise open source technologies (in most cases). Unfortunately, many of these skilled developers don’t adopt open source languages simply because they don’t know any better, are stuck in their ways or earn enough not to care.

2. Job Security & High Salaries
In my experience this is the deal breaker. It’s hard to convince a developer who has job security and a decent salary to join a risky startup for less. In many cases I can understand their concern. What if it fails? Where will that leave them and possibly the people that depend on them? However, I would like to set the record straight.

If you are a competent developer, you have no need to worry about job security because you are in such high demand it’s actually quite scary. And it won’t change any time soon. If the startup you join fails, simply move onto the next one or go back to corporate. Interestingly enough other startups are willing to hire developers from a startup that has failed. It’s a practice that further encourages startups to take risks, try brave new things and worry less about failing.

What about the money? I recommend negotiating with a startup to earn what you need to be comfortable (along with stock options). If all you are working for is money, then I would question how happy you are in life? Go ahead and take the risk to join a bunch of people trying to achieve something extraordinary instead of wasting your brilliant talent on building crummy software that nobody appreciates.

Bonus Point: Education Needs to be Addressed
Lastly, I think it’s fair to say that the education around developers needs to improve too. Universities need to offer PHP and other open source languages along side (if not in favour of) the existing languages taught. In fact, we need to see more students encouraged to enter into technology related degrees. It’s not just developers that are needed but people that are more technically inclined as well.

Disclosure: Opinions by writers are just that – opinions. They do not necessarily reflect the views of Bandwidth Blog.

Comments

  • Renier Kriel

    few great points. I know so many hardcore dev’s that are stuck in corporate (and hating it) simply because they need the security.  

    If we want to see SA’s tech industry booming we need to get them out of there! 

  • http://twitter.com/mobivangelist Peter Matthaei

    I’d personally like to see universities doing some coursework (with a practical project) on the technology stack that web-based start-ups typically use. (Something like a LAMP stack, with some nosql and cloud-based services like EC2 thrown in for good measure.) I agree fully with Tyler that it seems the typical career path in IT in SA looks something like this: Do CS at school, study Information Science at university and learn some Java, find work with a corporate. (I’d like to add “die a little inside every day for the rest of your life” to the list, but that’s my entrepreneurial bias talking.)

    Let’s hope some up-and-coming devs heed Tyler’s advice. You have your entire life to earn the big bucks as a dev (and a good dev can earn the big bucks). But it’s way more rewarding to kick off your career with a start-up and do awesome things while you don’t have to worry about a spouse, children and a bond. It’ll give you a massive head-start in your career later because you learn so much more and you learn how to cope with pressure and responsibility very early on.

  • Anonymous

    Last year I did honours in Socio-Informatics at Stellenbosch University. We did PHP, Python/Django, frameworks such as CakePHP. We also got involved with security, system analysis and design, systems administration (unix/linux cli) stack building, business fundamentals, basic project management and system development processes (learning of scrum and tools such as kanban). In undergrad we did Java and basic web design with html,css and javascript as well.

    I’m glad I took this course. Learnt a lot (and the right stuff). The great things is, you can take it along with other business courses such as marketing (which I did).

  • Nic

    Looking for a job?

  • ConcernedCoder

    I’m just making this post to challenge the last point of the article. It’s not particularly difficult to pick up a new language once you understand the principles of programming and personally I feel that Java is a great platform to learn the fundamentals of programming. I shudder to think what would happen to the programming prowess of our country if we were all taught to code in a language as inconsistant as PHP.

  • http://twitter.com/yardleylondon Yardley London

    ooo

  • http://twitter.com/ninjasforhire Ninjas For Hire

    The other option is always to outsource your development work, and I’m not talking about outsourcing to India, there are affordable local offerings too, that might even be available for part-time on-site work too.. depending on the budget of course.. you will probably find that it can be more affordable than hiring someone in some cases :)

  • Anonymous

    Having ran my own web design and development business for 3 years I experienced first hand the frustrations Tyler is talking about. However I feel the authors frustration overcomes logic in this line: ”If all you are working for is money, then I would question how happy you are in life?”. 

    I feel that it is acceptable to offer an employee a less fruitful salary for a lucrative profit share or dividends in an established business with proven growth and financials. But it’s something completely different to expect a talented developer to think like an entrepreneur and take a salary which covers the basics (I am assuming little to no savings each month) on the premiss that there will be a very big financial reward at the end. 

    We’ve all see the RSA Web animation which explains it’s only when you pay your employees enough to not have to worry about money, when you take money out of the equation, is when you get the most from your employees.I understand there is a balance, so my observation was merely that although working purely for money is probably not going to make you truly happy, not having to worry about ones income is a very important part of the equation.

  • Nenad Ristic

    I think that I am one of those devs… 
    One point that needs to be mentioned is that a decent developer should be able to pick up a new language with just a little bit of effort. So, rather than looking for a Ruby/Python/PHP developer, you can also look for a good developer that would be willing to work in those languages. Speaking from personal experience, Ruby and Python are not very hard to learn once you know Java.

  • James M

    As a young 20 year old who start-up crazy and well versed in being an uber geek, can someone point me in the direction of a couple good PHP books/tutorials for an absolute beginner. I did java at school but that was a couple years ago now.

  • Richard Barry

    100% correct.  We’re a startup and we look to hire good developers, not Java or Ruby or whatever developers.  If you’re not mostly language agnostic, you’re not good enough for what we want to do anyway.

  • bradly

    Interesting article, definitely a topic that comes up when speaking to other entrepreneurs and techies. Makes me really glad I’m a dev!

    Like you say Tyler, I can always get a comfy job, but for the past 4years I have been working for startups, huge learning curve,little sleep,lots of brain bending! But I’ve learnt a ton more by actually doing a ton more than I would have staying in corporate.

  • http://timlind.posterous.com Tim Lind

    I don’t think there is anything inconsistent about PHP. The extra benefit it gives is that students would be able to work on reasonable real world projects more easily, which teaches them the full development process using current industry standard frameworks / tools.

    It also doesn’t mean that you can’t start off with something like Java.

  • http://timlind.posterous.com Tim Lind

    When I started PHP I just went through the official PHP manual. Having your own example application to practice with is very important, and will seem hard at first but that’s how you learn. You can also check out some of the small libraries / frameworks over at microphp.org, they might be a bit more manageable to learn and look into.

  • http://timlind.posterous.com/ Tim Lind

    Changing languages might not be difficult for a good programmer, but it can take a few months to actually regain the quality and speed of work. This is true for the language and the framework. 

    It’s obviously possible for a developer to maintain proficiency in several platforms, but there’s a limit. I don’t think expecting developers to change languages and frameworks is a good approach on an industry scale. We should be making an effort to increase the pool of skills concentrated around certain platforms.

  • http://timlind.posterous.com/ Tim Lind

    You made a great point about open source languages @tylerreed.

  • Frustrated Employer!

    Having been a dev all my life and now running a company of tech support and dev people – the most important thing – by far and away over anything else – is the proper grounding and training in principles of design and programming. Without proper basics (language agnostic) – you are just a hacker. You might be a talented hacker, but still a hack. 

    Anything that is written needs to be maintained – and likely not by the original writer – and poorly designed and written software is difficult (impossible) to maintain.

  • Googleisyourfriend

    The fact that you’re asking that question here means that you’re not ready for a business.

  • ConcernedCoder

    Hello Tim,
    I believe you may have misunderstood me. I have no problems with anyone using/learning PHP. One can become a programmer without understanding the fundamentals of Computer Science / Software Engineering. Computer Science gives a person the fundamentals they need to write great software. I don’t feel PHP is the best language to teach a person these fundamentals. There are many reasons I feel this way. Some of which can be found here ( http://webonastick.com/php.html )

    You don’t see any inconsistencies? Look no further than their naming conventions. In fact, I found these from a quick google search: ( http://tnx.nl/php.html#names  http://tnx.nl/php.html#args  http://tnx.nl/php.html#args)

    P.S. I don’t want this turning into a PHP vs debate.

  • Anonymous

    Judging by the number of startups and the demand for developers these days I am really struggling to see why job security is an issue. If the startup you work for fails then you get to learn some lessons and go to another one and take that knowledge with you.  That way you get to work on more things and become more rounded as a developer.  

    Its not for everyone though, I’ve met lots of really good developers who don’t want the emotional roller-coaster of being in a small business and I can respect that too.

  • Charl Norman

    Corporates also pay higher salaries than startups, the culture of giving your core developers equity in your startup with a lower salary does not really exist in SA.

    Trying to find a solid php/mysql dev right now – no luck so far… 

    Being a dev in this market is like being a banker in the 90s… sought after!

  • http://twitter.com/RichardWooding Richard Wooding

    I think this article is spot on, I can develop in many languages, Java, Python, PHP, C#, Objective C, C, C++. Modern PHP with a good framework (e.g. Yii Framework) on a good web server (e.g. Nginx) is very powerful, and can build amazing systems quickly.

    Apart from language skills, I think there is a general lack of developers with good development skills in South Africa in general, sigh.

  • Zkrige

    Even corporates don’t really pay amazing salaries. Freelancers make at least double the industry standard for top level programmers. And we get to choose our hours, projects, languages, etc

  • Imel

    There are plenty of great open source developers in the Garden Route.

    We write serious code for serious applications, yet find it hard to get contracts from companies in the large cities.

    Somehow the remote and rural destination makes big city firms not take us seriously, yet they outsource to countries far far away.

    Perhaps those in dire need of solid open source skills should look to the rural parts of the country. Just don’t expect us to relocate.

  • http://www.twitter.com/simondlr Simon de la Rouviere

    I think Python is the best place to start.

  • http://twitter.com/liambeeton Liam Beeton

    I currently have the best of both worlds. I work for one of the leading Microsoft development companies in South Africa and am in the process of building mobile products for my own startup when not at my day job. I agree that Microsoft licensing is not targeted at startups and therefore people building software as part of their startup strategy will use open source software to minimize costs. Microsoft does offer free software for 3 years as part of their BizSpark programme and is very worthwhile having a look at when considering technology for a startup. 

    As a developer I really enjoy open source technologies and agree with the author that joining a startup will give you the freedom to explore these technologies as big corporates will only consider enterprise dev tools with a proven track record because they are thinking of the next 5 to 10 years whereas startups are able to quickly leverage and adapt different technologies to their needs as they go and we can see this by the amount of new dev tools that have spawned over the last few years.

    Job security is a myth in the development world as big companies will always look to trim their dev teams first to cut costs and go into maintenance mode during tough times and developers are often the first to go when retrenchments are imminent. Sure a startup can go belly up but developers are very lucky in that they are in high demand and have many options of employment at their disposal. I have been a consultant, contractor and permanently employed with various companies in SA and have never felt that I am not able to find work or use my knowledge to generate income if I find myself without a job.

    Software engineers should take risks and find what suits them. If you have been working in a corporate, move to a startup and get an opinion and vice versa. I really dont think their is too much risk in doing so.

    As for salaries you will always earn more up front with a corporate but what if you join a startup and they make it big. You will then be considered a founding member and reap huge rewards later on. You just need to decide if the product(s) you are working on will make it big?

  • http://twitter.com/entegral Adriaan Grové

    well said. most developers lack the proper basics to write good solid, supportable code. I guess this is part of our responsibility as senior developers or tech company owners, to enforce this and train developers coding the right way – it is so important. It is both exciting and very challenging!

  • Tyrone Avnit

    Interesting read. People are quite misinformed when it comes to
    Microsoft products. I know this has been an issue in the past, but MS has come an extremely long way with their open source MVC framework. Elegant simple and so powerful. Anyway I digress. My main point is, learn Javascript

  • Tyrone Avnit

    Sorry submitted early. Typing from
    My iPhone so please forgive me. What I was saying, if you looking into getting into development, all deva should learn the fundamentals of JavaScript. It’s the first time where you can use the same framework for client side and server side programming. It has it’s pitfalls but with backbone and node, I believe we are going to see some unbelievable things. Take a look at trello and their tech stack. I believe they are working towards the future.

  • Charl Norman

    I personally hired several developers during my time at Naspers that earned 600k p/a. Thats decent.

    Sure, quality of life is better when you freelance and manage your own hours. But then you have to deal with client bull shit all day.. whereas in corporate life 9 times out of 10 you have an account manager buffer. 

  • http://www.builtneat.com Jason Adriaan

    Don’t look for PHP devs, look for Java developers. Java devs generally adapt to new languages easily and most of them have dabbled with PHP before.

  • Wessel

    As a developer for a start-up, another big pitfall, If the start-up fails, is that the equity you receive instead of a big salary ends up being worth nothing.  This takes away a bit of the  lure of the equity sharing.  

    I have worked on 3 start-ups and not one of them had sufficient personal , so you in for long hours, including work that is not even in your field, and a lot of after-hour support that there is very little chance of being reimbursed for. So I can easily see why you would seek the safety of a higher paying corporate firm with allot of job security. 

    But I think these might be some contributing factors for the difficulty the start-ups experience to recruit good dev’s. 

    But it is not all doom and gloom there are positives as-well working for a Startup.   

  • Charl Norman

    Agreed, there’s not much of an IPO or acquisition culture in our market. Getting a return on your equity is a long shot.

  • http://timlind.posterous.com/ Tim Lind

    If we design our startups to have a stronger focus on paid consulting work might be less reason to have to take a reduced salary. Maybe we need a different focus / strategy than we get fed by the rest of the world.

  • Leon

    Hi

    Can anyone help point me in the right direction. Based in jhb , I have a semi-new start up with a few mobile apps bringing in a passive income which covers my basic living costs.
    I am trying to find additional custom software development projects but I am finding it extremely hard to get in leads in custom software development. Does anyone have any advice for me on how to attract more leads for business? Any suggestions would be much appreciated.

  • http://www.andyhadfield.com Andy Hadfield

    Lots of chatter from the dev skills perspective, which is interesting. Let me way in from the founder perspective. We NEED to have this debate. And I NEED to meet more bloody developers.

    So, recently been through a scoping and costing exercise for RealTimeWine.co.za as it moves towards becoming a proper startup, not a Twitterblog on steroids. Here was my maths. Let’s say I do an angel round of 500k (pretty average for concept investment in SA).

    It’s a mobile play, so I need web, mobi and apps. Of course, web devs aren’t usually great at mobi and vica versa. iOS devs don’t do Nokia. Nokia don’t do Blackberry. Precious few do Android.

    1 Web/Mobi dev = R30k/month (if I’m LUCKY, prob more)
    1 Designer/UX = R25k/month
    2 App Devs = R60k/month
    ME = thank god I charge for speaking

    Burn rate on staff upwards of R100k/m. I can do 5 months at the angel level to get to some form of prototype.

    OR

    What I’m probably going to end up doing is outsourcing to an agency (in this case Prezence). I can get further on much lower risk for a similar cost.

    Now I know everyone says, hell no, don’t touch agencies when it comes to startup prototypes (alphas/betas) – but I don’t see a way around it in this situation, given that
    a) I’m prob not the best dev manager out there – increases risk
    b) lack of skills 
    c) price of skills

    I’m almost determined to prove that early stage startups can be done – if you pick the right agency. 

    Yes, there’s code documentation, eventual handover etc etc. But what are the risks and time lag of trying to find those 3-4 resources and plonking out anyway?

    Interesting times…

    PS Will whore for developers. Call me. For v2.0 :)

  • Nick

    Er, Java is an open-source language

  • http://twitter.com/cshoko concern

    Great article. We looked for quotes for a website for our start-up in 2010 and the the lowest we got was R110K. Ended up outsourcing to India for R35K. 
    I would love a similar article titled “The Start-up Capital Crunch in South Africa!”

  • http://www.craiglotter.co.za/ Craig Lotter

    Meh, I’m not as invested in your start-up as what you are, so it means that in order to keep me working for you, you need to pay me well.

    Pretty simple really :)

http://www.bandwidthblog.com/wp-content/themes/cnnetwork