We should talk about software development.
In my own work experience, in all the projects that do not fail, i notice something very apprehensive that is happen here in Brazil but I think someone from India or even the US could say the same.
Projects that do NOT fail, somehow and most eventually agonize.
There is no better term.
That’s how the customer feels when he gets bugs and bugs and almost no software.
That’s how the software manager feels when he doesn’t know what else to do.
Some developers agonize as well. Rais your hand who never worked holidays or flipped a coin for Christmas or new year’s?
There is something in every agonizing piece of software.
Always, in 100% of the cases, there is only one or a smallest group of individuals that can solve your problems and deliver a software version.
This is classic. I’m talking about the ‘top dogs’.
We need to understand them, because they are the only ones who understand ‘the complex problems of our clients’.
Lets hear Bill, our great manager, on the phone:
“We have a situation here… yeah… 4,000 lines store procedure.. im calling Frank on the other line. He knows how to fix things..”
Everybody wants to be a ‘top dog’.
Make more money.
Be your manager ‘closest friend’.
To the point: if you write simple code, you don’t understand the business.
Deal with that.
There is a endemic industry situation revolving around the use of tools that need excessive training, big books and endless ‘certifications’.
Whats your last ‘Bible’… mine was Delphi (+700 pgs) in 1999, and its now… wait. I really don’t care.
Those are the pros. Be somebody. Be proud of your SQL command with left outer joins with 12+ tables, group by and lets go crazy and put some ‘having’ in it.
Pros do. I’ll be someone one day. I bet you are right now training your skills of complexity.
Thing is: people end up doing things like that without noticing the absurd behind.
Companies now only want people who can manage complex software programming like the world cannot deal any more with n to n relationship being done by a simple table.
Simple what? Pff.. Amateurs.
Mega corporations like Sun and Microsoft are doing this for years. They keep feeding the developers with new 2,000 functions and multiple uses for you to buy.
The idea is: we make everything for your time not to be wasted with simple things.
You always feel you don’t know shit and buy more.
I don’t want to be an outsider!, your analytical mind rages.
Robert L. Read has said in his essay ‘How to be a programmer’:
How to Know When to Apply Fancy Computer Science
“There is a body of knowledge about algorithms, data structures, mathematics, and other gee-whiz stuff that most programmers know about but rarely use. In practice, this wonderful stuff is too complicated and generally unnecessary. There is no point in improving an algorithm when most of your time is spent making inefficient database calls, for instance. An unfortunate amount of programming consists of getting systems to talk to each other and using very simple data structures to build a nice user interface.”
-Very simple data structures.
-Unfortunate amount of programming consists of getting systems to interchange.
-Too complicated and generally unnecessary.
Robert warned us. This is where the 'top dogs' build their code elephants.
Managers call them to move this giant asses of the way.
And they pay the price.
The agonizing projects of today really translate to this:
I make good and simple software, and receive X for this, my manager never calls me.
Top dog uses fancy computer science that only he understands, gets 2X and manager always calls him.
The software industry exchanged efficiency for technology hijack.
Here’s how it works: this is not more than the remote controlled gate in your condo: every now an then is broken and the repair is paid in front to the 'nearest top technician'. The product eventually fails and you cant enter you house.
Again and again.
Commercial software doesn’t need machines with 2GB of RAM to run basic samples as your local video rent kind of program. Yes, you know it.
Probably you are saving to be able to run it. Must be ubber complex or i will sue the bastards!
Why people accept this is to engage into fool your customer to pay more for things that don’t work.
This has to stop.
Software is NOT this BULLSHIT.
Software is logical and precise and ever since the days of Berkeley sockets you can communicate with two programs with nearly 2 pages of code. In C++ is mere 200 lines. Just copy and paste if you are lazy from your browser.
Be a simple developer and earn your X with pride.
Enjoy your holidays at home, not with some pointless procedure that exceeds inefficient DB calls.
Help others to simplify your company life.
Managers will one day understand this when competition throws them out of the market.
Write your own tools. Took me 4 years to build an engine for my company.
Just get started.
Keep it simple.
Free your code.
Free your customer, you will be one someday.
-Jan 18, 2008