Long time no blog!
I've been quite busy with work and real life (that thing we are supposed to have when not in front of a computer) and it seems that things will continue like this until the end of the year.
Being too busy is not good, but I don't care if I have the feeling that I'm doing things the right way, but lately I'm not having this feeling and the problem is outside my control.
Last week I got angry at all my workplaces because I strongly believe that people should try to do it's work as rigorously as possible: documentation, standards and plans are there to be used or, at least, to be tried.
Of course, if the plans can't be accomplished for some reason (unexpected bugs, hardware failures, ...), or the standards are not good (broken implementations, wrong internal procedures, undocumented features, ...) or the docs are inaccurate (external or internal to the work team) there is always the option to fix things or, at least, justify why things are not going as they should.
The problem starts when you see that other people is not reading pre-existing documentation, does not follow procedures and tries to be reinvent the wheel without even writing down what he or she is doing to let someone else review it.
Why I'm so angry this week? Well, I've seen this attitude from a lot of different people, most of them Computer Science Professionals or wanna be Engineers.
On one front, I've been three days trying to integrate products from two different companies into a Debian installation and in both cases the installation procedure and the products where broken in one way or another.
I always hear that people and companies don't have enough time to do their work in standard and portable ways, but that's something I can't believe... I've worked for a lot of Software Companies and the problem usually lies on the way the projects are managed and/or the lack of skills (or ability to get them) of the development team as a whole, not on the time pressures.
In fact this week I was able to fix small bugs in one or two days without knowing the products, but those were present because the original developers had not tested their product enough; bugs always happen, but all projects need some form of test-suite and that's something that usually is missing when you try to install them.
Continuing with the Development Companies, is really so difficult to develop something conforming to standards? If they are developing a product to be used in GNU/Linux, why the hell do I need to create special directories under /? They've never heard about /opt or the FHS?
On a different front, I've also had this feeling about the lack of professionalism at the office. The sad thing is that some weeks ago I thought that things were getting better in our project; after the summer we were starting to move faster, we have a better idea of what we have to do and there is a plan to follow, one step after another.
The problem is that the first steps on the plan were not done on time and the reasons for the delay given by my co-workers are not valid for me; the good thing is that I'm not the team leader and I don't have the responsibility, the bad thing is that I would like to continue working on this project and see it succeed independently of the support given from the upside, but with some of the attitudes I've seen from the people on the bottom I'm not sure that it will.
I'm sure I'll try to do my part as best as I can, but the project should be done by a team.
On the last front I have my University classes; I can see that the students have a lot to do, but they already show the same negative attitude I've seen in a lot of people I've worked with through the years (luckily only a fraction of them), mainly when you ask them to be rigorous and coherent on what they do, I suppose it is difficult to remember that the return values of functions are there to be tested, and it has to be done now, not on a future code review.
Well, that's enough for today, I'm not so angry now, the jobs are not that bad and not being the one at charge leaves me with better things to do or care about than the attitude of others, including the students.
Tomorrow at 9:00, programming with threads!