John KernMenlo Park, CA 94025 Email: kern3020 at gmail dot com Professional ObjectiveSoftware engineer:
Software Development SkillsLanguages: 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 HistoryMember of Technical Staff needs of the developer community within the Symbian Foundation. Senior Software Developer 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 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 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 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 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) 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) 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 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 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 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 SocietiesLast modified April 2009. |