Joseph Gregorio
1002 Heathwood Dairy Rd.
Apex, NC 27502
Phone: (919) 272-3764
joe@bitworking.org
Objective
Employment where I can apply 14 years of experience designing and delivering software across a wide range of platforms to make customers happy.
Professional Profile
Software engineer with a record of success in designing, building and shipping Web, Windows and embedded firmware applications on time and on budget. Works easily across departments to bring new solutions on line and new products to market. A passion for creating software and protocols that extends beyond a fulltime job and into publication and membership in working groups.
Skills
|
Skill name
|
Experience
|
|
C/C++
|
15 years
|
|
XML and related technologies (XSLT, SVG, etc.)
|
8 years
|
|
Web technologies (HTTP, CGI, TFTP, etc.)
|
8 years
|
|
Python
|
6 years
|
|
Linux
|
8 years
|
|
Win32 Programming (Windows 95/98/NT/XP)
|
14 years
|
|
Perl
|
4 years
|
Accomplishments
Independent of my full-time day job
Author
Open Source
-
httplib2: A comprehensive HTTP client library for Python.
-
sparklines: A web application, a web service, and Python source code for generating sparklines.
-
Aggie: The first desktop news aggregator written for .NET. The RSS parsing engine of Aggie was used in early releases of NewsGator.
-
Python modules to make developing RESTful web services easier.
-
Secure Syndication A Greasemonkey script for decrypting syndicated content in a web browser.
Conference presentations
During the last four years at SAMSys, Inc.
-
Developed parts of the software architecture for the next-generation product. Designed and implemented:
-
The embedded scripting language for the new product.
-
An automated build system that compiled and ran all unit tests on an hourly basis. All reports were web based and failures were reported via email.
-
An automated system that processed wiki markup that described the data model and produced, via Python and XSLT, a series of C, Java, .Net and HTML files.
-
Championed the use of scripting languages in the software development process to simulate new product components to speed product development. Created a fast scripting engine based architecture for embedded system development. This architecture was adopted across all product lines. Wrote a Web server, SOAP server, SOAP client, and Telnet server. All of these services plus RFID-specific hardware interfaces all ran on a 25MHz 386 with 512KB of RAM.
-
Introduced wikis and Subversion into the software group. Introduced unit testing to the software engineering department.
-
The 386based system mentioned previously had over 800 unit tests. Created a web-based interface to an internal administrative database to allow employees to update sales records remotely.
-
Provided sales support:
-
Created Windows-based demonstration applications for use at trade shows on very short notice.
-
Created/ordered/assembled/installed mechanical designs for trade show systems.
-
Worked directly with customers to determine their system integration needs.
-
Created software development kits and sample code.
During 7 years at MTS
-
Project Lead for a Windows 95/98/NT statistical analysis software project.
-
Completed on time and within budget
-
Shipped with a manual and context-sensitive help.
-
First software product from the division to use the Standard Template Library.
-
Included an interpreted language for statistical analysis.
-
Software Architect for a Windows 95/98/NT software project which was a complete rewrite of MTS’s best selling material testing software package.
-
Created an architecture so flexible and easily tailored that writing customized software applications was no longer needed within the division.
-
Created a fast and flexible file format. Developed a file editor and repair utilities for the new file format.
-
Created a flexible object loading scheme.
-
Helped research and develop the use of RTF for report generation.
-
First product from the division to include an interpreted language for machine control and data analysis. Project Lead for a CE-compliant Universal Serial Bus (USB) interface device.
-
The project was on time, on budget and below cost.
-
This project was the first USB product developed by MTS Systems Corporation.
-
Designed and implemented a GUI class library used across the division. Introduced version control software to the MTDRaleigh division for both software source code and engineering drawings. Introduced coding standards, code reviews and semiformal User Interface Design methodologies to the MTDRaleigh division. Started technical magazine subscriptions for the software engineers. Initiated and ran weekly minitraining classes on C++ and object-oriented programming.
Employment History
-
IBM
-
Employment: July 2006–present
-
Responsibilities: Consult within the WebSphere Technology Institute and across
other groups at IBM on the Atom Syndication Format, Atom Publishing Protocol, REST, and Open Source.
-
SAMSys
-
Employment: October 2001–May 2006
-
Responsibilities: Designed, coded, tested and documented software for RFID readers and their associated support applications. Platforms included DSPs, microcontrollers, Windows machines and Linux based devices. Helped develop the software architecture for the RFID readers including the design of two embedded languages. Added Web, SOAP and other IP based interface support to products. Researched and tested new tools, techniques and technologies to bring into the department, such as unit testing, wikis, Python, and Subversion. Created software development kits and sample code for end users.
-
MTS
Division: MTD Raleigh
-
Employment: September 1994–August 2001
-
Responsibilities: Active lead on projects to produce firmware and Windows application software. Many projects had electrical engineering and mechanical engineering components. Responsibilities for the projects included designing the product architecture, writing code, debugging, calling design reviews, and reporting the project status to the management team. Responsible for researching new tools, techniques and technologies to bring into the department. Managed the IT department of three fulltime employees.
-
Tecan U.S.
-
Employment: July 1992–September 1994
-
Responsibilities: Met with customers to assess their software needs. Designed embedded or Windows based software solutions, coded, tested, documented, and maintained software and provided customer training.
Education
-
Dartmouth College
-
Masters of Arts in Mathematics, 1992.
-
Eastern Connecticut State University
-
Bachelors of Science in Mathematics, 1989, 3.76 GPA.
Bachelors of Science in Computer Science, 1989, 3.76 GPA.
Classes
-
Biomathematics Class BMA567, North Carolina State University, Fall, 1999
-
Fred Pryor Seminar, "How to Supervise People", Dec 12, 1997
-
Software Engineering Class CSC510, North Carolina State University, Fall, 1994