Mitchell J. Friedman
11956 SW 34th Ave., Portland, Or. 973219
http://philmcrew.com/mjf.html
mjf@philmcrew.com
http://philmcrew.com/mjfresumefaq.html
http://www.linkedin.com/in/mitchelljfriedman
Objective Lead Programmer, Software Architect, Data Architect
Languages Java, C++, SQL, C, HTML, BASH, Delphi Pascal, PHP, PERL, ColdFusion, TAL, SCOBOL, BASIC, 8088 Macro Assembler, COBOL, Pascal, ADA, Scheme, Fortran.
DBMS Microsoft SQL Server, PostgreSQL, HSQL, MySQL, Oracle, DB2, Sybase, Enscribe, Btrieve
Platforms VMware, J2EE (JBoss), Linux, Windows XP, Sun Solaris, HP-UX, Windows NT, Tandem Guardian, MS-DOS.

Work experience

Tripwire, Inc. - Portland, Oregon
January 2008 - ongoing. Senior Software Engineer
Java, VMware, SQL, JDBC, Subversion, twiki. 10+ person project.

uXcomm - Beaverton, Oregon
June 2006 - December 2007. Principal Software Engineer
VMware ESX Optimization and Management: VMware, C, C++, Delphi Pascal, C#, SQL, Java, Bash, Subversion, nant, wiki. 10+ person project.
Workflow Engine: Java, SNMP, Subversion, Eclipse, Wiki, HSQLDB, JUnit, Bash, Batch, XML, SOA, SQL, IPMI, CIM/WBEM. 20+ person project.

CNN Internet Technologies - Atlanta, Georgia
October 2005 - May 2006. Expert Java Developer
Contract. Research/Prototype investigating Internet RSS feeds, front-end (Java, Swing), back-end (Java, RSS, Oracle). Idea, JDBC, SQL, CVS, JUnit, Ant, Linux, BASH, JGraph, Curn, Media Wiki, Oracle. Four developer project. Initial prototype system intended to handle 100,000 documents a day. Current system has handled over 300,000 documents a day from 25,000+ sources.

Matrix Resources - Atlanta, Georgia
April 2005 - October 2005. Contract Software Developer for Intercontinental Hotels
Continue development and extension of a Visual Flow Engine, front-end (Java, JGroups, Swing, TreeCache, JGraph), back-end (Java, JBoss, J2EE, Hibernate, PostgreSQL, Linux, Jython, SAS, BASH, ExtenXLS, POI, Jaccess, JMX, JMX). Idea, JDBC, SQL, CVS, JUnit, Ant, Apache, Microsoft SQL Server, MySQL, Media Wiki, Oracle, JMX. Four developer project. 500 million row database.

nuBridges, LLC. - Atlanta, Georgia
May 2001-March 2005 - Lead Architect, Lead Programmer, Chief Software Architect
Conceive, design (using RUP, Visio and Enterprise Architect) and implement (JBoss, SOA, SOAP, JBoss) next generation electronic commerce system on a distributed platform, delivered as hardware (Linux, Intel). As a founder, part of a group that brainstormed new ideas (Electronic Commerce Appliance, Remote Integration, Profiling), formed a team and then a company, selected markets and hardware and software and tools and infrastructure. and then brought several products to market.

Built Profiling/Notification system in java using nmap, arping, smbclient, ftp, slocate, sax and jdbc. Designed schema in PostgreSQL, to hold profiling, notification subscriptions. For TCP/IP sockets, used nmap to identify machines, TCP and UDP sockets, parsed XML output from nmap using SAX, into schema using JDBC. For databases, used the metadata jdbc facilities to track changes of catalogs, tables, columns, column attributes, views, sequences, indexes, data types. Additional activity, profiling information on database tables were tracked by recurring calls using jdbc. Supported databases using java JDBC included Microsoft SQl Server both with standard driver and open source freetds driver(changes submitted), PostgreSQL (submitted changes to open source Postgres JDBC driver), MySQL and DB2. For samba, output from smbclient was parsed and additional calls to smbclient scheduled. A remote directory was mounted and a modified version of slocate would run, which would capture all possible file meta data. The jdbc code would then be used to capture activity in a large number of files across many machines. In a similar manner, FTP was supported using java to parse an entire FTP file tree. Initial UI was written in PHP, later versions in JSP. User could configure profile targets, notification subscriptions and provide userid's and passwords, from which additional profiling jobs would be performed. Notifications were delivered as email or jabber from java. The Profiling system made use of Event, scheduling and notification systems written in java, jms, jdbc and SOAP. These systems were eventually converted to a more formal SOA using EJB. I designed the entire profiling system, most of the event, scheduling and notification systems, modified slocate - and implemented much of these systems. An early prototype of profiling was written in PERL using DBI (changes submitted).

Built remote appliance capabilities to support a small footprint electronic commerce appliance for use at small to medium sized companies. This included the idea of provisioning where the box would come alive (known as Big Bang) for the first time at a customer site - so required a certain amount of profiling and hardening of the box's initial envrionment in a mixture of java and bash. The remote appliance connected to a mother appliance via SOAP, and the mother appliance connected to the remote appliance via SOAP as well over a SSH tunnel. Tracking and monitoring of the remote appliance by the mother appliance, including heartbeats, probes and updates, reused the event, scheduling and notification systems of the profiling system. I designed and implemented much of the appliance/mother system, including the Big Bang process. I also created a set of logging and trouble-shooting subsystems to make multiple appliances easier to manage (HTML, PHP, Java, LOG4J, BASH, sed, awk, cron).

The electronic commerce appliance integration capabilities were primarily SOAP based, but also needed to support many other transport protocols. I designed the system to support many protocols primarily using Apache VFS in java.

Later versions of the electronic commerce appliance included community management capabilities which required much greater portal access. This was implemented in JSP with struts using ejb's (stateless session beans) and Hibernate. I was part of a team that converted the earlier code to stateless session beans and Hibernate. At the same time, Tomcat and JBoss was upgraded, the JMS usage was converted to mdb's, and the services themselves converted to a SOA implemented as stateless session beans. Also at this point initial investigation and implementation was performed using JMX and to a lesser extent JCA and JAAS.

20 Development project at peak. Completed 15 version/releases in 3 years and delivered 13. Java (IDEA, JDBC, JMS, MDB, JBoss, EJB), SQL (PostgreSQL, Microsoft SQL Server, MySQL, DB2), Web Services (SOAP), Linux, BASH, PHP, IDEA, TWiki, BugZilla, CVS, RUP, Enterprise Architect. Designed or participated in design of 400+ database tables across 10+ subject areas across 20+ Services. Proved small footprint system out to a minimum sustained 1 tps.

Harbinger - Atlanta, Georgia
Feb 1988-May 2001 - Softare Architect, Technical Lead, Project Lead, Senior Software Engineer, Software Development Manager, Software Engineer
June 2000 -   Peregrine Systems   acquired Harbinger Corporation
2002 - Peregrine Systems divested unit, became   Inovis  

In 13 years at Harbinger, I worked for 7 different groups, performing a multitude of roles - starting with Software Engineer and ending with Software Architect with stints as a Software Development Manager and several as Project Lead. At the beginning of my time, Harbinger was a 17 person startup - which eventually became 1100 people (300 at the main site in Atlanta) and went public, before being acquired by Peregrine 12 years later.

My last role at Harbinger was as the Software Architect leading the design of a next generation cross-platform EDI platform using Java (with Rose, RUP, BEA, Oracle, Perforce). The intention of this project was to finally combine in one offering a single code-base that would support client and service, small and large customers - using the knowledge and experience gained after much internal development as well as many acquistions.

Initially I was part of, and then managed an 8 person team responsible for a DOS based EDI client (using CWorthy), C, with light assembler, Btrieve, thru five versions. It also included the creation of an interpreted response rule language for transforming EDI documents.

I then joined the services group as a senior engineer, where I supported high-availablity, mission critical applications as part of the Harbinger EDI Value-Added Network. This involved creation of an evolving high-volume event-oriented system on Tandem, including the creation of a server structure framework to support rapid creation of pipelining special service daemons. While with this group, I was responsible for bring C and SQL to the group, porting of Sun's Open Network Computing RPC (ONC RPC) to the Tandem and the initial transition to Sun from Tandem.

At that point I joined an internal startup - Harbinger Net Services - charged with bringing Harbinger on to the Internet. This work included Business Plans, Product Plans, initial investigation, interviewing and hiring, and transition to C++. Included NT and Sun development, initial work with C++ class library RogueWave, and beginning of Instant Net Presence project. Initial Harbinger web site developed. Initial blender development - an interpretative cross-platform language to support html with embedded logic, database and connectivity code. Creation of Web Registration Service, designed to semi-automatically register web sites - never launched - but became the library kernel for all later products and projects. Creation of internal Intranet web site.

After several projects related to HNS, I became the lead on the project to port our proprietary Electronic Document Interchange (EDI) Value-Added Network (VAN) from Tandem to cross-platform open-standards implementation, including movement of all customers (40,000+). Analysis, planning and design of the cross-platform UNIX based IVAS as a complete replacement for the Tandem based VAN. Standardize/Redesign of Internet Value Added Service as well as port to NT. Extension of framework from earlier Internet based client/server products to fully cross-platform reusable daemon/service syslog/eventlog configuration file/registry native framework available on NT, HP, Sun. Also included the organization of classes written for other products and platforms into libraries such as general, database, networking, cryptography and so forth. Coaching of programming staff through C to C++ transition. Twenty developer project.

One other project of note wwas the creation of the transaction portal external and internal web-site for get2connect.net for which I was Technical Lead. Anything and everything to get this site going and make it a success from formatting html pages, to writing book reviews, editing as well as creating standards content. Included learning ColdFusion, creating and implementation of a full authorization system. Setting style guides. A tremendous amount of database analysis and reengineering, as well as conception and creation of several hundred pages of internal support screens. ColdFusion, SQL, HTML, C++. Fifteen developer project.


National Financial Computer Systems, Inc. - Snellville, Georgia
Dec 1986 - Jan 1988 Software Engineer

Responsible for the improvement, maintenance and enhancement of the company's BANCStar software. Also charged with the creation and design of related utilities. Enhancements of the BANCStar generator included the creation of a facility that displayed annotations to go along with the view of the obscure raw BANCStar language. DOS, Compiled BASIC, 8088 Assembler, C.

Certifications

May 2000  Certified ColdFusion Developer

Education

June 2007  VMware Infastructure 3: Install and Configure
Nov 2002  Software Architecture Workshop
Sept 2000  Requirements Management with Use Cases
July 2000  Rational Unified Process Fundamentals
Nov 1999  Advanced ColdFusion Development
June 1999  FastTrack to ColdFusion

Georgia State University - Atlanta, Georgia
B. S. Computer Science, minor Mathematics, 1998
B. S. Psychology, minor Computer Information Systems, 1988

Awards

1998 Nominated and Appointed - Senior, Member Technical, Staff

1996 Nominated and Appointed - Member Technical, Staff

1983 National Merit Scholarship Finalist
1983-1988 Phillip Morris Scholarship Recipient

Professional memberships Worldwide Institute of Software ArchitectsWorldwide Institute of Software Architects
Association for Computing Machinery
IEEE Computer Society
Internet Society
Harbinger Alumni Group - Founder/Co-Owner - http://groups.yahoo.com/group/harbingeralumni
Atlanta Java User Group
Atlanta SPIN

1989-1994 ASC X12 - EDI Standards Committee - voting representative.
1994 ASC X12C -TG1 EDI Communications Sub-Committee - Co-Chair

Writings Oct 2003 - Patent Submission Abstract - Secure Real-time Virtual Peer-to-Peer
http://philmcrew.com/nuBridges_vp2p.pdf


Jan 1996 - Blender - an early C++ based alternative to PHP, JSP -
http://philmcrew.com/BlendThenServe.pdf
Interests and activities   Bibliophile   . Acoustic Guitar.