Where are South Africa's Software Developers?

After taking a moment to chill, I came to a conclusion. I do not envy anyone trying to recruit developers. We're an impossible bunch.
 
Programming requires a certain amount of aptitude which cannot be learnt IMO. You either have what it takes to be a programmer or you don't.
Generally the type of people who require spoon feeding don't make good programmers. You can show them how to do something 10 times but when one variable or parameter is changed they come begging for help again.
+1
 
There are senior guys around, but the people hiring, work on job specs which is created by some person in HR who got it from the internet. The problem being if you dont match any of the requirements, you are automatically rejected.
We are sorry to inform you Blah blah blah.
Also education for senior guys is highly over rated, I mean if you have 10 years experience, 5 years with a major bank, and then asked to do a TEST in an interview is like asking a carpenter to make a cabinet before you employ him.
I think the way companies employ people must change. Recruitments agencies also need a wake up as they have created this divide between potential candidates and the company.
 
Personally I like the technical tests - people lie and its a good way to weed them out. It gets employers a better objective picture of your skills.

What I dont like is technical tests that are too narrow in focus - for instance tests that you either know a particular thing about technology X that Bill Gates offhandedly mentioned on the 21st of March 2007 or you dont get the job. Good technical tests will test the scope of your role in a broad fashion but then also contain some highly technical questions to separate the good from the excellent. Plus, I like the idea of having brain teasers, to give them a better idea of how you think. My current company did that, and its a good idea. Its more important how you learn and solve problems than whether you know the names of every static class in the System.Net library.
 
Personally I like the technical tests - people lie and its a good way to weed them out. It gets employers a better objective picture of your skills.

What I dont like is technical tests that are too narrow in focus - for instance tests that you either know a particular thing about technology X that Bill Gates offhandedly mentioned on the 21st of March 2007 or you dont get the job. Good technical tests will test the scope of your role in a broad fashion but then also contain some highly technical questions to separate the good from the excellent. Plus, I like the idea of having brain teasers, to give them a better idea of how you think. My current company did that, and its a good idea. Its more important how you learn and solve problems than whether you know the names of every static class in the System.Net library.

You can generally get the persons grasp from presenting them with a scenario(s), even verbally is fine as generally if a person can grasp the concept and detail thier solution, touching on code, especially if you Q&A and they can discuss the shortfalls of certain methods or substantiate why they would do something, then you can assume they have a grasp on the technology. Syntax and technical errors are common and easily overcome with either applied research or experimentation with the code, the ability to not understand a spec and break it down , is a much larger problem.
 
I agree some sort of way to guage a persons ability and train of thought should be administered, but every test I have taken was very detailed. Lets admit it most of us depend on Google to show us in the right direction. I am sure the company just gets the test from the internet. When I was interviewing candidates, I was asked to give them some sort of test and what I did was show them a piece of badly written code and asked them to comment on it. The other test was a common problem and asked the person to provide a high level solution and that worked for us. More importantly is team work and attitude.
 
I agree some sort of way to guage a persons ability and train of thought should be administered, but every test I have taken was very detailed. Lets admit it most of us depend on Google to show us in the right direction. I am sure the company just gets the test from the internet. When I was interviewing candidates, I was asked to give them some sort of test and what I did was show them a piece of badly written code and asked them to comment on it. The other test was a common problem and asked the person to provide a high level solution and that worked for us. More importantly is team work, attitude and aptitude.

Corrected :D
 
You can generally get the persons grasp from presenting them with a scenario(s), even verbally is fine as generally if a person can grasp the concept and detail thier solution, touching on code, especially if you Q&A and they can discuss the shortfalls of certain methods or substantiate why they would do something, then you can assume they have a grasp on the technology. Syntax and technical errors are common and easily overcome with either applied research or experimentation with the code, the ability to not understand a spec and break it down , is a much larger problem.
+1
Flexibility when it comes to language/platform/framework is, IMO, key when recruiting someone to be a long-term asset for the company. Even if the person will be working in a single language using a specific platform, it shows the ability to abstract a CONCEPT and solve problems before implementing a solution in whatever environment is presented. It's the classic difference between programmers and coders.

I do not believe this is something that can be taught, but it can be developed in a talented candidate. That is where a culture of mentorship in a company is a Good Thing.
 
To me rating people junior / senior based on years experience also doesn't mean a thing. We have developers thats been with us for 5 years, and they're still junior's. I wouldn't even trust them to create a master detail form with having it thoroughly QA'ed. I recently moved companies, and my old title was Senior Dev / Team Lead. Now it's just Analyst Dev and i've been in the industry for 7 years. Depends on the company what the tittle is.

What I find is missing in the industry is developers, most people we interview and employ just want to be code monkeys. There is a very big distinction. Developers want to learn the systems, think on what parts a change will affect and then recommend possible solutions. A coder wants to be told exactly what to do and then show him how to do it, every single time.

Knowing the business or the industry you develop for is also where the money is. Don't get me wrong, there are lots of technically challenging projects out there, but its being able to recommend changes to business processes where you prove your worth to a company. Unless you want to stay a code monkey...!

And I definately agree that its usually software houses that develop systems for other companies that employ junior developers. When you get to the bigger inhouse systems, the business is willing to pay the dev's to get the changes out as quickly and painlessly as possible. But it also depends on the company seeing IT as an asset to be used, or merely an expense.
 
What I find is missing in the industry is developers, most people we interview and employ just want to be code monkeys. There is a very big distinction. Developers want to learn the systems, think on what parts a change will affect and then recommend possible solutions. A coder wants to be told exactly what to do and then show him how to do it, every single time.

Knowing the business or the industry you develop for is also where the money is. Don't get me wrong, there are lots of technically challenging projects out there, but its being able to recommend changes to business processes where you prove your worth to a company. Unless you want to stay a code monkey...!

Very true. You might not need to be familiar with a business at first but if you strive to understand it, you provide so much more value, also you become a indespensable cog in the business and this generaly leads to better treatment and benefits as it's seen that you become a key person that the business wants to keep and not have taken away.
 
It's simple. Pay sucks, and companies rather outsource overseas (especially India it seems)... I know a few VERY good developers that left the country.

My feelings as well. Top management see developers as cheap these days, just outsourcing everything. Sure, short term and for extra capacity outsourcing is understandable and a good idea; but time and time again long term projects are messed up/delayed/misunderstood and just thrown away.

And these outsourcing companies will be the first to show off how "proudly south african" they are, even though they don't employ south africans.
 
Developers want to learn the systems, think on what parts a change will affect and then recommend possible solutions. A coder wants to be told exactly what to do and then show him how to do it, every single time.

I whole heartedly agree with that. There are people at my current company that are here to dev (get in get out) with no desire to really learn more. And yes for some people that works. Me personally I believe I am above that and constantly want to learn more and improve more. It is different mindsets.
 
Where are all the Software Developers? We are right here!

A better question should be: Where are all the interesting jobs?

Most of the "rockstar" software devs want to change the world. We just don't have places that will let us do that in SA. Not much choice here in good ol' SA.
 
Is it just me or is most software development in SA based around consulting rather than developing a product?
 
Top
Sign up to the MyBroadband newsletter
X