New year, new project, right? Well… that not totally true for me this year! Let’s say that I’ve inherited a Big Ball of Yarn to play with. The goal is to “reuse” an existing project, remove unnecessary functionality (a.k.a. dead code), and plug-in some extra “algorithms”, but just lot at the #include dependencies of the “reusable” source code. This will be fun!

(click to enlarge)
The correct answer to that question is “I’m a father, a lover, a living being… In that order.”. This is an important aspect of the answer, since how one seed himself obviously influences the way the reality is perceived, but today I want to talk about a different aspect. So, in professional terms, what am I?
The other day, during “team motivation” training there was an exercise where a colleague tried to motivate me to work with him in a new project. The idea was to have a “coaching” session in order to perceive my expectations, but the way he approached the session made me thing about what I am and what I would like to be doing in a short/medium term.
Having a computer science degree, I’m obviously very interested in Software engineering, but above all I consider myself a Systems Architect/Engineer. Of course I’m able to understand an existing “blue-print” and build the building (give me a specification, an editor and a compiler, and I’ll be a very happy man), but I’m also very interested in participating in the “sketching” of the “blue-print”. Especially, and above all, I like have a global view of what is being built.
So, this colleague suggested a baby-steps approach, where a complete birds-eye view of the system was only achieved after several months. I don’t want to start by implementing very specific I/O routines, or be in charge of a very specific infrastructure component. I don’t believe in having computer guys working the infrastructure (low-level design, I/O, supporting middleware) and leaving all the domain stuff (domain algorithms, specific computations and modelling) to the domain experts. Software should be built by software engineers with the support of domain engineers ([DDD] has a very nice discussion on this issue). I need to see the complete architecture of what I’m building, that’s when I most capable and most efficient.
References:
[DDD] Eric Evans , “Domain Driven Design: Tackling Complexity in the Heart of Business Software”, 2002 (@ google books)

credit: ammanteufel
My last post here was almost three weeks ago. Since that last post, things didn’t went along as expected. Career meetings were help during the last week of April, and the results were not as I expected. For the first time since joining the company, I felt that I had to do something…
The first thing I did was not to explode! I decided to “count to 10″ and think through my possible actions. The next step was start writing a letter explaining with my satisfaction regarding my job and future prospects had dropped so low. A two page letter has sent on last Friday to my boss… His way of approaching the issue was the expected calling to a private talk. I was congratulated for my “very professional attitude” and some actions were agreed to try mitigate the current dissatisfaction.
I’ll be watching the results of such actions and if in three months there’s still nothing to be seen… I’ll have to sit down again and think about my options.
Here are some goals/improvements that are expected for the near future:
- Improve Team Management Skills
- Investigate Agile development techniques
- Read available training documentation on the subject
- Learn about methods to organize meetings
- Increase Technical Management Functions
- Schedule specific weekly period to pay 100% attention to ongoing technical tasks
- Improve Technical Knowledge on Optimization
- Investigate optimization techniques for algorithm optimization (e.g. parallel processing)
- Apply these optimization techniques on the ongoing algorithms
- Produce some notes on the subject
In three months there will be an evaluation of ongoing tasks (still to be specified).
Yesterday was a special day, the annual self-appraisal meeting has proven to be an effective mean to discuss some of my thoughts and concerns about the past and future. But it also proved to be a good introspection exercise about what could be improved.
The ‘after’ feeling was that I had excelled (and ever surpassed some of the expectations) in a number of ways. The only exception is my capabilities to plan and organize myself. The (-) on the title is only related to this exception.
I must admit that improving this aspect of my work has proven to be more difficult that I expected. The major problem seems to be finding a workflow able to cope with all my everyday needs.
I’ll promise to keep trying to pro-actively improve this issue!
Next week I’ll be traveling to Rome. Yes, I’ll be working for most of the day, but I hope to have some free time to visit the city (or at least some parts of it). Looking for some online information on what the city has to offer I found a very nice photo album, here.
You can virtually visit the select location through a set of photos taken by others, but soon I’ll tell you if the actual places are as beautiful as they seem.
After some more searching I found that the idea has been used (researched?) in Microsoft® Live Labs to develop Photosynth.
With the last post came sort of a promise. To follow that promise, a new post should have been posted every day since. Instead of a new post every day, what happened was the biggest gap between posts since the beginning of the blog.
Amongst other thinks, this means that the time that was usually stored for my ‘projects’ has been taken from me. This leaves me cranky and thoughtful. Studying for the PhD is one of the factors, of course. But, what else is taking my time?
That is a question I can’t still answer… but, I think fact that the biggest delivery my project has ever had was due last week had something to do with it!
Remember The Milk is a very nice online tool to manage your personal task list. It enables you to manage your tasks from wherever you are at the moment, keeping them always updated.
For those how use Firefox, the RememberTheMilk tool developers have developed an add-on which integrates the tool into your Gmail interface. A task list is created in a new sidebar which is added to right side of gmail’s message list.
A add-on to integrate the task list into Thunderbird is also available here (the installation procedures are here). This allows the user to integrate the task list into the calendar Lightning add-on.
I’m home! …alone, as the title suggests!
The weather is kind of crappy, with lots of dark clouds in the sky. So, although my wife and daughter decided to visit her mother/grand-mother, I decided to stay home and work on somethings that are pendent from last friday.
Yeah! I brought work home, once again… It’s reaching a point were it’s not even comfortable anymore. To much work to do, and not enough time to do it.
Last weak I tried to stick to office hours. That ‘effort’ lead to only a couple of hours more than a regular work week, but because of that work followed me home! A couple of simple reports, but I’m becoming really tired of bringing work home.
I’m having a couple of days off work, for the first time in the last couple of weeks, because of holidays*. This doesn’t mean that I spend time away from my PC, just that I didn’t work.
I used my free time to create a new blog. This time more of a notebook than a blog, in which I’ll write what was supposed to be no more than mental notes. I also found a very nice Firefox Extension called ScribeFire that allows to add new posts without ever login to wordpress dashboard. Essentially, it will contain tips and tricks found on the web or that result from my experience (either good or bad!).
The new blog, located here, and it’s conveniently called Single Point of Failure. Cool name, isn’t it?
This way, Introspection can continue to be a personal blog focused on self introspection and related activities.
* in Portugal, the 1st of May is considered as Labour Day (usually used by the unions to perform some kind of public statement)