Once I met a retired IBM Project Manager. His thirty years experience were enough to get away from the bits and bytes and became a “normal” people again. He said these wise words: “I know what you are up to”. I have to admit, there is deep knowledge in his words: we, Software Developers, are our own kind.
Our own bubble
Software fundamental role in business competitiveness forces companies to tolerate our diva attitude. Companies do really need us. We are living inside a bubble, protected from the working condition other professionals face. There is never enough IT professionals in the world: more! more! New jobs keep on appearing all the time.
When is this exponential grown in IT going to stop? Aren’t people already working in IT enough? Why always more are need? Could there be tremendous waste on the way we work and adding more people is only making it worst?
Questions aside, Software Development is still on its early stages. Sure Software has evolved, not only in and complexity and variety, but also quality. Back in the day, using a external library was a risky business. Much effort went into workarounds to its bugs. Today, usually the bug is our code. And yet we still have a long way to go, specially the human side of Software Development.
Knock on wood
Our protecting bubble once bursted in 2001, in the so called Dot-com bubble. I had colleagues unfortunate enough to graduate that same year and spending 6 months to 1 year unemployed.
What if our bubble burst again? We are back to normal professionals. Companies can pick whomever they want, not the other way around. We can easily be “bullied” to write software the way companies want: (even more) cheap and faster. A “fast food” software.
Wars aside, Agile came and transformed developers into thinking beings, not waterfall robots. Software developers became respectful members of our society, away from the 80’s cliché of some guy blabbing tech gibberish no one understood.
We should not use our current professional advantage for our own personal gain: higher salaries, bigger monitors, free coffee, … We should use it to make companies let us do Software Development properly, worthy of the place is holds today and to build trust. This is not the companies responsibility.
Lawyers are prevented from executing their professional if they engage on criminal activities. Being part of the justice system, it makes perfect sense. Many other professionals have similar restrictions: they have regulations to prevent them from taking advantage of their position, harms other or society.
We don’t see ourselves as doing something with strong impact to society. It is just code, right? Not quite. Software is not important because people like computer games. Software plays an active part in people’s lives and companies. In extremes cases, without software it would not be feasible.
Facebook’s CEO being heard by the US Congress, over the company’s activities, shows how important Software is today. It is NOT just software. Software has a huge impact on people and society. Social Media software was the main facilitator of the Arab Spring, where several governments were overthrown.
In more mundane software, your work is extremely important to the company you work for. Defective software and small mistakes can cause huge financial loses and negative impact on the company’s image: downtime, data lost, security breaches, … Software mistakes went as far as causing bankruptcy in a matter of minutes.
Facing our reality
More initiatives as Rugged Software are needed to bring us back to reality. Us, developers, have to realize how flawed and human we are. Our nature can have a negative impact on the world and others, if we don’t admit it or do something about it.
You will never hear a CEO say: “let us improve our software development process”, but “let us make more profit”. Otherwise she/he would not be doing her/his job. It is the developers job to improve Software Development. We are not just writing code, we are promoting a profession.