These days I’m in process for selecting a framework for an application. An easy task several years ago when only Windows and Visual Studio were giving the pace. Now, on anything on web days, you have more than plenty good frameworks (and far to many shitsJS) to choose from. Here are some points you must keep eyes on:

  • YOUR APPLICATION

    I have encountered people that chosen a framework because everybody else used it and also must they. Your app will give you the most important criteria to weight a system.

  • What is framework capable of?

    Do not lay your ear on internet hearsay. There are more vaporware than facts. Test it.

  • Who support the framework

    One is Microsoft, Tweeter, Facebook and other ACME ltd who wants to get framework tested for free. Do not put your money on Google. They have made history on laying down projects (and not carrying about clients).

  • Is the framework mature? Can you see it on production?

    My experience says “use only framework versioned 3.x or about to be 3.x”. They change a lot on v1 through v2 to be stable on v3.

  • Does the framework have a comprehensive set of documentation?

    This is the most important criteria to eliminate a framework. Run away from a framework (or anything in computer area) with bad support. If the producer disconsider this part their only meaning is to get free testing.

  • your application

    I cannot emphasize enough how important is the application in the process of selecting the framework to be built on. Do not chose flexibility on flexibility only, do not chose performance on performance only, do not chose web-like on anything is on web only, do not chose scale for scale only, do not chose the popular on popularity only.

G.

I found a PM position advertised as this:

To apply, please send us a link to your linkedIn profile and a 200 word email (in English). You can write anything you wish in that email, provided that it shows us:
1) How you’d handle a situation where the client is angry because someone made an error
2) How you’d handle a situation where the client thinks they know more than you do, but they’re obviously wrong
3) How you’d share negative and positive feedback with your team

You cannot get better text for this job. Compare it with this corporate language:
– Strong written and verbal communication skills
– Strong ability to proactively identify and resolve issues
– Strong analytical skills
– Good time management skills

How can you get from any CV that he has good communication skills? Wth Strong analytical skills are? If you waste the time to apply to this job will still they consider that you have Good time management skills?

G.

ps. as it is a blog to remember me several ideas, here are the answers for the three questions

  1. The client is angry not on error, but on impact of the error on his business. There are two categories of clients – those who can manage themselves the negative impact and who will fire you and the ones that have their asses wet. For the last you can bring help. First thing to say is to assure them that you will work with them to control the facts. Second is to roll up the sleeves to find out where the problem is. Third (only after you know the problem), start to work on the problem AND mitigate the impact on the business. DO NOT begin working with the material impact until you clarify the facts.
  2. This is a tricked question. The client ALWAYS knows better than you everything about HIS business. Obviously wrong from your point of view is a very very narrow point of view and you must trust your client knows better what’s good for him. First thing to do is to try to understand his point of view. Then you can work together to bring it to live. If you still are in uncertainty you can ask him for guidance and close assistance. Or you can resign (this is the best thing to do if you still feel the client thinks they know more than you do…).
  3. There are not positive or negative attributes of feedback. The feedback is always valuable and must be transmitted as is. The most important thing about feedback is not the manner you share it, but how you use it. First you must keep it impersonal and focus on the facts. Second, USE IT, there is not better information than feedback. Even if you use it as lesson learned it is always an added value to your enterprise.

I found that mysql supports stored procedures and start working on them. Bad idea!

On php site (http://php.net/manual/en/pdo.prepared-statements.php) you get this piece of code:
Example #4 Calling a stored procedure with an output parameter
<?php
$stmt = $dbh->prepare("CALL sp_returns_string(?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000); 
$stmt->execute();
print "procedure returned $return_value\n";
?>

After spending a couple of hours on trial-error coding different solutions I compiled this workaround:
<?php
$stmt = $dbh->prepare("CALL sp_returns_string(@out_param)");
$stmt->execute();
$result =  dbh->query("SELECT @out_param")->fetch();
print "procedure returned ". $result['@out_param'] ."\n";
?>

To conclude: do not use mysql and php on any serious apps.
G.