Where are all the skilled developers?

I don't know about the US but I can tell you that employers in the UK have long had the same complaints in terms of being able to source skilled candidates (also with some of the same root causes such as not being willing to invest in juniors.)

One thing I notice in SA is that the types of requirements for developers and software engineers is less diverse than the UK. Over here at the moment it seems to be mostly C#.net with some php, Java and other stuff and mostly for business or web based apps. I don't see many adverts here for realtime or embedded systems for example or ada (which has been traditionally formed a big part of UK based defense, air traffic control, rail and space/satellite software projects.)

I think the diversity (or lack thereof) is partly a sign of current trends and partly because of the demographics of industries in SA versus the UK.
 
Who is this Jay-SONg you guys keep talking about? :rolleyes: *sarcastic* **sarcastic** (in case you can't tell I'm being sarcastic :rolleyes:).

IMO varsity is not there to teach you everything. It's there to give you the basics to be able to keep on learning by yourself (some people are able to do this from an early age). In my experience you only learn to carry on learning when you start working. The client wants a web service and you don't know how to do it, "Mr Client man, I can't do this?" cannot be your answer :)

About 3 months ago, we got a few grads to work with us on our system (which is quite large) and they have quickly got to grips with the system through the mentor-ship of our senior devs. If you, as the senior dev, do not mentor them and help them when they are struggling, you're not a "skilled" developer/person.
 
JSON is one of those IT thingy's that everyone says you should use, but very few bother with.

It has it's place, recently I used it to great advantage. I suppose I could have marshalled and unmarshalled XML, but for JavaScript it can't be beat, the resultant classes in Java were pretty much the same, however.
 
Who is this Jay-SONg you guys keep talking about? :rolleyes: *sarcastic* **sarcastic** (in case you can't tell I'm being sarcastic :rolleyes:).

IMO varsity is not there to teach you everything. It's there to give you the basics to be able to keep on learning by yourself (some people are able to do this from an early age). In my experience you only learn to carry on learning when you start working. The client wants a web service and you don't know how to do it, "Mr Client man, I can't do this?" cannot be your answer :)

About 3 months ago, we got a few grads to work with us on our system (which is quite large) and they have quickly got to grips with the system through the mentor-ship of our senior devs. If you, as the senior dev, do not mentor them and help them when they are struggling, you're not a "skilled" developer/person.

Didn't know a line of Java (okay I knew "public static main") upon leaving varsity. Two textbooks and a load of learning on the job later and I'm specialised in that language.

I learnt my basics (literally on Basic, then C++) at university and from there it was just a matter of learning the differences that make the language I now use different. A few APIs, syntax lessons and a bit of Google later and you'll be up and running.

And for all those who claim that using Google makes you a weak developer, it doesn't. Google, usually lending to forums, hasn't given me insight into new techniques that give me an edge. Your attention will also be drawn to some unusual bugs and shortcomings you didn't know existed (and some creative stop-gap measures).

What I would not recommend is copy/paste - if you're on the forums then understand how the code works before using it! That way it's easy to replicate.
 
Didn't know a line of Java (okay I knew "public static main") upon leaving varsity. Two textbooks and a load of learning on the job later and I'm specialised in that language.

I learnt my basics (literally on Basic, then C++) at university and from there it was just a matter of learning the differences that make the language I now use different. A few APIs, syntax lessons and a bit of Google later and you'll be up and running.

Exactly. Essentially, all languages (OK, maybe not all but certainly most OO languages) provide you with an API of commonality that allows you to develop whatever you want. Guys have programmed OSs in Assembly language, others in Java, C++, etc. They may all look different but the concept of one OO language being able to do everything another OO language can do is certainly plausible. The only difference is the tools the language provides you with to get things done.

I came from a C# background, moved into Java (C# is slightly better than Java IMO - some of my colleagues would smack me across the head for saying that but I'd slap them back, so it's all good). Anyway, right now, I prefer Java because of using Windoze at work (MS Partner and all) and using Linux at home with the exact same set up at work, I can easily and painlessly continue my work at home or the office (if needs be).

And for all those who claim that using Google makes you a weak developer, it doesn't. Google, usually lending to forums, hasn't given me insight into new techniques that give me an edge. Your attention will also be drawn to some unusual bugs and shortcomings you didn't know existed (and some creative stop-gap measures).

What I would not recommend is copy/paste - if you're on the forums then understand how the code works before using it! That way it's easy to replicate.

To add onto this, I prefer to create a new project, copy/paste the code I get from the net (sometimes not possible) and start hitting break-points or printing out certain structures to get an idea of how the code solves the problem I'm looking at. It usually is a hack-about way of learning for most people I work with but I tend to never forget code that I have debugged (crazy mind I have :p).
 
Exactly. Essentially, all languages (OK, maybe not all but certainly most OO languages) provide you with an API of commonality that allows you to develop whatever you want. Guys have programmed OSs in Assembly language, others in Java, C++, etc. They may all look different but the concept of one OO language being able to do everything another OO language can do is certainly plausible. The only difference is the tools the language provides you with to get things done.

I came from a C# background, moved into Java (C# is slightly better than Java IMO - some of my colleagues would smack me across the head for saying that but I'd slap them back, so it's all good). Anyway, right now, I prefer Java because of using Windoze at work (MS Partner and all) and using Linux at home with the exact same set up at work, I can easily and painlessly continue my work at home or the office (if needs be).



To add onto this, I prefer to create a new project, copy/paste the code I get from the net (sometimes not possible) and start hitting break-points or printing out certain structures to get an idea of how the code solves the problem I'm looking at. It usually is a hack-about way of learning for most people I work with but I tend to never forget code that I have debugged (crazy mind I have :p).

Well it amounts to the same thing, you've made an effort to learn why the code does what it does (even if it is a but ass about face :p).

As for Java, I've found it has a new advantage: Android programming. Just developed and sold my first application! Mobile is gold at the moment.
 
I don't know about the US but I can tell you that employers in the UK have long had the same complaints in terms of being able to source skilled candidates

Precisely. The reason that so many good dev go to the UK or US is because the demand is so high there. The net result is that there are far more good developers in these countries, but also that the supply of available good developers is relatively low. In SA, a lot of companies think that they can't attract developers because of a lack of supply, but the reality is that their demand just isn't high enough on a world wide scale (if it was, the pay would be competitive).
 
If you are talking about the immigrants, then stop doubting. It's fact.
The absolute creme de la creme stands ques to get into American universities and silicon valley.

Compare that to South Africa. We have the opposite, where many of our top talent leaves. So it would go to reason that we would have a proportionally higher amount of poor developers than they do.

This is absolutely true. Although as I mentioned in my previous post, it doesn't necessarily mean that the average "looking for work" developer is better, since the demand is so high there.

Personally, I left SA for Silicon Valley, because the demand for my skill level was so low in SA, and the SV opportunity sought me out and made me an offer I couldn't refuse. I haven't really contributed to the job market there much though, but was eventually poached by another company.
 
I disagree for the following reason: America in particular gets tons of immigrants that are among the best. It's harder to get in if you are mediocre. Surely this skews the curve that in the end they have proportionally a greater number of good developers.

Just because America gets more immigrants doesn't mean they have a higher proportion of good devs than other countries. They may have more, but then they will also have more bad devs.

Have you worked in the US? If you have I'll accept your statement as that represents your experience.

When it comes to measuring skill across a population you will always find that the very highly skilled are in the minority. You can't even put into 2 groups like good devs and bad devs, because there is no proper criteria and no way of accurately measuring skill.

The only certainty you have is that if you look at any one dev, you can be 99% certain that there is somebody better and there is somebody worse than that dev.
 
Just because America gets more immigrants doesn't mean they have a higher proportion of good devs than other countries. They may have more, but then they will also have more bad devs.

I expect that the US immigrants he is referring to are the "Highly Skilled Category". They're filtered by qualification (equivalent of a 4 year degree), and by the fact that a company has interviewed them and considered them good enough to go through the excruciating visa process and pay for their family's relocation. This is how Google, MS, Adobe, Amazon, Facebook, Nvidia, Intel, AMD, etc. get a lot of their hires. In general, this group is far less likely to consist of bad devs. The rate is about 85k visas issued per year, with a big chunk being SW devs. There were some amendments awhile back that increased it to several 100k visas/year for a few years (back to 65k now). Over the last 2 decades or so, this has probably resulted in close to 1M high end devs entering the US. This is also 1M high end devs not in the countries that they came from. The US also isn't the only country that does this, plenty of countries require sponsorship, high levels of qualifications, income requirements, etc.

I agree that the US doesn't necessarily have a higher percentage than everywhere else because of this (there could be a whole cluster of incompetent coders living in a swamp in Louisiana for all I know), but there is a global flow of talent from less attractive (criteria may vary of course, but there is some common consensus) countries to more attractive countries. The more attractive countries generally have higher end industries and better training and better education. Also, the movement of the better developers is far less constrained than for less talented (job sponsorship, degree requirements, income requirements, etc.), so I would hazard a guess, and assume that the US and UK (and Finland, and Switzerland and...) do actually have a lot more higher end talent than SA.
 
I expect that the US immigrants he is referring to are the "Highly Skilled Category". They're filtered by qualification (equivalent of a 4 year degree), and by the fact that a company has interviewed them and considered them good enough to go through the excruciating visa process and pay for their family's relocation. This is how Google, MS, Adobe, Amazon, Facebook, Nvidia, Intel, AMD, etc. get a lot of their hires. In general, this group is far less likely to consist of bad devs. The rate is about 85k visas issued per year, with a big chunk being SW devs. There were some amendments awhile back that increased it to several 100k visas/year for a few years (back to 65k now). Over the last 2 decades or so, this has probably resulted in close to 1M high end devs entering the US. This is also 1M high end devs not in the countries that they came from. The US also isn't the only country that does this, plenty of countries require sponsorship, high levels of qualifications, income requirements, etc.

I agree that the US doesn't necessarily have a higher percentage than everywhere else because of this (there could be a whole cluster of incompetent coders living in a swamp in Louisiana for all I know), but there is a global flow of talent from less attractive (criteria may vary of course, but there is some common consensus) countries to more attractive countries. The more attractive countries generally have higher end industries and better training and better education. Also, the movement of the better developers is far less constrained than for less talented (job sponsorship, degree requirements, income requirements, etc.), so I would hazard a guess, and assume that the US and UK (and Finland, and Switzerland and...) do actually have a lot more higher end talent than SA.

You would be amazed at the crap devs who can get visa's in these "high skill" categories. You don't need to take a test. They determine high skill by what is on your cv and your qualifications, your membership of professional bodies and your current relative salary. They then assume you are "highly skilled" if you can tick all the boxes.

In the UK a lot of people failed to get these visa's renewed because they couldn't keep their jobs.

I do take your point about the US/UK attracting more people with skills, but because of the sizes if those labour market I would argue(I accept I could be wrong), that this doesn't neccessarily change the balance significantly.

In my experience in London, the lousy foreign devs where many. I have been working in Folkestone for going 3 years, and the number of local devs far outnumbers us immigrants. These Brits are hardworkers. Not just the devs. I get to deal with marketing etc as well. All Brits. Very competent. The mix is very interesting. It's only in IT where we have a few blokes from Pak and India. If there is a foreigner in another dept, then they are invariably Ausi, American and there is one South African poppie from the Free State in the actuarial dept.

In our IT there are 2 other South Africans. 3 other devs from India and Pakistan. There are about 75 devs in total.

We have a shortage of skilled devs :) and I believe they are looking for 1 or 2 devs for the section I'm in.
 
Btw, the co I work for has only ever not extended someone beyond probation twice while I was there. 1 was from India and the other from Scotland.

Didn't surprise me as I doubt anyone ever understood a word they said. I know I didn't :)
 
Zippy had a comprehension error. You understand that it's mostly high skilled individuals that get into America. If your skill is not on par you won't get in. The immigration flow isn't equal.
 
I think there are a few issues.

But expecting every student to know what JSON is is also a bit unreasonable.
If they were taught fundamentals in something like xml in the course material those skills will translate well to JSON and its up to the senior dev to decide on technologies and introduce those to the juniors.

Is it really? When I was a student I spent my nights making crappy little apps - and in doing so you eventually need to use x or y service, and you're going to come across it at some point. Anyway, was just an example.
I agree, developers woth their salt at least know something about modern methods, even if youre still being taught C at uni... the difference between an artisan and a good artisan is the level of personal interest in the trade.
 
You would be amazed at the crap devs who can get visa's in these "high skill" categories. You don't need to take a test. They determine high skill by what is on your cv and your qualifications, your membership of professional bodies and your current relative salary. They then assume you are "highly skilled" if you can tick all the boxes.

In the US, you have to get a job offer too - most of the visas go to the heavy weight companies, not the mom and pop shops. These companies are renowned for their harsh interviews. Sure, some crappy devs slip through the cracks, but this idea that this constitutes a significant percentage is a gross over-generalization.

In the UK a lot of people failed to get these visa's renewed because they couldn't keep their jobs.

I do take your point about the US/UK attracting more people with skills, but because of the sizes if those labour market I would argue(I accept I could be wrong), that this doesn't neccessarily change the balance significantly.

It does have a significant impact - The percentage of silicon valley high tech employees that arrived on H1B's is very high. Still, even if you assume that in such a huge country silicon valley is a drop in the bucket (it isn't iirc California is the 4th largest economy in the world), the impact of the skill exodus on SA (to all the other 1st world countries) is huge, because it is such a small labour market.
 
Indeed. The more of them ship out overseas the more work and higher pay there is for me :twisted:

This is true for a while but the problem is the resource gaps exist.

As a result the large Indian IT companies are seeing these gaps in SA and beginning to bring devs in to fill them, in large numbers. In the end this will completely change the IT landscape in SA as it has done in developed countries.
 
It has it's place, recently I used it to great advantage. I suppose I could have marshalled and unmarshalled XML, but for JavaScript it can't be beat, the resultant classes in Java were pretty much the same, however.

Of course it has its place. I prefer JSON. Just that it isn't as widely adopted as some here think it is.

Many meetings where we suggest JSON, and get "we already use XML" and don't have budget to change it"
 
I have been working in Folkestone for going 3 years, and the number of local devs far outnumbers us immigrants.

A bit off topic, but what is it like there? I've always fancied the idea of living in Kent one day (my mind conjures up a lot of lush greenery and stone buildings) - is there a big IT/engineering industry in any of the cities there?
 
Top
Sign up to the MyBroadband newsletter
X