$ cat posts/to-the-good-it-people.md

To the good IT people

es Leer este post en español →

It is a pleasure for me to include the following post as part of this blog’s anniversary, because I am a great admirer of Aldrin Martoq’s style. I think he has a great talent for writing and should do more of it, which confirms an observation of mine that good IT people are good communicators too, and that is precisely what this new “guest villain” talks to us about:

To the good IT people

by aldrinmartoq

When I met Eduardo in person I asked him if he played any instrument. I usually do this because I have a theory that there is a significant correlation between IT person and frustrated musician. After thinking for a bit, he answered that yes, when he was younger he played the drums.

We also talked about how a friend and I saw software development as very similar to making a movie. Eduardo told me he thought exactly the same and was somewhat amazed to find someone with the same idea. Later, talking with my friend, we realized it was no simple coincidence: he had read this blog (to be precise: Developing software is like making a movie) and that is why we had discussed the subject.

It is a great honor for me to take part in the anniversary of this blog which, as you can see, has reached us directly or indirectly through all these years.

Poorly focused IT people

Something I repeat constantly is that the main problem with IT people is the tremendous lack of focus in everything we do.

It is something we see day after day: we build applications that are far from solving the original requirement; we work on problems that are not aligned with the solution; we look for answers to the eternal suffering of getting any system up and running by reinventing new methodologies.

This happens for many reasons.

Often we get so deep into a problem that we completely forget why we are doing what we are doing. We end up absorbed in trying to connect to the Web Service; we fight not to mix the data model with view logic (because that’s what best practices say); or we are very worried about getting the cluster working with the disaster recovery site… And we forget that the application doesn’t run forward or backward, let alone in parallel, something I think we are far from understanding well.

Or we copy formulas that apply to other disciplines. If it worked for Toyota, why not for us? The whole design patterns thing comes from architecture and other models that apply to physical things, but computing is something so abstract that we can’t just show up and apply those formulas to the magical thing that software is. Analogies are good, but they have a scope. And a limit, like any model.

The problem for me remains the same: if we focused on solving problems in their context we would realize this and much more.

For me the best example of focus is Apple. Many people label me a fanboy when I actually find that OS X in general leaves quite a lot to be desired, for example. It is horrendously slow because it is not a native BSD but is mounted on top of something else (Mach); the file system does some pretty strange things; the ridiculous amount of resources it consumes is disgusting; etc.

Did you know that the graphical interface in OS X is not 100% optimized? There is a technology called QuartzGL that after 7 years still ships disabled and is only available through a utility called Quartz Debug.

If this were Linux they would already have rewritten all the drivers and changed the GTK API to implement something similar to QuartzGL or whatever. But Apple understands that there are more important things for its users than 100% fluid graphics. After all, the system is not perfect but it meets its goals quite well and there are more important problems to solve. That is focus.

Has it ever happened to you that a plumber comes to fix a faucet and at the end of the day you discover there is no hot water? That is IT today. And the excuses are similar: “No, I already fixed the shutoff valve under the sink, what’s the problem?”. “Ah, but look, the hot water had the same problem and you didn’t tell me anything”.

Well, many may feel offended at being compared to a two-bit plumber. But that is the second part of this article.

Slave labor

To give you a possible reason for our lack of focus, I’ll tell you a story.

The other day a friend came into the office while I was programming and saw my screen full of source code. She said: “How booooooring, Aldrin! Doesn’t it bore you to look at that screen? It looks like The Matrix”. I answered: “No, not at all! In fact, doing this is what I like”. “Mmm, very good!” she replied.

The Greeks had the same disgust for this kind of work… how horrible, those people who “get their hands dirty” and work on “machine things”. Invention and experimentation were manual labor, something not worthy of men. Those who did what today we would call engineering were non-humans, that is, slaves.

Does it ring a bell, does it feel familiar, that sense that we are working without dignity, just like slaves?

This same feeling is somewhat tragicomic and creates contradictions we see day after day. A couple of days ago my friend (the same one) appeared in a feature on the evening news. But not for something related to IT; it was because he goes to a theater workshop. The feature was longer: there were people who had always wanted to be soccer players, some girls who wanted to be models, etc. Guess what: almost all the people interviewed were IT people.

It seems nobody wants to be an IT person anymore. My initial hunch that software engineer ≈ frustrated musician is going from bad to worse: I have run into filmmakers, cooks, actors and a long etcetera. All of them frustrated. Plainly, nobody declares themselves a programmer anymore, as Eduardo complains. And this is fatal: I think understanding programming and having the experience of it is fundamental to what we do.

The fact that nobody labels themselves a programmer anymore, but rather a geek, brogrammer or developer, is a good indicator. It is striking that many end the workday with the same sense of release as a slave: at last this degrading day of work is over.

I feel that a good part of the root of the lack of focus comes from the fact that we are not happy with, or fulfilled by, what we are doing. We are a mass of frustrated-whatevers instead of being plainly IT people.

And you: are you a frustrated IT person?

Comments

comments powered by Disqus