I haven't had much time nor energy to post anything here... usually this happens when I'm overloaded with technical documentation at work. The past months have been very busy writing business functional specification, modeling and design and other architecture document. Not that I despise this or anything, but it seems that whenever I exceed a number of written words threshold (for a given time period) then writing becomes less enjoyable. I guess this is applicable for a lot of things we do in life!
I'm now taking the opportunity to change the title of this blog to something that reflects more what it's all about: Anything but a blog.
Ok don't have to point out the contradiction... however I could have also defined it more judiciously: Half-blog : the container is blog-style but not its content. This is particularly true with the everything-must-be-instantaneous trend reaching new level with the Twitter fad! That is simply not my style, as I'd much rather take the time to reflect on things then simply comment them...which is a probably not a bad thing considering the amount of time I spent doing analysis and architecture type of work.
Actually, if I were to position this blog in a linear spectrum where we have on one side "Twitter" and at the extreme opposite side "Encyclopedia" , I would probably position it like :
Twitter "this site" Encyclopedia
Obviously this spectrum is more about "container" than "content" as I can't pretend (yet), the "content" to be this close to an Encyclopedia ;-)!
For the upcoming time, I will continue using this space more as an archival document repository, a reference tool for technology, a handy place to keep my notes and .... probably more and more as a tool for family experience sharing.
Martin
Showing posts with label Professional. Show all posts
Showing posts with label Professional. Show all posts
Monday, April 27, 2009
Friday, May 30, 2008
Technology adoption rate in corporate world
Corporations are usually slow in adopting new technology internally... there is usually strong resistance usually among employees to change old habit (the famous comfort zone) or upgrade application implementation barely meeting requirement and specification. A good illustration of this is the too often seen requirement with spec similar as "files X containing all needed info will be sent to Mr. Y mailbox at some specified time schedule".
The email messaging paradigm is still the most natural and the least controversial way for disseminating information to specific recipients among the organization. However, many drawbacks are related to this approach:
-sophisticated security model can be implemented with RSS by leveraging the web security rules and mechanisms available in the company intranet/portal ;
-the management of all different messages content to all different recipients are off loaded from the publisher responsibility into the individual end-user recipients (except for security which can be managed at the web page level).... allowing the publisher to focus on the data content instead of delivery concern;
- Publisher application has a more standard and accepted way to publish and disseminate ad-hoc type message content (report, data, news, etc,,) among the end-user community within the organization.
Also interesting is the possibility that RSS can offer to corporate intranet and portal: RSS in the intranet. Some people even suggest RSS as a replacement of the email, as a way to get it over with the spamming issue or other shortcomings such as not being able to embed video within email directly.
Martin
The email messaging paradigm is still the most natural and the least controversial way for disseminating information to specific recipients among the organization. However, many drawbacks are related to this approach:
- The publisher application must manage all recipient emails (additions, removals, modifications, etc)
- The publisher application is also responsible in managing temporary substitution among recipients email (e.g. with vacations, etc..)
- Sending a large number of messages to various different recipients increase complexity of the publishing application whose scope should focus on the generation of the information
- Email messaging is less practical for larger data volume content
- Lack of security: the data sent over mailing application is rarely protected
- Recipient mailbox is not resilient to failure (e.g. limit space exceeded) resulting in the end-user missing valuable new content delivery
Some commonly uses of RSS feed include:
- Notification of new data content within a web site (either just a summary or the full content), typically used by weblogs and news websites.
- Notification of the arrival of new products in a store.
- Listing and notifying you of newsletter issues, including email newsletters.
- Notification of additions of new items to a database, or new members to a group.
- Weather and other alerts of changing conditions.
-sophisticated security model can be implemented with RSS by leveraging the web security rules and mechanisms available in the company intranet/portal ;
-the management of all different messages content to all different recipients are off loaded from the publisher responsibility into the individual end-user recipients (except for security which can be managed at the web page level).... allowing the publisher to focus on the data content instead of delivery concern;
- Publisher application has a more standard and accepted way to publish and disseminate ad-hoc type message content (report, data, news, etc,,) among the end-user community within the organization.
Also interesting is the possibility that RSS can offer to corporate intranet and portal: RSS in the intranet. Some people even suggest RSS as a replacement of the email, as a way to get it over with the spamming issue or other shortcomings such as not being able to embed video within email directly.
Martin
Saturday, March 22, 2008
Functional or Technical Focus
In my professional life, I’m constantly confronted and hesitating between two career tracks:
Note that I've highlighted the verb focus here, since most IT work done in enterprise has a very important business aspect. So unless you are working for a highly technical business sector, you can't get away in IT without any business knowledge and culture.
Recently I’ve leaned more toward the technical side, mainly because in my freelance practice, I had a lot of software development activity. Surely the best way to learn and acquire real knowledge about technology is to actually deep into it by doing real development yourself (expressed clearly in this famous B. Franklin quote: "Tell me and I forget, teach me and I remember, involve me and I learn"). However, this requires a lot of learning and adaptation because of the fast pace of technology change and evolution.
Since my arrival to Sword in Switzerland, it seems as if I may have to reconsider this focus as the bulk of software development work is done offshore and I'm more involved in functional specification. I’m not making a big deal out of this, since I’m currently involved in the telco industry which has a lot of technical focus and is also very challenging and constantly evolving!
And besides, there will always be the open source world where a lot of possibility exist to practice and maintain my software development skills. But for the time being, I can't even consider that…, even my own personal projects had to be put on the backburner.
Martin
- Focus more on functional area and increase my business expertise and knowledge on specific industries or business domains;
- Focus more on technical area and increase my IT technical knowledge on specific set of technologies, language, framework without any specific business focus.
Note that I've highlighted the verb focus here, since most IT work done in enterprise has a very important business aspect. So unless you are working for a highly technical business sector, you can't get away in IT without any business knowledge and culture.
Recently I’ve leaned more toward the technical side, mainly because in my freelance practice, I had a lot of software development activity. Surely the best way to learn and acquire real knowledge about technology is to actually deep into it by doing real development yourself (expressed clearly in this famous B. Franklin quote: "Tell me and I forget, teach me and I remember, involve me and I learn"). However, this requires a lot of learning and adaptation because of the fast pace of technology change and evolution.
Since my arrival to Sword in Switzerland, it seems as if I may have to reconsider this focus as the bulk of software development work is done offshore and I'm more involved in functional specification. I’m not making a big deal out of this, since I’m currently involved in the telco industry which has a lot of technical focus and is also very challenging and constantly evolving!
And besides, there will always be the open source world where a lot of possibility exist to practice and maintain my software development skills. But for the time being, I can't even consider that…, even my own personal projects had to be put on the backburner.
Martin
Thursday, February 14, 2008
Vacation over!
In our hectic occidental life, we are not used to stop doing what we usually do, i.e. work (and shop by judging on the popularity of shopping mall)! My break lasted for more than 4 months, in which I did enjoyed playing with the kids, reading more books than the last 4 year, biking around 1000km (although it was late in the year) and did various other things we usually don't have time doing during our short 2 days weekend break (BTW, yes I must confess I also did work during this break!). I guess it looked fun, since my wife got jealous and decided to take a break with us as well!
But it seems we are well programmed to live our active life which is not difficult to understand considering that we are brought up to it at very early stages (when I see those 4-5months old at aycare, sigh!). So after a while I was quite motivated to go back to work, but first I needed to find one.
Although I have my own consulting company, contracts don’t come so easily when you are a foreigner in a foreign country. I’ve worked in Lausanne before, but mostly involved in job at the backend, i.e. the RDBMS. My experience acquired within my consulting firm helped me broaden my knowledge in the J2EE environment and improve my ability as a consultant. This is the sort of skills I want to exploit in my new job.
So that means starting all over again and look for jobs the normal way, i.e. sending resumes, meeting new people and company and go through interview. Not the most fun, however I decided to take it seriously. The thing is, in my previous two jobs, I did not bother much about sending resumes and going through interviews. Actually I targeted only a single company, went through the normal hiring process and got lucky enough to get the job I was interested in.
So before leaving Canada, I actually checked the job market, identified a few potential firms/jobs and send them a link with my online resume. I started with about 5 or 6 of them, from which there were middle man ("intermédiaire"). I though that this would be enough as a first step and I could find additional target once arrived here. I must say the job market for my skills is well active in Switzerland, because this initial sending lead to an impressive list of follow-up:
-6 interviews
-1 psychometry test
-1 technical test
-3 phone interviews, etc… and 4 job proposal!!
p.s. Don’t underestimate the effect of the middle-man which can have a multiplicative effect.
Comparing this with my first job interview at Lausanne, for which I felt I was being sold a job rather than the opposite, I must say that things are more professional and most firms take recruitment very seriously. I've been through very high-level technical interview, challenging test, and very precise questions requiring thought-out answers and leaving not much place to subjectivity.
This took me quite some time and energy but I’m happy to have dedicated this effort because at the end this pays off and offered me the luxury to choose a job that meets most of my criteria (in order of importance):
1- type of work involved
2- type of technology involved
3- advantages like salary, vacation (of course!)
4- location of work
5- type of work environment
I’m happy to announce that I have accepted a job as a consultant for SWORD. This job will give me the opportunity to see former colleagues (because the first contract is at Orange), work not too far from home (Geneva looked cool but the commuting would be a bit too long, at least until they finally open the new metro M2 line at Lausanne), and I'm given the opportunity to exploit two of my expertise BI and J2EE!
Martin
But it seems we are well programmed to live our active life which is not difficult to understand considering that we are brought up to it at very early stages (when I see those 4-5months old at aycare, sigh!). So after a while I was quite motivated to go back to work, but first I needed to find one.
Although I have my own consulting company, contracts don’t come so easily when you are a foreigner in a foreign country. I’ve worked in Lausanne before, but mostly involved in job at the backend, i.e. the RDBMS. My experience acquired within my consulting firm helped me broaden my knowledge in the J2EE environment and improve my ability as a consultant. This is the sort of skills I want to exploit in my new job.
So that means starting all over again and look for jobs the normal way, i.e. sending resumes, meeting new people and company and go through interview. Not the most fun, however I decided to take it seriously. The thing is, in my previous two jobs, I did not bother much about sending resumes and going through interviews. Actually I targeted only a single company, went through the normal hiring process and got lucky enough to get the job I was interested in.
So before leaving Canada, I actually checked the job market, identified a few potential firms/jobs and send them a link with my online resume. I started with about 5 or 6 of them, from which there were middle man ("intermédiaire"). I though that this would be enough as a first step and I could find additional target once arrived here. I must say the job market for my skills is well active in Switzerland, because this initial sending lead to an impressive list of follow-up:
-6 interviews
-1 psychometry test
-1 technical test
-3 phone interviews, etc… and 4 job proposal!!
p.s. Don’t underestimate the effect of the middle-man which can have a multiplicative effect.
Comparing this with my first job interview at Lausanne, for which I felt I was being sold a job rather than the opposite, I must say that things are more professional and most firms take recruitment very seriously. I've been through very high-level technical interview, challenging test, and very precise questions requiring thought-out answers and leaving not much place to subjectivity.
This took me quite some time and energy but I’m happy to have dedicated this effort because at the end this pays off and offered me the luxury to choose a job that meets most of my criteria (in order of importance):
1- type of work involved
2- type of technology involved
3- advantages like salary, vacation (of course!)
4- location of work
5- type of work environment
I’m happy to announce that I have accepted a job as a consultant for SWORD. This job will give me the opportunity to see former colleagues (because the first contract is at Orange), work not too far from home (Geneva looked cool but the commuting would be a bit too long, at least until they finally open the new metro M2 line at Lausanne), and I'm given the opportunity to exploit two of my expertise BI and J2EE!
Martin
Monday, August 06, 2007
That's it I'm changing career path!
I've eluded in my previous blog all my frustration concerning closed source software... and today I'm very happy that I finally decided to move on to a different career path: I'm quitting my job at IMS Health where for the last 4 years I've held various positions as BI developer, team leader, etc.
My goal will be to focus on doing more consultating type of work that will rely primarily on open source libraries/framework to deliver high-quality application. During the last few years, I've been lucky enough to get some external contract which made use of these libraries. And I really appreciated the possibilities that OSS can offer:
This career move almost coincides with our plan to return back to Europe... my wife and I have finally decided to go back in Switzerland by the end of this year or early next year. More on this on a future post...
What will I do for the these 4 months left to 2007? Well, I'm very anxious to continue a personal project that I started a few months ago like a fun 'passe-temps', but now is starting to occupy too much time in my mind and I need to get rid of it ... meaning putting it online asap.
Enough said for now, I need to get back to work.
Martin
My goal will be to focus on doing more consultating type of work that will rely primarily on open source libraries/framework to deliver high-quality application. During the last few years, I've been lucky enough to get some external contract which made use of these libraries. And I really appreciated the possibilities that OSS can offer:
- in terms of quality of source code which helps to increase the quality of the application to build as well as your productivity
- but also in terms of the education opportunities it gives to increase your expertise and knowledge as a software developer
This career move almost coincides with our plan to return back to Europe... my wife and I have finally decided to go back in Switzerland by the end of this year or early next year. More on this on a future post...
What will I do for the these 4 months left to 2007? Well, I'm very anxious to continue a personal project that I started a few months ago like a fun 'passe-temps', but now is starting to occupy too much time in my mind and I need to get rid of it ... meaning putting it online asap.
Enough said for now, I need to get back to work.
Martin
Monday, April 09, 2007
Consultation informatique
Dans ma vie professionnelle j'ai la chance de combiner deux types de travail assez distinct. Le premier est relativement commun car il implique un emploi comme "Lead technique" d'une équipe de développeur d'application de type BI.
Par contre, ma deuxième vie professionnelle est plus stimulante et comporte son lot de défis. Dans cette seconde vie, je fais de la consultation informatique (freelance) dans mon domaine d'expertise: i.e. tout ce qui gravite autour des tâches d'analyse, de design et développement d'application développée avec Java et exigeant des interactions avec des systèmes de base de données.
Mon cheminement professionnel m'a permis de maîtriser ces deux spécialités comportants certaines incompatibilités, soit l'implantation de systèmes de base de donnée basés sur un design de type relationnelles des données, et l'implantation d'applications basées sur un design de type Orienté Objet (dans mon cas c'est Java). Il faut noter que certaines incompatibilités sont quelques fois une conséquence de la mauvaise fois des gens de chacun des deux clans, mais ceci est une autre histoire....
La connaissance de ces deux spécialités s'avère d'autant plus utile avec l'explosion d'application sur l'internet dont les caractéristiques justifient l'utilisation de ces deux spécialités.
Tout cela pour dire, que je suis bientôt mûr pour un changement de carrière ... mon emploi chez IMS étant moins stimulant car nous servons une industrie beaucoup plus conservatrice avec de long cycle de vie des applications logiciels (je travail en ce momnent sur une application vieille de plus de 30a ns fonctionnant sur le Mainframe). Il faut dire que j'arrivais du monde un peu fou de la télécommunication qui est assez intense et garnie en terme d'innovation.
Martin
Par contre, ma deuxième vie professionnelle est plus stimulante et comporte son lot de défis. Dans cette seconde vie, je fais de la consultation informatique (freelance) dans mon domaine d'expertise: i.e. tout ce qui gravite autour des tâches d'analyse, de design et développement d'application développée avec Java et exigeant des interactions avec des systèmes de base de données.
Mon cheminement professionnel m'a permis de maîtriser ces deux spécialités comportants certaines incompatibilités, soit l'implantation de systèmes de base de donnée basés sur un design de type relationnelles des données, et l'implantation d'applications basées sur un design de type Orienté Objet (dans mon cas c'est Java). Il faut noter que certaines incompatibilités sont quelques fois une conséquence de la mauvaise fois des gens de chacun des deux clans, mais ceci est une autre histoire....
La connaissance de ces deux spécialités s'avère d'autant plus utile avec l'explosion d'application sur l'internet dont les caractéristiques justifient l'utilisation de ces deux spécialités.
Tout cela pour dire, que je suis bientôt mûr pour un changement de carrière ... mon emploi chez IMS étant moins stimulant car nous servons une industrie beaucoup plus conservatrice avec de long cycle de vie des applications logiciels (je travail en ce momnent sur une application vieille de plus de 30a ns fonctionnant sur le Mainframe). Il faut dire que j'arrivais du monde un peu fou de la télécommunication qui est assez intense et garnie en terme d'innovation.
Martin
Tuesday, August 15, 2006
Préférences
Avec le temps et surtout l'expérience, j'arrive à mieux savoir mes préférences en terme de travail... voici une petite liste de truc dans le format "me convient versus me convient moins":
Cette liste est bien évidemment dynamique mais disons que, depuis quelques années déjà, elle se stabilise assez bien. Les fluctuations semblent être en terme d’addition et non de modification!
Martin
Note: From time to time and usually when my post will be more personal, I'll blog in french. As you may have already noticed, english is not my first language, but rather the language I often use in my professional life.
- exécuter versus faire exécuter
- travail sur un plus petit nombre de tâches concurrentes plus exigeantes versus un plus grand nombre de tâches plus routinières et monotones
- travail dans un cadre précis et concret versus cadre plus flou et plus théorique
- travail d'analyse et de raisonnement dépendant de la logique versus travail de recherche dépendant du bagage de connaissance
- comprendre versus apprendre
- apprendre grâce à la compréhension versus apprendre grâce à la mémorisation
- travail de gestion technique des projets/ressources versus travail de gestion administrative
- travail varié et exploratoire versus travail fixe et récurrent donc redondant.
Cette liste est bien évidemment dynamique mais disons que, depuis quelques années déjà, elle se stabilise assez bien. Les fluctuations semblent être en terme d’addition et non de modification!
Martin
Note: From time to time and usually when my post will be more personal, I'll blog in french. As you may have already noticed, english is not my first language, but rather the language I often use in my professional life.
Sunday, March 19, 2006
From ER to OO
In my previous posts I've been sharing knowledge valuable for people dealing with the technology underlying relational database management system (RDBMS for short). This technology is used to store literally any information held by organization. I've been dealing with this technology since about 1996, and still continue to do so mainly because of its ubiquity in IT world. Relation databases store information using set theory and implement transaction and concurrency control to handle a large number of simultaneous connection, and as such their scope are fairly limited (although most big players are trying to include more functionality and processing flexibility into their engine, e.g. Oracle experiencing with the inclusion of JRE within their database...).
After doing modeling and designing architecture for database for some time, I started designing and developing stuff in Object Oriented language environment (around 2002). At first this can be quite daunting with all the flexibility OO programming can offer... Compared to database modeling where you have a rigid framework and theory guiding your work, OO modeling seems more to stimulate your artistic and creativity ability than your analytical expertise.
To overcome this new paradigm, here's some pragmatic steps I did and applied in learning Java, free of charge (or almost):
After doing modeling and designing architecture for database for some time, I started designing and developing stuff in Object Oriented language environment (around 2002). At first this can be quite daunting with all the flexibility OO programming can offer... Compared to database modeling where you have a rigid framework and theory guiding your work, OO modeling seems more to stimulate your artistic and creativity ability than your analytical expertise.
To overcome this new paradigm, here's some pragmatic steps I did and applied in learning Java, free of charge (or almost):
- Getting and reading good reference documentation, such as the free resource from Bruce Eckel, Thinking in Java. This first step will only help you gaining some knowledge, but to be able to do it yourself in an elegant and flexible way you'll definitely need more experience. After some practice you'll seem to face recurrent problem over and over... this is where step 2 kicks in.
- Getting a good reference on Design Pattern, this will teach in developing code with better quality (from aspects such as flexibility, robustness, adaptive, less error prone, etc.) following pattern developed by experienced developer. A good introduction book would be Head First Design Pattern, but to get the real reference document you should go to Gang of Four.
- If you're still shy and afraid of downloading a free copy of Eclipse to experiment and code yourself (at this point maybe you should simply reconsider coding ;-), then what is still available to you are millions of lines of quality code (mostly in Java) available in the best open source project, more on that later. However, most likely you'll actually be programming your own stuff relying one or many open source components, at least that's how I did it.
Subscribe to:
Posts (Atom)
