Where are South Africa's Software Developers?

Speaking from an outsiders point of view (I am not a programmer), I do not dispute what you programmers feel on salaries. That would chase people overseas.
But if one looks at why youngsters are not entering the arena (if they were, there would be no shortage), the use of MS and other proprietary products do not conjure up innovation and the willingness to try doing some programs.
I feel that if opensource was used in schools, where kids could get their hands onto source code, there would be a lot more takers as they can learn from code done by others. They would be able to change and experiment, and derive the thrill of getting things to work as they would like. Instead, because of the use of canned proprietary, it remains a black hole until you hit tertiary education.

MS has free tools available to code with. All their express products for web, windows and database development is free. There are tons of open source projects as well (just look at codeplex). So your statement above is not valid. Granted that MS's opensource project are not that many as say Java and so forth, I'd rather go for quantity over quality. I've had to get some students to start working on a project which was on the MS platform, and they were up and running in no time.
 
To add to that, I dont think many young minds would enjoy trying to decipher what is going on in the Linux kernel to improve it. Gifted students should ideally be encouraged to do so, and be given support in understanding difficult code, but if the whole Matric class has to understand what the recent scheduler changes have been about, they'll fall asleep.

I think you can only start tinkering when you understand enough about coding to not get frustrated when things dont work. Until they've had a fair bit of exposure, students wont have a clue what to do the first time they see a linker error, or a null reference exception.
 
Personally i studied in the Eastern Cape and had to move to Cape Town to find a company that would take a junior developer.
And then I only found a job as a "Automation Tester". I had to build up experience in the company and drive our project towards C# to gain C# dev experience.
Later I moved from automation to solid C# development.

It seems almost impossible to get into Software development as a junior.
Companies want experience eperience without wanting to invest in juniors.
The reason for that is juniors seem to move to other companies after 2 years to gain a salary increase.

I didnt have to do that because my company choose to pay us very competitively, so money isnt the issue.
Lifecycle of a dev in my company is +- 4-5 years before one gets bored and seek other experience.

So alot of the onus lies on the darn Employers refusing to take on juniors.
 
Maybe one of the mybb Journos can let companies like CJ know that we need more dosh :)
 
Speaking from an outsiders point of view (I am not a programmer), I do not dispute what you programmers feel on salaries. That would chase people overseas.
But if one looks at why youngsters are not entering the arena (if they were, there would be no shortage), the use of MS and other proprietary products do not conjure up innovation and the willingness to try doing some programs.
I feel that if opensource was used in schools, where kids could get their hands onto source code, there would be a lot more takers as they can learn from code done by others. They would be able to change and experiment, and derive the thrill of getting things to work as they would like. Instead, because of the use of canned proprietary, it remains a black hole until you hit tertiary education.

Actually when I was in school we learnt Delphi or Pascal, the training was more about concepts, methodologies and strategies than the actual code base ie: Looping structures and other constructs. What are current pupils being taught in?
 
I started working as a junior programmer in the UK at 22000 pounds a year. That was about R22k a month at the time. Graduates tend to be massively underpaid in SA, but I dont think skilled and senior programmers are underpaid. Depends on the company though I suppose.

Well the starting salary for a graduate without even a "Hello World" app on his portfolio is now R20K pm min. Graduates get paid much more than their peers who are not graduates.

I do question your statement of graduates getting underpaid as the SA IT industry cannot be compare to the Northern Hemisphere first world markets as we live in a third world Southern Hemisphere country. Even in a country like Australia salaries are not great as there they pay you on your job duties and not your age and years experience.
 
To add to that, I dont think many young minds would enjoy trying to decipher what is going on in the Linux kernel to improve it. Gifted students should ideally be encouraged to do so, and be given support in understanding difficult code, but if the whole Matric class has to understand what the recent scheduler changes have been about, they'll fall asleep.

I think you can only start tinkering when you understand enough about coding to not get frustrated when things dont work. Until they've had a fair bit of exposure, students wont have a clue what to do the first time they see a linker error, or a null reference exception.

+1 Also I think you have to draw the line somewhere. Since I do web applications I dont know windows dev that well, but I do know the web application platform as it should be. How far back does one go? Am I expected to understand the minutae of how windows function? How the hardware function in depth? Even if they dont relate to web applications?
 
It seems almost impossible to get into Software development as a junior.
Companies want experience experience without wanting to invest in juniors.
The reason for that is juniors seem to move to other companies after 2 years to gain a salary increase.

I didnt have to do that because my company choose to pay us very competitively, so money isnt the issue.
Lifecycle of a dev in my company is +- 4-5 years before one gets bored and seek other experience.

So alot of the onus lies on the darn Employers refusing to take on juniors.

If I may, I'm in a senior role in my company as well as basically our National IT Managers deputy and so have quite a bit of knowledge into the decision process by the company. If your are talking about SME's and not Dev houses, then the issue is that to a SME they require rapid results to offset the investment of your employment. Generally a junior will not give rapid results because of their lack of experience so there is normally a learning curve for them where it is emphasized that the ROI will be after a certain time period. This sounds really harsh but understand that the company is a SME, it doesn't have the funds to maintain a team of senior programmers who can split their time in instructing juniors.

Normally SME teams are quite small, for example my current team consists of a senior, two developers and a report writer. As senior part of the job function is to check out new technologies, lay frameworks, design etc. Our two developers both work on different systems on there own using the common base standard set down by the senior but adapting code and database for the system they are working on while keeping an eye on the base for cross integration. The report writer crunches out reports from sql and the report aspects of each system, not by running the reports but by designing the documents and the relevant sql backends into a automation engine. Amongst all this the senior is assisting the developer on a as needed basis, helping the report writer gets the correct data together to conform to a report request and giving tutoring in c# so the person can expand into development and all his own development, planning, documentation etc.

In short, yes a lot of companies look for experienced staff versus training a junior to the required level but thats because the company requires the results sooner. It is a bit of a Catch 22. But think of it this way, if you send your car in for a service, you expect it to be serviced. The dealership has to ensure that it has trained, qualified mechanics. While they may have trainees, each trainee costs money which could be used to obtain more a more experienced mechanic who can be put into the work-pool much quicker than a trainee.
 
I've also shaken my head at that.
When I started working as a junior programmer in 1999 I was earning R4500 per month. As far as I know salaries haven't quadrupled in the last 12 years and even at that time it was low pay and I had to live with my folks to survive.
I worked along side a BEE employee who didn't have a clue how to program and was earning multiple times more than I was. He later moved into management.
I've also worked with a lot of so called programmers (non BEE) with 2+ years of experience who didn't have basic problem solving skills or couldn't figure out how to implement a quick sort, bubble sort or binary sort algorithm even with the algorithm explained in detail in front of them.

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.

Although I agree about aptitude, I thinks its a case of people just not using debugging tools, and to be frank, to damn lazy to use debugging tools.
 
Well the starting salary for a graduate without even a "Hello World" app on his portfolio is now R20K pm min. Graduates get paid much more than their peers who are not graduates.

I think you're being a tad generous with that R20k figure. R20k can probably be expected by someone with at least a year's worth of real experience, unless the candidate is above average when it comes to talent.
 
Well the starting salary for a graduate without even a "Hello World" app on his portfolio is now R20K pm min. Graduates get paid much more than their peers who are not graduates.

I do question your statement of graduates getting underpaid as the SA IT industry cannot be compare to the Northern Hemisphere first world markets as we live in a third world Southern Hemisphere country. Even in a country like Australia salaries are not great as there they pay you on your job duties and not your age and years experience.

Most job adverts I saw for graduates started with as little as R10k, sometimes they even wanted you to have experience to get R10k.

If I may, I'm in a senior role in my company as well as basically our National IT Managers deputy and so have quite a bit of knowledge into the decision process by the company. If your are talking about SME's and not Dev houses, then the issue is that to a SME they require rapid results to offset the investment of your employment. Generally a junior will not give rapid results because of their lack of experience so there is normally a learning curve for them where it is emphasized that the ROI will be after a certain time period. This sounds really harsh but understand that the company is a SME, it doesn't have the funds to maintain a team of senior programmers who can split their time in instructing juniors.

Normally SME teams are quite small, for example my current team consists of a senior, two developers and a report writer. As senior part of the job function is to check out new technologies, lay frameworks, design etc. Our two developers both work on different systems on there own using the common base standard set down by the senior but adapting code and database for the system they are working on while keeping an eye on the base for cross integration. The report writer crunches out reports from sql and the report aspects of each system, not by running the reports but by designing the documents and the relevant sql backends into a automation engine. Amongst all this the senior is assisting the developer on a as needed basis, helping the report writer gets the correct data together to conform to a report request and giving tutoring in c# so the person can expand into development and all his own development, planning, documentation etc.

In short, yes a lot of companies look for experienced staff versus training a junior to the required level but thats because the company requires the results sooner. It is a bit of a Catch 22. But think of it this way, if you send your car in for a service, you expect it to be serviced. The dealership has to ensure that it has trained, qualified mechanics. While they may have trainees, each trainee costs money which could be used to obtain more a more experienced mechanic who can be put into the work-pool much quicker than a trainee.

The problem is that there simply arent enough skilled developers available. So what are your options - have a role unfulfilled or take on a candidate who will up to speed in something like 3-6 months. Ie, would you choose nothing over something?

The whole situation reminds of the Underpants Gnomes, quite frankly. they want senior software developers, but no one seems to know where to get senior software developers from. Its like they come from a magic senior software developer factory which creates them with all the necessary experience. What they dont seem to realize is that senior software developers are actually grown up and often cynical intermediate developers. So, I dont have any sympathy for them if they want to reap the rewards of someone else training a dev up to senior level.
 
Speaking from an outsiders point of view (I am not a programmer), I do not dispute what you programmers feel on salaries. That would chase people overseas.
But if one looks at why youngsters are not entering the arena (if they were, there would be no shortage), the use of MS and other proprietary products do not conjure up innovation and the willingness to try doing some programs.
I feel that if opensource was used in schools, where kids could get their hands onto source code, there would be a lot more takers as they can learn from code done by others. They would be able to change and experiment, and derive the thrill of getting things to work as they would like. Instead, because of the use of canned proprietary, it remains a black hole until you hit tertiary education.

Computers in schools and universities run MS Windows 90% of the time. So there is an immediate advantage to learning C#/.NET because you get to do a lot more fun stuff (and that is what keeps you interested) on those machines.. messing up people's wallpaper, beeping every time they click the mouse etc etc.

Then there is the job market: if you want a programming job out of uni you are best of studying a MS technology (there are lots of MS partners out there). You pick the other languages up as you go along. There is also a LOT of code you can play with if you do the effort and got to sites like codeproject (or the MS opens source community on codeplex)
 
I would agree that there are people getting underpaid .. but that's more or less related to timing ... like at my current work they employed people in an "urgent situation" for 40k a month at my job spec (2-3 years exp Java) ... whereas myself who works on the same spec earned 20k a month (i earn a little more than that now ... so thats okay) ... and then you still have to assist the newbies on how to do things ... so if you time it right you can get quite a nice salary ... another problem i have is that there seems to be a lack of perks like overtime and/or project bonuses

but yeah ... companies tend to look for experienced people but where people have to get experience from i do not know :P .. like i want to get into web development and the requirements are always xx months/ years previous web development experience or familiarity with this and that technologies ... when the jobs i have been at didnt expose me to those things.

which is another point ... some companies normally have the own propriety frameworks so then you never learn the frameworks that you need to learn to get experienced ... like for example we have our own logging framework instead of an opensource one (small example but you sort of see what i mean)

i guess this is my opinion based on my experiences ...
 
The whole situation reminds of the Underpants Gnomes, quite frankly. they want senior software developers, but no one seems to know where to get senior software developers from. Its like they come from a magic senior software developer factory which creates them with all the necessary experience. What they dont seem to realize is that senior software developers are actually grown up and often cynical intermediate developers. So, I dont have any sympathy for them if they want to reap the rewards of someone else training a dev up to senior level.

I agree. A common question asked of me is get us another one of you. The problem is to get another one of me is experience and pay and a lot of the good devs are headhunted from job to job, not even on the job market ( so to speak ) and while the idea might be there for a company to get the senior to train the juniors, 9/10 they will not give the senior the space to do so. They are still required to output their normal full output at senior pace which is just not possible.

When I left my previous employer, I was discussing final development for a project with an associated company ( integration between our systems and theirs ), when I mentioned I was leaving they made me an offer including re-location etc. as well. That was over 2 years ago, I don't see the industry getting any fuller since.
 
Perhaps you are are joking and if that's the case I appologise in advance.

But if you are not joking.. you are quite pathetic using that as an excuse; and I am so tired of many like you who pity themselves and try blame BEE for your lack of motivation and laziness.

+1....

if you cant find a developer job in SA, then you are not skilled enough
 
Speaking from an outsiders point of view (I am not a programmer), I do not dispute what you programmers feel on salaries. That would chase people overseas.
But if one looks at why youngsters are not entering the arena (if they were, there would be no shortage), the use of MS and other proprietary products do not conjure up innovation and the willingness to try doing some programs.
I feel that if opensource was used in schools, where kids could get their hands onto source code, there would be a lot more takers as they can learn from code done by others. They would be able to change and experiment, and derive the thrill of getting things to work as they would like. Instead, because of the use of canned proprietary, it remains a black hole until you hit tertiary education.


hogwash.... .net is not Microsoft...
 
After many years

After 21 years in the industry, I still think that the salaries are a bit of a jokes in IT. The only real advance I've seen in all these years was to change over to a contractor. I get paid by the hour for what I do, and dont enjoy the luxuries like sick leave and paid holidays. But over all, earning enough but know for a fact I can move today for at least an extra R100 per hour if I'm willing to sell my soul too one of the banks. But I'm happy were I am, so would rather not just go job hoppying for the sake of it
 
Top
Sign up to the MyBroadband newsletter
X