When updating to the new WordPress, I hadn’t noticed I left the ad-rotator in the dark. Since it’s an old-style widget, it was in the widgets directory, whereas all plugins now find a place in the plugins directory. So I copied the file from the backup, and put it back where it belongs. And it shows Epiphany (the browser) too. Try it, you’ll be surprised how fast it is.
I’m a programmer. And as a programmer I know how to use some programming languages. Some more thoroughly than others, but that’s not the point. When not dictated by the assignment or by an environment, the programmer chooses the language that will solve the problem best. “Best” is defined as: in the least amount of time. Or with the most accurate result. Or without spending a truckload of money. “Best” is not defined as: we need it tomorrow. Neither “it must be done in ColdFusion” qualifies. Nor does “we need a team of three certified Java developers to get the assignment”.
Unfortunately, most of the time programmers have to deal with other peoples problems. Their employer’s, or the problems of a client of their employer. Most of the time, that means there is no room for choice. So you will hear something like “we want the problem to be solved in PHP”. Or the client is using an old database so “deal with it”. Or the other way around: we want a SOA, but you got to help us with these .NET and Java webservices: they won’t talk to eachother. *sigh*
Dealing with environments you did (or would) not choose, or where you can’t choose, makes you creative. To deal with new problems using so called “proven technology” you’ve got to work your way around certain less optimal scenarios or bugs. Hey, that’s why these hacks are called workarounds!
Working around bugs is often very time consuming. Working around other peoples lousy work is time consuming too, since you’re basically redoing their work plus your own. Waiting for the next version that probably will have this and that feature that might solve the problem is a no-no: new versions have to be thoroughly tested before going live.
So you work your way around things.
In a next project, your work is reviewed, and the next programmer will say: what a loser! Why didn’t he solve it this way, and then showing off by proclaiming to know about the latest features. New features you wanted to use but could not. But what all experienced programmers know is that this programmers fate is no other than yours.
What most assignments mean, is that you get paid to be there. You are not allowed to solve the problem, but you fabricate a workaround they have designed (most of these so called solutions are a brain fart of the internal designers or architects, not actually the people that know stuff) in an environment that’s dead anyway.
Programmers get a bad name this way. Why don’t people let us solve problems? We’re clever enough. We can do things you can not. If that was not the case, why hire us in the first place? We’re smart people. Who happen to like puzzles. Why care so much for the way to the solution? Lots of people use cars. They don’t all know how the engine works, now do they? Why does this attitude not apply to software development?
Don’t comment on this blog with “we all know what happens when we let a bunch of developers solve the problem without actually telling them how” (referring to projects not in time, not in budget, or just plain abandoned). You did not through a problem at them, but a solution. Now review your past projects and tell me I’m right.