Daniel J. Rak

Phone: 440-241-1443

Email: Dan.Rock@Dan-Rock.com

 

Overview of Proven Track Record

Download this resume

View Short Resume

Samples of Work

References

Education

 

 

Overview

 

Type of work:

Permanent

W-2 Full Time

Citizenship:

U.S.A.

 

 

  I am a seasoned Consultant/Senior Software Engineer/Architect/Developer focused on solutions that work. I use a problem reduction algorithm; which breaks down each major problem into a group of smaller manageable problems. Once a solution is found for each of these smaller problems, then, the result, is often a workable (albeit, maybe not perfect) solution to the overall problem. Refinements can then be made to perfect the overall solution.

 

My experience covers implementing solutions for projects, products and software on the following platforms as listed below and in the following environments:

 

       Platforms: Mainframes, Minicomputers, PCs, Embedded Systems, etc...; Environments: RTOS on embedded systems, TSO/CICS/JPL on mainframes, Linux/Ubuntu on PCs, AIX/UNIX on minicomputers, Windows (all the way back to DOS) on both clients and servers.

 

       Development Environments included: Assembly, CUDA, RTOS, UNIX (Solaris, HP-UX and AIX), Linux variants (e.g.: RedHat / Ubuntu / CentOS), Windows (e.g.: Windows 10, Windows 7 Professional, Windows Server 2008, Windows XP, Windows Server 2003, Windows 2000 Professional, Windows NT and Windows 95) and on Real Time Operating System (e.g.: Integrity RTOS from Green Hills).

 

     Networks software development: TCP/IP & UDP socket layer SW development, installation/maintenance of networks, familiar with routers, modems, hubs & network wiring, etc...


  Over the last 1/3 of a century, in the consulting/technology business, I constantly see projects that have gone off into the weeds and yet thousands of dollars keep getting poured into these, without correcting the underlying real problems, with budgets and schedule going off track. However, by ensuring that these projects are right-sided, or better yet, are started correctly, in the first place, and are built on the right technologies/foundation, then their long term maintainability is made easier and the longevity of the agencies/companies that depend on them, have a much better probability of success, being effective and profitable.


  My experience includes working on mission critical applications for fortune 500 companies, State government departments as well as Federal government agencies in many locations within the continental USA. On the detailed resume my proven track record is shows which skill-set(s)/technology(s) were used on what project and where the work was performed.

 

  My Windows, Mainframe, UNIX, Linux, embedded RTOS and software architecture/development experience includes HLLAPI, tier software layers of deployed systems, event-driven multi-threaded applications, distributed applications (e.g.: Client/Server between mainframe, minicomputers & PCs) and use of design patterns in my OO (Object Oriented) software architectures. And yes, I know the difference between a thread, a process and task spaces on a RTOS (i.e.: Real Time Operating System).


  I am experienced with low-level network communications, for both TCP/IP and UDP sockets and custom (i.e.: customer specified) protocols, including resolving/handling issues of partial message reception/collection and parsing these byte stream messages. The reason I favor Design Patterns in my OO (Object Oriented) designs is that these facilitate reuse of “known-good”/”time-tested” sub-architectures and promotes the reuse of these "known-good" solutions as implemented in related (templated, where applicable) code.


Projects that I have worked on were in the following technologies/market-sectors:
   1. Airline ticketing
   2. Artificial intelligence/CUDA
   3. Automated job routing and control
   4. Computer system control (via C/C++ on mainframes, UNIX, Linux, Windows & embedded systems)
   5. Federal and State government data processing
   6. Database administration, tweaking & maintenance
   7. Fiber optic provisioning
   8. Gas/petroleum decomposition automated analysis
   9. Medical procedures and equipment (e.g.: heart monitoring, hemodialysis, etc...)
  10. Oil and gas cross continental system control/monitoring
  11. Oil rig early warning systems (as located in the oceans)
  12. Particulate (white room) studies
  13. Petroleum/oil rigs equipment configuration and costing analysis
  14. Staged robotic controlled assembly line control
  15. Robotic high speed printing control systems
  16. Robotic medication distribution systems
  17. Satellite control systems
  18. Server farm control and automated intra-actions
  19. Stock market trading algorithms and market technical and fundamental analysis
  20. Financial institutions internal workings
  21. Package/UPS delivery system tracking and billing internals
  22. Very heavy equipment (locomotive/train) transportation controls
  23. Very large computer performance tweaking and system analysis

My Contract and full-time work was performed on the projects as listed in reverse chronological order below:
 

1.             03/06/2020 - Present (1) Independent Entrepreneur; Project: Artificial Intelligence/CUDA Researcher; Position: Software Engineer/Architect

2.             01/06/2020 - 03/06/2020 (1) Markem-Imaje; Project: Industrial Printing Equipment, Keene, NH; Position: Software Engineer/Consultant/Instructor

3.             07/22/2019 - 12/20/2019 (1) Ethicon (Johnson & Johnson subsidiary); Project: Medical Capital Equipment, Cincinnati, OH; Position: System Architect/Software Architect/Consultant/Instructor

4.             06/25/2018 - 04/30/2019 (1) GE Transportation; Project: Locomotive Control System(s), Erie, PA; Position: Consultant/Senior Software Architect/Engineer

5.             08/16/2017 - 06/14/2018 (1) Omnicell; Project: Pharmaceutical Medication Distribution System, Warrendale, PA; Position: Consultant/Senior Software Engineer

6.             11/07/2016 - 08/11/2017 (1) Jabil Electric; Project: Hemodialysis Medical System, St. Petersburg, FL; Position: Software Architect

7.             11/03/2015 - 09/16/2016 (1) Federal Signal Corp (Life Safety PA Systems), University Park, IL; Position: Senior Software Architect / Engineer / Developer / Consultant

8.             04/01/2015 - 10/23/2015 (1) Panasonic, Inc (Automated PCB Assembly), Chicago, IL; Position: Software Architect / Senior Software Engineer / Developer / Consultant

9.             12/09/2013 - 11/28/2014 (2) Alstom Grid, Inc (Oil and Gas Flow Control), Huntsville, AL; Position: SCADA Software Engineer / Developer / Consultant

10.         10/2013 - 11/26/2013 (1) Exelis, Inc (Satellite Systems), Fort Wayne, IN; Position: Embedded Software Engineer / Developer

11.         02/25/2008 - 07/2013 (1) ABB, Inc (Industrial Gas Chromatography Analytics), Lewisburg, WV; Position: Senior Embedded Software Engineer / Senior Software Architect

12.         01/2008 - 02/22/2008 Census Bureau (Federal Government), Suitland, MD; Position: Senior Software Engineer

13.         06/04/2007 - 11/2007 (1) Internal Revenue Service (IRS - Federal Government), Baltimore, MD; Position: Senior SW Engineer

14.         12/2006 - 05/25/2007 El Paso Corporation, Houston, TX; Position: Senior Software Engineer

15.         11/2006 - 12/2006 Maio Consulting, Inc, Houston, TX; Position: Senior Software Engineer / Developer

16.         5/2006 - 09/30/2006 Seimens, Inc, Houston, TX; Position: Senior Software Engineer / Developer

17.         12/2005 - 03/31/06 (1) Southwest Airlines, Dallas, TX; Position: Senior Software Architect / Engineer / Developer

18.         03/2005 - 10/31/05 (1) Verizon, Inc, Temple Terrace, FL; Position: Senior Software Engineer / System Analyst / Consultant

19.         04/2004 - 12/31/04 (1) El Paso Corporation, Houston, TX; Position: Senior Software Engineer

20.         08/2003 - 01/27/04 (1) J. P. Morgan, Houston, TX; Position: Software Architect / Senior Software Engineer / Developer

21.         08/1999 - 08/2003 (1) Simplified Algorithms, Inc, Alpharetta, GA; Position: Software Architect / Senior Software Engineer

22.         07/1998 - 07/1999 United Parcel Service (Corp Headquarters), Atlanta, GA; Position: Senior Software Architect/Engineer

23.         01/1998 - 07/1998 (1) MCI Corporation, Atlanta, GA; Position: Software Engineer / Developer

24.         02/1995 - 12/1997 State Dept., Dept of Labor and Employment Security, Tallahassee, FL; Position: Systems Project

25.         10/1989 - 02/1995 (1) State Dept., Dept of Education, Tallahassee, FL; Position: Distributed Computer Systems Analyst

26.         01/1982 - 10/1989 (4) Embedded Engineer, Entrepreneur; Position: Software Engineer / Electrical Engineer / Developer

The following sections detail each of the contracts/projects/products for each bullet item above:

Artificial Intelligence/CUDA Researcher; Independent Entrepreneur/Retired

Market Section:Artificial Intelligence

Independent Entrepreneur/Researcher

Sonora, TX

03/2020  à Present

 

Project(s):

Artificial Intelligence application(s)

               Examples of work: CUDA viewed from MBSE perspective, 3D CAD work

Environment:

R&D, CUDA, C++, UML, Object Oriented Analysis, Hyper-Multi-Threaded environment

 

Tools:

Windows 10, CUDA development environment, Linux, Enterprise Architect, Visual Studio 2019, LibreOffice, etc...)

Equipment used:

PC Tower/Laptop

 

Skills used:

AI Developer, Software Engineering UML object orient architecture/design, C++, System integrator, C++/C developer, MS-SQL

 

 

 

Software Engineer, SysML/UML Instructor, Consultant, Developer

Market Section: Automated High-Speed Assembly Line Label Printing

Industrial Assembly Line High-Speed Printing Equipment

Markem-Imaje (Contract with Oxford International)

Keene, NH

01/2020  à 03/2020

 

Project(s): Industrial Printing Equipment

 

o        Trained co-team members in conversion from codebase to UML reverse engineering techniques. Provided consultation services: performed as a Software Architect tasks, object oriented C++ software developer & tester.

o        Configured Enterprise Architect client with floating license

o        Installed and configured Tool chain for C++ software development

o        Updated GNU LIBc wrapper of Littlefs. Mapped GNU LIBc API wrapper calls to correspondent Littlefs low-level calls. Mapped Littlefs status codes to GNU LIBc errno values.

o        Pair programmed with team mates.

o        Consolidated the boot loader libraries of two different PCBs into one generic boot loader library that works on both PCBs.

o        Performed thread-safe analysis on C++ codebase.

o        Participated in Agile and SCRUM meeting (e.g.: Sprint retrospectives, Sprint planning, etc...)

o        Wrote Unit tests for C++ code


Environment
:

R&D, C++, UML, Object Oriented Analysis, Thread-Safety Analysis

 

Tools: (Note: the text parser did not import this one, so I added it later)

Windows 10, Linux, Enterprise Architect, Visual Studio 2019, VS-Code, Eclipse, Visual Studio 2019 IDE, MS-Office (MS-Word, Excel, Outlook, etc...)

Equipment used:

PCs, PCBs of embedded system (JTAG downloading of binaries to PCBs to test boot loading).

 

Skills used:

Software Engineering UML object orient architecture/design, C++, UML consultant/instructor, Technology/Design mentor, system integrator, C++/C developer

Security Badge

 

 

System Architect, Software Architect, SysML/UML Instructor, Consultant, Developer

Market Section: Medical

Medical Capital Equipment

Ethicon - A Johnson & Johnson subsidiary (Contract via: Insight Global)

Cincinnati, OH

07/22/2019à 12/20/2019

 

Project(s): Medical Capital Equipment

 

o        Trained team lead and co-team members in SysML/UML technologies. Provided consultation services: System Architecture design collaboration and design capture, provided SysML/UML training/leadership, performed as a Software Architect, object oriented C++ software developer & tester, perform database management tasks with development of MS-SQL stored procedures.

o        Integrated PTC integrity with Enterprise Architect, to facilitate the conversion from PTC Integrity's textual product requirements into correspondent Enterprise Architect SysML/UML requirements diagrams.

o        Architected/Designed and coded the Requirements Conflict Resolution Tool, which integrated PTC integrity with Enterprise Architect, facilitating easy update & transfer of requirements and corresponding derivation relationships between these tools

§         Requirements Conflict Resolution Tool -

1.       provides a field by field indication of requirements' differences between the PTC integrity and Enterprise Architect's requirement versions.

2.       provides a user API to select the appropriate requirements from each version and capability for user selection of the  appropriate version.

3.       stages resultant user selected requirements in either CVS files or MS-SQL database tables, for direct import into PTC Integrity and/or Enterprise Architect (as appropriate) to ensure that both systems are synchronized

o        Installed and configured Enterprise Architect floating license server

o        Installed and configured Enterprise Architect client

§         Produced and provided installation instructions to team members

o        Participated in design conceptualization with SMEs and design reviews

o        Produced document for:

§         IDL code generation (via Enterprise Architect) for compilation to C++ to implement RTI's DDS (Data Distribution Service)

§         Enterprise Architect usage / functionality / maintenance

§         SysML/UML training materials

§         Business process workflow diagrams

§         Workflow diagrams illustrating how the Requirements Conflict Resolution Tool integrates into the overall product development life cycle

§         Technical instruction on a variety of subjects

o        Designed and developed IDL code collator to collate IDL code generated by Enterprise Architect (EA)

o        Liaison between Sparx Systems and Ethicon for technical IDL code generation issues related to EA templates

 

Environment:

R&D, PTC Integrity, Enterprise Architect, C++, MS-SQL stored procedures, SysML/UML, Object Oriented Analysis and Design

 

Tools:

PTC Integrity (requirements management system), Enterprise Architect (a SysML and UML tool), MS-Office (MS-Word, Excel, Outlook, etc...), Visual Studio 2017 and VS2012, MS-SQL 2014

Equipment used:

Laptop PC, Bi-polar scalpel (cut and coagulation) for introduction to surgical procedures and equipment

 

Skills used:

System Architecture, Software Architecture, SysML and UML object orient architecture/design, C++, SysML/UML consultant/instructor, Technology/Design mentor, GUI/MFC/C++ and stored procedure developer, system integrator

Security Badge

 

 

Software Architect/Engineer

Market Section: Transportation

Locomotive Control System

Webtec - formerly GE Transportation (via contract with Game 7 Staffing)

Erie, PA

06/25/2018à 04/30/2019

 

Project(s): Locomotive Modular (embedded) Control System (MCA)

 

o        Performed as a Software Architect for the embedded MCA product,  using both SysML and  UML symbolism, for the Debian/Linux OS target platform; Which Linux OS was used as MCA product's RTOS (Real-Time Operating System)

o        Performed Linux as RTOS performance research/analysis

o        Provided C++ code and STL code usage samples to developer implementing MCA software architecture

o        Defined DDS (Data Distribution Service) Topics to support subsystem intercommunication data/message needs of each architectural suSenior System Architect/Software Architect/Consultantbsystem that I designed, both for published and subscribed message data for the MCA project

o        Specified platform architectural specifications for my duties as a member of the platform architectural team

o        Specified system architectural specifications on behalf of the system architectural team,  as needed

o        Performed DDS message performance calculations to predict system behavior under heavy load

o        Performed MCA subsystem design reviews

o        Converted system architectural  specifications into software architecture for MCA platform subsystems

o        Worked closely with management, team leads on various teams, hardware/firmware engineers, IV&V (test team) and system engineers

o        Provided software architectural consulting services and documented key software design concepts in confluence pages on GE's intranet for the MCA design methodology

o        Participated in software architectural design review meetings

o        Key software architecture for the following MCA platform sub-systems/(implemented as Docker services):

§         1) IO_Manager - subsystem that provides locomotive control, captures low-level critical analog and digital IO (Input/Output) data and which performs diagnostics (e.g.: data quality analysis) on received IO data, and implements IO data override capability and

1.       commands: Digital (74V) IO, Analog (74V & +/-10V ) IO and low-level indicators,

1.      via BSP (Board-Support Package)

2.      which interfaces with FPGA ICs, and

2.       reads locomotive's Speed, Temperature(s) & Pressure(s) IO data

§         2) IO Data Override subsystem -  directs user override commands to the IO_Manager

1.       to overrides any of the following 80 IO data channels:

1.      32 - 74v Digital Input channels,

2.      24 - 74v/amp Digital Output channels,

3.      2 - 74v Analog Input channels,

4.      9  - 10v Analog Input channels,

5.      2  - 74v/amp Analog Output channels,

6.      2  - 10v /amp Analog Output channels,

7.      3  - Pressure Input channels,

8.      3  - Temperature Input channels or

9.      3  - Speed/ Frequency  (i.e.: Pulse Count) Input channels

2.       for each of the five NetIO boxes, each having 80 IO Data channels a piece

§         3) Diagnosis Event logger - subsystem which logs key diagnostic event data

1.       monitors fault events

2.       provides incident cache and logging services.

§         4) Arcnet - subsystem to process legacy data protocol used on locomotives

§         5) triggered data recorder (i.e.: datapack/snapshot) - subsystem which captures series of data records based upon fault detection/signal

§         6) Watchdog - subsystem which resets PCB/panel upon CPU resource over utilization

o        Received Magic Draw training. Magic Draw is a software architectural design tool used at Wabtec (i.e.: GE Transportation division)  for the MCA product for both the SysML and  UML design work

o        Provided architectural design specification cross examination of MCA subsystem for RTI's (a software development vendor) SOW (statement of work)

o        Defined XML configuration files

o        Business Impact: MCA project is the next generation mission critical locomotive control system for Wabtec

o        Performed consultant services on a daily basis

o        Participated in SCRUM, Agile, Sprint processes

o        Maintained professional relationships with colleges

o        Team size: 100+

§         Interfaced with managers, team leads, hardware/firmware engineers, locomotive software system design engineers, developers and other software architects

§         Collaborated with and provided technical consulting to software architects, security implementation specialist, configuration management and developers located in: India, Colorado, Dallas, Maryland and in Erie, PA.

 

Environment:

Agile, SCRUM, embedded systems, Sprint, Docker, DDS, Containers, Arcnet, TCP/IP, UDP, Network redundancy, Linux - Debian, C++

 

Tools:

Magic Draw 18.3 & 19.0 (a SysML and UML tool), MS-Office (MS-Word, Excel, Outlook, etc...)

Equipment used:

Tower and Laptop PC

 

Skills used:

Software Architecture skills, SysML and UML object orient architecture/design, C++, HTML documentation generation, mathematical analysis of bandwidth utilization based on packet sizing, RDMS consultant
(Note:
MCA project replaces the aged CCA locomotive control system)

Security Badge

 

 

Consultant / Senior Software Engineer

Market Section: Medical Equipment

 Automated Pharmaceutical Medication Management System

Omnicell, Inc (via contract with Oxford International)

Warrendale, PA

08/16/2017à 06/14/2018

 

Project(s): CRX - Automated Pharmaceutical Medication Sorting & Distribution Embedded System

 

o        <Click here> for XR2 System Overview

o        Project: XR2/RedRock - Pharmaceutical embedded system incorporating robotic arm(s) to sort & distribute medications into patient bins into the transport cart.

§         Used for pharmaceutical medication management, sorting & distribution system as implemented via robot arm(s) for the purpose of delivering to patients their doctor prescribed mediations with 100% accuracy. Used in very large hospitals (e.g.: 20,000 beds).

o        Researched, designed and developed spatial 3D displacement and rotation calculator via C++ code to control the robot to collect & distribute medicates to thousands of medication holding pockets

o        Researched, designed and developed spatial 3D displacement and rotation calculator via C++ code.

§         Software's purpose is to convert local coordinates to world coordinates for 3-dimensional objects.

§         Form factors included: small oral multi-packs, single oral solids, large oral solids, syringes, small vials, cups, etc...

o        Reversed engineered the XR2/RedRock codebase (approx.: 250,000 lines of code) and associated database into UML diagrams for internal documentation purposes.

§         Published said documentation on internal Confluence web pages for general consumption of all teams.

o        Created UML diagrams for said system, including new SW architecture/designs and internal state machines

o        Performed consultant services on a daily basis and participated in SCRUM and Agile processes.

o        Worked closely with mechanical engineering to implement software to handle mechanical failure in real time.

o        Coordinated software implementation with mechanical dimensions supplied by mechanical CAD designers for each different inserts/trays form factors.

o        Maintained professional relationships with colleges

o        Performed consultant services on a daily basis and participated in Software Architecture Design meetings, Code Review and Sprint planning/grooming and team retrospective meetings.

o        Assisted Vision team for software inner operational implementation.

o        Work closely with multiple teams from different specializations. Work closely with management to reach project objectives.

o        Used robot simulation software to solve operational problems.

o        Enhanced barcode decoder, called the Decode Engine, adding processing  rules to handle barcodes of types: 1D, 2D, stacked and non-stacked, linked and non-linked. Added spurious barcode recognition and handling.

o        Built barcode test bed for massive exhaustive automated stress-testing of Decode Engine to facilitate the decoding of thousands of barcodes in a matter of minutes to validate proper Decode Engine functionality.

o        Integrated Decode Engine with COIL (i.e.: where COIL is a regular expression pattern barcode validator for medications).

o        Assisted XR2 progress to make GA (General Acceptance) so that it could be offered for general sale on the open market. XR2 costs in the ball-park of $1,000,000 per robot depending on options selected.

o        Maintained professional relationships with colleges

§         working closely with other Software Architects and

§         assisted Software Developers, both Junior and Senior Level

 

Environment:

Sprint, SCRUM, Agile, Windows 10, Windows 7 Pro, Microsoft Office Suite

 

Tools used:

Enterprise Architect Professional (UML Modeler), TFS - Team Foundation Server, Team City, git, SourceTree. Microsoft Visual Studio 2013, 2015 & 2017, MS-EXCEL, MS-WORD and common development tools & Windows 7 Professsional, MS-SQL 2008 & 2016, Confluence, WinMerge, etc...

 

Equipment used:

Laptop PC, XR2 robots (at various versions/stages of development), mechanical hand tools

 

Skills used:

Software Architecture skills, UML design, C++ development. Produced UML diagrams from reverse engineering of both the codebase and database. Taught junior level software architects & senior level software developers. Worked closely with SCRUM master and management to reach deadlines.

Security Badge

 

Software Architect

Market Section: Medical Equipment

 Automated Life Maintenance System

Jabil Electric, Inc (via contract with APEX, LLC)

Saint Petersburg, FL

11/07/2016 à 08/10/2017

 

Project(s): Hemodialysis System (medical equipment)

o        Project: Hemodialysis System - (Life safety critical medical equipment)

§         Perform full-stack (top-to-bottom) traceability from "Theory of Operation" all the way down to System Architecture & Design

1.       from ToOp ("Theory of Operation") to CRS (Customer Requirements Specifications)

2.       from CRSs (Customer Requirements Specifications) to SRSs (Software Requirements Specifications),

3.       from SRSs (Software Requirements Specifications) & finally to the SAD (System Architectural and Design)

o        Implemented aforementioned software specifications (SRSs) by creating

§         UML sequence diagrams,

§         UML robustness diagrams &

§         UML Use Case diagrams

1.       containing Use Cases

2.       each defined with appropriate

1.      scenarios,

2.      Pre-Conditions &

3.      Post-Conditions

o         

o        Sharply reduced workload by creating a tool that performed

§         semi-automated traceability via context filtration of SRSs and ToOp documents

1.       thus sharply raising process quality and sharply reducing time needed to trace specifications

1.      by ensuring all relevant specifications were appropriately traced and

2.      output into the result search subset

3.      which each Software Architect would then manually verify/approve

o         

§         this tool incorporated low-level AI (Artificial Intelligence) algorithms/techniques

1.       via knowledge domain search  subsets created by

1.      vocabulary reduction of subject specific context into unique keywords subsets

2.      used multiple UKSs in conjunction on SRS and ToOp contexts

1.      as filter to trace key software requirements

2.      to sought-after Use Case context(s)

o        Created tool template of the above mentioned tool to facilitate easy reuse of tool for new ToOps, CRSs and SRSs.

§         Performed consultant services on a daily basis and participated in Software Architecture Design meeting

§         Maintained professional relationships with colleges

1.       worked closely with other Software Architects and

2.       assisted Senior Software Developers

 

Environment:

Integrity document system to maintain complianance with Federal regulations.

 

Tools used:

Enterprise Architect Professional (UML Modeler), Integrity document system (for Federal Regulatory compliance traceability) & Trello (task tracking system). Microsoft Visual Studio 2013, MS-EXCEL, MS-WORD and common development tools & Windows 7. 

 

Equipment used:

Laptop PC.

 

Skills used:

Software Architecture skills, UML design. Produced Use Case diagrams, Sequence diagrams & Robustness diagrams. Taught junior level software architects. Worked closely with management to reach deadlines.

Security Badge

 

 

 

Senior Software Architect / Engineer / Developer / Consultant

Market Section: Safety and Security Systems

 Automated Emergency Notification System

Federal Signal Corp (via contract with Johnson Service Group)

University Park, IL

11/03/2015 à 09/16/2016

 

Project(s): PAGASYS3 (i.e.: An automated emergency notification system for large sea based oil drilling platforms.)

 

o        Wrote the communication stack for serialization/de-serialization (i.e. marshalling) of C++ objects to/from byte stream (which the UART converted from/to a bit stream) to communicate via serial bit data between embedded sub-systems of the PAGASYS life safety product.

§         Wrote C++ code that automated the exhaustive stress testing of sub-system inter- communications,

1.       which code executed on the Master Controller (embedded system)  and

2.       performed packet level assembly and decomposition

§         Performed packet level debugging and analysis using the following tools:

1.       Oscilloscopes,

2.       Logic Analyzer

 

o        Produced Object Oriented Software Architectural (UML) designs for PAGASYS3 life safety system

§         Implemented said designs for PAGASYS3 system in C++ multi-platform code

§         Performed development testing on said code

§         Wrote automated unit testing for said codebase (i.e.: ‘CPP UNIT’ automated code tests)

1.       To ensure that critical functionality is not broken by a new cycle development cycle

o        Key areas that I designed, developed, debugged and tested are as follows:

§         Central message dispatcher of messages to control PAGASYS3 system(s)

1.       Marshalling of messages (i.e.: serialization / de-serialization)

2.       Message routing to UARTs (i.e.: serial devices) to control hardware components

3.       Multi-thread coordination / control of PAGASYS3 subsystems

§         Command Line Interface (CLI) processing threads

1.       To handled keyboard entry of commands on command line to control PAGASYS3 system’s hardware (e.g.: a command/responses paradigm)

§         Automated system testing for PAGASYS3 system

1.       To ensure integrity of system algorithms during future development cycles

o        Educated other Software Engineers on the use of UML and related tools

§         Enterprise Architect (i.e.: professional Software Architectural tool)

§         UML (e.g.: Universal Modeling Language)

o        Reverse engineered foundation (e.g.: driver/utility) layer of PAGASYS3 system

§         Providing UML diagrams

§         To accelerate project code development

o        Produced Enterprise Architect UML Software Architectural diagrams and

§         Organized these UML diagrams into a top down navigational system of the PAGASYS’s, clearing showing each software layer and its relationship to documentation of Confluence pages

§         To facilitate drill down capability to lower levels to reduce learning curve for any new Software Engineers which may join the project

o        Wrote documentation and put his out on Confluence web pages

o        Created test environments for the embedded PAGASYS3 system for both its main controller and all of its slave cards/PCBs

§         Created CPP UNIT test case for the PAGASYS3 life safety embedded system

o        Wrote code to stress test the PAGASYS3 system  and

§         Exhaustively stressed tested the PAGASYS3s slave boards

o        Performed research and analysis as needed

o        Performed product research for the best tool to check our code for MISRA compliancy and to

§         Performed static code analysis on the PAGASYS3’s code with the goal of ensuring that best coding practices were implemented when writing PAGASYS3 code for the highest code quality of this life safety product

 

Environment:

RTOS: Threadx

Agile Team Environment

JIRA (Task based management system)

Confluence (Document control system)

Processor Type: ARM

Processor Types: OMAP-L138, C6000 DSP+ARM® Processor; (On slave cards: RL78, RX210 MPUs)

Service Pack: Renesas RL78 Compiler

Silicon Revisions: 2.3, 2.1, 2.0, 1.1 and 1.0

 

Tools used:

Enterprise Architect Professional (UML Modeler), SourceTree, git, bitbucket, IAR IDE/Compiler (used for compiling C++ for: ARM, RL78 and RX210 MPUs), Microsoft Visual Studio 2013 (and MS-VS C++ 6.0), MS-EXCEL, MS-WORD and common development tools, Window 7 

 

Equipment used:

Logic Analyzer, VOM (Volt Ohm Meter) and Oscilloscopes, JTAGs (XDS200, JTagJet-Trace-4M), Laptop PC, various power supplies (variable an fixed voltage/current), PAGASYS3 embedded system(s) and assorted / all PAGASYS3 slave PCBs

 

Skills used:

Software Architecture/Development skills, UML teacher/trainer, C/C++, Software reverse engineering techniques, Wrote, developed and debugged C++ on embedded platform (i.e.: ARM CPU)

Security Badge

 

 

Software Architect / Senior Software Engineer / Developer

(Market Section: Automated Robotics)

 Automated Printed Circuit Board Assembly

Panasonic, Inc (via contract with ConsultNet, Inc)

Chicago, IL

04/01/2015 à 10/23/2015

 

Project(s): PanaCimEE and Line Controller (e.g.: automated robotics) Systems

 

Ø       Reverse engineered Panasonic’s proprietary C++ codebase to
> Produce UML (structural) diagrams for

1.      all 186 modules of PanaCIM (e.g.: Automated Robotic Control Software)

1.      Codebase size: .7GB

2.      and all 74 modules of the new Line Controller Software

1.      Codebase size: 142MB

Ø       Ensured ‘Adapter’ project was extensible for future unknown data types when these are incorporated into project(s) lines

Ø       Wrote generic inter-communications layer between proprietary and third party robots for Panasonic PCB assembly lines

Ø       Performed support duties for my inter-communications layer for assembly line in production to Panasonic subsidiary in China.

 

Environment:

Tools used:

Enterprise Architect Professional (UML Modeler), Clearcase (e.g.: Software Configuration Management tool), Microsoft Visual Studio 2010 (and MS-VS C++ 6.0), MS-SQL, Linux,  MS-EXCEL, MS-WORD and common development tools

 

Skills used:

Software Architecture/Development skills,  UML teacher/trainer, C/C++, SQL, Software reverse engineering techniques

Security Badge

 

 

Senior Software Engineer / Developer for SCADA system

(Market Section: Oil and Gas Control Systems)

 SCADA - Supervisory control and Data Acquisition

Alstom, Inc (via contract with Sentient, LLC)

Huntsville, AL

12/09/2013 à 11/28/2014

 

Project(s): WOTS – Work Order Transaction System

 

Ø       Reverse engineered their proprietary software architecture as stored in text (*.dbdef) files to
> Produce UML (structural) diagrams for all 65 modules of their SCADA array-based databases
> Produced a SCADA cross reference for their system containing over 3400 pages of structural documentation

Ø       Performed SCADA code upgrades on ‘C/C++’ codebase

> Re-factored, upgraded and enhanced WOTS (e.g.: Work Order Transaction System) sub-system

Ø       Upgraded their legacy code to

> conform to their most recent software architecture design

      > performed cross mappings of legacy Field/Records to their current software architecture

Ø       Worked with a colleague to automate the code upgrade/conversion effort

Ø       Mentored Junior Level Developers

 

Environment: SCADA

Tools used:

Microsoft Visual Studio, Enterprise Architect Professional (UML Modeler), TFS (Team Foundation Server), MS-SQL, MS-EXCEL, MS-WORD and proprietary tools of Alstom (e.g.: Habitat tool set (e.g.: ‘hdbrio’ and ‘DbDefEditor’).

 

Skills used:

C/C++, SQL, Software Architecture/Developer, Software reverse engineering techniques

Security Badge

 

Embedded Software Engineer / Developer

(Market Section: Satellite Systems)

Exelis, Inc (via contract with John Galt Consultants, Inc)

Fort Wayne, IN

10/14/2013 à 11/26/2013

Environment:

 

Tools used:  Microsoft Visual Studio, Enterprise Architect Professional (UML Modeler), MS-EXCEL, MS-WORD, ect…

 

Skills used: C++, Software Architecture

 

Training:

Code of Conduct, Information Security, Proper Labor Charging, Trade Compliance Awareness, Beryllium Awareness, Contamination Control, Emergency Preparedness, Ergonomics Awareness, ESD (Electric Static Discharge), ESH Annual training - Fort Wayne, IN, ESH Annual training - Rochester, ESHMS (Environmental Safety and Health Management System), Foreign Travel Briefing, Foreign Object Elimination, GS Information Security Policy, Hardware Handling & Material Safety, Hazard Communication (Global Harmonization System)/TSCA, Human Error Prevention - AESOP, Lockout-Tagout Awareness, Personal Protective Equipment, Product Safety Initial, Property Management Control

Project(s): Confidential

Security Badge

 

Embedded Software Engineer / Software Architect / Senior Software Engineer / Developer

(Market Section: Industrial Analysis Equipment)

 

ABB, Inc (via contract with Bentley Global Resources, LLC)

Lewisburg, WV

02/25/2008 à 06/21/2013

Projects:

1)       ‘PGC5000’ – a Gas Chromatograph Analyzer. The PGC5000 Analyzer was implemented on an embedded platform running a RTOS (Real Time Operating System) on an SBC that has a local and remote GUI (Graphical User Interfaces: LUI and RUI) for displaying Gas Chromatographs in real-time. The ‘Master Controller’ section of the PGC5000 was designed using objected oriented technology and implemented via ANSI C++. My portion of the architecture and development of the PGC5000 was the two mission critical tasks named, ACE (Analysis Control Engine – for schedule management of Analyses being sent to the Oven(s)) and APE (Analysis Process Engine – for data capture, collation and assembly of the binary Analysis Reports generated).

    Click to see => Product Of Year Award

 

2)       ‘STAR Server’– A data historian, which captures streamed (TCP/IP) and packet (UDP) data from a maximum of 254 Gas Chromatograph analyzers (e.g.: PGC5000(s), PGC2000(s), RVP(s) (e.g.: Reid Vapor Pressure) and Multi-Wave Analyzers) and one barometric pressure meter. Using ‘Enterprise Architect Professional’ as the UML design tool, I performed all architecture/design tasks for this Object Oriented, multi-threaded, multi-socket, multi-pipe, database connected (via C++ calls to SQL stored procedures) data historian. Technical specifications were captured in the EA Model (e.g.: in the UML (e.g.: Sequence, Associative and Inheritance) diagrams and related URL links. Implemented the ‘STAR Server’ as a Windows Service on a 64-bit Windows 2008 platform. The ‘STAR Server’ both saves and retrieves BLOB (Binary Large Object) data and trend data points to/from the MS-SQL 2008 partitioned database (as stored on a RAID array). My design also included support for future third party OPC devices/analyzers. Performed all tasks related to the Object Oriented design/architecture (OOD/OOA) and over 97% of the coding effort for the C++ code and SQL stored procedures for the ‘STAR Server’ (e.g.: with the exceptions being for one Legacy DLL written by Jeff Ross (co-worker), the ‘Reprocessing’ DLL (a PGC5000 related task) and some SQL stored procedures as written by Mike Crowder (also a co-worker).) I setup the Visual Studio 2012 solution for the ‘STAR Server’ to be both 64-bit and 32-bit compile-able, based on the user’s VS2012 configuration management settings, with all binaries copied to just one sub-directory as each project in the solution (for each of the DLLs) completed its build step, thus simplifying deployment for the build manager. Also, setup the Visual Studio 2012 solution for the ‘STAR Server’ test environment to perform unit level testing.

 

Security Badge

Test Environment (Part A)

 

Test Environment (Part B)

 

 

 

Environment:

Technologies used: ANSI C++ (used for both projects), SQL, Window local pipes (used for low-level client/server communications), Socket level development (for both TCP/IP and UDP network connectivity), UML, RDMS, RTOS (Green Hills Multi/Integrity), BLOB data handling/parsing (to/from database storage/retrieval), Client/Server API development, multi-threaded (on Server)/multi-task (on RTOS) development.

 

Tools used:  Microsoft Visual Studio (i.e.: VS2012, VS2010, VS2008 and VS 6.0), Visual Source Safe, MS-SQL Server 2008, Integrity/RTOS, Enterprise Architect Professional (UML Modeler), EDGE (UML) Diagrammer, Tracker (PRC system), MS-Project, MS-EXCEL, MS-WORD, Core-FTP, Software Verify (e.g.: a C++ dynamic code analysis tool (e.g.: performs memory leak detection, thread analysis, memory stomp analysis etc…)), VPN, XML Viewer, DocuShare, WinDiff, GoToMeeting, etc…

 

Platforms: RTOS (‘Integrity’ from Green Hills, Inc), Windows Server 2008 (used as the ‘STAR’ server), with Windows 7 and Windows XP (used for the UML design and C++/SQL development platform(s))



Project(s):

 

STAR Server (Windows Service):

Ø       Performed all tasks for the STAR Server, which runs as a Microsoft windows service (e.g.: Objected Oriented Architecture/Design, UML diagramming, coding and unit testing)

Ø       Wrote over 100,000 lines of C++ code and MS-SQL code for the ‘STAR Server’

Ø       Performed stream handling for TCP/IP sockets and message assembly for UDP packets

Ø       Captured messages from TCP/IP and UDP sockets, parsing these and storing this Trend data and BLOB data into MS-SQL 2008 partitioned database (as setup on RAID storage)

Ø       Specified, designed, documented and distributed the ‘STAR’ Client/Server API to the team working on the ‘STAR’ client; Said specification defined all low-lever data transfer structures for PIPE communications between the STAR Client(s) and STAR Server(s).

Ø       Specified, designed, documented and distributed the Legacy API to the team; Said specification defined low-lever data transfer structures and callback functions for data transfer between the ‘STAR’ Server and legacy devices (e.g.: PGC2000 and Multi-Wave devices).

Ø       Performed distributed intelligence testing between PC clients, STAR Server, PGC5000, PGC2000, Multi-Wave Analyzer and RFP (Reid Vapor Pressure) Gas Chromatogram Analyzers (e.g.: performed testing on all aspects of BLOB (e.g.: Binary Large Object) transfer, validation, parsing and importation to MS-SQL database (see below)).

 

 

PGC5000 (embedded system):



Ø       Real Time Embedded Software Development - Wrote all the C++ code for the runtime environment modules called ACE for the ‘Analysis Control Engine’ and APE  for the ‘Analysis Processing Engine’ for the PGC5000 (Gas Chromatograph analysis system) shown below, which product won “Product of the Year” in its category and is currently being mass produced and sold all over the world. For details, see also: http://www.abb.com/product/seitp330/a6ccc6def51d04e9c12574b100571ee3.aspx

 

Ø       Designed the Object Oriented Architecture for both of these mission critical tasks (e.g.: ACE and APE) for this RTOS (Real Time Operating System) embedded product to be elastic in nature (meaning that if a physical dimension changed, which impacted the software specification (e.g.: the number of Ovens, number of Schedules changed, etc…) then the software would corresponding adapt, if just two numbers changed (e.g.: one for memory allocation and the other for the dimension that had changed)), thus managing the total cost of software maintenance/ownership and increasing the financial gain over the life to the product as market changes or new requirements impact the embedded system’s design.

Ø       This allowed both ACE and APE, the capability of resizing the infrastructure as needed to execute the gas chromatography analyses in a multi-detector, multi-schedule and multi-oven environment. With this capability, ACE and APE could be quickly restructured to meet changing market needs by simply changing the value for desired dimension. Example: If the PGC5000 needs to handle more Schedules, only two numbers needed to be changed for that dimension and the corresponding memory allocation to enlarge the software infrastructure handling capabilities, such that upon recompilation it would then support that new requirement.

Ø       Implemented this OOA/OOD in C++ code (as captured in my UML diagrams)

Ø       Designed both ACE and APE to support eight different elastic dimensions for the number of: Schedules, Ovens, TCFs (Time Coded Functions), Gas Chromatograph Detectors, Gas Components, Scripts, TCF Methods, Analyses and Schedule Elements (each being a duple of Analysis and Stream).

Ø       Wrote the ‘Analysis Validator’ to ensure that all Analyses are correctly composed.

Ø       Wrote a code generator that produced the C++ code that provided the object oriented infrastructure/framework for both ACE and APE, thus ensuring code uniformity, quality and at the same time eliminating the bulk of development time typically needed when debugging large projects. The number of code lines written and generated for both ACE and APE using this technique was over 90,000 lines of C++ code, which then was deployed in this RTOS embedded project, the PGC5000, which code when executing used less than 2% of the available CPU, leaving 98% CPU for other tasks in the PGC5000.

Ø       Designed and implemented each schedule to run in multiple ovens simultaneously with other schedules, with each schedule capable of handling its own analyses in its Schedule Element queue while at the same time, all the other schedules do likewise.

Ø       Incorporated polymorphic behavior in APE for handling the variant calculations of: validation, calibration and standard report types.

Ø       Designed and implement low-level translational services for the decomposition of analyses to enable execution in any or all of the connected ovens.

Ø       Performed P2P (Peer to Peer) bandwidth utilization testing across Ethernet between the PGC5000 embedded systems (e.g.: performed TCP/IP stack efficiency testing)

Ø       Generated calibration, validation and standard analysis reports, develop code to coordinate the assembly of the associated chromatograph files and the propagation of the alarm analysis report files, should any of the analysis’s alarm indicators occur.

Ø       Calculated response factors (low & high), gas component concentrations, pending response factors, etc…

Ø       Built ACE and APE as event driven software, thus minimizing CPU utilization.

Ø       Included script processing support for both event-driven and end-of-analysis scripts.

Ø       Gave ACE and APE the capability of processing very large and complex analyses as well as simple analyses in a multi-detector, multi-oven and multi-schedule operating environment.

Ø       Integrated automatic reclaiming/recycling of memory resources in both ACE and APE to maintain real-time software stability and robustness, thereby eliminating costly kernel calls for memory allocation and de-allocation, and thus eliminate needless CPU cycle usage.

Ø       Incorporated a schedule ‘state machine’ in ACE for handling random GUI requests for schedule state changes using an elastic sparse matrix to provide this dynamic functionality

 

Skills used: C++, Integrity RTOS, Windows XP, Win32 development tools, Windows Office Suite, Gathered, analyzed and implemented project specifications/requirements; PGC5000 hardware: PowerPC 8270 @ 266 MHz/66 MHz Bus; Other sub-systems incorporated: Xilinx Version 0.05. Also used configuration management software called ‘subversion’.

 

Personnel skills: Worked closely with management, key staff members, Senior Software Engineers, Senior Electrical (hardware/firmware) engineers and Gas Chromatograph Application Engineers.

 

 

 

Senior Software Engineer / Systems Analyst / Consultant

(Market Section: Federal Government)

Census Bureau (via contract with Lockheed Martin through contract with Apex Systems, Inc)

Suitland, MD

01/02/2008 à 02/22/2008


Project(s)
: CHEC System (U.S. census data processing system)

 

Security Badge

 

Environment:

Technologies used: UNIX scripting, SQL

Platforms: Windows and UNIX

 

Security Clearance: Sensitive, but not classified (MBI security clearance)

 

Project(s):

Ø       Analyze the existing U.S. Census data processing system and recommend enhancements and changes for both software architecture and hardware data processing equipment.

Ø       Identified test cases via automated exhaustive analysis of code base (each test case so identified described a call-tree path through this heterogeneous code base and the related database tables/resources used and/or modified, so that all possible paths were identified for testing)

Ø       Provided overall system analysis with recommendations for improvements

Ø       Produced call-trees for heterogeneous code base: UNIX code, SQL and Oracle forms

Ø       Provided resultant call-tree analysis (code base linkage data) to other team members to assist them in structuring their test cases and in maintaining the system

Ø       Call-trees included: (1) What Oracle form called what next Oracle form, (2) What UNIX shell script, called what other script (*.sh, *.awk, *.pl), (3) What perl script, called what other script (*.pl, *.sh, *.awk),  (4) What database tables/resources were being used in the SQL triggers, views and SQL queries (File types include in this analsis included: *.pl, *.c, *.sql, *.awk, *.sh, *.sql, *.frm (were converted to *.txt type for this analysis))

 

Skills used: C++, UNIX scripting, Windows XP, SQL  coding/queries, Win32 development tools, Windows Office Suite, UNIX and Window code file(s) analysis; Gathered and analyzed project specifications/requirements

 

Personnel skills: Worked closely with management, key staff members, Software developers and senior business analysts.

 

 

Senior Software Engineer / Systems Analyst / Consultant

(Market Section: Federal Government)

Internal Revenue Service (via contract with TechSmartServices)

Lanham, MD

05/2007 à 11/2007


Project(s)
: Rewrite of the tax processing software that calculates the taxes for the whole U.S.A.

 

Security Badge

 

Environment:

Technologies used: C/C++, DB2, SQL, TSO, ISPF, MVS

Platforms: Windows, UNIX, IBM Mainframe

 

Security Clearance: Sensitive, but not classified (MBI security clearance)

 

Project(s):

Ø       Developed software that performed fully automated analysis of the CADE complete code base and which identified and reported:
   a) All duplicate files

   b) All orphan files and

Ø       Interpreted and resolved the UNIX make file variables to their equivalent values for re-construction of the build environment on Windows platforms

 

NOTE: This automated codebase analysis software that I wrote can be used to analyze any codebase, to identify and report the aforementioned codebase abnormalities and thus save countless man-hours that otherwise would have been wasted due to a disharmonious/inconsistent codebase.

 

Ø       Performed Parasoft C++ rules analysis

Ø       Performed related code base remediation based on the Parasoft codebase analysis

Ø       Served on the Inter Process Team (IPT), consisting of both Federal IRS Employees and CSC/Prime Employees

Ø       Communicated with all levels of personnel, including upper management, senior level software architects/engineers, senior database administrators and senior level business analysts

Ø       Effectively communicated highly technical and logistical matters in subject areas of business logistics, system logistics and related personnel/procedure logistical concerns and their related technological impacts on the CADE (Customer Account Data Engine) tax account processing system (e.g.: CADE processes 1040 and 1040EZ forms for individual tax payer accounts)

Ø       Researched and analyzed major re-engineering efforts for the CADE project

Ø       Wrote corresponding Preliminary Design Assessments (PDAs) for:

          a) CADE Historical Data Integrate and

          b) CADE Incremental Initialization

Ø       Designed an off-mainframe test environment to automate CADE codebase testing

 

Skills used: C++, TSO, ISPF, Windows XP, Parasoft, ClearCase, and MVS platforms, SQL  coding/queries, ’C’ and Win32 development tools, Windows Office Suite, UNIX and Window make file(s) analysis, DB2 command line interfacing; Gathered and analyzed project specifications/requirements and implemented these via C++ and compilation of these into executable binaries.

 

Personnel skills: Worked closely with upper management, key IRS staff members, Software architects/engineers and senior business analysts.

 

 

 

 Senior Software Engineer / Systems Analyst / Consultant

(Market Section: Energy)

El Paso Corporation (via contract with Sentient, Inc)

Houston, TX

12/2006 à 05/2007

Project(s): Analyzed and isolated issues related to performance degradation via SQL Signature recognition technology. Determined the correct performance enhancements need for this rates processing legacy application, and implemented the solution(s) which boosted performance by 300%.

 

Performance enhancements consisted of: (1) a rewrite of .NET code and (2) converting the nomination rates application from a heavily I/O bound application to a CPU/RAM centric application by (a) adding RAM-based caches to the application and by (b) consolidating over 1/4 million individual embedded SQL calls into just 6 SQL calls to the database and by (c) eliminating needless internal looping/processing overhead that did not contribute to the goal of high-speed data retrieval from the database.

 

Migration of code from UT to UA (SCR#7930) and code migration from UA to PROD (SCR#9090). Implemented .NET code as a *.DLL file and setup trusts for the .NET components.

 

Created and delivered in-depth training discourse on proper client/server coding practices to ensure maximized overall system performance; I also covered system tuning. Simplified intensely technical subjects so that technical, non-technical personnel and management could easily understand the underlying issues. Documented and disseminated technical procedures for setup and maintenance of the codebase, related performance issues/analysis with associated graphs and spreadsheets. Performed in-depth computer configuration analysis for installed software regardless of its Windows registry entries on multiple servers (Window NT/Windows Server 2003) in preparation for the major systems separation due to ANR pipeline buyout by Trans-Canada corporation.

 

Acted as a primary technical lead, providing technical training and guidance to junior level developers and reduced complex technical issues into simple terms to relate to less technical, non-technical team and management team members.

 

Environment: Windows Server 2003, SQL Server 2000, Visual Studio .NET, Visual Studio 6.0, SQL, SFU, PVCS, PCLI, C/C++

 

Skills used: C++, Windows XP and  Win2003 platforms, SQL  coding/queries, UNIX, ’C’ and Win32 development tools, Unix Scripting; Personnel skills: worked closely with other team members and management. Gathered and analyzed project specifications/requirements.

 

Security Badge

 

 

Software Engineer / Developer

(Market Section: Electric Power Industry / SCADA related application)

 

Maio Consulting, Inc (via contract with Comsys.com)

(Telecommuting contract to solve client’s short-term needs)

Houston, TX

11/07/2006 à 12/06/2006


Project(s)
:

This SCADA related, legacy Windows Visual C++ GUI application, was originally developed in the USA and then off-shored. My task was to stabilize the MMW software’s build environment and to fix a number of its bugs. Cleaned up the builds for the MMW software for version 1.5, 2.0 and 2.1, so that it could now be built using only the IDE (Integrated Development Environment) instead of the DOS batch programs and further enhanced the build environment by adding the project interdependencies within the workspace so that the sequence of any GUI initiated build would always progress from the top down (thus eliminating any need for multiple build runs). Further, to I setup the test environments and configured a number of DSNs to support the low-level ODBC calls as the MMW software executed the embedded SQL. Fixed embedded SQL formatting issues as these related to each database type as configured behind each DSN (Data Source Name).

 

The size of codebase could barely fit on one CD (650 MB). The software had a number of bugs, some simple, many difficult. As is usual with large legacy projects, like this one, there is no documentation, so to fix the bugs, I used logical progression, methodically tracking down each bug and with much endurance, I stayed the course, until the project was enhanced to a point where the client was satisfied and it was ready for him to present my fixes/enhancements to the user community/ group, to secure more R&D funds to sustain the longevity of the project.

 

Environment: Windows 2003 Server, Windows 2000 Pro, Visual Studio 6.0, MS-Access, MS-SQL, ODBC, Embedded SQL, Visual C++/GUI development, MSDN, multiple DSNs

 

Skills used: Visual C++/MFC, MS-SQL, MS-Access, MS-Excel, Object Oriented Architecture/Design techniques, IDE, this was a short-term telecommuting position and so I had to effectively communicate both verbally and in writing via phone and email and on rare occasion in person to make presentation of my software enhancement, findings & recommendations, etc.

 

Senior Software Engineer / Developer
(Market Section: Petroleum Industry)

 

Seimens, Inc / Berwanger, Inc (via contract with Sentient, Inc)

(NOTE: Seimens, Inc bought out Berwanger, Inc)

Houston, TX

5/2006 à 09/30/2006


Project(s)
:

OGM (Oil & Gas field development cost calculator) – Added many new features to their legacy application. Among the upgrades where new implementations of technical limits for oil field development in any environment from Mild to Harsh, the addition of metrics calculations unique to the Oil and Gas industry, and costing for new chillers to be used for new flow trains such as Condensate, De-Ethanizer, De-Propanizer, De-Butanizer, etc…; Generated call-tree(s) from Fortran Codebase to satisfy the critical need for documentation of the OGM legacy Codebase for both the OnShore and OffShore sides of OGM

 

Environment: Windows XP, Windows 2000 Pro (via installed virtual PC), Source Safe, Visual Studio 6.0, Fortran 77, Fortran 90, MS-Access, MS-Excel, COM inter-process communications, SQL scripting for reports, etc…

 

Skills used: C++, Fortran, SQL, Object Oriented Architecture/Design for COM API into both MS-Access and MS-Excel

 

Senior Software Architect / Engineer / Developer

(Market Section: Transportation (Airline))

 

Security Badge

South West Airlines, Inc (via contract with Matrix, Inc)

Dallas, TX

12/2005 à 03/31/2006

Project(s):

Airline Application Suite (AAS) – converted ‘use case’ studies into XML code for the purpose of transport of requests and response messaging between airport agent terminals and back-end UxAAS servers. Liaison between UxAAS server team and CEBS team to collect external data interfaces to assist team lead to coordinate the development of proxies by the appropriate business entities.

 

Environment: Sun Solaris, Windows XP, XML, cleartools (used on both UNIX and Windows), Visual Studio 6.0, XML_SPY, typical UNIX development environment (e.g.: vi, ksh, ant, etc…)

 

Skills used: extensive XML coding/development; Liaison to managerial, technical and non-technical staff members

 

Senior Software Engineer / System Analyst / Consultant

(Market Section: Telecom)

 

Security Badge

Verizon, Inc  (via contract with CGI, Inc)

Temple Terrace, FL

03/2005 - 10/31/2005

Project(s):

Massive C++/Java codebase re-engineering effort and massive cleanup. Setup of development environments, test environment and provide technical consulting in the migration of large codebase to a source code control management system known as IPM. Wrote scripts to auto-insert identification strings in over 6,000 source files to allow upon compilation, positive identification of software version via query of the executable binaries, thus eliminating any uncertainty as to what version of the software was currently out in production.

 

Environment: CVS, C/C++, Linux, Windows XP, Solaris, HP-UNIX, MS-SQL Server, Informix, Visual Studio 6.0, SQL, AWK, zsh, ksh, bash, etc…

 

Skills used: C++ coding/debug/analysis/code reviewing, Java, STL, multi-platform ‘C++’ code re-engineering. UNIX software installation, SQL  coding/queries, UNIX (ksh) scripting  Personnel skills: worked closely with other team members and management to assess the tasks needed in major software engineering effort (1.8 Million lines of code). Gathered and analyzed project specifications/requirements.

 

Senior Software Engineer / System Analyst / Consultant / Developer

(Market Section: Energy)

El Paso Corporation  (via contract with It Solutions)

Houston, TX

04/2004-12/2004


Project(s)
: Code base migration of GEMS (Gas Environment Management System) from UNIX to Windows 2003 Server and Windows 2000

 

Migrated a gas pipeline Nominations system (a mission critical application called GEMS) from HP UNIX to Windows XP for deployment on Windows 2003 Server at an annual cost savings of $250,000. Converted the UNIX ANSI C software/(code base) to Microsoft C/C++ and constructed the complete Microsoft Visual C/C++ development environment for said code base. Used .Net development tools for compilation of COM components.

 

Performed system analysis and design. Wrote programs that migrated the code base of over 120,000 source file versions from HP UNIX platform(s) to Windows XP with little or no impact to users and production-support developers and while maintaining compliance with the legislated law of the Sarbanes-Oxley Act.

 

Wrote all the software needed to decompose the UNIX source control management system called 'SCCS' and wrote all the software to recompose all versions of this code base into PVCS (the Windows source control management system, which included automatic collation of versions). The program when executed ran on UNIX in the decomposition phase for about 70 hours and in the re-composition/importation phase for about 10 hours.

 

Migrated the complete GEMS code base from the UNIX-based SCCS to Windows-based PVCS source code management system.

 

Wrote and generated UNIX and AWK scripts to automate SCCS source code extraction.

 

Wrote Visual Basic (VBA) code that automatically edited, converted and fixed the 'C' source code to eliminate programmatic errors due to memory stomping, memory leaks and non-initialized variables for 376 files of the GEMS code base.

 

Wrote C++ programs to integrate the UNIX ported ‘C’ code base into the new development environment of Windows XP and the new production environment of Windows 2003. This effort represented the automated editing of about 1.1 million lines of GEMS source code, based on 376 source files, with an average size of about 3000 lines of code each. This process took under 60 seconds to perform the automated edits for all code line within each ‘C’ source file.

 

Wrote the code that generated the Visual C++ development environment (the VC++ IDE workspaces and projects) for the GEMS ‘C’ code base conversion efforts. Yes, I actually generated the development environment from meta data as held in a database table, which was imported from UNIX source code versioning information as embedded in the actual UNIX executable binaries and then used that extracted information to build the development environment on the platform of Window XP that enabled the team to complete the GEMS code base conversion effort from UNIX to Window XP.

Imported UNIX ‘C’ source code meta data into MS-SQL 2000 for preprocessor directives’ vocabulary reduction.  Analyzed said meta data to consolidate multiply defined preprocessor directives in the code base to facilitate the massive code base cleanup effort.

 

Performed delta merges from production system code base to our GEMS conversion code base, so that any change on the UNIX production side would be reflected on the Windows side, while the UNIX code base continued   to be enhanced during our conversions efforts. This was carried out until the UNIX code base ceased to be enhanced as we neared the cut over to the new Window Server 2003 production system.

 

Acted as a primary technical lead, providing technical training and guidance to junior level developers and reduced complex technical issues into simple terms to relate to less technical, non-technical team and management team members.

 

Environment: Windows XP, Windows Server 2003, HP-UNIX, SQL Server 2000, Sybase 6, Visual Studio .NET, Visual Studio 6.0, SQL, AWK, SFU, PVCS, PCLI, SCCS, C/C++

 

Skills used: C++, STL, multi-platform ‘C’ code porting  and auto-FTPing between HP-UX and Windows XP and  platforms, SQL  coding/queries, UNIX ’C’ and Win32 development tools, Unix Scripting; Personnel skills: worked closely with other team members and management to determine project specifications and architecture/design. Gathered and analyzed project specifications/requirements.

 

Security Badges

 

 

Software Architect / Senior Software Engineer / Developer

(Market Section: Financial/Investing)

 

J. P. Morgan (via contract with Ajilon Consulting)

Houston, TX

08/2003- 01/27/04

 

Projects:

Wrote several applications, the most notable was the JEOR project. Technologies/Skills used: Objected Oriented Design (UML diagramming via Rational XDE), C++, UNIX (Solaris), Sybase, Perl, SP/SQL. Size: about 35,000 code lines of C++ and UNIX, which I personally wrote and debugged.

 

Designed, Architected and programmed the object oriented project called the JEOR – (Job-Entry-Output Redirector) system. This system enabled the production support department to submit new applications based on customer requirements as one of the following: a binary, database stored procedure, SQL, UNIX script, perl or java program. And then specify how the output would be transmitted via transmission type specification which could one of the following: email, FTP or ESIGTR (file routing). The routing specification was a user configuration as stored as a database entry.

 

My JEOR project eliminated the need in the J.P. Morgan D.A.M. (Distributed Application Management) system for individually reconfiguring the UNIX environment on a per application/job basis, thereby elimination much of the overhead associated with each new user request/demand placed on the development team;

 

Other projects included: writing the divmsgrec program, which was a database table cross comparison reporting program which was written in UNIX (Solaris) and stored procedures written in Sybase SQL for the reconciliation of the internal stock trade messages; Also wrote VSETAF – a reporting program that isolated trades in the Vienna market and generates a report of these by filtering data obtained from the Sybase database;

 

Skills used:

UML diagramming (object oriented design/architecture) using Rational XDE

Implementation of object oriented design to actual C++ code

C++ development/debugging in a UNIX environment using dbx

UNIX scripting (Solaris)

Clearcase/cleartools (VOB usage)

Rational XDE used to produce UML (object oriented (see ‘Accomplishments’)) diagrams

Creation and editing of UNIX makefiles

Conversion of Microsoft-VC++ makefiles to UNIX makefiles

Derivation of classes from code generated database C++ API classes

Sybase database stored procedure creation

SQL data population and table creation scripts

Code management in a clearcase VOB

Use of cleartools at the command line and via the GUI

Conversion of UML design to HTML documentation via Rational XDE

Automation of common daily tasks to vastly aid in development speed & efficiency; Software setup and installation; Lotus Notes

Security Badge

Accomplishments

 

Letter of Reference

 

 

Software Architect / Senior Software Engineer / Developer

(Market Section: (1) Food Distribution)

(Market Section: (2) Financial Research, Development)

 

Coca-Cola, Inc (via contract for Simplified Algorithms, Inc)

And by direct being an employee of Simplified Algorithms, Inc

Alpharetta, GA

08/1999-08/2003

 


Projects
:

 

1) Stock Market data analyzer/automated trading program, programmatic FTP, C++ class generator for automating rapid change management for ODBC connectivity, archival and win sockets. Full software lifecycle.

 

2) Contract to Coca-Cola – For details on this project see “Accomplishments” (on the right).


Environment: Network/Internet security (TCP/IP, firewalls, symmetric-keys, system admin. security tasks), Rational Rose
, IDE MSVC 6.0 (Visual Studio), MS-SQL 2000, MS-SQL 5.0, Windows 2000, Windows NT, C++ multi-process development, C++ multi-threaded development, C++ shared memory development, data feeds APIs, streaming data, Equity Trading System development;


Skills used
: UML, OOA/OOD/OOP, C++, STL, Java, MS-SQL, Win2000 Pro Admin., Windows NT Admin., Network/Internet security (TCP/IP, firewalls, symmetric-keys, system admin. security tasks). [Note: Performed all tasks related to symmetric-key architecture, coding, object marshalling/serialization/ archival at the engineering level (i.e.: not using a library, but actually performing all OOA/OOD/OOP tasks involved to code/architect the symmetric keys from design concept) AND firewall installation/maintenance (both with hardware and software implementations)],  low-level ODBC to MS-SQL database, database(s) design,  DBA, indexes setup/tweaking, multi-process and multi-threaded C++/ODBC/Shared Memory development, data feed(s) development, data streaming development, analytical studies of stock market data, HTML, SQL – writing stored procedures/dynamic & embedded SQL with parameter replacement on the fly (i.e.: user submitted), system backup and restore, Win32 development, multi-threaded application development, Equity Trading System development, equities derivatives analysis, integration of graphics C++ library, development of DLL files, C++ code generation from DDL files, developed multi-threaded/multi-process equity data stream test bed, real-time equity trading; Full SDLC. Personnel skills: Liaison to coordinate with data vendors and stock brokers. Gathered and analyzed business requirements and proven ability to operate independently. On the contract with Coca-Cola, I preformed the following tasks: Migrated an application from a MS-Access database to a server running a MS-SQL Server 2000 database. Wrote C++ application for sterialization of data as summited in ASCII format and used MS-SQL BCP for data importation into the MS-SQL server 2000 database. Wrote all appropriate database backup utilities.

Accomplishments

 

 

 

Software Architect / Senior Software Engineer / Developer

(Market Section: Transportation)

 

 

United Parcel Service, Inc (via contract with DataNomics)

Atlanta, GA

07/1998 - 07/1999

 


Projects
: To architect their point-to-point costing system for deployment on Minicomputers (OS: HP-UX) and PCs (Windows). Project size: about 150,000 lines; Project duration: 1 year with 3 engineers working closely together using Source Safe for code management. My role was chief OOA (Object Oriented architect) and OOP (coder). Full software lifecycle.

Environment: Unix C++, MS Visual C++, Rational Rose, Rogue Wave, Source Safe, UNIX/HPUX, Windows NT, Oracle (RDBMS) ,
standard UNIX utilities (i.e.: vi, cc, ld, etc.) , PL/SQL, Team environment;


Skills used
: UML, OOA/OOD/OOP, C++, STL, multi-platform C++ code porting  and auto-FTPing between Windows NT and HP-UX platforms, SQL  coding/queries, UNIX ’C’ development tools, Win32 development, Unix Scripting and "Make" operations; Personnel skills: worked closely with other software engineers and staff to determine project specifications and architecture/design. Liaison to technical staff in New Jersey. Gathered and analyzed business requirements and proven operated independently and in a team.

Security Badge

 

Accomplishments

 

 

Software Engineer / Developer

(Market Section: Communications)

 

 

MCI, Inc (via contract with Howard Systems)

Atlanta, GA

01/1998 - 07/1998

 


Projects
: Wrote C++ code analyzer for automating the (QA) quality assurance process. Major enhancements to the order entry system to ensure web submitted parameters conformed to specifications to prevent memory stomping/leaks. Wrote C++ templates for accelerating the C++ coding effort (for POSIX protocol parameter passing).  Server side enhancement & automated code testing (i.e.: automated the quality assurance process).
Environment: Unix C++, MS Visual C++, Rational Rose, UNIX/AIX, Windows NT, Oracle (RDBMS), IDL, Entera,
standard UNIX utilities (i.e.: vi, cc, ld, etc.), PL/SQL, Team environment;

Skills used: UML, OOA/OOD/OOP, C++, STL, multi-platform code porting between Windows NT and HPUX, C++ template code writing, IDL, automated the code testing process by writing a 2000 line program that sequentially called each of the 50 API calls to the interdependent order processing Entera servers. Personnel skills: worked closely with other IT professionals to ensure the highest quality product and to determine project specifications.

Accomplishments

 

 

 

Systems Project Analyst 

(Market Section: Government)

 

you

State Dept., Dept of Labor and Employment Security

Tallahassee, FL

02/1995 - 12/1997


FileNet Project
: Wrote the ‘C’ code to create the 'soft link' program (i.e.: a HALLPI  (High Application Level Language Program Interface) process that programmatically controlled/ran JCL jobs on the mainframe and automatically transferred the resultant JCL created dataset(s) between the minicomputer and the IBM mainframe. Wrote ‘C’ code to convert EBCDIC with packed BCD (i.e.: Compressed COBOL) fields to flat expanded ASCII files. The preceding code was written to interface the Workers’ Compensation Compliance Project’s indexes from the FileNet system’s OSARs (Optical Storage Archive and Retrieval) system to the mainframe’s DB2 database to ensure n-tier system synchronization. Full software lifecycle. See 3-tier architecture overview: Page 1 and Page 2.

 

Internet/Web Project(s):

Configured and deployed two web sites that made accessible to the public ‘Worker Compensation’ data, the source of which was the ‘Department of Labor and Employment Security’ data as stored on the IBM mainframe. One of these web sites was deployed on an AIX/UNIX server and the other was on a Windows Server. Use IIS as the web server. Wrote post/request web screens and setup server backend for sending reply data back to web client


Environment
: MS Visual C++, UNIX/AIX (RS6000), SNA, data streaming, network protocols, SNA gateways, Windows NT, Windows 95, Oracle (RDBMS), MS-SQL, IIS, TSO, 3-tier architecture, multi-tier distributed web based business applications, IDE MSVC, standard UNIX utilities (i.e.: vi, cc, ld, etc.), PERL, Team environment;


Skills used
: OOD/OOP, C/C++, MS-SQL, DBA, UNIX system administrator, configured and documented SNA connectivity to mainframe, automated data transfer between minicomputer-mainframe and PC by writing the soft-link (i.e.:  a low-level ‘C’ program that used low-level SNA connectivity between the AIX minicomputer and the IBM mainframe), completely configured new DELL server; Personnel skills: worked closely with other IT professionals to enhance and maintain the Department of Labors many on-going projects. Traveled for technical training. Liaison to other professionals in other departments to determine project specifications. Full SDLC.


Promoted to Systems Project Analyst (11/95 - 12/97) from Distributed Computer Systems Analyst (02/95 - 11/95)

Accomplishments

 

Distributed Computer Systems Analyst

(Market Section: Government)

 

State Dept., Dept of Education

Tallahassee, FL

10/1989 - 02/1995


Projects
: Maintained the DB2 and dBASE IV databases for the Food and Nutrition Program. Generate and programmatically collate the sponsor’s renewal applications for the benefit of the more than 72,000 under-privileged children in the State of Florida. Full software lifecycle.


Environment
: Windows 3.x, IBM mainframe: TSO, MVS, MS Visual C++;


Skills used
: C, TSO, data transfer between PC and mainframe, dBASE IV and Kermit; Personnel skills: worked closely with other IT and State Food Program professionals. Traveled to remote professionals to performed training on computers and programs. Full SDLC.


Promoted to Distributed Computer Systems Analyst (01/91-02/95) from Electronic Data Processing Technician (10/89 - 12/90)

Accomplishments

 

Electrical Engineer / Embedded Software Engineer

(Market Section: Research and Development)

 

Entrepreneur

Columbia Station, OH

01/1982 - 10/1989


Projects
: Sole Electric Engineer and Embedded Software Engineer of the Proto-Drafter/Proto-Scanner system, the system scanned circuitry to gather the node-to-node connection listing, IC’s (integrated circuit/chip) orientation and IC pin-counts. Wrote low-level drivers to communicate between the Proto-Drafter and the PC. Wrote the BIOS and device drivers for the Proto-Drafter system in assembly language. Full firmware and software lifecycle(s). Also designed/re-engineered many other electronic devices (see details, at right). At ABL Engineering, I was a QA Test Engineer on the demultiplexer/multiplexer extremely high bandwidth data transferal system, which system was used for fiber optic and satellite communications.


Environment
: DOS, Assembly, EPROM Burner, EPROM Eraser, Size E plotter, Light table, anti-static bench, integrated circuits, breadboards, laboratory, etc…


Skills used
: Digital circuit design (i.e.: TTL, CMOS, ECL), assembly language coding, system architecture (i.e.: hardware/firmware, software and documentation), printed circuit board layouts, micro-code/object code burning of EPROMs and ROMs, low-level digital signal processing/analysis, quality assurance. Full SDLC.

Accomplishments

 

 

Download (HINT: right mouse click on links below and use the ‘save-target-as’ file option)

 

  Download the short version of my resume (Microsoft Word 2000 format)

  Download the short resume in raw text format

  Download the super short resume

 

  Download this long resume (Microsoft Word 2000 format)

  Download this long resume in raw text format

 

  My laboratory that I built

01/

Education

 

 

 

Technical certificates

 

 

C++ "Tek Check" test results (scored 93% when I took my time for the C++ test)

C++ "Prove It" test results (scored 80% when I just speed through the C++ test)

Microsoft System Administration for Microsoft SQL Server 6

IBM AIX/6000 Advanced System Administration

IBM AIX/6000 Basic System Administration

FileNet Corp System Administration for AIX/6000

PowerCerv Corp PowerTool Workshop

PowerCerv Corp Introduction to Power Builder

The DSW Group Delphi 3 training/Delphi Foundations

 

ABB Information Security Training

Exelis Training

C++ technical test scores

 

 

 

 

MS-SQL Server Admin.

 

AIX Sys Adv. Admin.

AIX Sys Basic Admin.

FileNet System Admin.

PowerTools

PowerBuilder

Delphi

 

ABB Information Security
Satellite related training

 

 

 

 

Additional certificates:

 

 

FL Dept. of Education Achieving Extraordinary Customer Relations

FL Academy for School Leaders Investment in Excellence Foundation Program

FL Academy for School Leaders Investment in Excellence Follow-up I

FL Academy for School Leaders Investment in Excellence Follow-up II

Florida Dept. of Education Total Quality Management Orientation & Awareness

Florida Dept. of Education CQI: Roadmap to Problem Solving

Florida Dept. of Education Blueprint 2000 - DPS

Florida Dept. of Education Creating Schools for Florida Future

Florida Dept. of Education Accessing the Internet

Customer Relations

Leaders Foundation

Leaders Follow-up I

Leaders Follow-up II

Total Quality Management

Problem Solving

 

 

 

 

Cleveland Institute of Electronics

 

 

Electrical Engineering

Cleveland, OH

GPA: 97.2

Engineering Samples

 

Software Architecture: multi-threaded, multi-socket project

  RFP – Document of Understanding (Overview)
 
Multi-threaded, Multi-Socket Design
 
Re-router Application main thread
 
Transmission Block Capture Thread

Documentation: UML, configuration, overviews, schematic diagram

  UML - JEOR (Job Entry Output Redirector) project

  UML - associative diagram (Stock Market project)

  UML - collaborative diagram (Stock Market project)

  UML - hierarchical diagram (Stock Market project)

  OFFIS project overview

  3-tier architecture - OFFIS documentation/explanation (page 1)
 
3-tier architecture - OFFIS documentation/explanation (page 2)

  SNA configuration documentation overview

  Patent application - ProtoDrafter/Proto-Scanner

  Schematic - Hydro Magnetic Drive (preliminary)

  UML - object oriented project for J. P. Morgan

 

GUI/Graphic output: Stock Market project

  GUI dialog of Stock Market Project

  Stock Market Project resultant graph output from data analysis

 

Software: code samples

  Assembler code example 1 (of ProtoDrafter's OS)
 
Assembler code example 2  (of ProtoDrafter's OS)
 
C++ Header file example of ODBC to RDBMS database
 
C++ Implementation file example of ODBC to RDBMS database

  Java - Low level object transfer over WAN/LAN

  Low-Level 'C' program: minicomputer to mainframe
 
SQL example code (of stored procedures)

  Unix script for creating a UNIX 'make' file from Microsoft Visual C++ 'make' file (and for UNIX compilation)

  UNIX korn shell script (automated SNA download from mainframe and EBCDIC to ASCII conversion)

 

Hardware/Firmware: ProtoDrafter final product/layouts

  ProtoDrafter's exposed printed circuit boards
 
ProtoDrafter's mother board CAD layout

  ProtoDrafter's mother board solder side mask
 
ProtoDrafter's mother board component side (proto-type)

  ProtoDrafter's card cage back plane

  The lab that I built where the Proto-Drafter was made

  A test circuit in the Proto-Drafter’s bread board
 
Better view of large Proto-Drafter bread board

 

References

 

  Available upon request

 

Copyright: All samples contained herein are the exclusive property of Daniel J. Rak with all rights reserved