Try the all-new QuickBooks Online for FREE.  No credit card required.

Software Engineer - DOC - DOC

Document Sample
Software Engineer - DOC - DOC Powered By Docstoc
					                                           Nacim Kacan
                                780 Newport Crescent Windsor, Ontario N9E 4Z5
                              248-944-5072 (W) 514-667-4112 (H) 519-991-2079 (C)

A challenging position in the field of Software Development. Areas of interest include SOA, WSAD, IRAD,
Websphere, J2EE, Java, JSP, Servlets, Struts, AJAX, JDBC, JNDI, Web Development, C/C++, PERL,
UNIX, ksh/bash, CGI, XML, XSL/XSLT/XPATH/XSL-FO, HTML, 3D Modeling.
Over 12 years of experience in the IT industry with 7 years in U.S. and 5 years in Canada. Areas of
expertise include leadership, architecture, coordination, system analysis, design, implementation, and training.
7 years of experience in SOA, J2EE, JAVA, JSP, Servlets, Struts, LOG4J, XSL/XSLT/XPATH/XSL-
FO, 9 years of XML, document management and conversion. Designed and developed WebSphere-based
solutions for complex multi-homed environments, all the way from the generation of data and content to final
consumption by multiple business units, both internal and external. All interfaces to these SOA-based
solutions are done via services with published schema to insulate the system internals as wells as the database
structure from external consumers. All solutions served multiple office locations, with multiple languages and
localized data.
Expert level experience in C/C++, PERL, shell scripting in a variety of UNIX environments including SGI
IRIX 6.x, SUN Solaris 5.6, Red Hat Linux 6.2. Used OpenGL, Xt, X-Motif and UIM/X to design and
develop a Solid-Modeling System on a UNIX IRIX platform. Created and developed the Boolean operation
between solids and a mathematical API including intersection in 2D and 3D between different entities such
as line, plane, and conic.

Technical Skills:
Languages:              JAVA, C/C++, PERL, XML, AJAX, XSL/XSLT/XPATH/XSL-FO, HTML,
                        ksh/bash, VB, SQL.
Operating System:       UNIX (Solaris 5.6, SGI IRIX, GNU), Linux, Windows 95/98/2000/NT 4.0/XP.
Methodology:            SOA, J2EE, Object Oriented Design, CGI, COM/DCOM, Thin-Client Architecture.
Tools:                  WSAD, IRAD, LOG4J, Eclipse, Netbeans, Winsql, Mainframe, Rougewave
                        Toolkit, Solaris Workshop Debugger, Purify, ksh/bash, make, Ant, FOP,
                        Dimension, RCS, PVCS, Reflection X, XSecurePro, Exceed, emacs, xemacs, vi, xvi,
                        MS-FrontPage, Dreamweaver, MS-Interdev, MS-Visual SourceSafe.
Databases:              UDB, Sybase 11.4, Oracle 7.3, MySQL, MS-Access, Pro*C, Sqlplus, SQL.
GUI:                    OpenGL, Xt, X-Toolkit, X-Motif, UIM/X.
Web:                    SOA, Websphere, JAVA, J2EE, JSP, Struts, Servlets, LOG4J, AJAX, JDBC,
                        JNDI, PERL, CGI, HTML, XML, XSL, JavaScript.

    Bachelor of Science in Computing, University of Nancy I, France, 1992.
    Masters in Computing, University of Quebec in Montreal, Canada, 1999.
   AON (Application-Oriented Networking) training with CISCO (One week), Oct. 2007.
   Vignette training with Vignette (one week), Dec. 2007.
   English (fluent)
   French (fluent)

                                                  Page 1 of 7
                                                                                         NACIM KACAN’S RESUME

Professional Experience:
DaimlerChrysler                          Auburn Hills, MI, U.S.A.                            May.’05-Present
Title: Technical Lead/Architect/SME
Project: VCM (Vehicle Configuration Manager)
Environment: SOA, WSAD, IRAD, Java, J2EE, VC++, MFC, Visual Basic, PERL, DOM, JDOM,
XML, XSL, XSLT, XSL-FO, XPATH, UDB, JDBC, JNDI, Dimension, LOG4J, JSP, Servlets, Struts,
AJAX, Winsql, Mainframe, Ant, Microsoft Visual Studio, Microsoft Visual SourceSafe, UNIX, vi, xvi, Shell
Scripting – ksh, Microsoft Word.
Description: Reengineer the sales, marketing, and distribution system CORPS (Chrysler ORdering
Processing System). VCM (Vehicle Configuration Manager) came to replace the old C++ legacy system
(CORPS) with a new Web Based SOA platform. VCM exists to receive, configure, and distribute vehicle data
in multiple formats (xml, binary, pdf ...) to other systems for processing. VCM adds and fixes a number of
existing issues with CORPS such as ability to focus on the business, easy user setup and one code base for all
users, performance, separation between published and unpublished data, single vehicle publishing instead of
full build, data synchronization between all users, easy access to new users, automatic distribution of data in
addition to improving the quality of output and fixing a great number of data issues. VCM with its services
became the only data provider for many existing and new users/systems in Chrysler who were desperate to
have vehicle data but had no mean of getting it. VCM changed the distribution of data from multiple manual
steps to live on demand and was labeled by its users as a great success that helped the sales, marketing, and
distribution department focuses on their work and increased productivity.

Phase 0: VCM (Vehicle Configuration Manager)
      Play a role in the initiation of the VCM project and propose ways for improvements and moving
         from C++ desktop application, VB, word macro, and binary toward SOA and xml.
      Analysis and data discovery.
      Tap into the C++ code and redirect the output to an ASCII file.
      Create perl scripts to process the data and generate a standard xml output.
      Create xslt transformation scripts to process the xml.
      Create xsl-fo transformation script to convert the xml to pdf.
      Modify the C++ code to run as a new application that calls the new scripts to create the pdf instead
         of using VB/word macro.
      Improve the quality of the pdf output and fix a number of data issues already existed in CORPS.
      Loop through a multi-step certification and progressive testing with the customers on every single
         vehicle from simple cars to complex trucks.
      Support the customers with all their issues/new requirements.
      Create documentations.

Phase I: VCM (Vehicle Configuration Manager)
      Debug, Document, and Extract all the business logic/rules from the C++ CORPS application and
         the stored procedures.
      Define a standard way, using Boolean logic, to handle all the sales codes relations/pricing rules.
      Define tasks and task assignmnets.
      Work side by side with the architect to define the database and structure of the system.
      Define an xml schema and work side by side with team members to develop a new service VCS
         (Vehicle Configuration Service) to provide the data in xml format.

                                                  Page 2 of 7
                                                                                      NACIM KACAN’S RESUME

        Development of CGS (Code Guide Service) that gets the vehicle configuration xml from VCS and
         transforms it using xslt and xsl-fo to pdf.
        Create extra calls in CGS to provide information about published, archived, unpublish code guides
         as well as other misc documents.
        Create the main application VCM to help the customer preview, publish, archive, unpublish and
         view prior publications.
        Meet with the customers for requirement gathering.
        Create test cases and progressive test cases and excute them.
        Work side by side with the architect to help create the database and infrastracture of VCM.
        Create a number of update agents that call the services and distribute code guides to customers.
        Work on the intial data load for prior and current code guides generated using the old system.
        Create documentations.

Phase II: VCM (Vehicle Configuration Manager)
      Being the SME of the project, lead the project by talking/helping every team member and assure
          they are doing their work as it should be.
      Define tasks and task assignments.
      Work side by side with the architect to define the database and structure of the system.
      Work on the development of a number of calls to VCS to get information about published vehicle
      Create a number of update agents for data distribution to customers.
      Certification of the Vehicle Configuration Schema.
      Work on the xslt/xsl-fo to readjust to all modification of the schema.
      Work on the intial data load.
      Communicate with multiple departments and sources of the data to ensure we have the correct
          understanding of the data.
      Support the customers with all their issues/new requirements.
      Create documentations.

Phase III: VCM (Vehicle Configuration Manager)
      Design of the main configurator.
      Architecture of the system.
      Meet with the customers for requirement gathering and defining project scope.
      Extend the project to include other users that do similar configuration B2D, B2C, International.
      Meet with the development team and make sure their work meet the requirement.
      Work on the enhancement of phase II of the project by developing new customer requirements.
      Support the customers with all their issues/new requirements.
      Create documentations.

Enterprise Axle 2001            Mount Royal, Quebec, Canada        Apr.’02-Apr.’05
Title: Technical Lead/Architect
Project: Axles 2001
Environment: SOA, J2EE, Java, XML, XSL, XSLT, XSL-FO, XPATH, SQL, MYSQL, Eclicpse,

                                                Page 3 of 7
                                                                                          NACIM KACAN’S RESUME

Description: Design and develop a reporting tool. The application was developed using J2EE and it runs on
the intranet of the company. It consists of a main application and two services. One service was used to create
a snapshot of the database and put it in an xml file. The other service uses the xml files and generates various
kinds of reports in PDF format using XSL/XSLT/XSL-FO
        Gather requirements and define project scope.
        Define an xml schema.
        Development of both services using Java/J2EE.
        Create various XSLT scripts to perform transformations.
        Generate reports using XML, XSL, XSLT, XPATH, and XSL-FO.
        Devise test and regression test plans and execute them.

Schneider National Inc.                             Troy, MI, U.S.A.                        Oct.’00-Mar.’02
Title: Senior Systems Analyst/Developer
Project 1: Rate Server
Environment: J2EE, XML, XSL, XSLT, XSL-FO, XPATH, HTML, Tomcat, Windows 2000.
Description: A stand-alone product now enhanced with Web-enabled capabilities, Rate Server allows you to
maintain rate contracts, rate a shipment with a certain carrier, rate shipping options by mode and carrier, and
import batch rates. With Rate Server we can estimate best shipping cost at order entry time and calculate rates
based on multiple criteria (rates, capacity, transit, and mode).
     Implementation of Servlets for business processes and functions.
     Generating reports and converting them into PDF using XSL/XSLT.
     Dynamically creating HTML pages.

Project 2: Transportation Manager
Environment: J2EE, XML, XSL, XSLT, XSL-FO, XPATH, HTML, Tomcat, Windows 2000.
Description: Seamlessly manage freight from shipment planning through delivery. Transportation Manager
offers order entry, order tracking and improved knowledge management capabilities.
     Development of Servlets.
     Meet with customers to define requirements.
     Production of report data in XML and conversion to PDF using XSL/XSLT.

Project 3: Schneider Shipment Planner
Environment: Solaris 5.6 UNIX, C/C++, Solaris Workshop Debugger, Embedded Sybase 11.4 SQL,
                ISQL, ksh, Rougewave, PERL 5.1, VC++, xemacs, vi, make, Reflection X, Exceed, PVCS.
Description: Analysis and re-implementation of the SSP project to upgrade the system for performance to
support increased number of online users. SSP system (Schneider Shipment Planner) is used to efficiently
plan, assign, and analyze shipments with the goal of providing the lowest cost transportation solutions to
Schneider customers while meeting their service requirements. The system was implemented in C++ using
Rougewave Tools on Solaris System 5.6. The database connectivity to Sybase System 11.4 was
implemented using Rougewave tools.
     UNIX based C++ Code Analysis and System Performance Optimization.
     Resolve coding design issue with the project manager.
     Re-Implementation of Movement/Shipment Retrieval, Optimization and Auto-consolidation modules.

                                                  Page 4 of 7
                                                                                        NACIM KACAN’S RESUME

       Fix reported problems and defects using C++, Rougewave, and Solaris Workshop Debugger.
       Devise test and regression test plans and execute them to verify and compare results against the
        previous version.
       Create PERL 5.1 Scripts to read log files and generate summary and performance reports as per the
        day to day user requirements.
       Meet with manager and staff to discuss the reports.
       Performance comparisons with the previous version using reports generated by the PERL script.
       Create various ksh scripts to perform data transfers and archives periodically.

Project 4: Ford Claims Processing
Environment: Solaris 5.6 UNIX, C/C++, Solaris Workshop Debugger, Embedded Sybase 11.4 SQL,
                  ISQL, Shell Scripting - ksh, PERL 5.1, xemacs, vi, make, Reflection X, Exceed, PVCS.
Description: Implementation of Ford Freight Claims Project. This project is intended to process Ford claims.
The claim import process needs to identify between claims and products. A file process needs to ftp a text
data file from a connect mailbox, validate the file's data, and import the claim information into the CMS
database. The program reads the file record by record, validates the data, populates the CMS Sybase 11.4
database by inserting all records using embedded SQL and identify successful and error records by status and
relative messages. For flexibility and convenience, the program uses a template file that allows us to specify
the fields that need to be identified and inserted into the database.
     Responsible for the Implementation of the entire project.
     Create C function Routines for data extraction and Validation.
     Use C and Embedded Sybase SQL to update the Database.
     Create and Debug Embedded Sybase C-SQL.
     Verify if the records were inserted properly into the database.

Project 5: HTML demo systems
Environment: Windows 98, HTML, JavaScript, MS-FrontPage, Dreamweaver.
Description: Create 10 web sites for 10 system Servers for the company Intranet offline use. Each web site
consisted of almost 6-8 HTML pages using JavaScript. The demo was designed and developed for the in-
house training purposes as well as the client demonstrations of the various modules of the project.
    Meet with staff to collect information about each system.
    Meet with users to learn about the system and identify the pages to be used for the demo.
    Create almost 70 Web pages using HTML and JavaScript.

Connectex LLC.                          Ann Arbor, MI, U.S.A.                           Mar.’00-Sep.’00
Title: Senior Systems Analyst/Developer
Project 1: WALID (World Access Liaison for International Domains)
Environment: Linux Red Hat 6.2, PERL 5.1, CGI, HTML, C/C++, XML, Shell Scripting ksh, MySQL,
                MS-FrontPage, Web Development, vi, xemacs, RCS.
Description: Develop and design a new technology for Internationalized Domain Name registration and
resolution. With this new technology from WALID Inc.., users around the world will be able to register their
domain name in their own language and they no longer need to write the domain name in English.
     Analyze and code the system using PERL 5.1 and MySQL to store users’ registration information.
     Call some C++ functions from PERL 5.1 module to convert between encoding.

                                                 Page 5 of 7
                                                                                          NACIM KACAN’S RESUME

       Design HTML template pages using Microsoft FrontPage.
       Analyze and design an HTML generator using PERL 5.1 and ksh scripting. This generator allows us
        to generate the whole site with a simple command call. Depending on the language passed as a
        parameter, the language of the site will be determined.
       Create an RCS tree to keep track of the versions.
       Create shell scripts to help create new development and test areas as well as other functionalities.

Project 2: EIP (Executable Information Portal)
Environment: Linux Red Hat 6.2, PERL 5.1, CGI, HTML, XML, Shell Scripting - ksh, MS-FrontPage,
                 Web Development, vi, xemacs, RCS.
Description: Development of an e-commerce site to help businesses and individuals search for specific and
relevant data inside the ProQuest database. EIP customers define a project under their EIP accounts, and a live
agent will find the information related to the project, put it on the customer account and notify him about it.
     Write different scripts using PERL 5.1 to read the log files and generate reports.
     Test the system functionality and fixing bugs.
     Design HTML pages using Microsoft FrontPage.
     Work on some parts of the core system, such as registration and preferences. XML system files were
        used to store the information about users.

ProQuest                                  Ann Arbor, MI, U.S.A .                               Jan.’99-Mar.’00
Title: Senior Systems Analyst/Developer
Project: EDM (Electronic Document Manufacturing)
Environment: SGI IRIX 6.1 UNIX, C/C++, PERL, Shell Scripts - ksh, Oracle 7.3, SQL, Pro*C, XML,
                 HTML, Unix Purify, make, vi, Emacs Editor etc., dbx, Reflection X, RCS.
Description: Reengineer the ProQuest EDM data processing production system. EDM exists to collect,
normalize, enhance, and distribute news stories from a wide range of publications, arriving at random times
and in a large array of formats. EDM accepts input via Internet FTP, modem transfer, and satellite or other
wire feed. It parses the resulting collections into their individual stories, deals with a series of naming and
content standardization issues, archives the stories in an Oracle database, and performs FTP distribution to a
set of individual customers. Internally, EDM uses an XML story format, but its final output depends on the
customer requirements.

    Develop an XML parser and API using C and C++. This API reads an XML document into a
      dynamic but well-defined structure allowing the modification of any element, or attribute as needed.
      The API was used throughout the whole system.
    Develop a translation API in C++ to convert files from one format to another. The formats were
      XML, HTML, Super text, and other format required by certain customers.
    Develop the translator and aggregator subsystems using C++, Pro*C, SQL, and Oracle. The
      translator receives a story that moves into the oracle database and had to translate it into other formats
      and send it to the aggregator. The aggregator receives the story and appends it to a customer file
      based on the format required by the customer and whether he is subscribed to the feed or not. The
      aggregator had to synchronize with the distribution subsystem that can pick up a file and push it to the
      customer using ftp protocol every certain interval of time depending on the customer. Each subsystem
      had to run as multiple processes.

                                                  Page 6 of 7
                                                                                        NACIM KACAN’S RESUME

       Write many scripts using PERL 5.1 and another script format specific to the system to deal with a
        series of naming and contents standardization issues.
       Testing and fixing content bugs.
       Testing the feeds one-by-one to be sure the feeds are going through to the customers and fixing bugs.
       Training the UMI people that had to take over the system and maintain it.

Urban Sciences                           Detroit, MI, U.S.A.                              Sep.’98-Jan.’99
Title: Senior Systems Analyst/Developer
Project: MarketSmarts
Environment: VC++, MFC, COM, ATL, Visual Basic.
Description: Reengineering the flagship product MarketSmarts into thin-client architecture and creating a
prototype to demonstrate the feasibility of such a model with a special Web-based implementation. Work was
also done on a prototype for DealerSmarts that allowed dynamic creation of web sites that are fully
customizable via a visual web-based interface. Both systems were based on the thin-client architecture and
followed a vertically separated seven-layer model.
     Analyze and study MarketSmart and DealerSmart.
     Create a prototype for DealerSmart using Visual Basic.
     Study the requirements of Urban Science.
     Meet with manager and developers to discuss each phase of the system.

Echo Systems Montreal                    Montreal, Quebec, Canada                          Sep.’96-Sep.’98
Title: Programmer Analyst
Project: SMS (Solid Modeling System)
Environment: SGI IRIX UNIX, C/C++, X-Motif, UMI/X, OpenGL, Solid Modeling, Geometric
                Modeling, Boolean Operations, 3D image computing, xemacs, vi editor, make, RCS.
Description: Developing and designing a state-of-the-art Solid Modeling System for a virtual reality
platform. The design was based on a technology called "Form Organization" which allows the design of
complicated solids using simple control lines (conics). The system was used to create simulation for different
scenarios, such as train simulation.
     Use X-Motif and UMI/X to design the interface for the system.
     Create a Mathematical API using C on the UNIX IRIX system.
     Design and develop mathematical functions models. Those functions include intersection in 2D and
        3D between two lines, a line and a plane, two planes, two conics, plane and conic.
     Write test applications for each of the functions.
     Create test shell scripts in ksh to do regression testing.
     Analysis and study of different methods to generate the Boolean operations on two solids.
     Use the mathematical API to create the Boolean operations between Solid Objects using C++.
     Design some objects (chair, mouse, flash light) using the system to test its performance and

Available upon request.

                                                 Page 7 of 7