Adam Jonathan Griff, Ph.D. - Work Experience
- GriffMonster, LLC, Boulder, CO. February 2001-Present
President, Architect, and Principal Consultant
- Technologies used: Perl, MySQL, C++, Java, PHP, JavaScript, Linux, Solaris,
Eclipse, Degreement Student Advising System
- President of Degreement.com - student degree audit and advising software system.
- Architected, designed, developed, and documented system.
- Integrated advising software with legacy systems and coded
degrees into the system.
- Developed algorithms, UI, and specification languages for degree
checking and reporting.
- Trained and mentored advisers on using the system.
- Managed directly sales and marketing teams dealing with universities,
secondary schools, and state board of education.
- System design scaled to handle 100K students and several million
student course records.
- Mentored computer science students on coding and designing degree requirements
for departments
- Consulted for various clients utilizing my expertise in
distributed systems, client / server architectures, operating
systems, open source software.
- Learned, utilized, and disseminated acquired knowledge of new software.
Founder, chief architect, and coder of Degreement.com, degree audit and
advising software. Software Design for advising students and
providing them with easy to read UI of courses taken, how they count
towards graduation, requirements not yet satisfied, and options on
courses to satisfy the remaining requirements. Provided mechanism for advisers to
override and make exceptions to requirements. Designed DB Schema to
handle 100K students and several million student course records,
wrote the code, algorithms for analysis of courses for matching
courses to requirements, syntax used to express requirements, mapping
mechanism to synchronize with university student course data stored in
an external DB while maintaining local student data regarding
exceptions, transfer credits, adviser comments, and other information
not present in the university controlled DB. Mentored undergraduate
work study students in CS on the workings of the system and had them work on coding and
designing degree requirement files for University departments using
the software. Trained advisers on the workings of the system, led and
managed sales force, worked with the writers on marketing materials,
meeting with the users / customers and select future features based on
biggest overall needs, feasibility, ROI, and educating customers to
why some features could be achieved already in the current design and
other features would result in bad design decisions. System is written
in Perl with a MySQL back-end. For Degreement also worked in marketing and sales with universities,
secondary schools, and state board of education. Consulted for
clients on various projects on Linux and FreeBSD platforms using
various languages (C++, Java, Perl, PHP, SQL, shell) and using and enhancing
various open source software. More information on consulting is available at http://computer.griffmonster.com/
- Democratic National Convention Committee, Denver, CO. August 2008.
Team Manager
- Team Manager with the Sustainability and Greening Division of the
Democratic National Convention Committee.
- Managed 125 volunteers and 4 managers in a venue with 30K visitors
per day.
- Pancil, LLC, La Jolla, CA. October 2003-January 2009
Engineer and Architect
- Technologies used: Perl, MySQL, C++, FreeBSD
- Architected, designed, developed, and documented network
monitoring and notification application.
- Designed and developed plug-in interface to open source application
enabling parsing of custom file formats.
Pancil, LLC / Sarfall.com best known
for their e-learning web site to teach children how to read
English. Designed and coded software for network analysis,
content parsing and analysis, and process identification and documentation.
Designed and coded GMSysMon an application for tracking network
connectivity and generating alarms to notify of network and machine
failures. It is a light weight application similar to Nagios. The
flexible design was then used to generate alarms on
other data including overheating of computers, server rooms
temperature, CPU load threshold monitoring, bandwidth limits, and
more. Made available to open source community. Contributions to the open
source Checkbot project. Identified bugs, fixed bugs, enhanced
capabilities by adding plug-in interface points to allowing for
parsing of custom data and information types. Used the plug-in feature
to add the ability to parse custom flash files and produce list of
links from the flash programs to pass back to Checkbot for checking
validity of links.
- GlobalSight, Boulder, CO. April 2000 - July 2001.
Principal Software Engineer
- Technologies used: C++, Java, GlobalSight System3, Interwoven
TeamSite, Vignette, Active, WebMethods, Solaris
- Identified, architected and designed features for globalization and
I18N (Internationalization) product.
- Designed, developed, and documented integrations between I18N
product and external products.
- Managed internal teams for customer integrations and communicated
requirements to customers and external vendors that resulted in
successful projects.
- Technical project management for European clients.
- Collaborated with product marketing and sales teams to develop
market requirement documents and prioritize customer features.
- Mentored fellow developers in best practices and held "brown bag"
and training sessions on external vendor products.
Designed and architected systems for a pre-IPO globalization company.
GlobalSight develops software enabling the localization of web sites
for international markets. Engineering responsibilities include designing and
architecting future products and developing integrations between GlobalSight's
existing products and external vendor products. Identified
future GlobalSight products and features for evaluation by product
marketing. Trained internal
employees, partners, and clients to use and install the GlobalSight System3 products and
integrations. Identify I18N (Internationalization) issues present in
external products (Oracle, Vignette, ATG, Interwoven Teamsite, etc.),
develop best practices documentation, and provide I18N training. Assist
sales with prospective costumers as special needs arise. Only two time
winner of the monthly Presidents Award for outstanding
contributions to the company by an employee.
- Ericsson Wireless Communications Inc., Boulder, CO. November 1999 - April 2000.
Research Engineer
- Technologies used: Java, Perl, CORBA, Rational Rose Real-Time, Emacs
- Provided expertise on distributed communication issues.
- Designed and developed real-time controller interfaces to wireless
base stations.
Designed and developed components for the next
generation of CDMA base stations. Utilized Rational Rose Real-Time to
model the behavior
of the base station and generate real-time code. Developed Java and
Perl programs to enable communication via CORBA between the base
stations and the remote controllers.
- University of Colorado at Boulder. January - May, August - December
1998.
Visiting Instructor
- Technologies used: Java, Perl, C++ STL, Smalltalk, Rational Rose
- Developed and instructed Object Oriented programming and design
course.
- Guided students in researching and presenting new tools, trends,
and techniques.
- Managed group projects and lead design reviews of industry
sponsored projects.
Instructor for CS4448 - Object Oriented Programming and
Design. Developed and taught this course for two semesters using some
of the latest tools available as well as using Smalltalk to parley an
understanding of the underlying structure of Object Oriented Languages to those with structural
language backgrounds. Guided students in researching new areas of
computer science from latest journals and on-line sources to present
findings for the edification of the students in the class and myself. This
course used Squeak implementation of Smalltalk, C++, Rational Rose
implementation of UML, C++ STL. Managed group projects and performed design
reviews of projects students were working on for industry. Course
listing Fall of 1998 and Course listing Spring of 1998.
- University of Colorado at Boulder. January 1998 - November
1999.
Research Assistant
- Technologies used: C++, CORBA, VRML, Linux, Emacs, Gryphon
- Identified location and synchronization inefficiencies in communication subsystems.
- Architected, designed, and developed a dynamically tailorable
distributed object subsystem.
- Resulted in reduced latency and improved scalability of
applications in virtual environment and financial markets.
- Advised, consulted, and educated on design and implementation of
distributed systems for data transparency, location migration, and redundancy.
Research Assistant worked on the Gryphon system and
finishing my dissertation, "Gryphon: A Dynamically Tailorable
Mechanism for Customizing Location and Caching Policies in Distributed
Object Subsystems." Designed and built an object oriented
communication subsystem in C++ built on top of TCP/IP network
sockets. Utilized the OO communication subsystem to implement a
CORBA-like ORB distributed object subsystem. Identified inefficiencies
in communication caused by location and update transparency in CORBA,
COM, and other systems. Designed, implemented, and analyzed the
Gryphon agents which accept application level hints to enhance
performance via location and update policies. Reduced message traffic
in the ORB by many orders of magnitude for a variety of application
domains. Created Virtual Environment applications, taking advantage of
the reduced message traffic and latencies of the Gryphon enhanced
ORB. Taught and assisted others in the creation of distributed
applications utilizing the Gryphon subsystem. Resulted in insight and
software that has been used to reduce latency and bandwidth and
improve scalability in various fields from virtual worlds, gaming, and
financial markets. Still a cutting edge field in computer science and
have discussed my dissertation, its uses, and new offshoot ideas with
companies for use in distributed virtual machines, data location
mobility and migration, and backup redundancy techniques.
- University of Colorado at Boulder. June - August
1998.
Research Assistant working on the VPR (Virtual Planning Room) project.
- Dean's Office of the College of Engineering at the University of
Colorado at Boulder. January 1995 - Present.
Graduate Research Assistant and Consultant.
- Software and services for degree audit at CU. Trained
advisors in the use of the system and built up an infer-structure for
continued support through hiring, training, and management of
support staff. Interacted with other university agencies to acquire
student data needed for the advising system.
- In 1995 Installed Linux to run advising system and the SSL enabled Apache
web server.
- University of Colorado at Boulder
Worked on writing ARPA proposals.
Met with prospective faculty and gave feedback to hiring committee.
- University of Colorado at Boulder. August - December
1994.
Research Assistant. Testing communication over FDDI/ATM networks for
bandwidth and latency. Part of the BATMAN (Boulder ATM Area Network)
and used workstations and KSR-1, Intel Paragon, CM-5, and Cray T3D
supercomputers.
- University of Colorado at Boulder. January - August
1994.
Research Assistant. Worked in the area of performance analysis of PVM
based distributed applications. Designed and implemented ParaVision,
a tool to aid in the debugging and performance analysis of PVM
applications. Used Escallante/ET++, a graphical framework for C++, to
create the visualization tools.
- University of Colorado at Boulder. August - December
1993.
Teaching Assistant for 2 sections of CS 1300 - Introduction to
Computing. The introductory course in the computer science department
taught in C++. Included teaching recitations, holding office and lab
hours, and grading.
- Otsuka Electronics (U.S.A), Inc., Fort Collins, CO. 1992-1993
Utilized X and Motif calls to construct a ploting and graphical
control interface for serial communication between a Sun Sparcstation and controller
hardware for Nuclear Magnetic Resonance Spectroscopy. Performed UNIX system
Administration.
- Lehigh University, Bethlehem, PA. August 1991 - May
1992
Research Assistant working on the n-cube parallel computer.
- International Business Machines Corporation, Endicott,
NY. Summer 1991
Revised the system responsible for tracking production and
quality control of integrated circuits. Utilized the OS2 graphical
interface to synchronize the departments involved in the assembly line
manufacturing process.
- International Business Machines Corporation, Rochester, MN. Summer
1990
Integrated Application System/400 CallPath/400 Architecture with
telephone switching unit. Created C and CL software
to collect Call Detail Records and system alarm messages.
Provided technical assistance and tools to the telecommunication switch manufacturer to
develop, test, and debug their communication interface.
- Thomas J. Lipton, Inc., Englewood, NJ. Summer 1989
Installed R:Base and Lotus 123 and
provided user support for the operation and maintenance of the
systems. Designed and developed applications for use by the Insurance
and Loss Control Departments which included complex formulas for
statistical analysis and future loss projections.
Adam Jonathan Griff, Ph.D.,
griffcv@griffmonster.com
, +01 (303)731-5140