John Glowinski

Transcription

John Glowinski
John Glowinski
1899 Amherst, app. F
Montréal, Québec
H2L 3L7
Tel. (514) 598-5996 (res)
Tel. (514) 377-0520 (cell)
[email protected]
http://www.seesharper.com
HABILITÉS
Langages de programmation: C#, Visual Basic .NET, C++, C, Smalltalk, Assembleur, Pascal
(académique), Fortran (académique)
Plateformes: Windows, MS-DOS, UNIX, Idris (clone Unix)
Langues: Anglais, français
EXPÉRIENCE PROFESSIONNELLE
novembre 2013
juillet 2014
nventive, 215 St-Jacques, 5iéme étage, Montréal
Programmeur-analyste
Programmation en C#. nventive font des applications mobiles ainsi que l‟application SmartUse pour la
plateforme WinRT. À part SmartUse, j‟ai travaillé sur l‟application OpenTable (WinRT), une application
Silverlight et un projet interne en MVC 5.
mai 2010
octobre 2013
MS Govern, 1600 René-Lévesque O., Suite 620, Montréal
Programmeur-analyste senior
MS Govern offre une suite de programmes destinés aux municipalités pour gérer les propriétés et les
taxes. Programmation en VB.NET et C# à l‟occasion. Entretien et réécriture („refactoring‟) du code
existant, développement des nouvelles fonctionnalités. Réécriture complète du logiciel principal en
utilisant les téchnologies Prism, Unity („dependency injection‟) et WPF (avec MVVM) de Microsoft.
Code pour accéder aux bases de données SQL Server et Oracle. Utilisation d‟un „parser generator‟
pour traiter un langage ligne-de-commande utilisé pour spécifié les dimensions des édifices.
novembre 2008
novembre 2009
Clear Destination, 4000 Ste-Ambroise, suite 397, Montréal
Programmeur-analyste
Clear Destination offre un logiciel qui optimise les routes pour les compagnies de livraison. Ma tâche
principale jusqu'à date a été de crée un logiciel en téléphonie pour automatiquement aviser les clients
des compagnies de livraison de l‟heure de leur livraison. Ce logiciel a été créé avec le Speech Server
de Microsoft qui utilise un Windows Workflow pour créer une séquence de messages et pour agir sur
les touches actionnées par le client. Le Call Detail Record (CDR), qui contient les détails d‟un appel
complété, est fourni par le logiciel Pbx via le protocole SOAP alors j‟ai crée une petite application web
pour recevoir ces records. J‟ai écrit un Windows Service pour gérer les données associées aux appels
et pour déclencher les appels. Pour afficher les résultats des appels sur le site web de la compagnie,
j‟ai créé quelques rapports en utilisant Crystal Reports. Le code a été écrit en C# et Microsoft SQL.
Autres tâches : création d‟un web service avec Windows Communication Foundation (WCF) pour
transférer des données aux pages web, entretien d‟une page Silverlight qui utilisent Linq, entretien
d‟un web service WCF pour fournir des données à la page Silverlight.
octobre 2000
novembre 2008
CGI, 1350 René-Lévesque W., Montréal
Consultant
Pour le groupe 'Solutions et services publics' chez CGI (septembre à novembre 2008), programmation
en C# et SQL Oracle. Même type de travail qui celui fait en 2007 pour le même groupe (voir plus bas).
Pour le groupe Chorus chez CGI (octobre 2007 à juin 2008), programmation en C#. Le groupe Chorus
est responsable pour l‟application web qui est utilisé par le centre de services TI pour gérer les
demandes de support des usagers (« help desk »). J‟ai travaillé dans un groupe de quatre personnes
pour refaire l‟interface web qui permet aux usagers de rapporter et suivre leurs problèmes techniques.
Nous avons utilisé les technologies ASP.NET, ADO.NET, JavaScript.
Pour le groupe 'Solutions et services publics' chez CGI (avril 2007 à août 2007), programmation en
C#. Ce groupe fabrique le logiciel PragmaCAD qui est utilisé par les compagnies hydro-électriques
pour coordonner les activités de leurs équipes de travails. J‟ai travaillé à la traduction de messages de
PragmaCAD vers le système du client. Dans ce contexte, j‟ai réalisé les activités suivantes: écrire du
code C# pour traiter les messages, écrire du code SQL pour chercher les données requises par les
messages traduits, créer un fichier XML pour guider le traitement de messages et prendre l‟initiative
d‟écrire une analyse fonctionnelle pour la deuxième partie du mandat.
Pour le groupe Chorus (« help desk ») chez CGI (février 2007 à avril 2007), programmation en
VB.NET. J‟ai réalisé les tâches suivantes : créer des rapports Crystal Reports, créer des procédures
stockées de SQL Server pour chercher les données utilisées dans les rapports et afficher les rapports
dans une page web ASP.NET en utilisant du code VB.NET.
Pour le DTRS (Direction des Télécommunications – Réseau de Service) chez Hydro-Québec (avril à
octobre 2006), programmation en VB.NET. Le groupe pour lequel j'ai travaillé est responsable pour un
logiciel qui permet d'accéder à n'importe quel appareil de télécommunications de n'importe où dans
leur réseau. J'ai divisé ce logiciel en deux : une interface graphique et un service Windows
« multithread » qui se communiquent via le .NET Remoting. Ensuite, le service Windows a été
adapté pour fonctionner sur plusieurs serveurs en même temps en utilisant le .NET Remoting pour se
communiquer aussi.
Pour Jeux et technologies Oberthur (juillet 2004 à décembre 2005), programmation en VB.NET.
Oberthur se spécialise dans l'impression de billets de loterie. La nature de leur produit les oblige à
créer une longue contrat très détaillé pour chaque nouvelle commande.. En 2002, Oberther avait
engagé une firme pour automatiser leur processus de création de contrats. Cette firme abandonna le
projet en mi-2004. J'ai réécrit une bonne partie de ce code pour le rendre conforme aux pratiques
standards en .NET en utilisant ADO.NET avec des "stored procedures" de SQL Server.
Pour Technologies Nter (octobre 2003 à avril 2004), programmation en C# dans un projet de création
d'un système de capture de données des diverses machines utilisées par les casinos du Québec. J'ai
travaillé sur les modules qui éffectuent la communication entre les éléments du système en utilisant
plusieurs moyens de communication: .NET Remoting, TCP (sockets), MSMQ (Microsoft Message
Queues) et la communication par port série. Après le développement de ces modules, j'ai fait des
tests d'intégration et des tests de performance. Pour faciliter ces tests, j'ai développé un outil avec
interface graphique pour envoyer des données en format XML par les diverses méthodes et un
module client en .NET Remoting pour recevoir les données. Cet outil a été utilisé subséquemment par
l'équipe d'assurance de qualité. À la suite des résultats de tests de performance, j'ai procédé à des
optimisations pour améliorer la performance du système.
De juin à octobre 2003, j'ai travaillé sur quelques projets internes en VB.NET, dont un qui sert du
ASP.NET pour accéder à une base de données SQL Server.
Pour la Fédération des caisses Desjardins du Québec (janvier 2002 à juin 2003), programmation en
C, C++ et Visual Basic .NET. Projets majeurs:
 Migration du code C pour communiquer via le port serie à un clavier PINPAD. Ré-écriture en
Visual Basic .NET d‟un interface graphique écrit en Smalltalk sur OS/2
 Écriture d‟un DLL en Managed C++ pour faciliter la communication entre un programme Visual
Basic .NET et un DLL en C standard
 Écriture en Visual Basic .NET de divers fonctions écrites en C et REXX. Migration du code C
pour communiquer via le port serie à un clavier PINPAD
Pour la Société des Bingos du Québec (octobre 2000 à septembre 2001), programmation en C++,
HTML et JavaScript sur Windows NT. J‟ai développé une nouvelle version de leur station client pour
leur jeu de Bingo sur réseau. Ceci comprenait le développement de l‟interface graphique, l‟affichage
des pages HTML en utilisant le module ActiveX Microsoft Web Browser, la création des pages HTML
(avec JavaScript), la création des pages ASP (avec VBScript), la lecture d‟un fichier XML et l‟accès à
la base de données via ADO (ActiveX Data Objects). Pour les besoins du développement, j‟ai crée un
simulateur du serveur mutlithread. Pour le vrai serveur, j‟ai développé une classe pour encapsuler
l‟accès à la base de données SQL Server via l‟interface ODBC.
mars 2000
octobre 2000
Logibro Inc., 2, Place Alexis Nihon, bureau 1400
Programmeur-analyste
Programmation en C, C++, Perl et XML sur Unix.
Logibro fabrique un logiciel destiné aux grossistes en voyages qui leur permet de faire des
réservations d‟hôtel et d‟avion en bloc pour assembler un forfait qu‟ils revendent aux agences de
voyages. J‟ai travaillé sur la section du logiciel qui communique avec un système de réservation
extérieur, Sabre, le même système que les sites web utilisent actuellement. Cette partie du système
est real-time ce qui le rend très difficile à déboguer. J‟ai crée un système de traces pour déboguer ces
communications. Les données reçues étant difficiles à lire, j‟ai alors crée un programme Perl pour
extraire les informations les plus pertinentes des traces. En vue de communiquer avec un système de
réservations européen, j‟ai crée un standard d‟échange de données en XML.
juillet 1997
janvier 2000
Hummingbird Communications Ltd., 811 - 1010 Sherbrooke W., Montréal
Programmeur-analyste
Programmation en C++ sur Windows NT et Windows 95.
Projets majeurs: L‟addition d‟un module TAPI au produit HostExplorer de Hummingbird, permettant la
communication par modem. Entretien et mise à jour de HostExplorer. Conversion de leur ancien code
C à l‟approche objet orienté.
septembre 1992
mai 1997
Speedware, 2280-2600 boul. Laurier, Ste-Foy, Québec
Programmeur-analyste
Programmation en C, C++, Smalltalk et Actor sur Windows 95, Windows NT et UNIX.
Projets majeurs: Adaptation de Média (le logiciel principal de Speedware Québec) pour conformer au
standard OLE. Traducteur Actor (un langage objet orienté) à Smalltalk. Traducteur Actor à C++.
Première version du module Chargeur de Média sur UNIX (traduction d'Actor à C++, compilation et
deboguage). Première version du DLL pour optimiser le "disk I/O" de Média. Première version du
serveur UNIX pour Média en utilisant le standard de communications WinSock (TCP/IP).
février 1988
mai 1992
Ad Lib, 220 Grande-Allée Est, suite 850, Québec
Programmeur-analyste
Programmation d'applications utilisant une carte synthétiseur et destinées au marché IBM-PC.
Programmation en utilisant les langages C et assembleur sur MS-DOS et Windows 3.
Projets majeurs: Algorithme de conduite des voix (harmonisation à quatre voix). Algorithme pour
déterminer la tonalité d'une pièce musicale. Programme de visualisation et d'impression (laser,
matrices) en notation musicale. Trois programmes résident en mémoire (TSR) dont un permet de
jouer de la musique, un autre de prononcer une lettre lorsqu'on appuie sur sa clé (paroles digitalisées)
et un troisième de manipuler les attributs (volume, mixage, etc.) d'une nouvelle carte sonore.
Intégration de deux programmes, l'un qui affiche de l'animation et l'autre qui fait des effets sonores.
Amélioration du code source qui accompagne le produit «Programmer's Manual» ce qui a grandement
diminué les appels sur la ligne de support technique.
Autres tâches: Support technique auprès des développeurs (compagnies dont les logiciels font appel
à la carte Ad Lib). Maintien des logiciels existants. La rédaction de manuels d'usagers. La rédaction
d'un bulletin technique. La création d'une banque de données «Omnis» (un langage de quatrième
génération sur environnement MacIntosh). Assistance au «Microsoft Multimedia Conference» en
novembre 1990.
mai 1985
janvier 1988
Becterm, 12, route Trans-Canada, Lévis
Programmeur
Programmation d'applications et de systèmes en langages C et assembleur 68000 sur le système Idris
(clone Unix). Participation à toutes les étapes du développement de l'analyse technique jusqu'à la
livraison au client. Projets majeurs: éditeur d'écran, courrier électronique, banque de données,
programme utilitaire pour modems. “Boot-up EPROM” pour une carte basé sur le Motorola
68000/68020.
FORMATION
Cours, mai 2004: Analyse et conception par objets avec UML et RUP, Centre de recherche informatique
de Montréal
Cours, janvier 2003: Programming with the Microsoft .NET Framework (Microsoft Visual C# .NET),
Microsoft course no. 2349B
Université Bishop, Lennoxville, Baccalauréat es arts 1985
Programme: Commerce, Musique, Informatique
John Glowinski
1899 Amherst, app. F
Montréal, Québec
H2L 3L7
Tel. (514) 598-5996 (res)
Tel. (514) 377-0520 (cell)
[email protected]
http://www.seesharper.com
SKILLS
Programming languages: C#, Visual Basic .NET, C++, C, Smalltalk, Assembler, Pascal (academic),
Fortran (academic)
Operating systems: Windows, MS-DOS, UNIX, Idris (Unix clone)
Spoken languages: English, French
EXPERIENCE
November 2013
July 2014
nventive, 215 St-Jacques, 5th floor, Montréal
Programmer-analyst
Programming in C#. nventive makes mobile applications as well as the SmartUse application for the
WinRT platform. In addition to SmartUse, I worked on the OpenTable application (WinRT), a Silverlight
application and an internal project using MVC 5.
May 2010
October 2013
MS Govern, 1600 René-Lévesque O., Suite 620, Montréal
Programmer-analyste
MS Govern makes a suite of programs for municipalities for property and tax management.
Programming in VB.NET and occasionally C#. Maintenance and refactoring of existing code,
development of new functions. Complete rewrite of their principal software using Microsoft‟s Prism,
Unity (dependency injection) and WPF (with MVVM) technologies. Code to access both SQL Server
and Oracle databases. Use of a parser generator to parse a product-specific command-line language
used to specify building dimensions.
Novembre 2008
Novembre 2009
Clear Destination, 4000 Ste-Ambroise, suite 397, Montréal
Programmeur-analyst
Clear Destination produces route optimisation software for use by delivery companies. My largest task
to date was to create telephony software to automatically call customers to notify them of their delivery
time. This software was created with Microsoft‟s Speech Server which uses Windows Workflow to
create sequences of messages and to react to user input. I wrote a Windows Service to manage the
data associated with the process and to initiate the calls. The Call Detail Record (CDR), which
contains details of a completed call, is supplied by the Pbx software via the SOAP protocol so I
created a small web application to receive the records. In order to show the call results on the
company‟s web site, I created several reports using Crystal Reports. The code was written in C# and
Microsoft SQL.
Other tasks: created a web service using Windows Communication Foundation (WCF) to supply data
to a web page, maintenance of a Silverlight page which uses Linq, maintenance of a WCF web
service which supplies data to the Silverlight page.
October 2000
Novembre 2008
CGI, 1350 René-Lévesque W., Montréal
Consultant
For the Utility Solutions group at CGI (from September 2007): programming in C# and Oracle SQL.
Same type of work as that done in 2007 for the same group (see further below).
For the Chorus group at CGI (October 2007 to June 2008), programming in C#. The Chorus group is
responsible for the web application which is used by the corporate help desk to manage users‟ support
requests. I worked in a group of four people to redo the web interface which allows users to report and
follow-up their technical problems. We used ASP.NET, ADO.NET, and JavaScript technologies.
For the Utility Solutions group at CGI (April 2007 to August 2007): programming in C#. This group
makes the PragmaCAD program which is used by hydro-electric companies to coordinate the work of
their teams in the field. I worked on translating messages from the PragmaCAD program to the
customer's format. I was responsible for the following activities: writing C# code to translate the
messages, writing SQL code to retrieve data for the translated messages, creating an XML file to
guide the translation of the messages and taking the initiative to write a functional analysis in the
second part of this mandate.
For the Chorus group (help desk) at CGI (February 2007 to April 2007): programming in VB.NET. I
accomplished the following activities: creating reports using the Crystal Reports software module,
writing SQL stored procedures to retrieve data for the reports and displaying the reports in an
ASP.NET web page with the use of VB.NET code.
For the DTRS (Direction des Télécommunications – Réseau de Service) at Hydro-Québec (April October 2006): programming in VB.NET. The group for which I worked are responsible for a program
which allows one to access various telecommunication equipment from anywhere in their network. I
divided this program into two: one for the graphical interface and the communications code was placed
in a multi-threaded Windows service. Data is transferred between the two programs using .NET
Remoting. I then modified the Windows service to run on multiple servers and to communicate with
each other using .NET Remoting as well.
For Oberthur Gaming Technologies (July 2004 to December 2005): programming in Visual
Basic.NET. Oberthur specializes in printing lottery tickets. The nature of their product obliges them to
create a lengthy and detailed contract with their clients for each new order. In 2002, Oberthur hired a
software firm to automate the process of creating a new contract. This firm abandoned the project in
the middle of 2004. I rewrote the better part of the program following .NET standard programming
practices and using ADO.NET with stored procedures (SQL Server).
For Technologies Nter (October 2003 to April 2004), I worked in C# on a system to gather data from
the various machines used in Quebec's casinos. I worked on the modules which were responsible for
communicating between the elements of the system using several communication protocols: .NET
Remoting, TCP (sockets), MSMQ (Microsoft Message Queues) and serial port communication. After
the development of these modules, I did integration and performance testing. To facilitate these tests, I
created a tool (graphical interface) to send data in XML format via the various communication
protocols and a .NET Remoting client to receive the data. This tool was subsequently used by the
quality assurance team. In light of the results of the performance test, I then implemented several
optimisations to improve performance.
From June to October 2003, I worked on several internal projects in VB.NET, of which one used
ASP.NET to access a SQL Server.
For the Fédération des caisses Desjardins du Québec (January 2002 to June 2003): programming in
C, C++ and Visual Basic .NET. Major projects:
 Migrated C code which communicates with a PINPAD keyboard via the serial port from OS/2 to
Windows.
 In Visual Basic .NET, rewrote a graphical interface originally written in Smalltalk on OS/2.
 Wrote a DLL in Managed C++ to facilitate communication between the above VB .NET program
and a DLL written in standard C.
 Rewrote in VB .NET various utility routines which were originally written in C and REXX.
For the Société des Bingos du Québec (October 2000 to September 2001), programming in C++,
HTML and JavaScript on Windows NT. I developed a new version of the client station used in their
network Bingo game. This included developping the graphical interface, displaying HTML pages using
the Microsoft ActiveX Web Browser module, creating the HTML pages (with JavaScript), creating ASP
pages (with VBScript), reading an XML file and accessing the database via ADO (ActiveX Data
Objects). I also developed a multi-threaded program to simulate the server side. For the real server, I
developed a class to encapsulate access to a Microsoft SQL Server database via ODBC.
March 2000
Octobre 2000
Logibro Inc., 2, Place Alexis Nihon, bureau 1400
Programmer-Analyst
Programming in C, C++, Perl and XML on UNIX.
Major projects: Logibro makes a software program which permits travel package wholesalers to make
block reservations (airline, hotel, etc.) which they then assemble and resell to travel agencies. I
worked on the part of the program which communicates with the external reservation system, Sabre,
the system used on most web travel sites. This part of the system is real time and difficult to debug so
I created a system of traces to help debugging. The data received was very difficult to read, so I
created a Perl program to extract the most pertinent information. In preparation for communicating with
a European reservations system, I created a data exchange standard written in XML.
July 1997
January 2000
Hummingbird Communications Ltd., 811 - 1010 Sherbrooke W., Montréal
Software Engineer
Programming in C++ on Windows NT and Windows 95.
Major projects: Addition of a TAPI module to allow modem communications in Hummingbirds‟
HostExplorer product. Various maintenance and upgrade work on HostExplorer. Conversion of old C
code to an object oriented approach.
September 1992
May 1997
Speedware, 2280-2600 boul. Laurier, Ste-Foy, Québec
Software Engineer
Programming in C, C++, Smalltalk and Actor on Windows 95, Windows NT and UNIX.
Major projects: Adaptation of Media (Speedware Québec's main software product) to conform to the
OLE standard, Actor (an OOP language) to Smalltalk translator, Actor to C translator, first version of
"Loader" module for Media on UNIX, first version of a DLL to optimise disk I/O for Media and a client
version DLL which uses WinSock and the first version of UNIX server for Media using TCP/IP (to
communicate with the aforementioned WinSock DLL).
February 1988
April 1992
Ad Lib, 220 Grande-Allée Est, Suite 850, Québec, Québec
Programmer-Analyst
Applications programming for a music synthesizer card which is distributed in the IBM-PC market.
Programming done in C and assembler on MS-DOS and Windows 3.
Major projects: An algorithm to do four-part voice leading (four voice harmonization). An algorithm to
determine the key of a piece. A program to display and print in musical notation. Various memory
resident (TSR) programs and drivers, such as a music playback program, a program to pronounce a
letter when its key has been pressed (sampling playback) and a utility to manipulate the attributes
(volume, mixing, etc.) of a new sound card. Several demo programs which combine animation, music
and sound effects. A major upgrade of the source code which accompanies the "Programmer's
Manual" product (this significantly reduced calls on the technical support line).
Other tasks: Technical support of companies supporting the Ad Lib card. Maintenance of existing
software. Writing user guides, technical manuals and technical bulletins. The creation of a data base in
Omnis, a fourth generation Macintosh language. Attended the "Microsoft Multimedia Conference" in
November, 1990.
May 1985
January 1988
Becterm, 12 route Trans-Canada, Lévis, Québec
Programmer
Systems and applications programming in C and 68000 assembler on the Idris operating system (a
Unix clone). Participation in all steps of development from analysis to on-site installation. Major
projects: screen editor, electronic mail, data base, utility program for modems. Boot-up EPROM for a
custom-built card based on the Motorola 68000/68020.
EDUCATION
Course, May 2004: Object Oriented Analysis with UML and RUP, Centre de recherche informatique de
Montréal
Course, January 2003: Programming with the Microsoft .NET Framework (Microsoft Visual C# .NET),
Microsoft course #2349B
Bishop's University, Lennoxville, B.A. 1985
Program: Business, Music, Computer Science