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 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(r) 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