Ik wil graag even een discussie starten over de negatieve kanten van een carrière als professioneel softwareontwikkelaar. Ik heb hieronder even een aantal dingen opgesomd waarvan ik denk dat dit de aspecten zijn die een carrière als programmeur nogal frustrerend en niet voldoening gevend maken:
- Meestal zijn er geen duidelijke procedures wat betreft hoe iets gedaan moet worden. Hierdoor is de samenwerking ook lastiger omdat iedereen zijn eigen aanpak heeft. Te veel controle van meer ervaren developers binnen teams maakt dit aspect dan nog lastiger en frustrerender.
- Geen eenduidige kwaliteitsnormen om te bepalen of iets goed genoeg is. Het is in de software ontwikkeling meestal lastig om te bepalen of iets goed genoeg is.
- Meestal gebrekkige ad-hoc communicatie in open kantoorruimten. Dingen worden in open kantoorruimten meestal zo laat mogelijk gevraagd om anderen niet te belasten.
- Gebrek aan persoonlijke ruimte in open kantoren en gebrek aan rustige werkplekken (het werk vergt veel concentratie maar de werkplekken zijn meestal zo opgezet dat dit lastig is).
- Meestal een gebrek aan duidelijkheid wat betreft het waarom van dingen (ja we doen het gewoon al jaren zo).
- Gebrek aan duidelijkheid wat betreft wat de gewenste resultaten precies zijn. Functionele eisen zijn meestal erg vaag.
- In de professionele software ontwikkeling heb je steeds veel verassingen en problemen (denk aan veranderende functionele eisen) die je aanpak en opzet steeds doorkruisen. Dit werkt erg frustrerend.
- Over het algemeen een gebrek aan duidelijke en ingekaderde verwachtingen in werk en relaties.
Ik heb hieronder nog een aantal quotes vermeld die ik van diverse forums gehaald heb en die volgens mij een kern van waarheid bevatten over een carrière als professioneel programmeur:
Even terzijde: ik kijk hier natuurlijk naar het vak door een erg negatieve bril. Er zijn natuurlijk ook veel positieve aspecten. En alles staat of valt natuurlijk ook bij een goed georganiseerde werkomgeving en of het project waar je aan werkt interessant is.
- Meestal zijn er geen duidelijke procedures wat betreft hoe iets gedaan moet worden. Hierdoor is de samenwerking ook lastiger omdat iedereen zijn eigen aanpak heeft. Te veel controle van meer ervaren developers binnen teams maakt dit aspect dan nog lastiger en frustrerender.
- Geen eenduidige kwaliteitsnormen om te bepalen of iets goed genoeg is. Het is in de software ontwikkeling meestal lastig om te bepalen of iets goed genoeg is.
- Meestal gebrekkige ad-hoc communicatie in open kantoorruimten. Dingen worden in open kantoorruimten meestal zo laat mogelijk gevraagd om anderen niet te belasten.
- Gebrek aan persoonlijke ruimte in open kantoren en gebrek aan rustige werkplekken (het werk vergt veel concentratie maar de werkplekken zijn meestal zo opgezet dat dit lastig is).
- Meestal een gebrek aan duidelijkheid wat betreft het waarom van dingen (ja we doen het gewoon al jaren zo).
- Gebrek aan duidelijkheid wat betreft wat de gewenste resultaten precies zijn. Functionele eisen zijn meestal erg vaag.
- In de professionele software ontwikkeling heb je steeds veel verassingen en problemen (denk aan veranderende functionele eisen) die je aanpak en opzet steeds doorkruisen. Dit werkt erg frustrerend.
- Over het algemeen een gebrek aan duidelijke en ingekaderde verwachtingen in werk en relaties.
Ik heb hieronder nog een aantal quotes vermeld die ik van diverse forums gehaald heb en die volgens mij een kern van waarheid bevatten over een carrière als professioneel programmeur:
Could it be that now you're 'professionaly' writing code you're mired in professional specifications and obligations that are so far from your personal interests you can't work up any enthusiasm for them, and that lack of enthusiasm for the code you're writing is tainting your perception of your ability to code? Hopefully when you started coding professionaly you didn't just ditch the coding you were doing for fun.To jump on someone else's analogy, I've sucked at playing guitar for 15 years now but I enjoy sucking at it because I enjoy playing folk and never expect to get paid for it. If someone told me I could only play flamenco and only when I was being paid for it I'd stop tomorrow.
The sad truth is that 98% of programmers are plain mediocre, badly organised and scruffy at their work. In my 40 years experience, I always had to interview 50 applicants to find one that MIGHT do the job.
I've just seen a large number of people burn out who went into CS jobs because they enjoyed casually programming or had a knack for it, then found that they couldn't stand doing it for a living.
The end result of this, though, is that the good people get pushed out of the industry. Add on the back-door age discrimination (ageism being especially cruel in a skill-intensive field where you're "old" by the time you're any good at it) of "Scrum" and open-plan offices and this problem is exacerbated. There just aren't many good people who want to do mainstream business software engineering.
My experience is that most programmers are EXTREMELY pretentious. Even if you absolutely know what you're doing, if you don't do it their way they'll get all in your face and act like you're a stupid idiot who doesn't know what you're doing. Most of the answers you see on message boards are indicative of that. For every helpful answer you see to a development problem on a message board, you'll see 10 pretentious answers by snotty individuals who want to poke fun and say whatever they can to boost their own floundering ego.
Programmers are usually socially awkward and physically unattractive people. As a result, they identify with their intellectual capabilities from an early age. (Perhaps this is a chicken and egg proposition..) This is often measured, in the mind of the developer, by his ability to rapidly develop complicated code, with the goal of approval and consensus from the other people in his group/company that he is exceptionally bright/capable.
There is a definite, unwritten hierarchy in most programming shops, and it is as much related to social aspects as it is to coding ability or intelligence. There is a constant filtering going on. The developers who are perceived to be the brightest are given more opportunities, end up given the better projects, are often given more lead time in completing these projects, so it becomes a self fulfilling prophecy. Over time, they gain more exposure and are able to distinguish themselves from their "lesser" coworkers, but there is little underlying difference between them and the others. You can go from a lead developer at one company, greatly successful in designing and solving complicated problems, to find yourself in a new company with a lack of respect and contempt from other developers who are struggling to establish their worth. Don't buy in to it.
The core of the work is solving problems (usually small problems, but sometimes big problems) that haven't been solved before. This is, by definition, frustrating: it's all the expectation of novelty and rigour that a professional mathematician has, with all the pressure for speed that capitalism can bear upon you.
Ik denk dat dit de redenen zijn dat er zo weinig oudere programmeurs zijn. Mijn visie is dat tenzij je echt een top programmeur bent (dat programmeren een soort tweede natuur voor je is) of dat het lukt om een eigen idee om te zetten in een gaaf software product het geen erg leuke of voldoening gevende carrière is voor de meeste programmeurs (en dat veel programmeurs daardoor snel doorgroeien naar management functies). Hoe zien jullie dit? Wat zien jullie als de meest negatieve aspecten van een carrière als professioneel programmeur?A lot of people are interested in to getting to software development because of the good financial and job prospect, but what they find out soon is that they don’t have the kind of personality that it takes to become good and survive in this business. Software development is a very brutal business. You can’t fake it. You have to be able to deliver and if you cannot, then you are out. Don’t doubt it, it happens daily.
Even terzijde: ik kijk hier natuurlijk naar het vak door een erg negatieve bril. Er zijn natuurlijk ook veel positieve aspecten. En alles staat of valt natuurlijk ook bij een goed georganiseerde werkomgeving en of het project waar je aan werkt interessant is.