Kern Computing

Recent site activity

Software engineer

John Kern

Menlo Park, CA 94025

Email: kern3020 at gmail dot com
URL: http://www.linkedin.com/in/johnkern

Professional Objective

Software engineer:

  • Strong engineering background: 18 years of experience in software industry with a wide variety of roles.
  • Process: establish software engineering processes to improve development.
  • Tenacity: Contributed to a dozen shipped products and a large number of variations on them.
  • Business: Align engineering decisions with business goals.
  • Collaboration: Document best practices, present training sessions, provide scripts to localisation and QA groups.

Software Development Skills

Languages: C/C++, Java, Javascript, PHP, Tcl/Tk, SQL, Perl, Shell Programming, LISP.

Operating Systems: UNIX, Linux, MAC OS X, Microsoft Windows, Symbian.

Tools: ESRI's ArcGIS Desktop.

Employment History

Member of Technical Staff
Symbian Foundation, Foster City, CA
2009-present

             Solving developers’ technical problems quickly, educating the community on technical issues, and championing the current
             needs of the developer community within the Symbian Foundation.

Senior Software Developer
Kern Computing, Menlo Park, CA
2008-2009

Exploring how to apply GIS and related technologies to facilitate the adoption of renewable energy and the associated infrastructure.

Helped client develop an application for distributing content(i.e., games, maps, etc) via SD cards.  The native application orchestrates the tasks necessary to recognize the insertion and removal of the SD card. Presenting the content in a web browser when the card is inserted and cleaning up when the card is removed.

Senior Software Developer
Razz, Inc., San Francisco, CA
2006-2008

Wrote an Interactive Voice Response (IVR) system 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 which monitored the IVRs and provided an on-demand status report.

Took over development of all Symbian (a leading OS on high end phones) development. 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 Wireless Universal Resource File (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 (EDA software for mask data preparation in integrated circuit design and manufacturing) 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.

Education

Professional Societies

Last modified April 2009.