Menlo Park, CA 94025
Email: kern3020 at gmail dot com
URL: http://kerncomputing.blogspot.com
Languages: C/C++, Java, Javascript, PHP, Tcl/Tk, SQL, Perl, Shell Programming, LISP.
Operating Systems: UNIX, Linux, MAC OS X, Microsoft Windows, Symbian.
Senior Software Developer
Kern Computing,
Menlo Park,
CA
2008-present
Freelance software developer exploring the nexus between the web, telephony, mobile and location.
Senior Software Developer
Razz, Inc.,
San Francisco,
CA
2006-2008
Wrote an IVR using Dialogic's Switch Kit library. It allows users to record their voice. Integration with the company's web assets allows Razz to add user generated content to their web experience. A Web API provided access to this functionality to third parties. Wrote a separate server called Harbinger monitored the IVRs and provided an on-demand status report.
Took over development of the Symbian application. Established a light weight software development process. Enhanced it. Ported it to S60 3rd edition. Developed a mechanism to customize it for branding and localization.
Built a wrapper around WURFL to allow the website to recognize and adapt to phones. Wrote a comment engine for Facebook. Did initial due diligence on Open Social.
Principal Consultant
Kern Computing,
Menlo Park,
CA
2004-2006
Developed software for mobile devices (Symbian OS/Series 60) and the systems that support them. Wrote a Symbian client program to communicate with a server via an SMS based protocol. This allowed my client to win venture funding. Created DidUKnow, a Symbian program which leverages Amazon Web Services to search for books.
Active member of the mobile community in Silicon Valley. Presented lectures at the SF Bay ACM, the Symbian Programming SIG and SD Forum. Organized a panel discussion on the Economics of Software development, the Symbian Programming SIG and the ACM TechMaster event.
R&D Engineer
Synopsys, Inc.,
Mountain View,
CA
2003-2004
Member of the CATS development team responsible for porting and file I/O subsystem. Integrated third party compression library for GDSII and MEBES files. Maintained the PROXECCO library for proximity correction.
Triaged all bugs. Maintained and enhanced bug database. Worked closely with IT during migration to ensure computational environment worked for everyone in both California and Europe.
Staff Engineer
Numerical Technologies, Inc.(acquired by Synopsys, Inc),
San Jose,
CA
1998-2002
Ported products between Windows NT and various UNIX platforms (i.e., Solaris, Linux, HP-UX, AIX). C/C++ issues included: Shared Libraries, 64-bit architectures, IEEE floating point and Large File Support.
Established nightly builds for all products. Wrote a common UNIX installer for all products. Established a startup contract between the startup script and the applications. Eliminated a lag of about 3 months between Solaris and the Windows NT releases. Established and promoted best practices with respect to porting, integration and process.
Rewrote make system to simplify and add flexibility to it. Migrated source base from Source Safe to CVS. Taught short course on CVS and the make system.
Developed a web based change management system. This allowed one to systematically define what to extract from CVS and then build on all desired platforms at once. Jobs were distributed via either LSF or Unix rsh(1).
Software Engineer (Developer)
Sun Microsystems, Inc.,
Menlo Park,
CA
1996-1998
Enhanced Java WorkShop(JWS). Created a model/view split to allow for both a command line (i.e., the jwsbuild command) and GUI interface to the Builder. Used jwsbuild command to develop a test suite that was adopted by our testing organization. Fixed global problems (e.g., converted product to Swing, to correctly handle spaces in filenames, allow use of alternate JVM, etc.).
Software Engineer (Buildmaster)
Sun Microsystems, Inc.,
Menlo Park,
CA
1995-1996
Wrote scripts to build and install the Java WorkShop 1.0 product on multiple platforms (Solaris, win95 and win/nt). Wrote utility programs (e.g., usage tracking, installation verification, comments box). Managed nightly builds and performed configuration management for both the language and the programming environment. Enhanced and maintained the builder. Initiated organizational changes to support Windows platform development.
Software Quality Engineer
Sun Microsystems, Inc.,
Mountain View,
CA
1993-1995
Ensured the quality of GUI based programming tools through test automation and quality processes. Patented the test mechanism that we developed to test SPARCWorks, Sun's C/C++ programming environment. Developed and taught an introductory class about the EMACS editor. Maintained usage tracking. Wrote a test selection program.
Scientist
Lucid Inc.,
Menlo Park,
CA
1992-1993
Quality Assurance for Common LISP, CLIM (graphical user interface tools for object oriented application programming), and XLT (programmer productivity tools). Developed and executed test plans which included: created XLT test suite, developed new tests, maintained and extended existing test suites, and documentation review. Sole responsibility for determining product readiness for release.
Scientist Customer Support
Lucid Inc.,
Menlo Park,
CA
1990-1992
Responsible for daily telephone interaction with customers, bug tracking, bug fixing, customer training (taught labs for Lucid's "Intro to LISP" and "CLOS" classes), distributor training, sales support, documentation review, and quality assurance. Supported Lucid's products on a variety of UNIX platforms (e.g., SUN, HP, SGI) and VAX/VMS.
Last modified September 2008.