I have asked the wife on several occasions if I could get out of software and take a job doing something else for less money. I am tired of software... at least in the corporate space. Don't get me wrong I love writing software.... but the general incompetence of corporate software development has killed my spirit.
I am a web guy whose primary job is at a major dot com and here are the problems as I see software generally.
Good web developers are hard to hire. They tend to be equally in demand compared to their Java counter-parts in the corporate space, but there are something like 11x more Java positions. The reason is because Java developers are easier to find. This creates several problems.
Since good web developers are hard to hire your choices are to retask a Java developer without training or hire a web developer that isn't good. The results are similar: cutting corners until you are drowning in tech debt and then blaming someone/something else.
Higher salaries won't solve this problem because it takes time and practice to get good at anything, but demand for skills in the workplace are immediate. Contrarily, higher salaries without solving for the missing skills (the primary cause of the problem) just encourage under-qualified talent to more vigorously defend or fight to attain positions they are not entitled to hold. The phenomenon is so incredibly common it has the name imposter syndrome.
The primary difference between a good developer and a bench warmer is confidence. A good developer is going to care far less for playing politics and defensiveness. If it doesn't work out for a good developer they can go get an equally sucky job somewhere else and probably make more money, so the motivation for politics is largely lost. Less good developers do not have such confidence that they can quickly acquire another position elsewhere or are holding their current positions for reasons not directly related to their craft, such as seniority entitlements.
As the previous paragraph eludes to the real difference between good developers and everybody else is motivation. When you are primarily motivated to merely retain your employment you will perceive your place in that environment far differently. These guys will do everything possible to not rock the boat if job stability is everything. It also means that technical competencies at the job should normalize into some happy medium so that you aren't exposed for being an imposter.
The reason why the incompetence is so pervasive is because demand is crazy high and without regulation of any kind. In almost every other professional career there is regulation, typically licensing. You cannot be a doctor, lawyer, real estate agent, engineer, pilot, and so forth without a license. You can be a politician though.
After doing this for several years in the corporate world I am really tired of the stupid games people play. Since I have two simultaneous careers in separate unrelated industries I can really see the dysfunction that many people happily tolerate every day. I am ready to do something else like become a teacher or make my secondary career my primary even though this means less pay.
I am a web guy whose primary job is at a major dot com and here are the problems as I see software generally.
Good web developers are hard to hire. They tend to be equally in demand compared to their Java counter-parts in the corporate space, but there are something like 11x more Java positions. The reason is because Java developers are easier to find. This creates several problems.
Since good web developers are hard to hire your choices are to retask a Java developer without training or hire a web developer that isn't good. The results are similar: cutting corners until you are drowning in tech debt and then blaming someone/something else.
Higher salaries won't solve this problem because it takes time and practice to get good at anything, but demand for skills in the workplace are immediate. Contrarily, higher salaries without solving for the missing skills (the primary cause of the problem) just encourage under-qualified talent to more vigorously defend or fight to attain positions they are not entitled to hold. The phenomenon is so incredibly common it has the name imposter syndrome.
The primary difference between a good developer and a bench warmer is confidence. A good developer is going to care far less for playing politics and defensiveness. If it doesn't work out for a good developer they can go get an equally sucky job somewhere else and probably make more money, so the motivation for politics is largely lost. Less good developers do not have such confidence that they can quickly acquire another position elsewhere or are holding their current positions for reasons not directly related to their craft, such as seniority entitlements.
As the previous paragraph eludes to the real difference between good developers and everybody else is motivation. When you are primarily motivated to merely retain your employment you will perceive your place in that environment far differently. These guys will do everything possible to not rock the boat if job stability is everything. It also means that technical competencies at the job should normalize into some happy medium so that you aren't exposed for being an imposter.
The reason why the incompetence is so pervasive is because demand is crazy high and without regulation of any kind. In almost every other professional career there is regulation, typically licensing. You cannot be a doctor, lawyer, real estate agent, engineer, pilot, and so forth without a license. You can be a politician though.
After doing this for several years in the corporate world I am really tired of the stupid games people play. Since I have two simultaneous careers in separate unrelated industries I can really see the dysfunction that many people happily tolerate every day. I am ready to do something else like become a teacher or make my secondary career my primary even though this means less pay.