Sunday, January 30, 2011

are you the next FA?

It was supposed to be a very concise post, but since these guys don't know what an FA is, why risk you being in the same situation?


Story short, this is what a functional architect (FA) is for me: mostly a BA as his main job is to create requirements, with enough field knowledge so that he knows how a feature would fit customers best and beat the competitors' feature, with the guts and power of decision to cut down on or to extend his ask, with good project timeline awareness so that he can add a touch of prioritization to his ask, with enough UI design skills to add a drop of color to his words, and an English phrase not to far from that of a documentation writer.


(... now my FA, he used to code a lot before doing this role, so he also sees my point of view and he knows very well the technical architecture)

How do you know if you're destined to become an FA? The first sign is that you take special pleasure in writing down the Expected behavior of a new defect you are submitting:


Tuesday, December 7, 2010

7

I'm a man of milestones ... so since 2006 I'm keeping track of the novels I read. Not the articles, blogs or profession-related papers and books, just the novels, literature. And it's a shaming seven novels per year. Good novels, famous authors, good Amazon ranking, but still ... seven. 25% of them are in English which accounts in part for the low number. Still ... seveeeen ?!

I then started this interesting exercise, of building from memory the list of novels I've ever read. Subject to memory loses, the list is still small, way too small. But doing the exercise, it felt good, it was in essence a review of an important aspect of my life. The list I built it's a snapshot to which to compare against in one year, two years, every year.

I won't set personal targets at this point, nothing like the one novel a month type, I'll just keep the list as a snapshot. And I'm going to think positive, low number but high quality. As someone dear to me said once, Life is too short to read bad books.

Here are two links you might find useful:
All Nobel Prizes in Literature
All TIME 100 novels

Wednesday, November 17, 2010

what is an API

It's about that part of the code that's exposed to the public, the public API ...

When you need to change it, you might have to go through an API review board. Generally they will reject any changes that will make the API incompatible with previous versions. Cause this translates to having all the clients of the API change their code against your new API version.

There are cases when keeping the API compatible will be so difficult and add/or so much technical debt that the review board will accept version incompatible changes. They will work with the field engineers to understand what clients feel about this change and with the PM so that the next product version (the one shipping the version incompatible API) increments its major number.

It's not only the changes to and the removals from the API that should be reviewed by the API, it's also the additions. If the additions are badly designed, you'll still have to stick to them in the future, cause that's what public in public API obeys you to.

Yet there is another type of change that must be brought to the attention of the board: not an API change, but a behavioural change. Why bother then? Cause while clients' code will still compile, it will stop functioning as expected any more. And the only way to communicate this is through the API documentation.

Here is an example: a login API that changes from querying the company ActiveDirectory in favor of OpenID.

We should stop thinking about the API as just a set of classes and their methods. It's also the behaviour that's triggered when using those classes and methods.

Friday, October 29, 2010

automated replies

Sometimes I find it hard and sometimes time consuming to compose an email: it has to say Hi and then at least a one line as introduction and then the real message, and then a signature. Should I write my job title above my name or they'd think I am too formal? Should I say Respectfully yours or just Cheers?

The format is something that emails sent by a software do not have to conform to. In the end who would think badly about some bytes that are not polite enough?! Instead the recipient will be quite accommodating with the message and more than this, grateful that someone took the time to code and set up a program that actually does notify people about things happening.

This is what I speculated on. After getting an invitation to a one-hour event that SDL Language Weaver is organizing in Cluj, this is what I wrote as a response to their confirmation request:
This is an automated confirmation email that I intend to participate at the event SDL Language Weaver is holding on Nov the 4th at City Plaza.

Funny enough, I've just received a Thank you message from their HR manager. There was no mention of my name there, so she must have sent an automated reply.

Wednesday, September 8, 2010

Tuesday, August 10, 2010

standards

There are 3 main languages in Server Automation: Java, Python and PL-SQL.

I am using this Java code
new SimpleDateFormat("dd/MM/yyyy hh:mm")
to format a Date object like this
day/month/year hour:minute

This is how I'd do it in Python:
time.strftime("%d/%m/%Y %H:%M", time.localtime())

and this is how I coded it in PLSQL a few day ago (obviously mislead by the two guys above):
TO_CHAR(_column_, 'DD/MM/YYYY HH:mm')

which resulted in me spending one hour starring at the same output '09:08'. For one hour I was tricked into thinking the business logic that updated the column was wrong. But the hour passed by and Oracle said to me: now it's '10:08', which lead me to think we were not speaking the same language ... definitely I was not mastering Oraclian (=PLSQL) properly: it turned out that if I wanted minutes, it should be MI and not mm.

For that hour ... someone should take the blame, what about the creators of one of these languages for not following the conventions set out by the others. It should be the ones that arrived afterwards, right? Or probably it should be the standard bodies for not getting into date formatting.

Or should I think that French sounds sexier than English, learn both and embrace the diversity? But I have not been acquainted to many sexy engineers over time ... so can we all agree from this point on that when I want the time printed ... it should be HH:minutes? I'm hearing they spell it the same in France ...

Friday, June 4, 2010

in an immature market ...

... interviewees for your job might ask you to double their current salary without any apparent reason except they want to change houses
Begging? Are you kidding? We'll live in a big house on Harbour Road. You, me and Salim, the three musketeers. (Slumdog Millionaire)
... interviewees for your job might ask for a significant raise just because the local currency went down and car prices are still expressed in euros
There's a lot of very important decisions into buying a car. So we have to approach it as mature, responsible adults. (So Little Time)
... there is a crisis of managers
Deputy Arnold. He took a seminar in crisis management last year. (Leverage)
... if you are a smart engineer and have some above average communication skills, your employer will want to make you a manager; change the employer, same story
Me? Why me? I'm nobody. I'm the supervisor of a Nerd Herd, at a Buy More. Maybe someday I'll be assistant manager. but I don't even know if I want that job. (Chuck)
... employees are titled "senior" much earlier; the employer has to be inventive and come up with more titles ... senior++?
Oh, yes, I remember this case. A high school senior at age 12. (CSI: Crime Scene Investigation)
... some software engineers change jobs every year or so and get raises with each move they make; employers, when will you start rejecting such candidates solely based on this criterion?
To kill an infidel, the Pope has said, is not murder; it is the path to Heaven (Kingdom of Heaven)
... 10+ years of experience in the same field and you're a superstar
Travis Colt. Our local superstar. He used to race for Nascar... (Death Race)