Software development, just as science fiction writers predicted some fifty years ago, is becoming more and more common activity people are engaged in. Software drives not just traditional computers, it now propels literally everything plugged in; phones, cameras, TVs, cars, even washing machines. The knowledge of at least one simple programming language soon will be as essential as basic writing skills. Why? Because as the complexity of average software increases, professional programmers become less affordable and less accessible for basic programming tasks.
Let me explain.
Just recently a friend of mine was asking for some help with Excel. He needed a fairly intelligent macro for some intense spreadsheet transformations. I had to explain that it would probably cost him about six hours of programmer's time and no programmer will do it for less than at least $60/hour. Actually... no programmer will do it. Period. Because it is boring. Because they have "better things to do" for $60 an hour. Outsourcing ultimately is not going to help because the population of laptops, cell phones, TVs, microwaves and other programmable devices is growing much faster than world-wide population of professional programmers. Therefore nobody will help you with your basic programming tasks.
And you will always have some basic programming tasks, simply because more and more of what we do includes programmable devices. And off-the-shelf components created by professional programmers will not keep up. Charging your customers money, for instance, used to be a purely mechanical operation; you'd put a smile on your face, stick your hand out and a customer lands a $10 bill on your palm. Now you would want to set up a merchant account hooked to a payment gateway all integrated into your accounting and possibly other software. And you inevitably will want something more, something custom from your (without a doubt) highly customizable software. Why? Because it is customizable. But mostly because you already know: what you want is possible. Because it, whatever you have on hands, is programmable.
And programmers willing to help you are getting scarce. The alternative? Learn to do it yourself. Visual Basic (or bash scripting - depends on who's reading this) should be next to English in an average school's curriculum.
Programmers are expensive. Geez... they are getting more expensive every year. And the software they build is getting more complex. And more essential to whatever you do. Starting almost any kind of company these days involves hiring programmers. Your business does not need to be in information technology, but you have to hire programmers anyway.
Bad Programmers
Now lets think about starting companies. Some of them get born, grow, transform, evolve and eventually succeed. But others miserably crash and burn. Books get written about those failures, articles get published and MBA students are getting fresh real world cases to study and learn from. They blame CEOs for their mistakes. They blame ineffective marketing strategies, strong competition and only god knows what else those MBAs are trained to blame failures on.
But you know what? I have grown to suspect that a lot of companies are failing simply because they hired dumb engineers. There are several factors that lead me to believe this.
First, as I said above, programmers are becoming more important as software becomes more vital to what most companies do. Therefore, the impact the quality of engineers has on business has grown substantially. Second, it is very hard to find good programmers because there are fewer and fewer of them measured in "PPD" (per programmable device). And finally, it is damn near impossible to tell good programmer apart from a bad one unless you happened to be an engineer yourself. And most companies are not started by engineers.
Do they teach this in business schools these days? Do they teach that dumb engineers will have an immense impact on your business? A sufficiently dumb engineer may hurt you more than most competitors will. When organized in loose formations, even in modest numbers, they can even kill an otherwise healthy business. I'll write some more about those blood sucking yet fascinating creatures a bit later.
You may label this post as "self important crap" and you are welcome to, but isn't it everyone's belief that his or her profession is the most important one? Similar to university professors who almost without exceptions believe their course is the most valuable.
Thursday, September 13, 2007
Subscribe to:
Post Comments (Atom)
20 comments:
If it makes you feel any better. I took more programming classes in school than English classes. I hate English.
It is a good sketch of a much more full posting. You can find some programmer productivity studies to back up your assertions. Your ideas on what "productivity" means seem a bit muddied. I'd clear up some of the anecdotal stories to more consistently drive your main point home.
You have two points in this post. One is that modern schools should teach the basics of programming so average people with a specific need can solve their own problems without having to pay a high priced coder. (Though usually it will be cheaper to hire a good coder.) The second, and more interesting in my view, point is that poor engineers clog up the code with hard to understand (and side-effect inducing) algorithms. This slows down the ability to develop good software.
Split up the ideas into different posts and expand on them. I'd be interested to read the results of either posting.
You might be on to something there. Take a close look around the IT departments of most financial institutions. It is amazing to me how these organizations function with the amount of time and money sucking leeches of bad programmers that occupy them.
No different than mechanical engineers in a manufacturing company and we have case studies on that going back a few hundred years.
Please keep writing. You only seem to have two posts, but they are excellent.
Not only will basic programming skills help every day individuals solve programming related problems, but learning the theory of programming requires strong problem solving skills, a logical thought process and being mathematically inclined which are all extremely beneficial assets in countless other aspects of your life.
Excellent blog. Keep writing.
You lost me with the sentence:
"The knowledge of at least one simple programming language soon will be as essential as basic writing skills."
Nope, never gonna happen. If people can't get a device that does what they need without programming, and they can't hire a programmer to do it, they will regard the task as impossible.
Certainly more and more of the population that is capable of programming is going to learn at least a little bit, but the percentage of the population that is capable of learning programming is much smaller than that capable of learning writing.
One of the traits of a good programmer is an unusual problem-solving tenacity. The general population has a much much lower tolerance for figuring out abstract code. And frankly I don't see enough programmers have 10 kids for evolution to take care of the problem.
My guess is that our technological golden age will become unsustainable sooner rather than later, and all of a sudden survival skills will be more important than programming or basic writing.
To paraphrase, dasil003, your point is that: the percentage of the population that is capable of learning programming is [small]
The same argument could, and probably was used against proponents of universal literacy.
I'm sure you've noticed that that's not actually a strong, logical counter-argument to your point. I'm just pointing out a parallel.
Still, I think you're wrong about learning to program, for some definition of 'to program'.
I mean, not everyone has the temperament to sit and stare and write for days and weeks and months on end to produce a (book | professional-quality computer program). However, many are capable of writing little (memoes and letters|scripts and macros) to accomplish things in their day to day life.
I'm up with dasil003 (excluding the apocalyptic remark in the end).
Most people I know who aren't engineers lack the temperament, and many of them also have a terrible fear of looking technology under the hood.
I believe that the art of programming is much like medicine or law in the sense that while most people can certainly gain at least a basic level of proficiency in the field, they'd rather regard it as "magic" and seek ever-more-expensive professionals to do the job.
Good blog by the way. Keep writing!
To dasil003 and elad:
Consider the many "non-programmer" folks that create custom functionality within Excel or Access. They're programming and don't even realize it.
In my country (Serbia) programming is school obligation. We have Informatics subject. In grammar schools we learn pascal(good old) for 4 years. In technical faculties programming is obligatory. In my faculty of organizational science (business administration), not only students from Informational systems learn programming in java but also students of Management, Product management and Quality control.
Bad programmers can certainly do you in. A multiplier of that, though, is the unshakeable conviction most programmers have (bad, mediocre, or even good) that they are Great Programmers. They believe that "gold code" streams from their brain through their fingers, and can scarce conceive that their software is anything other than deliverable as soon as it hits the screen and compiles cleanly.
The truth is, there are Terrible Programmers out there, and confession is good for the soul...
Excellent Article. I will link to this article from our site. Take some time and check out ICanFreelance.com for any freelance writers or human resources outsourcing.
If you are looking out for apt ecommerce solution to spruce up your online business,then the offshore software outsourcing company Infysolutions is the ideal destination foryou. The url http://www.infyecommercesolution.com/ provides the details on specific ecommerce solutions that you can avail of to expand and boost up your online business.
Interesting to know.
Nice Post
-------------
article rewrite
You are so generous! I just love finding beautiful and artistic freebies like this. They really brighten up my day, thank you!
Nice post. Great blog. Thanks for the share.
Web Design| Web Development|
cheap goose jackets online sale Denmark Canada, UK,
goose trillium parka jackets online sale Denmark Canada, UK,
Canada goose freestyle vest online sale Denmark Canada, UK,
Canada Goose Chilliwack Bomber sale online sale Denmark Canada, UK,
Canada Goose Mens Citadel jackets online sale Denmark Canada, UK,
cheap Goose Expedition Parka coats online sale Denmark Canada, UK,
canada goose snow mantra parka online sale Denmark Canada, UK,
Canada Goose Yorkville Parka Jackets online sale Denmark Canada, UK,
womens Goose Chilliwack Parka online sale Denmark Canada, UK,
womens Goose Expedition Parka online sale Denmark Canada, UK,
womens Goose Kensington Parka Jackets online sale Denmark Canada, UK,
womens Goose Montebello Parka jackets online sale Denmark Canada, UK,
Canada Goose Womens Solaris Parka online sale Denmark Canada, UK.
Post a Comment