Average Salary - Junior Developer

Kilgore_Trout_Redux

Executive Member
Joined
Sep 20, 2006
Messages
7,506
Its mind boggling absurd in your company or sector, but not every sector is the same.

Which sectors are we speaking about?

I have worked in finance, medical, engineering, GIS and telecomms and I have never come across anything like this.

I am not saying you should do what happened to semaphore and throw developers into the deep end but there are always small tasks and changes that can ease a new developer into a codebase/domain without overwhelming them and adding undue risk to your revenue stream.

Unless the useless, lazy developers with 2 years of experience on the team who seem to thrive in red tape rich environments jump on those tasks first.
 
Last edited:

cguy

Executive Member
Joined
Jan 2, 2013
Messages
8,527
I
Which sectors are we speaking about?

I have worked in finance, medical, engineering, GIS and telecomms and I have never come across anything like this.

I am not saying you should do what happened to semaphore and throw developers into the deep end like semaphore was but there are always small tasks and changes that can ease a new developer into a codebase/domain without overwhelming them and adding undue risk to your revenue stream.

Unless the useless, lazy developers with 2 years of experience on the team who seem to thrive in red tape rich environments jump on those tasks first.

My experience was that given the size of the code base and sophistication of the technology, no developer can contribute in a meaningful way for many months (even up to a year for even pretty decent developers). The learning curve is just too high. This doesn't mean that they sit idly by - they read the code, step through it in he test environment, learn the requisite maths, hardware specs, etc. Maybe they find a minor change or two - it would get heavily reviewed and QA'ed, but mostly it's just superficial.

Anyway, I've seen several systems like these in several different industries - the guys on the cutting edge go way further than most people envision to push the bounds. The result being a highly bespoke system, that requires a lot of training, testing and experimentation before one can hope to do anything useful.
 

^^vampire^^

Expert Member
Joined
Feb 17, 2009
Messages
3,877
Thanks all but I'm a developer not a professional code reviewer/reader. I prefer to write code and I refuse to sit around reading other peoples code for a year before I get to do my job. It's probably taking this long for them to contribute because after the first week they are over it and don't give a **** about being there anymore. Like Kilgore said, you're pissing money down the drain.

Honestly if it takes so long to get your guys up to speed there's a major floor in your process. I've worked on huge corporate projects involving small and large transactions of millions and millions every day that managed hundreds if not thousands of people and it took me less than a month to start contributing. Call it being pompous if you want, I prefer to look at it as though I have the skills to work things out quickly and employers like that. If it's taking 6+ months like ToxicBunny says to figure out the business logic then maybe you need to go back to the drawing board and rethink the way you have done your systems. If you can't even section off the logic and get people understanding and contributing to that section in a short amount of time your system is a failure. Also you are worried about someone breaking a cash generating system for even 20 mins? I thought you had QA etc to do that? If these things slip past your QA, especially when a dev is new to the environment/system you need to hire new QAs.

I came across an interesting company the other day and one of the architects said that they do not adopt frameworks etc and code everything from scratch. He said it takes them longer to get up and running but they have no hassles now that their projects are running to move and change and do upgrades. Too many companies are so busy being worried about being "cutting edge" that they have 7 projects in MVC1, 3 in MVC2 and 5 in MVC5, one on Joomla, 8 on wordpress, 3 done in PHP raw, 3 using entity framework, 6 in VB6 and 8 in C# as well as that 1 weird one which someone did in VB.Net and no one knows why. Then they also need technical skills because they went and customised some dev express components and now can't upgrade that version on Johnny's computer because it's the only computer that can be used to modify that project. Now the new fad is Angular and Node, Backbone and a few others. Don't get me wrong I'm not against advancement but many times companies make the mistake of adopting a new tech/framework before it's mature and get stuck with a version that they can't simply upgrade and these frameworks wind up running a core component of the business and contribute to long learning times for devs.

Like Kilgore I've also worked in many different industries and not once have I come across a system that takes so long to wrap your head around. Even the large, compilcated systems could be broken down into smaller logical components and worked on from there.
 

semaphore

Honorary Master
Joined
Nov 13, 2007
Messages
15,205
Thanks all but I'm a developer not a professional code reviewer/reader. I prefer to write code and I refuse to sit around reading other peoples code for a year before I get to do my job. It's probably taking this long for them to contribute because after the first week they are over it and don't give a **** about being there anymore. Like Kilgore said, you're pissing money down the drain.

Our systems are a little bit more complex than stringing a couple of click events together. ;) But you're awesome so i mean how can anyone be as awesome as you.
 

P924

Expert Member
Joined
Jan 18, 2010
Messages
2,614
Thanks all but I'm a developer not a professional code reviewer/reader. I prefer to write code and I refuse to sit around reading other peoples code for a year before I get to do my job. It's probably taking this long for them to contribute because after the first week they are over it and don't give a **** about being there anymore. Like Kilgore said, you're pissing money down the drain.

Honestly if it takes so long to get your guys up to speed there's a major floor in your process. I've worked on huge corporate projects involving small and large transactions of millions and millions every day that managed hundreds if not thousands of people and it took me less than a month to start contributing. Call it being pompous if you want, I prefer to look at it as though I have the skills to work things out quickly and employers like that. If it's taking 6+ months like ToxicBunny says to figure out the business logic then maybe you need to go back to the drawing board and rethink the way you have done your systems. If you can't even section off the logic and get people understanding and contributing to that section in a short amount of time your system is a failure. Also you are worried about someone breaking a cash generating system for even 20 mins? I thought you had QA etc to do that? If these things slip past your QA, especially when a dev is new to the environment/system you need to hire new QAs.

I came across an interesting company the other day and one of the architects said that they do not adopt frameworks etc and code everything from scratch. He said it takes them longer to get up and running but they have no hassles now that their projects are running to move and change and do upgrades. Too many companies are so busy being worried about being "cutting edge" that they have 7 projects in MVC1, 3 in MVC2 and 5 in MVC5, one on Joomla, 8 on wordpress, 3 done in PHP raw, 3 using entity framework, 6 in VB6 and 8 in C# as well as that 1 weird one which someone did in VB.Net and no one knows why. Then they also need technical skills because they went and customised some dev express components and now can't upgrade that version on Johnny's computer because it's the only computer that can be used to modify that project. Now the new fad is Angular and Node, Backbone and a few others. Don't get me wrong I'm not against advancement but many times companies make the mistake of adopting a new tech/framework before it's mature and get stuck with a version that they can't simply upgrade and these frameworks wind up running a core component of the business and contribute to long learning times for devs.

Like Kilgore I've also worked in many different industries and not once have I come across a system that takes so long to wrap your head around. Even the large, compilcated systems could be broken down into smaller logical components and worked on from there.
I lolled at "major floor".

I can see from your post why it is difficult for you to grasp how anything can be so complex that it would take you a long time to understand and be able to add value. I can promise you that the things people like cguy are doing are orders of magnitude more complex than anything you have worked on, and his renumeration will also reflect it. The risk in getting it wrong is also a lot bigger. You should accept that different industries require different skill sets and some are really that much more complicated and difficult. Not just programming-wise, that part is usually quite easy, it is the algorithmic development part and implementation specific tasks that are difficult.
 

cguy

Executive Member
Joined
Jan 2, 2013
Messages
8,527
Thanks all but I'm a developer not a professional code reviewer/reader. I prefer to write code and I refuse to sit around reading other peoples code for a year before I get to do my job. It's probably taking this long for them to contribute because after the first week they are over it and don't give a **** about being there anymore. Like Kilgore said, you're pissing money down the drain.

Honestly if it takes so long to get your guys up to speed there's a major floor in your process. I've worked on huge corporate projects involving small and large transactions of millions and millions every day that managed hundreds if not thousands of people and it took me less than a month to start contributing. Call it being pompous if you want, I prefer to look at it as though I have the skills to work things out quickly and employers like that. If it's taking 6+ months like ToxicBunny says to figure out the business logic then maybe you need to go back to the drawing board and rethink the way you have done your systems. If you can't even section off the logic and get people understanding and contributing to that section in a short amount of time your system is a failure. Also you are worried about someone breaking a cash generating system for even 20 mins? I thought you had QA etc to do that? If these things slip past your QA, especially when a dev is new to the environment/system you need to hire new QAs.

I came across an interesting company the other day and one of the architects said that they do not adopt frameworks etc and code everything from scratch. He said it takes them longer to get up and running but they have no hassles now that their projects are running to move and change and do upgrades. Too many companies are so busy being worried about being "cutting edge" that they have 7 projects in MVC1, 3 in MVC2 and 5 in MVC5, one on Joomla, 8 on wordpress, 3 done in PHP raw, 3 using entity framework, 6 in VB6 and 8 in C# as well as that 1 weird one which someone did in VB.Net and no one knows why. Then they also need technical skills because they went and customised some dev express components and now can't upgrade that version on Johnny's computer because it's the only computer that can be used to modify that project. Now the new fad is Angular and Node, Backbone and a few others. Don't get me wrong I'm not against advancement but many times companies make the mistake of adopting a new tech/framework before it's mature and get stuck with a version that they can't simply upgrade and these frameworks wind up running a core component of the business and contribute to long learning times for devs.

Like Kilgore I've also worked in many different industries and not once have I come across a system that takes so long to wrap your head around. Even the large, compilcated systems could be broken down into smaller logical components and worked on from there.

You're not pompous, but you are naive. Those really don't sound like big operations at all, and you don't seem to understand the order of magnitude change in complexity and care needed to work on the core vs the periphery. QA also isn't always as simple as you make out. MVC is cutting edge? Joomla? Sheesh...
 

ToxicBunny

Oi! Leave me out of this...
Joined
Apr 8, 2006
Messages
113,505
I would go with incredibly naive, and has yet to work on a major Enterprise scale revenue generating project.

When someone is brave enough to actually employ him to touch one of those types of projects, I am pretty sure his attitude will change pretty quickly.
 

Kilgore_Trout_Redux

Executive Member
Joined
Sep 20, 2006
Messages
7,506
I am willing to acknowledge that there are highly specialized industries where that sort of thing could happen. I am thinking military, avoinics, medical engineering, etc.

I just don't buy toxicbunby's assertion that a six month code freeze for new hires is in any way becoming the norm for corporates (Corporates are rarely at the cutting edge of anything.)

Unless you are in a highly sensitive field rules like that generally exist because

a. It takes that long for the bureauocracy to give you access, a PC, admin rights, etc.

b. Some arrogant pompous arse is trying to boost his job security.

c. The code is a disaster and everything is a house of cards (Usually because the person in a. was responsible for the system and has a high position because of length of service and not ability.)
 

Kilgore_Trout_Redux

Executive Member
Joined
Sep 20, 2006
Messages
7,506
Our systems are a little bit more complex than stringing a couple of click events together. ;) But you're awesome so i mean how can anyone be as awesome as you.

This is part of the problem. You think your system is the only super complex one and everyone else who disagrees with you strings click events together.

I can pretty much guarantee that the systems I have worked on have just as large if not larger domains and complexity as the systems you are working on.

The engineering software I was working on was also world leading cutting edge stuff in the field of climate science. Hardly click events.
 
Last edited:

semaphore

Honorary Master
Joined
Nov 13, 2007
Messages
15,205
This is part of the problem. You think your system is the only super complex one and everyone else who disagrees with you strings click events together.

I can pretty much guarantee that the systems I have worked on have just as large if not larger domains and complexity as the systems you are working on.

The engineering software I was working on was also world leading cutting edge stuff in the field of climate science. Hardly click events.

I was referring to vampire not you.
 

^^vampire^^

Expert Member
Joined
Feb 17, 2009
Messages
3,877
I lolled at "major floor".

I can see from your post why it is difficult for you to grasp how anything can be so complex that it would take you a long time to understand and be able to add value. I can promise you that the things people like cguy are doing are orders of magnitude more complex than anything you have worked on, and his renumeration will also reflect it. The risk in getting it wrong is also a lot bigger. You should accept that different industries require different skill sets and some are really that much more complicated and difficult. Not just programming-wise, that part is usually quite easy, it is the algorithmic development part and implementation specific tasks that are difficult.

I'm sure cguy is just wonderful. I know things can be complex but I find it increasingly difficult to believe that there are 2 such systems so readily in existence from the handful of users replying on this thread unless it's a huge coincidence. There is no system that cannot be broken down and understood in parts and worked on in parts coupled with a general understanding of the entire system. Your guys high level of paranoia of not wanting anyone to work on or change a system displays to me a lack of confidence in yourselves being able to teach someone that system or a lack in confidence in the guys you hire - especially if what they do goes through all the correct checks and processes. I've not denied in any way that very technical and involved systems exist and there could be a learning curve associated with that but 6 months still seems to be a bit extreme except for in the most exceptional of circumstances.

Just a little hint, remuneration isn't always a determining factor. I also understand the order of complexities in certain systems and they are not foreign to me.

You're not pompous, but you are naive. Those really don't sound like big operations at all, and you don't seem to understand the order of magnitude change in complexity and care needed to work on the core vs the periphery. QA also isn't always as simple as you make out. MVC is cutting edge? Joomla? Sheesh...

I understand this very well. A mess up on my side could have caused my employers millions in lost revenue. They may not sound like big operations to you but when you are handling applications that generate R800 million yearly you need to make sure you get things right.

If you took the extra 2 minutes to read, process and understand what I wrote you would understand that I was saying that when MVC came along people hopped on board, and then when version 2 etc came out you could not directly port it across and hence the issues of adopting a new tech/framework straight of the bat and ultimately why you would have so many different projects still in existence within a company that are on all these different frameworks/architectures etc. You are so consumed with trying to be right and trying to make me look foolish that you hastily type nonsense replies instead of understanding my side and having a reply that is in context with my reply. Maybe this is why it takes so long to contribute to a project? Although I'm sure you are up to your eyeballs in technically advanced systems and don't have the time to read or critically assess my silly, naive statements.
 
Last edited:

cguy

Executive Member
Joined
Jan 2, 2013
Messages
8,527
I'm sure cguy is just wonderful. I know things can be complex but I find it increasingly difficult to believe that there are 2 such systems so readily in existence from the handful of users replying on this thread unless it's a huge coincidence. There is no system that cannot be broken down and understood in parts and worked on in parts coupled with a general understanding of the entire system. Your guys high level of paranoia of not wanting anyone to work on or change a system displays to me a lack of confidence in yourselves being able to teach someone that system or a lack in confidence in the guys you hire - especially if what they do goes through all the correct checks and processes. I've not denied in any way that very technical and involved systems exist and there could be a learning curve associated with that but 6 months still seems to be a bit extreme except for in the most exceptional of circumstances.

Just a little hint, remuneration isn't always a determining factor. I also understand the order of complexities in certain systems and they are not foreign to me.



I understand this very well. A mess up on my side could have caused my employers millions in lost revenue. They may not sound like big operations to you but when you are handling applications that generate R800 million yearly you need to make sure you get things right.

If you took the extra 2 minutes to read, process and understand what I wrote you would understand that I was saying that when MVC came along people hopped on board, and then when version 2 etc came out you could not directly port it across and hence the issues of adopting a new tech/framework straight of the bat and ultimately why you would have so many different projects still in existence within a company that are on all these different frameworks/architectures etc. You are so consumed with trying to be right and trying to make me look foolish that you hastily type nonsense replies instead of understanding my side and having a reply that is in context with my reply. Maybe this is why it takes so long to contribute to a project? Although I'm sure you are up to your eyeballs in technically advanced systems and don't have the time to read or critically assess my silly, naive statements.

I understood your point. My point is that you made it using the technical equivalent of the Power Rangers - you are way out of the ballpark in terms of understanding the realities of complex systems and the types of issues that a new hire faces in these environments. You're just guessing at the type of things that cause complexity for us - sure those sort of things happen, but that is very separate from the inherent complexity in the system.

Your contention that changing up jobs all the time is a good career decision and that a new hire in any situation can contribute to the core of any system within a few weeks or months, is what is making you look foolish. You simply don't have the experience to make these assertions, and seem to suffer from a flat earth delusion because of it.
 

Sodan

Expert Member
Joined
Nov 25, 2010
Messages
2,856
I am willing to acknowledge that there are highly specialized industries where that sort of thing could happen. I am thinking military, avoinics, medical engineering, etc.

I just don't buy toxicbunby's assertion that a six month code freeze for new hires is in any way becoming the norm for corporates (Corporates are rarely at the cutting edge of anything.)

Unless you are in a highly sensitive field rules like that generally exist because

a. It takes that long for the bureauocracy to give you access, a PC, admin rights, etc.

b. Some arrogant pompous arse is trying to boost his job security.

c. The code is a disaster and everything is a house of cards (Usually because the person in a. was responsible for the system and has a high position because of length of service and not ability.)

Any large system with decent interfaces properly decoupling parts of the system will have at least some parts that could be learnt and worked on (in relative isolation), in a month or two, tops.

But if you are working on a horrible spaghetti code base, then I can fully accept that it'll take 6 months to get any of your contributed code into production.
 

oldtimerZA

Active Member
Joined
Nov 11, 2014
Messages
98
I've just started devving (less than 6 months xp) . But I must say I agree with @Sodan. Getting off the ground and contributing to the project I'm working on took 3.5 weeks. The project has been designed extremely well , with interfaces and decoupling for days . Often 5 Devs will be working on the project at once, but since it was built properly (from the get go) we never have major code merging problems( I think the most I've had to check for merging was 3 lines of code). With the system built the way it is we can easily build neat , segregated chunks that can be reviewed and incorporated in a timely manor. I've been told my share of code horror stories in South African IT companies from the Senior developers experiences. It seems that quite a few companies in RSA don't acknowledge or practice proper software engineering processes and procedures.
 
Last edited:

Hamster

Resident Rodent
Joined
Aug 22, 2006
Messages
42,928
I've just started devving (less than 6 months xp) . But I must say I agree with @Sodan. Getting off the ground and contributing to the project I'm working on took 3.5 weeks. The project has been designed extremely well , with interfaces and decoupling for days . Often 5 Devs will be working on the project at once, but since it was built properly (from the get go) we never have major code merging problems( I think the most I've had to check for merging was 3 lines of code). With the system built the way it is we can easily build neat , segregated chunks that can be reviewed and incorporated in a timely manor. I've been told my share of code horror stories in South African IT companies from the Senior developers experiences. It seems that quite a few companies in RSA don't acknowledge or practice proper software engineering processes and procedures.
3.5 weeks, new code and probably GIT or Hg instead of SVN and TFS. You shouldn't have that many if any real me the conflicts. But just you wait. By the time that 6 month xp of hours had turned into 6 years xp on projects with legacy code and 20+ devs a 150l geyser won't be big enough to keep all your tears.
 

whatwhat

Executive Member
Joined
Jun 1, 2009
Messages
6,353
lol at all the e-peen in this thread.

If you guys ever work for a proper technology company like Silicon Valley you will get a shock 6 months till you are productive? By then your company doesn't exist anymore.

South Africa is self important, and very disconnected. We pride ourselves that we are the best at what we do, but the pool of competition in the country is very low.
 

Hamster

Resident Rodent
Joined
Aug 22, 2006
Messages
42,928
lol at all the e-peen in this thread.

If you guys ever work for a proper technology company like Silicon Valley you will get a shock 6 months till you are productive? By then your company doesn't exist anymore.

South Africa is self important, and very disconnected. We pride ourselves that we are the best at what we do, but the pool of competition in the country is very low.


I do hope you mean a company IN Silicon Valley. Those startups sit with relatively new and small code bases so to be productive almost immediately is not as difficult as walking into a bank with a 12 year old code base, nobody with real domain knowledge where the tiniest mistake can cost the bank or client millions of Rands. It's just not quite the same thing.

So when are you leaving pathetic RSA and its substandard devs for Murica?
 

cguy

Executive Member
Joined
Jan 2, 2013
Messages
8,527
lol at all the e-peen in this thread.

If you guys ever work for a proper technology company like Silicon Valley you will get a shock 6 months till you are productive? By then your company doesn't exist anymore.

South Africa is self important, and very disconnected. We pride ourselves that we are the best at what we do, but the pool of competition in the country is very low.

I've spent most of my working career in Silicon Valley - if you go to a technology company with an established technical infrastructure (over 10-20+ years by thousands or even tens of thousands of STEM workers), studying and experimenting for many months is is exactly what you would very likely do. These companies have such large systems, that you nearly need a "mini-degree in the company" just to get started.

Very few of the most challenging jobs are greenfield, and most of the population don't work in start-ups.

Sure, there are plenty of junior jobs that just require that you know language X and framework Y, and then you can quickly be productive, but for the most part, the big companies reached multi-billion dollar revenues by building a handful of core products, and growing those like crazy. If you're lucky enough to work on this (this is where the big bucks and world changing opportunities are BTW), you will find that they consist of layer upon layer of development, research, implementation, feature growth, required legacy support, specialized graduate level mathematics, generations of exotic hardware iterations, specification and documentation, all put together over tens of thousands of man-years.

N7IoxaP.jpg
 
Last edited:
Top