Michael S. Nielsen

michael.1138 (at) gmail (dot) com

Michael Nielsen
San Francisco, CA
 
 


Objective


Develop software systems, using contemporary software development practices and architectures.


Summary of Qualifications


Experienced software developer and instructor, with 16+ years experience designing and implementing multi-tier enterprise applications in Java and/or C++. Integrally involved in the entire software life-cycle, through analysis / design / development / testing, including maintenance and end-user support and training.

Experienced instructor, having over 6 years (cumulative) experience teaching and developing training material in a corporate setting. Taught courses in introductory and advanced Java programming, C++ programming, design patterns, object-oriented analysis & design, Unix, web development, and databases.


Professional
Experience


Principal Member, Technical Staff | August 2009 - present

Oracle Corp. | San Francisco, CA

Developing Java, C and C++ applications, integrating Oracle and GoldenGate's products with applications using JMS, XML, custom file/network communication, custom Java API's.

(Oracle acquired GoldenGate, August 2009.)

Technologies: Java, JNI (C/C++), JMS, XML, JavaEE, Databases (Oracle, MySQL, etc.), cross-platform C/C++ development with Java/JNI (Linux, Solaris, Windows, AIX, HP-UX, z/OS), build systems (GNU Make, CMake, Ant, Maven, Nexus Maven repository), continuous integration (Jenkins, VirtualBox), GoldenGate, ...


Integration Engineer | September 2007 - August 2009

GoldenGate Software | San Francisco, CA

Developing Java, C and C++ applications, integrating GoldenGate's products with other applications using JMS, XML, custom file/network communication, custom Java API's. Develop sofware, documentation, and training material for the software and help customers integrate the applications into their existing architectures. (Java, JavaEE, JMS, XML, C/C++, ...)

Technologies: Java, JNI (C/C++), JMS, XML, JavaEE, Databases (Oracle, SQL Server 2000/2005, etc), cross-platform C/C++ development with Java/JNI (AIX, Solaris, Linux, HP-UX, Windows), build systems (GNU Make, CMake, Ant, Maven, Nexus Maven repository), continuous integration (Hudson, VMware), GoldenGate (transactional data management software), ...


Technical Instructor | May 2006 - September 2007

GoldenGate Software | San Francisco, CA

Instructor and course developer for GoldenGate Software. Developed course material and delivered technical training courses worldwide (North America, Europe, Asia), training both internal employees and external customers on GoldenGate's Transactional Data Management solutions on various platforms (Oracle, Teradata, SQL Server, etc, on Unix/Linux/Windows).

Technologies: GoldenGate (transactional data management software), developing and delivering training environments and materials (VMware, OpenOffice), for various databases: Oracle, Teradata, DB2, MySQL, MS SQL Server, NonStop (Tandem)...



Development Expert | April 2005 - May 2006

Amdocs | San Jose, CA

Instructor and course developer for Amdocs. Developed course material and delivered technical training courses to both internal employees and external customers, worldwide (North America, Europe, Israel, India). Delivered training on Amdocs' customer relationship management and billing software systems (Amdocs ClarifyCRM), working with customers to provide IT services and training, including implementation, integration, enhancement and maintenance services.

Technologies: Java; XML; JSP; application servers (WebLogic, WebSphere) using JMS and EJBs; SQL, RDBMS (Oracle, MS SQL Server); Web Services; web development (HTML/CSS/JavaScript, Macromedia DreamWeaver), AJAX, and GUI (Java/Swing); and Amdocs Clarify CRM applications.



Educational Consultant | Mar 1999-Aug 2002

Sprint | Overland Park, KS

Member of Sprint's internal training organization, delivering training on topics such as Java (Intro through Advanced), C++, Unix (Intro, shell scripts), Design Patterns, Object-Oriented Design and UML. Classes ranged from 1-2 day custom courses, to one-week intensive courses, to 6-week new-employee technical orientation "boot-camps". Other responsibilities included:

  • Provide training/consulting/coaching for Sprint employees, both individuals and groups, in the areas of: Java; client/server design; software development methodology; web development; database applications; Unix; tools; etc.;

  • Develop and/or purchase new courses; update and maintain existing courses and curricula (e.g.: updated the Design Patterns course from C++ to Java). Negotiate contracts for training, course material licensing and train-the-trainer sessions;

  • Install and maintain server hardware and software (Sun/Solaris): databases (Oracle, MySQL), compilers/interpreters (Java, Bash, Ksh, C/C++); web-servers and app-servers (Apache, Tomcat, JBoss); assist building of classroom PC image.





Professional
Experience

(continued)


Consultant (Software Developer) | Oct 1996-Feb 1999

Midwest Consulting Group | Kansas City, MO

Consultant at Sprint's "Advanced Systems Engineering" group, developing software systems to detect and prevent telecommunications fraud. Utilized various artificial intelligence techniques, such as neural-nets and rule-based systems. The software detected or prevented fraud such as: real-time detection of long-distance calling-card fraud; predicting the possibility of non-payment of new accounts; and, preventing calls to/from specific high-risk geographical areas.

Technologies: multi-tier system (RPC/IPC, multi-threaded) in C++, Oracle, Unix (Sun/Solaris), X/Motif GUI, Applet/Servlet/JDBC admin/monitor utilities.


Consultant (Software Developer) | Apr 1995-Aug 1996

Cap Gemini America | Overland Park, KS

Member of team developing a long-distance fraud detection system (see Patents, below). Included a complete re-write of a Lisp system, as well as significant new (and subsequently patented) functionality.

Technologies: a distributed/N-tier (RPC/IPC/Sockets), heavily multi-threaded application using C++, Oracle, Unix (Sun/Solaris), with a X/Motif GUI.



Software Analyst | Jan 1994-Apr 1995

Black & Veatch Engineering | Kansas City, MO

Member of a team developing a 3-D graphical CAD (Computer Aided Design) environment for mechanical engineers. The application allows engineers to create "intelligent" engineering objects, which can then be assembled, configured, and stored in a library of reusable 3D engineering components.

Technologies: multi-tier system (RPC/IPC) in C++, Unix (SGI/Irix), 3D Graphics (OpenGL), X/Motif.


Open Source
& Community Involvement


Engaged in Open Source Software development, researching new projects, using and improving existing software. Project owner of a SourceForge project.

Other software community involvement: Participate software development discussion groups (Java, Design Patterns); volunteered for SD West 2005 software development conference; review pre-publish textbooks on Java, XML.


Technologies
& Skills


Languages / APIs / Platforms -- Java (J2SE/J2EE: JFC/Swing, RMI, JDBC, Applets, Servlets/JSP, Java WebStart); UML; XML, XSLT; HTML; SQL; C++; Unix (scripting/admin); Linux; MacOS X; MS Windows...

Technologies / Methodologies -- Object-Oriented / UML, Design Patterns; Test Driven Development; network programming; multi-threaded programming (C++ or Java); GUI applications (Java/Swing); database development (Oracle, MySQL); web development...

Tools -- CVS, Subversion, Clearcase; Jakarta/Apache: Ant/Maven, Xalan/Xerces, Tomcat; xUnit (JUnit, etc.); Netbeans, Eclipse...


Patents, Certifications


  • Patent in Telecommunication Fraud Prevention: “Method and apparatus for detection and prevention of calling card fraud.” United States Patent #6,188,753 Afsar, et al.; 13 February 2001.

  • Sun Certified Programmer for the Java2 Platform (Sept 1999)

  • Training certificates:
    • Java Application Programming (1996, Sun)
    • Solaris System Administration I (SA-237) (1999, Sun)
    • Oracle Enterprise DBA Part 1A: Architecture & Admin (2000, Oracle)
    • Amdocs Clarify CRM Web Developer Certification (2005, Amdocs)

Education


Dec 1993:  University of Nebraska (Lincoln, NE)
     Bachelor of Science, Computer Science (major) / Fine Arts (minor)


Jan – May 2001,Aug 2002 – Jun 2003: University of Kansas (Lawrence, KS)


Feb 2003 – Jun 2003: Université Catholique de l’Ouest (Angers, France)


Oct 2003 – Mar 2004: Herder-Institut, Universität Leipzig (Leipzig, Germany)


Mar 2004 – Dec 2004: Volkshochschule Leipzig (Leipzig, Germany)


Miscellaneous  



Foreign Languages

  • German: spoken and written (conversational) (TestDaF, Level 4)
  • French: basic (DELF Unit A4; part I)

Hobbies/Personal

  • Researching and developing with new technologies; art practice, theory & history; literature; film; sports (basketball, volleyball).


References


Available upon request.



Most recent version of this document available online at: http://www.colormodel.org/cv/MichaelNielsen.html