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